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

1. 完整性度量概述

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

扩展Linux完整性度量IMA/EVM到Android_第1张图片

IMA

  • 对文件内容做加密哈希(HMAC),将结果存在文件的扩展属性security.ima,并以此校验文件内容是否被非法篡改过。
  • 创建并自动更新一个所有被访问文件的完整性度量表(/sys/kernel/security/ima/ascii_runtime_measurements),

你可能感兴趣的:(扩展Linux完整性度量IMA/EVM到Android)