一项合作研究工作暴露了一个重大漏洞,该漏洞被命名为 “BadRAM”(CVE-2024-21944),它破坏了 AMD 安全加密虚拟化(SEV)技术的完整性。这个安全漏洞允许恶意行为者绕过 SEV 保护并访问加密内存区域,从而可能危及云环境中的敏感数据。
鲁汶大学、吕贝克大学和伯明翰大学的研究人员在一份报告中详细介绍了这一漏洞,它源于对嵌入在 DRAM 模块中的串行存在检测(SPD)芯片的操纵能力。通过在系统启动时向处理器提供虚假信息,攻击者可以创建别名为现有内存位置的 “幽灵 ”地址,从而有效规避内存访问控制。
这种通信是通过一个名为 SPD 的专用芯片进行的。在启动过程中,该芯片会告知处理器可用的内存。
研究人员证明,利用成本不到 10 美元的现成设备,他们可以成功利用这一漏洞入侵受 SEV 保护的虚拟机(VM),甚至是那些使用了最新 SEV-SNP 安全增强功能的虚拟机。这种攻击载体使对手能够伪造远程验证报告并注入无法检测的后门,从而削弱对 SEV 生态系统的信任。
研究人员指出:“BadRAM 首次研究了坏 RAM 的安全风险,即在启动过程中故意向处理器提供虚假信息的恶意内存模块。”
虽然这种攻击需要物理访问 DRAM 模块来修改 SPD 芯片,但研究人员强调了云环境中的潜在风险,因为恶意内部人员或未经授权的人员可能会篡改硬件。此外,报告还强调,如果 DRAM 制造商未能充分保护 SPD 芯片的安全,使其容易被特权软件或被入侵的 BIOS 修改,那么就有可能发生基于软件的攻击。
AMD 已通过发布固件更新解决了这一漏洞,这些更新在处理器启动过程中对内存配置进行了安全验证。强烈建议系统管理员和云提供商部署这些更新,以降低 BadRAM 带来的风险。