一组研究人员发现了一种新的数据泄露攻击,影响了支持投机执行的现代CPU架构。
它被称为GhostRace(CVE-2024-2193),是瞬态执行CPU漏洞Spectre v1(CVE-2017-5753)的一种变体。该方法结合了投机执行和竞争条件。
研究人员说:“所有使用条件分支实现的常见同步原语都可以在微架构上通过分支错误预测攻击绕过投机路径,将所有架构上无竞争的关键区域变成投机竞争条件(SRC),允许攻击者从目标泄漏信息。”
IBM欧洲研究机构和VUSec的系统安全研究小组的研究结果,后者于2023年12月披露了另一种针对现代处理器的侧信道攻击,称为SLAM。
Spectre指的是一类侧信道攻击,利用现代CPU上的分支预测和投机执行来读取内存中的特权数据,绕过应用程序之间的隔离保护。
该漏洞的攻击者使用了一种名为Spectre v1的攻击方法,该方法可以利用分支预测和投机执行来绕过应用程序之间的隔离保护。虽然投机执行是大多数CPU使用的性能优化技术,但Spectre攻击利用了错误预测在处理器的缓存中留下的内存访问或计算痕迹。
“Spectre攻击诱使受害者投机地执行在严格序列化程序指令的顺序处理期间不会发生的操作,并通过隐蔽通道向敌人泄露受害者的机密信息,”2018年1月Spectre攻击背后的研究人员指出。
这些年来,随着Meltdown漏洞的发现,人们对微处理器架构进行了更广泛的审查,甚至促使MITRE常见弱点枚举(CWE)计划在上个月底增加了四个与瞬态执行(从CWE-1420到CWE-1423)引起的硬件微架构相关的新弱点。
GhostRace的显著之处在于,它使未经身份验证的攻击者能够利用所谓的“空闲后并发使用”(SCUAF)攻击,通过使用竞争条件从处理器提取任意数据来访问投机可执行代码路径。
该攻击使用了一种名为“Speculative Concurrent Use-After-Free”(SCUAF)的攻击。竞争条件是一种不良情况,当两个或多个进程试图访问相同的共享资源时,没有适当的同步,从而导致结果不一致,并为攻击者执行恶意操作打开机会窗口。
CERT协调中心(CERT/CC)在一份报告中解释说:“在特征和利用策略上,SRC漏洞类似于经典的竞争条件。”
“然而,它与攻击者利用来自错误推测分支(类似于Spectre v1)的瞬时执行路径上的竞争条件不同,攻击者的目标是一个生动的代码片段或小工具,最终向攻击者披露信息。”
最终结果是,它允许访问CPU资源的攻击者从主机内存访问任意敏感数据。
VUSec说:“任何软件,例如操作系统、虚拟机监控程序等,通过条件分支实现同步原语,而没有任何串行化指令,并在任何微体系结构(例如x86、ARM、RISC-V等)上运行,都容易受到SRC的攻击。”
在负责任的披露之后,AMD表示其现有的Spectre指导“仍然适用于减轻这一漏洞”。Xen开源管理程序的维护者承认所有版本都受到了影响,尽管他们表示这不太可能构成严重的安全威胁。
“出于谨慎,Xen安全团队已经提供了硬化补丁,包括在x86上添加类似于现有的BRANCHI_HARDEN的新LOCK_HARDEN机制,”Xen说。
“由于Xen下存在漏洞的不确定性,以及对性能影响的不确定性,LOCK_HARDEN默认是关闭的。然而,我们预计在这个领域将有更多的研究,并认为谨慎的是适当地缓解。”