上周,英特尔和 Arm 处理器受到Spectre V2 漏洞、分支历史注入或 BHI 的攻击。Spectre 漏洞利用起源于几年前,但这种新的缓解措施对两家芯片制造商产生了重大影响。
AMD 的芯片设计与他们的芯片大不相同,这使他们能够在本周避免受到伤害。然而,来自英特尔的三位安全研究人员最近撰写了一份白皮书,概述了 AMD 的芯片组存在代码泄露。
经过审查,AMD 现在发布了一份新的公告,指示其客户更细补丁提升安全。
AMD 推荐"通用retpoline"或间接分支限制性投机(IBRS)的缓解方法来抵御BHI漏洞
2017 年 12 月发现的最初 Spectre 和 Meltdown 缺陷概述了英特尔芯片设计的问题,这些问题由四个独立的研究团队发现,并在同一时间框架内向领先公司报告。英特尔的计划打开了一个缺陷,可以将概念验证代码引入计算机内核,从而打开本应无法访问的信息。英特尔芯片中的缺陷早在 1993 年就已经存在。
当找到最初的攻击结果时,Spectre 和 Meltdown 同时影响了 Intel、Arm 和 AMD 芯片。当最初的攻击得到缓解时,芯片巨头就采取了安全措施。尽管如此,人们发现它们可以快速解决需要数年才能修复的问题。
在过去的几周内,BHI 出现了,再次打开了 Spectre 漏洞利用。据报道,英特尔和 Arm 是最显着的漏洞影响。然而,AMD 代表表示,几年前的初步修复仍在他们的芯片组中运行,该公司可以避免攻击。
阿姆斯特丹自由大学的 VUSec 小组概述了 AMD 利用 Retpoline 策略缓解 Spectre V2 的策略。在他们的发现中,研究小组指出 AMD 的 LFENCE/JMP 创立的 Retpoline 代码被认为是不够的。AMD 表示,公司使用的方法在公司硬件上的性能优于公司认为“通用”的 Retpoline 代码,他们表示“导致间接分支上的 RET”。默认进程将间接分支更改为 LFENCE/JMP,从而允许 AMD 的芯片组抵御来自 Spectre V2 的任何攻击。
Phoronix的性能结果显示 CPU 性能下降了 54%,如下所示:
你可以在下面来源链接的原文中阅读完整的测试设置等内容:
https://www.phoronix.com/scan.php?page=article&item=amd-retpoline-2022
尽管英特尔使用了增强型间接分支限制推测 (eIBRS),但最近发现英特尔的处理器仍然容易受到基于 Spectre v2 的新分支历史注入变体的攻击,需要一种更新方法来修补这个问题,英特尔生态系统合作伙伴要求该公司考虑使用 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 式攻击。” 英特尔的战略进攻性研究和缓解小组 (STORM) 是一个黑客精英团队,他们试图破解英特尔自己的芯片,您可以在此处阅读更多信息。
(图片来源:AMD)
作为对 STORM 团队的发现和论文的回应,AMD 发布了一份安全公告 ( AMD-SB-1026 ),声明它不知道当前有任何使用论文中描述的方法的活动漏洞。AMD 还指示其客户改用“其他已发布的缓解措施之一(V2-1 aka 'generic retpoline' 或 V2-4 aka 'IBRS')。” 该公司还发布了反映这些变化的更新后的 Spectre 缓解指南 [ PDF ]
综合整理自AMD, VUSec, Cornell University