新的攻击绕过了针对 Intel 和 ARM 处理器中 Spectre 漏洞的硬件防御机制

新的攻击绕过了针对 Intel 和 ARM 处理器中 Spectre 漏洞的硬件防御机制
虽然不容易被利用,但这个概念证明表明,一些 Intel 和 ARM 处理器仍然容易受到侧信道攻击。
幽灵洞
过去几年在英特尔和 ARM 处理器上为消除名为 Spectre 的重大缺陷而采取的硬件对策并不像想象的那么强大。科学家们开发了一种新的攻击方法,可以克服防御机制,但它的使用并不像原来的虫洞那么容易。
由阿姆斯特丹自由大学 (VUSec) 系统和网络安全小组的研究人员发现的新攻击被称为 Spectre-BHI(分支历史注入)或 Spectre-BHB(分支历史存储),因为英特尔和 ARM 给它起了不同的名称。据研究团队介绍,这是 2017 Spectre v2 攻击的扩展,也称为 Spectre-BTI(分支目标注入),与 Spectre v2 一样,它可以从特权内核内存空间泄漏敏感信息。
还要检查:
VUSec 研究人员的一个概念验证漏洞利用是使用非特权帐户从 /etc/shadow 泄露 root 密码哈希。/etc/shadow 文件是 Linux 上的系统文件,只能由管理 root 帐户访问。从本质上讲,该漏洞利用强制内核将文件加载到内存中,通常会保护它免受非特权进程的访问,然后使用 Spectre-BHI 攻击来访问和泄漏其内容。这严重违反了现代操作系统中将用户模式应用程序和内存空间与特权内核内存空间分开的基本安全边界。
什么是幽灵?
Spectre 是一类漏洞,最初于 2017 年 1 月被发现,源于一种称为推测执行的现代 CPU 性能特性,其中 CPU 试图提前预测程序在访问条件分支并执行指令时将采用的路径这个Track早。如果基于内部算法的预测结果是错误的,则存储在处理器缓存中的结果将被丢弃。Spectre 等推测执行攻击以及随后的许多其他攻击都使用这种机制从充当侧通道的临时缓存中泄漏信息。
“在 Spectre 被发现时,最危险的 Spectre 类型分支目标注入(BTI 或 Spectre-v2)在所有权限级别都易于使用,”VUSec 研究人员解释说。“例如,非特权用户态攻击者可以将任何子目标传递给中间用户态分支预测器,并强制内核推测性地跳转到注入的代码目标并执行那里的任何代码。”
为了降低风险,Google 和 Linux 内核制造商等软件供应商已经开发了 retpoline 等软件解决方案。虽然有效,但导致性能大幅下降,因此后来的处理器制造商开发了硬件安全性。英特尔的解决方案称为 EIBRS,而 ARM 是 CSV2。
VUSec 研究人员解释说:“这些解决方案很复杂 – 原始研究文章可在此链接中找到 – 但其要点是预测器‘以某种方式’跟踪目标执行的权限级别(用户/内核)。” “正如你所料,如果目标属于较低的特权级别,那么内核将不会使用它(即,将不再有攻击者提供的随机代码位置可以推测性地用于内核的控制流)。 “
然而,问题在于 CPU 预测器依赖于全局历史来选择用于推测执行的目标条目,并且正如 VUSec 研究人员所证明的那样,这个全局历史可能会被破坏。换句话说,虽然最初的 Spectre v2 允许攻击者物理注入目标代码的位置,然后由内核秘密执行该代码,但新的 Spectre-BHI/BHB 攻击可能会迫使内核错误预测并执行一些有趣的事情。已经存在的小工具或代码片段。它在历史上,是在过去制造的,但它可能导致数据泄露。
“英特尔 eIBRS 和 Arm CSV2 是否已损坏?好像。这意味着安全措施正在按预期工作,但剩余的攻击面比制造商最初假设的更为重要。[…] 然而,寻找可以使用的工具正在成为越来越重要。”比以前更困难,因为攻击者无法直接跨权限限制注入目标目标。
减轻新的 Spectre-BHI 错误
英特尔将新的 Spectre-BHI 识别为多特权变体的 CVE-2022-0001 和多特权变体的 CVE-2022-0002。对于这两种变体,ARM 将其描述为 CVE-2022-23960。
据英特尔称,该公司的大多数处理器都受到影响,但 Atom 系列处理器除外。对于 ARM,较弱的 CPU 是 Cortex-A15、Cortex-A57、Cortex-A72、Cortex-A73、Cortex-A75、Cortex-A76、Cortex-A76AE、Cortex-A77、Cortex-A78、Cortex-A78AE、Cortex-A78C Cortex-X1、Cortex-X2、Cortex-A710、Neoverse N1、Neoverse N2、Neoverse V1。
两家公司都提出了建议,并正在提供软件对策。ARM 有五种不同的缓解解决方案,具体取决于系统。
在他们的 Linux 漏洞利用中,VUSec 研究人员使用了 eBPF,这是一种自 4.4 版内核开始可用的技术,允许程序在操作系统内核中被沙盒化。研究人员说,虽然 eBPF 不是潜在问题的一部分,并且可以找到其他可能泄漏数据的代码工具,但非特权 eBPF 的存在“极大地促进了投机性(和其他)攻击”。出于这个原因,他们建议禁用它,并且一些 Linux 发行版已经开始默认禁用它。
资料来源:公民社会组织
还看
.