来源:https://pulsesecurity.co.nz/articles/TPM-sniffing

工程师Denis Andzakovic在2019年3月实现了对bitlocker 加密密钥的提取公积,基本方法是TPM嗅探(TPM sniffing)攻击。

Bitlocker介绍

Bitlocker 是 Microsoft 为其从 Windows Vista 开始的 Windows 操作系统提供的全盘加密 (FDE) 解决方案,以保护用户的静态数据。该解决方案提供了多种配置,包括多种存储解密密钥的方式。最常见的配置包括将卷主密钥 (VMK) 存储在嵌入在最近的计算机中的可信平台模块 (TPM) 中。

这个设置很有趣,因为解密对用户是完全透明的。由于许多公司不愿意为用户配置额外的密码/PIN 以启动其计算机,因此这一优势超越了其他公司。缺点是它为多种攻击打开了大门,包括本文中描述的 TPM 嗅探以及 DMA 或冷启动攻击。

在幕后,TPM 在启动期间检查各种系统属性,以确保启动顺序未被更改。如果验证成功,VMK 被释放并传输到 CPU,CPU 可以开始解密磁盘并加载操作系统。

根据硬件的不同,TPM 可以通过多个通信通道连接到主板,包括 LPC、I2C 或 SPI。这些总线有一个共同的特性,即传输速度低(时钟一般在 25Mhz 左右)。这对解决方案来说不是问题,因为只需要传输有限数量的数据,但由于所需的硬件便宜,因此它使信道嗅探更容易。

攻击思路

默认情况下,可以通过嗅探 LPC 总线、检索 TPM 返回的卷主密钥并使用检索到的 VMK 解密受保护的驱动器来访问受 Microsoft BitLocker 保护的操作系统驱动器。这篇文章将着眼于通过使用逻辑分析仪或廉价的 FPGA 板嗅探 LPC 总线从 TPM 芯片中提取明文密钥。这篇文章演示了对使用 TPM1.2 芯片的 HP 笔记本电脑逻辑板和使用 TPM2.0 芯片的 Surface Pro 3 的攻击。

更多细节请阅读:

TPM Sniffing:https://trmm.net/tpm-sniffing/

原文:https://pulsesecurity.co.nz/articles/TPM-sniffing