CDN加速

研究人员绕过英特尔 Spectre 漏洞修复程序

研究人员绕过英特尔 Spectre 漏洞修复程序

发布时间:2025-05-18 16:28:54   来源:众盛云-高防CDN专家 关键词:Spectre漏洞修复程序

新的攻击方法可以泄漏过去六年发布的 CPU 上的特权内核内存,这些 CPU 具有针对推测执行和分支注入攻击(如 Spectre)的硬件缓解措施。

英特尔对其 CPU 进行架构更改以缓解推测执行漏洞六年后,研究人员开发出一种可以绕过其中一些缓解措施的新技术。

这种名为分支特权注入(BPI) 的新攻击方法由瑞士苏黎世联邦理工学院的研究人员开发,能够从最新操作系统和英特尔 CPU 的特权内存中泄露信息。它能够攻破英特尔自 2018 年以来在其 CPU 中为 Spectre v2 漏洞(也称为分支目标注入 (BTI))构建的硬件缓解措施。

ETH 研究人员在其研究论文中写道: “我们的分析揭示了三种变体,它们突破了用户与内核、客户机与虚拟机管理程序之间的安全边界,并跨越了间接分支预测器屏障。”

根据英特尔的建议,该漏洞编号为 CVE-2024-45332,影响自 2018 年 10 月发布的第 9 代(称为 Coffee Lake Refresh)以来的所有英特尔 CPU。英特尔现已发布包含新缓解措施的微代码更新,但用户只能通过 PC 或主板制造商提供的 UEFI 更新获取这些更新。

15分38秒中的0秒音量0%

 

幽灵党回归

Spectre 变体 2(编号为CVE-2017-5715)是谷歌研究人员于 2018 年 1 月披露的三个漏洞之一,该漏洞需要历史上最大的补丁协调工作,并引发了一个全新的研究领域,此后几年又发现了数十个 CPU 中的其他漏洞。

这种被英特尔称为“分支目标注入”的攻击,滥用了现代 CPU 的推测执行功能。该功能使用算法尝试预测程序可能采用的代码路径,并提前沿着该路径执行指令,以便在执行流到达该点时立即从缓存中提供结果。如果 CPU 的推测被证明是错误的,结果将被丢弃,但在此之前,攻击者可以使用各种技术从 CPU 缓存中提取结果,本质上将其用作侧信道攻击。

Spectre v2 的影响非常严重,因为它违反了操作系统和其他系统中一些最基本的安全层:例如,用户模式进程与内核进程之间的内存访问隔离、虚拟机管理程序内存与客户虚拟机之间的隔离、操作系统内存与英特尔 SGX 等安全 CPU 执行环境内存之间的隔离等等。Spectre 首次发布后,出现了许多变体,包括 Spectre-NG、SgxPectre、Spectre-PHT、Spectre-PHT-CA-OP、 Spectre -PHT-CA-IP、Spectre-PHT-SA-OP、Spectre-BTB-SA-IP、Spectre-BTB-SA-OP 和 Spectre-BHI。

英特尔在新款 CPU 中引入了针对 Spectre v2 等推测执行攻击的缓解措施,称为增强型间接分支限制推测 (eIBRS) 和间接分支预测屏障 (IBPB)。这些措施旨在在硬件层面分离不同安全域的分支预测,这意味着来自一个域的进程无法将分支目标注入另一个域的预测器。同时,IBPB 可用于禁用所有间接分支预测。

描述他们的新攻击时写道:“虽然 eIBRS 似乎正确地将预测限制在与其关联的安全域内,但这种关联可以被操纵。” “在权限切换时,正在进行的分支预测器更新与新的安全域相关联,而不是与之前的安全域相关联。此外,我们发现,在间接分支预测器失效 (IBPB) 时正在进行的更新不会被刷新。因此,尽管这些更新已经失效,但它们仍存储在分支预测器中。”

换句话说,Kaveh Razavi、Johannes Wikner 和 Sandro Rüegge 发现这些机制中存在竞争条件,攻击者可以利用他们新开发的技术来利用这些条件。他们的 PoC 在最新的 Ubuntu 24.04 系统上成功以 5.6KB/s 的速度泄露了任意内核内存,该系统运行在 Intel Raptor Lake(第 13 代)处理器上,并启用了所有默认缓解措施。然而,他们指出,所有操作系统都会受到影响,而不仅仅是 Linux。

然而,AMD 和 ARM CPU 不受此类攻击和竞争条件的影响,因为它们有不同的缓解策略。

缓解措施

部署 CPU 微码更新有两种方式。一种是在启动初期通过 UEFI 进行,此时 CPU 将加载 UEFI 中存储的最新微码版本;另一种是在启动后期通过操作系统引导加载程序进行,但这只是临时补丁,需要不断重新应用。

对于 Spectre v2,谷歌还提出了一种基于软件的缓解措施,称为 retpoline,该措施将代码中的间接跳转和调用替换为返回,因为返回不会被预测为间接分支。苏黎世联邦理工学院的研究人员也针对其新的 BPI 攻击开发了一种类似的基于软件的缓解措施,该措施将 retpoline 与在监督模式下禁用备用返回目标预测相结合。

研究人员在论文中写道:“为了防止有害的间接分支预测,我们建议在管理模式下停用所有间接分支预测。虽然这种方法仅在较新的处理器上受支持,但可在 UnixBench 中将开销降低高达 1.7%,在 lmbench 中降低高达 6.4%。”

与此同时,研究人员测试了英特尔开发的微码补丁,发现它在 Alder Lake 系列 CPU 上的性能下降高达 2.7%。由于这些攻击利用了 CPU 的一项性能增强功能——分支预测和推测执行——因此预计任何缓解措施都会对 CPU 的基准性能产生影响。衡量这种影响至关重要,尤其对于服务器和数据中心工作负载而言。

本文首次发表后,英特尔向 CSO 发出了以下声明:

我们感谢苏黎世联邦理工学院在这项研究以及协调公开披露方面的合作。英特尔正在加强其 Spectre v2 硬件缓解措施,并建议客户联系其系统制造商获取相应的更新。迄今为止,英特尔尚未发现任何实际利用瞬时执行漏洞的案例。

 

猜你喜欢