近日,阿姆斯特丹Vrije大学(Vrije Universiteit Amsterdam)的系统和网络安全小组(VUSec)的研究人员披露了一种能够绕过现有的Spectre v2/BHI缓解措施的新型“原生分支历史注入(BHI)”漏洞,编号为CVE-2024-2201,攻击者可从运行英特尔处理器的Linux内核内存中窃取敏感数据。
CERT协调中心(CERT/CC)昨天披露,新漏洞(CVE-2024-2201)允许未经身份验证的攻击者通过利用推测执行来读取任意内存数据,从而绕过隔离不同权限的现有安全机制。
CERT/CC声明中写道:“未经身份验证的攻击者可以利用此漏洞,推测性地跳转到选定的小工具(Gadget),从而泄露CPU特权内存中的信息。”
研究者指出,这种攻击方法能够以每秒3.5KB的速率泄露任意内核内存。
“核泄漏”缓解措施被绕过
六年前(2018年1月),英特尔、AMD、苹果、ARM等主流处理器芯片曝出了两个核弹级的漏洞——Meltdown(熔断漏洞,仅影响英特尔和苹果处理器)和Spectre(幽灵漏洞,影响几乎所有现代主流CPU),二者都是推测执行测通道漏洞的两种攻击方法,利用了现代处理器(为了提高性能采取的)推测执行技术的缺陷。攻击者可利用这些漏洞访问内核内存中的高度敏感数据,例如密码、加密密钥、公司信息、电子邮件、软件代码等。
2022年3月,VUSec再次披露了Spectre幽灵漏洞的新变种——Spectre v2漏洞,攻击者采用BHI攻击技术能够绕过英特尔、AMD和Arm处理器中针对Spectre v2的防护措施。
对此,英特尔建议的缓解措施之一是禁用Linux的非特权eBPF(扩展Berkeley数据包过滤器),认为后者会增加遭受瞬时执行攻击的风险。
“非特权用户在特权域(例如Linux的非特权eBPF)中生成和执行代码的特权管理运行时,即使存在针对模式内分支目标注入的防御措施,也会显著增加瞬时执行攻击的风险,”英特尔指出:“内核可以默认配置为拒绝访问非特权eBPF,同时仍然允许管理员在需要时在运行时启用它。”
但最新的研究表明,即使禁用eBPF,攻击者仍可利用原生BHI技术发起攻击。在安装有恶意软件的计算机上,攻击者可通过篡改推测执行路径来窃取与其他进程相关联的敏感数据,前提是攻击者能够访问CPU资源。
“现有的缓解技术,例如禁用特权eBPF和启用(Fine)IBT,不足以阻止针对内核/虚拟机管理程序的BHI漏洞利用,”CERT协调中心(CERT/CC)在一份安全公告中表示:“未经身份验证的攻击者可以投机性地跳转到选定的gadget来利用此漏洞并泄露CPU中的权限内存。”
研究者指出:当前的缓解措施是围绕隔离可利用的gadget来消除攻击面。然而,VUSec研究人员使用定制的“InSpectre Gadget”分析工具发现,Linux内核中仍然存在可利用的gadget(下图):
该漏洞已确认影响Illumos、英特尔、Red Hat、SUSE Linux、Triton数据中心和Xen系统。AMD在一份公告中表示,他们“尚未发现其产品受到任何影响”。
这项披露距离IBM和VUSec联合披露GhostRace(CVE-2024-2193)漏洞仅几周时间。GhostRace是Spectre v1的一个变种,它结合了推测执行和竞争条件来窃取当代CPU架构中的数据。
目前各方给出的Spectre v2新漏洞缓解措施如下:
- Illumos–计划本周添加BHI缓解措施。
- Linux基金会–由Linux内核开发团队遵循的标准硬件漏洞程序处理的问题。
- Red Hat–RHEL上默认禁用非特权eBPF,因此在标准配置中无法利用该问题。
- SUSE Linux–已确认的影响。
- Triton数据中心–建议更新至SmartOS 20240418。
- Xen–CERT/CC独立验证了影响。
英特尔也更新了针对Spectre v2的缓解建议,现在建议禁用非特权扩展伯克利数据包过滤器(eBPF)功能,启用增强型间接分支限制推测(eIBRS),并启用管理员模式执行保护(SMEP)。
此外,英特尔建议在代码中的特定位置添加LFENCE(加载栅栏)指令作为序列化点,并实施软件序列来清除分支历史缓冲区(BHB),以便在不同安全域之间进行转换。
主流处理器硬件安全机制再次曝出漏洞
屋漏偏逢连夜雨,苏黎世联邦理工学院(ETH Zurich)的一项新研究披露了一系列名为Ahoi攻击的漏洞,这些漏洞可以用来破坏基于硬件的可信执行环境(TEE)并攻破机密虚拟机(CVM),例如AMD的安全加密虚拟化-安全嵌套分页(SEV-SNP)和英特尔的信任域扩展(TDX)。
代号为Heckler和WeSee的攻击利用恶意中断来破坏CVM的完整性,可能允许威胁行为者远程登录并提升访问权限,以及执行任意读取、写入和代码注入操作以禁用防火墙规则并打开root shell权限。
“Ahoi攻击者可以使用虚拟机管理程序向受害者的虚拟CPU注入恶意中断,并诱使其执行中断处理程序,”研究人员表示:“这些中断处理程序可以产生全局影响(例如,更改应用程序中的寄存器状态),攻击者可以触发这些影响来破坏受害者的CVM。”
针对这些发现,AMD表示该漏洞源于Linux内核中SEV-SNP的实现,并且其中一些问题的修复程序已经更新到了主流Linux内核。