最新一代的英特尔处理器(包括 Xeon 芯片)和 AMD 在 Linux 上的旧版微架构容易受到绕过现有“Spectre”缓解措施的新型推测执行攻击。
这些漏洞影响英特尔第 12、13 和 14 代消费芯片、第 5 和 6 代服务器至强处理器以及 AMD 的 Zen 1、Zen 1+ 和 Zen 2 处理器。
这些攻击破坏了 x86 处理器上的间接分支预测屏障 (IBPB),这是针对推测执行攻击的核心防御机制。
推测执行是现代 CPU 上的一项性能优化功能,它在知道未来任务是否需要指令之前执行指令,从而在预测正确时加快进程。基于错误预测执行的指令称为瞬态指令,会被压缩。
这种机制一直是侧信道风险(例如 Spectre)的来源,因为推测过程会调用可以从 CPU 缓存中检索的敏感数据。
苏黎世联邦理工学院的研究人员 Johannes Wikner 和 Kaveh Razavi 解释说,尽管多年来一直努力遏制类似 Spectre 的攻击,但仍有大量变种能够绕过现有的防御措施。
他们的贡献是跨进程攻击(针对英特尔)和 PB-inception 攻击(针对 AMD),即使在应用 IBPB 之后也可以劫持推测回报目标,从而绕过当前保护并泄露敏感信息。
在第一种情况下,攻击利用了英特尔微代码中的一个漏洞,即 IBPB 在上下文切换后不能完全使返回预测无效。
攻击者操纵返回指令的推测执行,允许陈旧的预测从 suid 进程泄露敏感信息,例如 root 密码的哈希值。
在 AMD 处理器上,Linux 内核中的 IBPB-on-entry 应用不当,导致返回预测器即使在 IBPB 之后仍然保留陈旧的预测。
攻击者在 IBPB 触发之前错误训练返回预测器,劫持它以在屏障之后泄漏特权内核内存。
研究人员于 2024 年 6 月向英特尔和 AMD 通报了这些问题。
英特尔回应称,他们已经在内部发现该问题,并为其分配了 CVE-2023-38575标识符。
该公司于 3 月份发布了可通过固件更新获得的微代码修复程序,但研究人员指出,该代码尚未覆盖所有操作系统,Ubuntu 就是其中之一。
AMD 也证实了该漏洞,并表示该漏洞已被记录并追踪为CVE-2022-23824。值得注意的是,AMD 的公告中将 Zen 3 产品列为受影响产品,而苏黎世联邦理工学院的论文中并未列出这些产品。
然而,AMD 将此问题归类为软件错误,而不是硬件漏洞。受影响的较旧架构以及 AMD 很早就知道此错误的事实可能解释了该公司决定不发布纠正微代码的原因。
尽管这两家 CPU 供应商知道 Spectre 绕过漏洞,但这些公司在公告中将其标记为具有潜在影响。通过他们的工作,苏黎世联邦理工学院的研究人员能够证明这种攻击甚至可以在 Linux 6.5 上进行,而 Linux 6.5 带有 IBPB-on-entry 防御,被认为是抵御 Spctre 漏洞利用的最强防御措施。
苏黎世联邦理工学院团队正在与 Linux 内核维护人员合作开发适用于 AMD 处理器的补丁,准备就绪后将在这里提供。
信息来源:BleepingComputer
原文始发于微信公众号(犀牛安全):Linux 上的 Intel、AMD CPU 受到最新披露的 Spectre 漏洞绕过的影响
评论