BHI 是 Intel 和 ARM 处理器中的一个新的 Spectre 类漏洞

阿姆斯特丹自由大学的一组研究人员在英特尔和 ARM 处理器的微架构结构中发现了一个新漏洞,该漏洞是 Spectre-v2 漏洞的扩展版本,可允许绕过处理器中添加的 eIBRS 和 CSV2 保护机制。 该漏洞有多个名称:BHI(分支历史记录注入,CVE-2022-0001)、BHB(分支历史记录缓冲区,CVE-2022-0002)和 Spectre-BHB(CVE-2022-23960),它们描述了同样的问题(BHI - 影响不同权限级别的攻击,例如用户进程和内核,BHB - 影响相同权限级别的攻击,例如 eBPF JIT 和内核)。

研究人员展示了一种有效的漏洞利用方法,可以从用户空间的内核内存中提取任意数据。 例如,它展示了如何使用准备好的漏洞利用程序从内核缓冲区中提取一个字符串,其中包含从 /etc/shadow 文件加载的 root 用户密码的哈希值。 该漏洞利用演示了使用用户加载的 eBPF 程序利用一个特权级别内的漏洞(内核到内核攻击)的可能性。 还可以使用内核代码中现有的 Spectre 小工具(导致指令推测执行的命令序列)来代替 eBPF。

播放视频

该漏洞出现在当前大多数 Intel 处理器中(Atom 系列处理器除外)。 在 ARM 处理器中,Cortex-A15、Cortex-A57、Cortex-A7*、Cortex-X1、Cortex-X2、Cortex-A710、Neoverse N1、Neoverse N2、Neoverse V1 以及可能的一些 Cortex-R 芯片都受到该问题的影响。 据研究,该漏洞并未出现在AMD处理器中。 为了消除这个问题,已经提出了几种软件方法来阻止该漏洞,这些方法可以在未来的CPU型号中出现硬件保护之前使用。

为了阻止通过 eBPF 子系统发起的攻击,建议默认禁用非特权用户加载 eBPF 程序的功能,方法是将文件“/proc/sys/kernel/unprivileged_bpf_disabled”的值设置为 1,或者运行命令“sysctl -w kernel.unprivileged_bpf_disabled=1”。为了阻止通过 gadget 发起的攻击,建议在可能导致推测执行的代码段中使用 LFENCE 指令。值得注意的是,大多数发行版的默认配置…… Linux 必要的安全措施已经到位,足以阻止研究人员演示的 eBPF 攻击。英特尔建议禁用对 eBPF 的非特权访问,这一建议也已在内核中默认应用。 Linux 5.16 版本,并将向后移植到更早的分支。

从概念上讲,BHI 是 Spectre-v2 攻击的扩展版本,其中,为了绕过附加保护(Intel eIBRS 和 Arm CSV2)并组织数据泄漏,在分支历史缓冲区中使用值替换,在 CPU 中使用以增加预测通过考虑过去转换的历史来准确分支。 在攻击期间,通过对转换历史记录的操作,为转换的错误预测和必要指令的推测执行创建条件,其结果最终出现在缓存中。

除了使用分支历史缓冲区而不是分支目标缓冲区之外,新攻击与 Spectre-v2 相同。 攻击者的任务是创造条件,使得在执行推测操作时从定义的数据区域中获取地址。 执行推测间接跳转后,从内存读取的跳转地址保留在缓存中,之后可以使用确定缓存内容的方法之一基于对缓存和未缓存的访问时间变化的分析来检索它数据。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster