在过去,人们可以通过卸下 BIOS 电池并清除CMOS来轻松绕过大多数 PC 上的 BIOS 密码。
我的问题是:在配备可信平台模块 (TPM)的现代 PC 上,BIOS 密码和 BIOS 设置的防篡改能力如何?也许 TPM 设计规范要求对删除 BIOS 密码、以明文形式获取 BIOS 密码或更改驱动器启动顺序有一定程度的抵抗力?
(我假设一台商业级 HP/Dell 笔记本电脑,其中 TPM 被宣传为核心功能,并且攻击者可以物理访问 PC 主板。)
在过去,人们可以通过卸下 BIOS 电池并清除CMOS来轻松绕过大多数 PC 上的 BIOS 密码。
我的问题是:在配备可信平台模块 (TPM)的现代 PC 上,BIOS 密码和 BIOS 设置的防篡改能力如何?也许 TPM 设计规范要求对删除 BIOS 密码、以明文形式获取 BIOS 密码或更改驱动器启动顺序有一定程度的抵抗力?
(我假设一台商业级 HP/Dell 笔记本电脑,其中 TPM 被宣传为核心功能,并且攻击者可以物理访问 PC 主板。)
TCG 可信计算概念将 BIOS 分为两部分。假定初始 BIOS 是安全的,并将初始化 TPM。然后,这个所谓的 CRTM 将测量剩余的 BIOS 组件并将它们的值记录在 TPM 中。从规范看来,CMOS 数据是该测量的一部分并存储到 PCR1。但是由于更改的 BIOS 密码或其他设置会使 Bitlocker 之类的东西失效,我认为这个寄存器实际上并没有被使用。或者实现实际上并没有测量这个配置空间。最好尝试一下,看看会发生什么。如果经过测量,您可以使用像 Bitlocker(或 linux initrd plus shellscript)这样的系统来保护您的操作系统数据免受操纵的 BIOS 的影响。
但是请注意,TCG 规范明确排除了硬件攻击。此外,TPM 始终依赖 BIOS 来正确编程和保护 SMM 和 TXT,因此您应该始终验证 BIOS 测量值。
另请注意,全盘加密和保护密码免受暴力攻击是当今 TPM 唯一的实际用例。由于操作系统的巨大配置空间(无限有效测量......)或不如人们想象的那么安全(SVM / TXT / VT,尽管它们仍然比当前状态有所进步,但其他一切通常都是不切实际的艺术)。
---这是评论,不是答案---
http://www.intel.com/design/mobile/platform/downloads/Trusted_Platform_Module_White_Paper.pdf
BIOS 代码 TCPA 指定在系统启动时测量 BIOS 代码的完整性。为了完成这种完整性测量和报告,系统BIOS必须增强完整性测量功能。
根据现有的 BIOS 架构,此类增强可能是一项复杂的任务。
平台供应商可能希望使用 TPM 提供各种预启动安全功能。提供此类功能的必要代码要么直接在系统 BIOS 中实现,要么作为可选 ROM 提供。
无论平台上是否提供任何预启动功能,都必须对 BIOS 代码进行最少的更改,以确保将 TPM 定义为 ACPI 描述符表中的主板设备。这使操作系统能够识别设备、为其分配资源并加载必要的设备驱动程序。
...
笔记本电脑上的 TPM 实施
机械要求
TPM 必须通过焊接将其永久连接到主板。这强化了 TPM 在其自身与其所连接的平台之间提供 1:1 绑定的事实。由于此要求,最好在主板设计和布局过程的早期阶段考虑 TPM 所需的空间。TCPA 还建议提供可以提供篡改证据的篡改检测机制。篡改检测机制的一个示例是使用篡改胶带
你会每天检查你的笔记本电脑主板是否有防篡改胶带损坏的迹象吗?