【操作系统百科】IMA、EVM 与 dm-verity
内容提要
本文介绍了固件、bootloader、内核及文件完整性验证的流程,重点讨论了IMA(文件度量与鉴定)、EVM(保护安全扩展属性)、dm-verity(块设备验证)和fs-verity(文件级验证)。完整性链从固件到运行时必须闭合,以确保系统安全。
关键要点
-
固件验证 bootloader,bootloader 验证内核,内核之后由 IMA 验证文件完整性。
-
IMA 通过计算文件的 hash 并记录到日志中来度量文件完整性,并将度量值扩展到 TPM PCR。
-
EVM 保护文件的安全扩展属性,确保其不被篡改。
-
dm-verity 使用 Merkle 树验证块设备的完整性,确保每次读取块时进行 hash 验证。
-
fs-verity 提供文件级别的验证,内核在页缓存层进行惰性验证。
-
TPM 和 PCR 用于存储度量值,确保系统状态的远程认证。
-
完整性链必须从固件到运行时闭合,任何一环缺失都可能导致安全风险。
延伸解读
完整性链的重要性
完整性链从固件到运行时的闭合性至关重要。每一环节的验证都确保系统的安全性,任何环节的缺失都可能导致安全漏洞。因此,在设计和实施安全系统时,必须重视每个环节的完整性验证,确保没有被绕过的可能性。
TPM与安全认证
TPM(受信任的平台模块)通过PCR(平台配置寄存器)存储度量值,提供远程认证功能。这意味着系统状态可以被外部验证,确保其未被篡改。理解TPM的工作原理对于增强系统安全性和信任度至关重要,尤其是在需要高安全性的应用场景中。
dm-verity的应用场景
dm-verity利用Merkle树结构进行块设备的完整性验证,广泛应用于Android系统分区和容器镜像等场景。了解dm-verity的工作机制可以帮助开发者在设计安全存储方案时,选择合适的验证方法,确保数据的完整性和可靠性。
延伸问答
IMA 是什么,它如何验证文件完整性?
IMA(文件度量与鉴定)通过计算文件的 hash 并记录到日志中来度量文件完整性,并将度量值扩展到 TPM PCR。
EVM 在文件安全中起什么作用?
EVM(保护安全扩展属性)确保文件的安全扩展属性不被篡改,通过 HMAC/签名保护相关的 xattr。
dm-verity 是如何确保块设备完整性的?
dm-verity 使用 Merkle 树验证块设备的完整性,每次读取块时进行 hash 验证,不匹配则返回 I/O 错误。
fs-verity 与 dm-verity 有什么区别?
fs-verity 提供文件级别的验证,而 dm-verity 是针对块设备的验证,fs-verity 在页缓存层进行惰性验证。
TPM 和 PCR 在系统安全中有什么作用?
TPM(可信任的平台模块)和 PCR(平台配置寄存器)用于存储度量值,确保系统状态的远程认证。
完整性链的闭合性为何重要?
完整性链必须从固件到运行时闭合,任何一环缺失都可能导致安全风险,影响系统的整体安全性。