50美元“Battering RAM”可破解机密计算
安全研究人员制造了一款价值50美元的设备,能够绕过云环境硬件中使用的Intel和AMD处理器的机密计算防御,从而使攻击者能够破解旨在保护敏感数据的加密技术。
这种名为“Battering RAM”的攻击可以突破Intel SGX和AMD SEV-SNP处理器防御,这些防御“旨在保护敏感工作负载免受受损主机、恶意云提供商或恶意内部人员的侵害”。开发该攻击的鲁汶大学和伯明翰大学/杜伦大学研究人员表示。
攻击原理
研究团队在其网站上说明:“现代计算机使用内存模块(DRAM)存储所有使用中的内容:从照片和密码到信用卡号码。公共云提供商越来越多地部署硬件级内存加密来保护这些敏感数据。”
研究人员演示了如何通过构建一个低成本介入器来破解这种加密,该介入器位于基于处理器的内存加密路径中,云系统使用这种加密来保护敏感数据。这个对操作系统不可见的介入器可以绕过SGX保护的内存,并破坏SEV在无其他漏洞系统上的认证功能。
研究人员表示:“通过切换开关,我们的介入器会变得恶意,并静默地将受保护地址重定向到攻击者控制的位置,从而允许破坏或重放加密内存。”
技术实现细节
商用被动DRAM介入器通常成本超过10万美元,这些介入器用于在高级封装系统中将DRAM内存芯片连接到处理器。然而,研究人员概述了他们如何使用模拟开关开发定制介入器,以操纵处理器和内存之间的信号,成本不到50美元。
他们表示,印刷电路板(PCB)采用标准的四层设计,可以在任何主要PCB制造商(如JLCPCB、PCBWay或Eurocircuits)制造。介入器的原理图和板文件通过研究团队的GitHub仓库开源提供。
攻击演进
据研究人员称,Battering RAM是先前开发的BadRAM攻击的演进,后者同样利用物理地址别名来修改和重放AMD SEV-SNP系统上的加密内存。BadRAM通过引入静态幽灵地址线来实现这一点。
研究人员表示,作为回应,Intel和AMD添加了启动时检查来检测和阻止此类静态别名。Battering RAM通过在运行时动态引入内存别名来提高赌注,这使得它能够击败Intel和AMD对BadRAM的缓解措施。
攻击执行过程
系统启动后,攻击者切换开关,介入器动态重写地址元数据,将受保护的内存页指向捕获加密数据的攻击者控制的内存别名。然后介入器重新配置,使攻击者位置占据受害者的物理地址,然后重放捕获的密文。这最终强制解密数据,随后数据出现在攻击者位置。
攻击前提条件
然而,要使攻击成功,需要有人对硬件系统进行一次物理访问,即使时间很短。因此,研究人员承认,攻击者必须是某种内部人员——例如恶意员工、数据中心技术人员或维护人员、执法人员,或者是在运输或制造过程中可能篡改内存模块的供应链中的某人。
不同处理器的绕过方式
该攻击在绕过内存时根据处理器的不同而略有不同。研究人员解释说,Intel全内存加密(TME)技术的单密钥域(用于Intel可扩展SGX中)通过介入器诱导的别名实现任意明文访问。因此,他们表示,绕过内存加密仅取决于访问密钥和物理地址。
研究人员解释:“通过捕获受害者密文并将捕获的内容重放到自己的飞地中,攻击者获得对受害者明文的读取访问权限。同样,攻击者还可以将任意明文写入受害者飞地。”
AMD的SEV-SNP通过测量初始内存内容并将哈希值与客户提供的预期值匹配来确保启动虚拟机(VM)的完整性。
在Battering RAM攻击中,介入器可以捕获和重放启动测量,从而破坏SEV的认证。“这使得攻击者能够在虚拟机中引入任意后门,而不会被检测到,”研究人员说。他们表示,该攻击还使用动态内存别名来绕过启动时别名检查,从而绕过内存保护。
芯片制造商的回应
Intel和AMD都已承认该漏洞,研究人员在2月份向他们报告了此漏洞。然而,研究人员表示,“他们指出对DRAM的物理攻击超出了他们当前产品的范围”,因此不会对其处理器技术进行任何更改来缓解潜在攻击。
两家公司还在周二分别发布了关于该攻击的公告,基本上表达了相同的意思。Intel的公告还建议“Intel全内存加密-多密钥(Intel TME-MK)的加密完整性保护模式可以提供针对基于别名攻击的额外保护”,该功能在第五代Intel Xeon处理器和带有P核的Xeon 6处理器系列上可用。
Intel表示:“依赖方应了解他们信任平台的物理保护特性。平台所有者可以通过在认证期间识别他们持有的平台证书来证明他们控制哪些平台(从而证明其物理保护)。”
与此同时,AMD也表示不计划发布任何缓解措施,“因为报告的漏洞超出了SEV-SNP发布威胁模型的范围,如AMD SEV-SNP技术论文表1中所述。”
研究意义
最终,研究人员表示,他们的漏洞证明表明机密计算“并非无敌”,防御者应重新评估威胁模型,以更好地理解和准备物理攻击。
研究人员表示:“加密内存本身并不能防止物理篡改,在涉及有限物理访问的威胁场景中,仅靠基于固件的缓解措施是不够的,例如恶意内部人员或供应链泄露。”