TPM 1.2 的安全性,用于提供针对固件修改的篡改证据

信息安全 硬件 正直 固件 tpm 篡改
2021-09-03 08:20:59

我想使用 TPM 为我的工作站提供篡改证据,使用 SRTM(用于测量的静态信任根)。目前,我计划让 TPM 封印一个只有我知道的一次性价值,类似于Qubes 的 Anti-Evil Maid实施。TPM 验证 BIOS、选项 ROM、系统配置和引导加载程序。受信任的引导加载程序(例如TrustedGRUB2)将验证内核并使用tboot(它使用硬件 ACM 模块)来引导内核。此时,系统被认为是安全的(例如内核使用IMA来验证用户空间,或者磁盘使用不可延展的加密模式进行加密)。

这是我的理解(我可能会将 CRTM 的角色与 ACM 混淆):

  • CRTM,在健全的固件中,不能在 CPU 验证时修改。

  • CRTM 负责验证 BIOS(或至少将其提供给 TPM)。

  • 如果 BIOS 被修改,这将很明显,因为 CRTM 仍会将其提供给 TPM。

  • BootGuard类似,不同之处在于它提供了防篡改功能,而不是篡改功能。

我的威胁模型:

  • 我的对手能够修改系统上的任何可写存储。

  • 他们不能修改硬件本身(例如在 LPC 总线上添加 JTAG 或 MITM)。

  • 他们不知道TPM封存的秘密,也无法伪造。

  • 经过验证后,他们无法利用正在运行的系统。

  • 在我验证了密封的秘密后,他们想监视我对系统的输入。

这意味着我需要确保可以检测到对 BIOS 的修改(ACM/CRTM 会提供这种保证吗?),并且将检测到对固件的其他修改,例如选项 ROM。我对 ACM 和 CRTM 的理解相当有限。但是,我了解 TPM 如何工作的基础知识(关于 PCR 寄存器及其限制)。

关于我自己的 OPSEC、硬件后门、测量启动完成后的攻击或物理硬件组件的修改/替换的错误超出了范围。

该解决方案是否足以检测固件修改?

0个回答
没有发现任何回复~