扩展Linux完整性度量IMA/EVM到Android

本文介绍了完整性度量IMA和EVM的概念,它们用于检测文件的离线修改,增强系统的安全性。IMA通过文件内容的哈希值进行校验,而EVM则检查文件属性和扩展属性。文章详细阐述了如何将IMA/EVM扩展到Android系统,包括内核配置、密钥生成、工具集成以及系统启动时的验证。调试过程中的一些关键点也进行了总结。
摘要由CSDN通过智能技术生成

1. 完整性度量概述

  • 运行时的系统完整性由系统的访问控制机制保证,如DAC(Discrete Access Control, 间接访问控制)/MAC(Mandatory Access Control, 强制访问控制,如SELinux, Smack)。
  • DAC/MAC无法检测文件的离线修改;加密文件系统可以保护非法访问,但开销大,效率相对较低。
  • 完整性度量,将文件内容和文件的属性/扩展属性,通过加密哈希生成对应的ima/evm串,以扩展属性方式保存在文件系统节点中;系统运行时在文件被访问前,内核IMA/EVM模块通过校验文件的ima/evm串,判断文件是否被离线非法篡改过;如果有,返回非法结果给selinux,从而阻止访问或运行该文件。
Linux的完整性子系统(引自Dmitry的PPT):


IMA

  • 对文件内容做加密哈希(HMAC),将结果存在文件的扩展属性security.ima,并以此校验文件内容是否被非法篡改过。
  • 创建并自动更新一个所有被访问文件的完整性度量表(/sys/kernel/security/ima/ascii_runtime_measurements),远程或本地读取该表可以判断哪些文件被改过。
  • 如果系统中有TPM硬件模块,IMA会将度量表扩展到TPM中,以保证度量表本身无法被篡改。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值