研究人员展示了一种绕过 Windows 11 的 BitLocker 加密的方法,可以从内存中提取全卷加密密钥 (FVEK)。
此漏洞凸显了与物理访问攻击相关的风险,并突显了内存保护机制中的潜在弱点。
攻击主要围绕在计算机运行过程中捕获计算机 RAM 的内容。
如果攻击者可以物理访问设备,他们可以突然重新启动设备并转储内存以提取敏感信息,包括 FVEK。
此过程利用了系统运行时加密密钥暂时存储在内存中的事实。
然而,该技术并非万无一失。断电后,RAM 内容会迅速衰减,因此,最大限度减少停机时间至关重要。
研究人员表示,为了减轻这种性能下降的现象,攻击者可以使用物理冷却 RAM 或使用外部电源维持电力输送等方法。
在一次演示中,攻击者短接主板上的复位引脚以在不切断电源的情况下重新启动系统,从而保持内存的完整性。
绕过安全启动
安全启动是一种旨在防止未经授权的软件在启动期间运行的安全标准,它提供了另一层保护。
然而,它有已知的漏洞,可以使用垫片或其他漏洞等技术绕过。这些方法允许攻击者加载自定义工具进行内存分析。
攻击步骤
1.创建可启动的 USB 设备:准备一个大于目标系统 RAM 的 USB 驱动器,并使用专门的软件来提取内存转储。
2.突然重启目标系统:系统在关键时刻重启——例如在 Windows 加载期间但在到达登录屏幕之前——以捕获内存中的加密密钥。
3.从 USB 启动:攻击者从USB 设备启动到自定义 UEFI shell并执行工具来转储内存内容。
4.分析内存转储:使用“xxd”和“searchMem”等工具分析转储的数据,以找到存储在特定内存池中的加密密钥。
密钥恢复
在特定的 Windows 内核内存池标记下发现了 FVEK 键,例如“dFVE”,它对应于 BitLocker 的崩溃转储过滤器模块(“dumpfve.sys”)。
该标签始终显示以元数据开头的加密密钥,指示所使用的加密算法(例如,XTS-AES-128)。
恢复秘钥
此漏洞表明,即使是像BitLocker这样的高级加密系统也无法免受物理访问攻击。
虽然微软采用了关机时销毁密钥等技术,但残留密钥在某些条件下仍会保留在内存中。
降低风险的方法:
用户应该启用基于硬件的安全功能,如可信平台模块 (TPM)。
组织应实施物理安全措施以防止未经授权的访问。
微软可能需要加强密钥管理实践,以减少易失性存储器中的暴露。
这一发现提醒我们,没有任何安全系统是万无一失的,特别是涉及物理访问时。
— 欢迎关注 往期回顾 —