BHI:影响 Intel 和 ARM 的新 Spectre 类漏洞

阿姆斯特丹自由大学的研究人员 揭晓 最近发现了一个 新漏洞是 Spectre-v2 漏洞的扩展版本 在 Intel 和 ARM 处理器上。

这个新的漏洞, 受洗为 BHI (分支历史注入,CVE-2022-0001), BHB (分支历史缓冲区,CVE-2022-0002) 和 Spectre-BHB (CVE-2022-23960),其特点是允许规避添加到处理器的 eIBRS 和 CSV2 保护机制。

该漏洞在同一问题的不同表现形式中被描述,因为 BHI 是一种影响不同权限级别的攻击,例如,用户进程和内核,而 BHB 是相同权限级别的攻击,例如,eBPF JIT 和内核。

关于漏洞

从概念上讲 BHI 是 Spectre-v2 攻击的扩展变体,其中绕过额外保护(Intel eIBRS 和 Arm CSV2)并协调数据泄漏,将缓冲区中的值替换为全局分支历史记录(Branch History Buffer),在 CPU 中用于提高分支预测准确性通过考虑过去过渡的历史。

在攻击过程中 通过对过渡历史的操纵, 为错误预测转换和投机执行创造条件 必要的指令,其结果存放在缓存中。

除了使用版本历史缓冲区而不是版本目标缓冲区之外,新攻击与 Spectre-v2 相同。 攻击者的任务是创造这样的条件,地址, 执行推测操作时,取自正在确定的数据区域。

执行推测性间接跳转后,从内存中读取的跳转地址仍保留在缓存中,之后可以根据缓存访问时间的变化和未缓存的情况,使用确定缓存内容的方法之一来检索它数据。

研究人员已经展示了一种允许用户空间从内核内存中提取任意数据的功能漏洞。

例如,它显示了如何使用准备好的漏洞利用从内核缓冲区中提取一个字符串,该字符串带有从 /etc/shadow 文件加载的 root 用户密码的哈希值。

该漏洞利用演示了使用用户加载的 eBPF 程序在单个权限级别(内核到内核攻击)内利用该漏洞的能力。 也不排除在内核代码中使用现有 Spectre 小工具的可能性,这些脚本会导致指令的推测执行。

脆弱性 出现在大多数当前的英特尔处理器上, 除了 Atom 系列处理器和一些 ARM 处理器。

根据研究,该漏洞不会出现在 AMD 处理器上。 为了解决这个问题,已经提出了几种方法。 软件来阻止漏洞,可以在未来的CPU型号中出现硬件保护之前使用。

为了阻止通过 eBPF 子系统的攻击,s建议默认禁用加载 eBPF 程序的功能 由非特权用户通过将 1 写入文件“/proc/sys/kernel/unprivileged_bpf_disabled”或运行命令“sysctl -w kernel .unprivileged_bpf_disabled=1”。

要阻止通过小工具进行的攻击, 建议使用 LFENCE 指令 在可能导致推测性执行的代码部分中。 值得注意的是,大多数 Linux 发行版的默认配置已经包含了足以阻止研究人员演示的 eBPF 攻击的必要保护措施。

英特尔关于禁用对 eBPF 的非特权访问的建议默认情况下也适用于从 Linux 内核 5.16 开始,并将移植到更早的分支。

最后,如果您有兴趣能够了解更多,可以在 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。