目前流行的BitLocker突破方式主要有两个:DMA解锁和TPM芯片通信嗅探。
DMA解锁
DMA解锁情况表
| VT-d | 内存完整性 | BitLocker(TPM) | BitLocker(PIN) | DMA解锁 | |
|---|---|---|---|---|---|
| 设置1(Win11笔记本电脑默认) | 启用 | 启用 | 启用(登录微软账号后) | 未启用 | 不可解锁 |
| 设置2 | 未启用 | 任意 | 启用 | 未启用 | 可直接进行DMA解锁 |
| 设置3 | 启用 | 未启用 | 启用 | 未启用 | 可关闭VT-d后进行DMA解锁 |
| 设置4 | 任意 | 任意 | 任意 | 启用 | 不可解锁 |
简要总结
- 只要启用了BitLocker的PIN码解锁,无论其他选项是何配置,都无法使用DMA解锁。
- 同时启用BitLocker和“内存完整性”保护,无法进行DMA攻击,原因如下:
- “内存完整性”可以防护DMA攻击,需要通过禁用BIOS中的“VT-d”功能使“内存完整性”失效。
- BitLocker加密会对BIOS中涉及安全的设置进行摘要(如“VT-d”、“Secure Boot”等),如果这些设置有变化,启动时则不进行TPM自动解锁,而是让用户输入恢复密钥。
针对较新的笔记本电脑,出厂配置下只要用户登陆了微软账号,BitLocker就会在不弹出任何通知的情况下启用,此时就是同时启用BitLocker和“内存完整性”的情况。
TPM芯片通信嗅探
TPM的两种形态
TPM芯片分为两种:dTPM(Discrete TPM)和fTPM(Firmware TPM)。
dTPM
dTPM就是独立TPM芯片,表现为一个焊在主板上的芯片或一个可在主板上插拔的芯片。
fTPM
fTPM是固件型TPM的意思,一般位于BIOS芯片中,并且在TEE(可信执行环境)中执行,但需要CPU支持才可启用。Intel从第八代酷睿(发布于2018年1月)开始支持fTPM。
嗅探方法
该方法仅针对dTPM有效,因为dTPM芯片一般位于SPI或LPC线路上,计算机开机时,BitLocker解密密钥会在该线路上明文传输。
通过信号侦测仪一类的设备嗅探TPM芯片与CPU的通信即可嗅探到BitLocker密钥。
应用前景
这是一项很老的技术,至少在六年前就有讲述该技术的文章被发布到互联网上。因较老的CPU和主板不支持fTPM,所以在一些较老的主机上可以看到dTPM。
当下的笔记本电脑基本几乎都是使用fTPM。因为现代CPU都支持fTPM,计算机供应商使用fTPM可以避免额外购买dTPM的费用和相关PCB电路设计的各种费用,所以在未来,包括笔记本电脑在内的PC整机产品不太可能使用dTPM。
发表回复