AMD安全虚拟机技术被曝出不安全

研究人员发现,AMD用于保护虚拟机内存的安全机制,只需花费10美元的硬件即可绕过——甚至可能都不需要这么多。
2024-12-13 17:29:51  |   作者:开源爱好者  |   来源:

AMD安全虚拟机技术被曝出不安全

研究人员发现,AMD用于保护虚拟机内存的安全机制,只需花费10美元的硬件即可绕过——甚至可能都不需要这么多。
2024-12-13 17:29:51
作者:开源爱好者
来源:

AMD的安全加密虚拟化(SEV)技术旨在提供一个可信执行环境(TEE),以保护计算和内存,类似于竞争对手供应商(如英特尔的软件保护扩展(SGX)和可信域扩展(TDX),以及Arm的机密计算架构(CCA))提供的类似TEE产品。

SEV等技术通常由云服务提供商使用,以确保那些能够访问数据中心硬件的人员无法从租户虚拟机中窃取机密信息。这些技术通过加密内存,以抵御被不受信任的提供商或窥探的机构的攻击。

图片1.jpg

来自比利时鲁汶大学、德国吕贝克大学和英国伯明翰大学的研究人员研究了AMD的SEV-SNP(安全嵌套分页)技术——这是SEV的一项最新增强功能,增加了对来自恶意管理程序的内存重映射攻击的保护。他们发现,该技术并不像其名称所暗示的那样安全。

在题为《BadRAM:针对可信执行环境的实用内存别名攻击》的论文中,共同作者Jesse De Meulemeester, Luca Wilke, David Oswald, Thomas Eisenbarth, Ingrid Verbauwhede 和Jo Van Bulck描述了他们如何设计了一种方法,使用树莓派Pico、DDR插槽和9伏电池绕过基于TEE的内存访问限制。

BadRAM攻击确实需要物理访问硬件(例如,在恶意管理员的场景中)。它利用内存模块上的SPD(串行存在检测)芯片,该芯片可识别硬件模块,通过操纵SPD为物理内存创建别名,随后可以违反TEE完整性目标,在这些别名中搜索机密信息。

“在我们的攻击中,我们将系统中安装的DIMM大小加倍,以欺骗CPU的内存控制器使用额外的‘幽灵’寻址位,”作者解释说,“这些寻址位在虚拟增大的DIMM中将不会被使用,从而产生有趣的别名效应,即两个不同的物理地址现在指向相同的DRAM位置。”

该技术适用于DDR4和DDR5内存,对于没有物理访问硬件权限(通过SSH)的本地纯软件攻击者也可能有效,因为一些DRAM供应商未对SPD芯片进行锁定。虽然大多数供应商根据JEDEC规范会锁定其内存模块,但作者报告说,他们发现至少有两款攻击性软件的DDR4 DIMM“完全未对基础配置进行保护,可能使其面临仅通过软件的BadRAM攻击”。

据称,即使像DDR3这样的较旧内存会通过永久写保护来防止内存大小被篡改,但通过移除或更换SPD,它也会受到影响。

“BadRAM完全破坏了人们对AMD最新的安全加密虚拟化(SEV-SNP)技术的信任,该技术被包括亚马逊AWS、谷歌云和微软Azure在内的主要云服务提供商广泛采用,”鲁汶大学计算机科学系DistriNet实验室的教授Jo Van Bulck在一封电子邮件中提到。

“BadRAM首次研究了不良RAM的安全风险——这些恶意内存模块在启动时故意向处理器提供虚假信息。我们展示了BadRAM攻击者如何伪造关键远程认证报告,并在任何受SEV保护的虚拟机中插入无法检测的后门。”

英特尔的可扩展SGX和TDX没有受到影响,因为它们实施了针对内存别名的反制措施。研究人员称,根据规范,Arm的CCA似乎受到了保护,但没有可用的硬件进行测试。据说,较旧且已停产的SGX经典版本部分存在漏洞。

研究人员在2024年2月26日向AMD披露了他们的SPD别名攻击和概念验证代码。他们计划在2025年IEEE安全与隐私研讨会上宣读这篇论文。

AMD正在以CVE-2024-21944和AMD-SB-3015追踪这一漏洞,一位Ryzen设计者说他们会发布一份咨询报告。

“AMD认为,利用已披露的漏洞需要攻击者具备以下条件之一:对系统拥有物理访问权限、在具有未锁定内存模块的系统上拥有操作系统内核访问权限,或安装了定制的恶意BIOS。”AMD在一份声明中解释说。

“AMD建议使用锁定串行存在检测(SPD)的内存模块,并遵循物理系统安全的最佳实践。AMD还向客户发布了固件更新,以缓解这一漏洞。”