CPU发现高危安全漏洞 修复要损失多达39%性能

By Jeffrey - 资深IT经理人和IT顾问,历任多家知名跨国企业包括麦肯锡、通用电气公司、壳牌石油、英美烟草等公司IT总经理

  

Phoronix最新发布的Retbleed报告,测试了影响当今硬件的两个新投机执行攻击漏洞。

https://www.phoronix.com/scan.php?page=article&item=retbleed-benchmark&num=1

 

Retbleed 会利用返回指令、并能够破坏针对“幽灵”(Spectre)分支目标注入(BTI)的现有防御措施。仅仅在数年前,人们还不相信会受到 BTI 攻击。但这种自我麻醉的美好愿望,最终还是被现实给击碎了。

 

Retbleed(CVE-2022-29900 和 CVE-2022-29901)是利用分支目标注入来泄漏信息的推测执行攻击系列的最新成员,称之为 Spectre-BTI。与通过利用间接跳转或调用触发有害分支目标推测不同,Retbleed 利用返回指令(Return Instructions)。这意味着出现高危漏洞,因为它直接破坏了现有的Spectre-BTI防御。

 

许多当今的操作系统使用的一种在2018年出现的防御,称为 retpoline。 Retpolines 通过将间接跳转和调用替换指令为返回指令来工作,以防止未经授权的攻击者使用 Spectre-BTI 从系统内存中窃取信息。虽然有些人担心返回指令也可能受到 Spectre-BTI 攻击,但这个担心曾被认为不切实际,从而被忽略了。主要原因是在正常微架构条件下,返回指令预测不会被预测为间接分支。

 

Retbleed 不仅能够绕过“retpolines”防御,还证明了返回指令可被实际利用。

 

Intel和AMD的CPU双双受到影响。已经验证 Retbleed 可在 AMD Zen 1、Zen 1+、Zen 2 和 Intel Core 第 6、7 和 8 代上运行。英特尔和AMD提供了受影响 CPU 的更全面列表:

Intel:Return Stack Buffer Underflow / CVE-2022-29901, CVE-2022-28693 /...

AMD:https://www.amd.com/en/corporate/product-security/bulletin/amd-sb-1037

 

缓解措施

内核和管理程序开发人员已与英特尔和 AMD 合作开发了缓解措施。但在 Linux 内核中缓解 Retbleed 需要付出巨大的努力,涉及更改 68 个文件、1783 个新行和 387 个删除行。不幸的是,性能评估表明,缓解 Retbleed 的成本很高:AMD 和 Intel 补丁的开销分别在 14% 和 39% 之间。通过在内核转换上对分支预测器单元进行通用刷新来缓解 Phantom JMP 会导致高达 209% 的性能开销。

 

这里有 Retbleed 在 Intel 和 AMD CPU 上泄漏内核内存的演示。

Retbleed带有返回指令的任意推测代码执行_哔哩哔哩_bilibili

 

如果你的电脑采用 AMD CPU 系列 0x15–0x17 或 Intel Core 6–8 代,它可能会受到影响。由于根本问题是在硬件层面,微软和苹果电脑的硬件受到影响也有这个问题。

 

作为替代,AMD 引入了所谓的Jmp2Ret,而英特尔建议使用增强的间接分支限制推测 ( eIBRS ) 来解决潜在的漏洞,即使 Retpoline 缓解措施到位。“Windows 操作系统默认使用 IBRS,因此不需要更新,”英特尔在公告中表示,并指出它与 Linux 社区合作,为该缺陷提供可用的软件更新。但是,及时安装最新的操作系统补丁是十分必要的!

posted @ 2022-07-26 17:16  jeffreyzhong  阅读(169)  评论(0)    收藏  举报