一种名为VMScape的新型类Spectre攻击允许恶意虚拟机(VM)从运行在现代AMD或英特尔CPU上的未修改QEMU hypervisor进程中窃取加密密钥。
该攻击打破了VM与云hypervisor之间的隔离,绕过现有Spectre缓解措施,并利用推测执行威胁泄露敏感数据。
研究人员强调,VMScape无需攻陷主机,且在硬件默认启用缓解措施的情况下,对未修改的虚拟化软件依然有效。他们指出,威胁行为者只需租用一台虚拟机,即可对云服务商发起此类攻击,从hypervisor或其他VM中窃取机密。
VMScape由瑞士苏黎世联邦理工学院(ETH Zurich)的研究团队开发,研究发现其影响AMD Zen 1至Zen 5全系列处理器以及英特尔“Coffee Lake”CPU,但较新的“Raptor Cove”和“Gracemont”架构不受影响。
从QEMU中窃取机密的原理
现代CPU通过扩展客户机与主机之间分支预测单元(BPU)的隔离来防御推测攻击,但研究人员发现这种隔离并不完整。客户机用户可通过共享的BTB(分支目标缓冲区)、IBP/ITA、BHB(分支历史缓冲区)等BPU结构,影响主机用户进程的间接分支预测。
攻击目标是用户态hypervisor组件QEMU,其将客户机内存映射到自身地址空间,使攻击者可利用“FLUSH+RELOAD”缓存侧信道。苏黎世联邦理工学院研究人员通过Spectre-BTI(分支目标注入)攻击,误导QEMU中的目标间接分支,使其推测执行泄露gadget,将机密数据泄露到共享的reload缓冲区中。
为延长推测执行窗口,攻击者通过构建针对AMD Zen 4 CPU末级缓存(LLC)的驱逐集,从客户机内部驱逐相关缓存条目。
地址空间布局随机化(ASLR)——一种随机化进程中数据加载内存地址的安全机制——被攻击者通过探测分支冲突定位目标gadget,并暴力破解reload缓冲区虚拟地址的方式绕过。
苏黎世联邦理工学院研究人员展示,VMScape能以32字节/秒的速率从QEMU中泄露任意内存数据,字节级准确率达98.7%,整体利用成功率为43%。按此速率,4KB机密(如磁盘加密密钥)可在128秒内泄露;若包含ASLR绕过过程,端到端总耗时约772秒(近13分钟)。
影响与应对措施
虚拟化是云计算的基石,若客户机可读取主机内存,将威胁多租户云安全。但需强调的是,VMScape等攻击需高级知识、深厚技术专长和持续执行时间,因此即便可行,也不会对广大用户构成威胁。
苏黎世联邦理工学院团队于6月7日向AMD和英特尔报告了研究结果,该问题被分配CVE编号CVE-2025-40300。AMD已发布相关安全公告。
Linux内核开发者发布补丁,通过在VMEXIT时添加间接分支预测屏障(IBPB)缓解VMScape,即在客户机切换至主机时刷新BPU。研究人员表示,该缓解措施在常见工作负载中性能影响极小。
发表评论
您还未登录,请先登录。
登录