现代英特尔处理器,包括 Raptor Lake 和 Alder Lake 代 CPU(即第 12 代和第 13 代英特尔“酷睿”处理器),很容易受到名为“Indirector”的新型高精度分支目标注入 (BTI) 攻击。
Indirector 由加州大学圣地亚哥分校的研究人员 Luyi Li、Hosein Yavarzadeh 和 Dean Tullsen 发现。
它利用Intel CPU 的两个关键组件间接分支预测器 (IBP) 和分支目标缓冲区 (BTB)中的漏洞来操纵推测执行和窃取敏感信息。
这种攻击绕过了现有的防御措施,构成了重大的安全威胁。
完整详细信息将于 2024 年 8 月即将举行的 USENIX 安全研讨会上公布。
BTI
分支目标注入 (BTI) 攻击利用现代 CPU 的特性,根据分支预测的工作原理来重定向程序的控制流。
分支预测对于提高CPU性能很有用,是后者用来预测程序执行流程的方向,从而提高效率的技术。
当CPU遇到分支指令(例如IF条件)时,它必须在知道指令结果之前决定走哪条路径。
为了避免闲置,CPU 会预测结果并沿着预测路径继续推测执行。
SPECTRE漏洞中的 BTI 示例
分支预测的组成部分:
1. 分支目标缓冲区(BTB):用于预测有向分支(即具有固定目的地的分支指令)的目标地址。
2. 返回堆栈缓冲区(RSB):用于处理函数调用及其返回。
3. 间接分支预测器(IBP):设计用于预测间接分支的目标地址,即那些目标地址事先未知且必须在执行期间计算的跳转。
违规详情
BTI 攻击利用这些分支预测技术来执行推测代码,这是 CPU 尝试预测程序的后续步骤的一种执行形式。
Spectre 和 Meltdown 等攻击已经证明,这些推测性执行可以被操纵来访问敏感数据。
BTI 攻击通过利用分支预测和推测执行之间的相互作用,暴露了现代 CPU 设计中的基本漏洞。
即使采用了间接分支预测屏障 (IBPB)等防御措施和其他缓解措施,仍然存在可用于损害处理器安全性的攻击媒介。
Spectre(CVE-2017-5753 和 CVE-2017-5715)和 Meltdown(CVE-2017-5754)等攻击表明,有可能欺骗 CPU 执行导致敏感信息未经授权泄露的操作。
执行强调需要不断改进缓解技术和 CPU 硬件设计。
间接和新的攻击向量
这种名为 Indirector 的新攻击利用特定的 IBP 漏洞来绕过现有防御,进行精确的、有针对性的攻击。
使用的主要机制包括:
iBranch Locator:一种使用技术来识别间接分支索引和标签的工具,使您可以精确定位相关的 IBP 条目。
IBP/BTB 注入:操纵预测结构来执行推测代码。
绕过 ASLR:绕过地址空间布局随机化 (ASLR) 的技术,使访问和操纵受保护进程的控制流变得更容易。
Indirector 攻击凸显了现代 Intel CPU(包括 Raptor Lake 和 Alder Lake)如何容易受到这些 BTI 技术的攻击。
这种攻击可被利用来泄露处理器的敏感信息。
研究表明,尽管自 Spectre 和 Meltdown 以来实施了防御措施,但仍然存在可被利用来危害 CPU 安全的漏洞。
缓解措施
为了减轻这些攻击,您可以使用间接分支预测器屏障(IBPB)等屏障。
并通过更复杂的标签、加密和随机化来加强分支预测单元 (BPU) 设计。
IBPB 是一种安全措施,可在上下文切换(例如从一个用户切换到另一个用户)期间使间接分支预测无效。
在 Linux 上,IBPB 在转换到 SECCOMP 模式(一种沙箱机制)期间或在内核中具有有限间接分支的任务期间自动启用。
然而,频繁使用 IBPB 可能会导致性能下降高达 50%,从而难以在需要高性能的环境(例如浏览器或沙箱)中积极部署。
为了进一步减轻攻击,需要改进BPU的设计。
英特尔已经在其间接分支预测器 (IBP) 的设计中引入了 Core-ID 和特权级别等字段,以防止在不同内核或不同特权级别运行的间接分支之间出现混叠。
然而,研究人员建议将更复杂的标签、加密和随机化集成到未来的 BPU 设计中,以在不同安全域之间提供更精细的隔离,从而减少攻击面。
像 Indirector 这样的 BTI 攻击表明针对现代 CPU 的攻击技术在不断发展。
尽管实施了安全措施,但现代 CPU 的复杂性和精密性仍然提供了攻击向量,需要在硬件和软件防御方面进行进一步研究和改进。
如果不适当修补和研究,旁道漏洞可能会成为持续的威胁,从而为大量易受攻击者攻击的目标留下空间。
原文始发于微信公众号(网络研究观):英特尔CPU易受攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论