时刻

注意:2017之后几乎所有 AMD CPU 都受到Inception数据泄露攻击威胁

注意:2017之后几乎所有 AMD CPU 都受到Inception数据泄露攻击威胁

请及时更新内核补丁!

AMD 处理器用户,您还有另一个数据泄露漏洞需要处理:像 Zenbleed 一样,这个最新的漏洞可以从正在运行的易受攻击的机器中窃取敏感数据。

该漏洞 (CVE-2023-20569) 被称为“盗梦空间”,参考了克里斯托弗·诺兰 (Christopher Nolan) 的电影,讲述了操纵一个人的梦想以在现实世界中实现预期结果,本周由苏黎世联邦理工学院的学者披露。

是的,这是另一个基于推测执行的侧通道,恶意软件或恶意登录用户可以滥用该侧通道来获取密码、机密和其他应禁止访问的数据。

Inception 利用先前披露的漏洞以及一种新型瞬态执行攻击(研究人员将其称为瞬态执行训练 (TTE)),在易受攻击的硬件上以每秒 39 字节的速率从操作系统内核泄漏信息。在这种情况下,易受攻击的系统几乎涵盖了 AMD 自 2017 年以来的整个 CPU 系列,包括其最新的 Zen 4 Epyc 和 Ryzen 处理器。

尽管这一漏洞危险性可能很大,但 AMD 仍在淡化这一威胁,同时为较新的 Zen 芯片推出微代码更新,以降低风险。该公司在一份公开披露文件中表示,“AMD 认为该漏洞只能在本地利用,例如通过下载的恶意软件”,该公司将 Inception 的严重程度评为“中等”。

英特尔处理器并未被发现易受 Inception 攻击,但这并不意味着它们完全安全。 Chipzilla 正在努力应对本周披露的名为 Downfall 的独立侧通道攻击。

据我们了解,成功利用 Inception 是利用了这样一个事实:为了让现代 CPU 达到其性能,处理器内核必须走捷径。

现代CPU 核心不是严格按顺序执行指令,而是尝试预测需要哪些指令,并在可能的情况下不按顺序运行这些指令,这种技术称为推测执行。如果核心猜测不正确,它会丢弃或展开不应该执行的计算。这使得核心可以继续完成工作,而不必等待早期操作完成。推测性地执行这些指令也称为瞬时执行,当发生这种情况时,会打开一个瞬时窗口。

通常,这个过程会带来巨大的性能优势,而改进这个过程是 CPU 设计者一代又一代地获得每时钟指令增益的几种方法之一。然而,正如我们在之前的侧通道攻击(例如 Meltdown 和 Spectre)中所看到的那样,推测执行可能会被滥用,使核心开始泄露本不应泄露给同一机器上的观察者的信息。

《盗梦空间》是对这种攻击媒介的全新改造,涉及两个步骤。第一个利用了之前披露的名为“幻影执行”(CVE-2022-23825) 的漏洞,该漏洞允许非特权用户触发错误预测(基本上使核心错误地猜测执行路径)来按需创建瞬态执行窗口。

该窗口可作为 TTE 攻击的滩头阵地。 TTE 不会从初始窗口泄漏信息,而是注入新的错误预测,从而触发更多未来的瞬态窗口。研究人员解释说,这会导致攻击者控制的目标的返回堆栈缓冲区溢出。

他们写道:“这一洞察的结果是 Inception,这是一种从所有 AMD Zen CPU 上的非特权进程中泄露任意数据的攻击。”

在与披露一起发布的视频中,瑞士团队通过在启用了所有 Spectre 缓解措施的基于 Zen 4 的 Ryzen 7700X CPU 上泄露来自 /etc/shadow 的根帐户哈希来演示这种攻击。

Linux 内核补丁指出,“缓解措施的工作原理是确保所有 RET 指令推测到受控位置,类似于 retpoline 序列中推测的控制方式。”

正如我们所说,Zen 3 和 4 CPU(包括 Epyc 3 和 4 以及 Ryzen 5000 和 7000 处理器)将需要微代码更新,因为它们显然缺乏刷新整个分支预测器状态所需的硬件支持。 AMD 已经开始向系统制造商推出这些微代码修复程序,然后分发给客户以解决该漏洞。对于系统管理员来说,坏消息是这可能意味着应用微代码 BIOS 更新需要一些停机时间。

学者们警告说,根据具体情况,这些缓解措施可能会对性能产生相当大的影响。实际的影响很可能取决于您的工作量以及您是否认为值得,考虑到谁使用您的系统以及他们在系统上运行什么。

AMD 在给 The Register 的一份声明中表示,“任何性能影响都将根据工作负载和系统配置而有所不同,但 AMD 预计微代码补丁或 BIOS 更新对性能的影响很小。对于 Linux 性能……我们仍在评估减轻。”

因此,我们的建议是:如有必要,进行微代码升级,并安装打过补丁的 Linux 内核,看看效果如何。如果您不使用 Linux,请联系您的操作系统制造商,或者至少检查更新。

上个月,我们了解到 Zenbleed,它可以被流氓用户和恶意软件利用来窃取基于 AMD Zen 2 的旧系统上的密码、加密密钥和其他机密。虽然 Zenbleed 的范围较窄,但由于其易于部署,因此潜在的危险性更大。

说到 AMD,本周通过 Linux 内核补丁解决了另一个 Zen 1 处理器错误:这一次,“在某些情况下,整数除以 0 出错,可能会留下 Zen 1 微架构上先前除法运算的过时商数据。 ”

分享此文章