Bitlocker是当今最容易取得的加密解决方案之一,它是Windows 10 Pro和Windows 11 Pro的内置功能,目的是保护用户的数据不会被偷窥。然而,YouTuber stacksmashing展示了Bitlocker的一个巨大安全漏洞,他利用一个价值不到10美元的便宜Raspberry Pi Pico,在不到一分钟的时间内绕过了Windows Bitlocker的保护,进而获取了用于解锁受保护数据的加密钥匙。他的攻击只用了43秒就偷走了主密钥。

该漏洞利用了BitLocker对外部TPM的依赖。对于某些配置,BitLocker依赖外部TPM来存储关键资讯,例如平台托管器组态和VMK(某些CPU内置此功能)。对于外部TPM,TPM密钥通过LPC总线与CPU通信,向其发送解密驱动器上数据的所需加密密钥。

Stacksmashing发现,CPU和外部TPM之间的通信信道 (LPC总线) 在启动时完全未加密,这使得攻击者可以嗅探关键数据在两个单元之间传输,进而窃取加密密钥。

Stacksmashing在一台使用BitLocker加密的十年老笔记本上测试了该漏洞。他特定的笔记本的LPC总线可以通过主板上的一个未占用的连接器读取,该连接器位于笔记本的一个M.2端口旁边。这种相同类型的攻击可以用于利用外部TPM的较新的主板,但这些通常需要更多的工作来拦截总线流量。

为了从连接器读取数据,Stacksmashing创建了一个便宜的Raspberry Pi Pico设备,只需与从其本身突出的金属垫片接触即可连接到未加密的连接器。Pico被程序设计为从TPM读取原始的1和0,进而允许访问模块上存储的VMK密钥。

Stacksmashing的发现展示了Windows Bitlocker以及外部TPM并不像许多人认为的那样安全,因为TPM和CPU之间的数据信道是未加密的。好消息是,这个缺陷似乎是只会发生在使用外部TPM的Windows系统。如果你使用的是内置TPM的CPU,像是新的Intel或AMD的CPU,应该可以免受这个安全漏洞的影响,因为所有TPM通信都在CPU内部进行。

数据源: