本周出现了仅影响英特尔和 Arm 处理器的新 Spectre BHB 漏洞的消息,但英特尔围绕这些新攻击向量的研究发现了另一个问题:自 2018 年以来,AMD 用于修复 Spectre 漏洞的补丁之一已被破坏。英特尔的安全团队STORM发现 AMD 的缓解措施存在问题。作为回应,AMD 发布了安全公告并更新了指南,建议使用替代方法来缓解 Spectre 漏洞,从而重新修复问题。
提醒一下,Spectre 漏洞允许攻击者不受阻碍且无法检测地访问信息通过可以远程利用的侧信道攻击在 CPU 中进行处理。除其他外,攻击者可以窃取密码和加密密钥,从而使他们能够完全访问受影响的系统。英特尔对 AMD 的 Spectre 修复程序的研究是以迂回的方式开始的——尽管英特尔使用了增强型间接分支限制推测 (eIBRS),但
最近发现英特尔的处理器仍然容易受到基于 Spectre v2 的新分支历史注入变体的攻击和/或被认为可以防止进一步攻击的 Retpoline 缓解措施。
需要一种更新的 Spectre 缓解方法来修补这个广泛存在的问题,英特尔转向研究替代缓解技术。还有其他几种选择,但都需要不同程度的性能权衡。英特尔表示,其生态系统合作伙伴要求该公司考虑使用 AMD 的 LFENCE/JMP 技术。“LFENCE/JMP”缓解是一种 Retpoline替代方案,通常称为“AMD 的 Retpoline”。
由于英特尔的调查,该公司发现 AMD 自 2018 年以来用于修补 Spectre 漏洞的缓解措施还不够——这些芯片仍然容易受到攻击。这个问题几乎影响了几乎所有现代 AMD 处理器,几乎涵盖了台式机和笔记本电脑(第二代到当前一代)的整个 Ryzen 系列以及 EPYC(霄龙)系列数据中心芯片。
论文摘要,标题为“你不能总是赢得比赛:分析分支目标注入的 LFENCE/JMP 缓解,”列出了来自英特尔 STORM 安全团队的三位英特尔作者:Alyssa Milburn、Ke Sun 和 Henrique Kawakami。摘要总结了研究人员发现的错误非常简洁:
“LFENCE/JMP 是针对分支目标注入 (BTI) 和源自间接分支预测的类似瞬时执行攻击的现有软件缓解选项,这种攻击通常用于 AMD 处理器。但是,这种缓解的有效性可能会受到固有竞争的影响预测目标的推测执行和预期目标的架构分辨率之间的条件,因为这可以创建一个窗口,其中代码仍然可以暂时执行。这项工作调查了可能导致这种推测窗口的潜在延迟来源。我们表明攻击者可以“赢得比赛”,因此尽管存在 LFENCE/JMP 缓解措施,但这个窗口仍然足以允许在各种不同的 x86 CPU 上利用 BTI 式攻击。”