研究表明新的网络攻击可以绕过针对Intel和ARM CPU中Spectre漏洞的硬件防御

作者阿里云代理 文章分类 分类:新闻快递 阅读次数 已被围观 762

 

编辑搜图

在过去几年,英特尔和ARM为修复名为Spectre严重缺陷而推出基于硬件的缓解措施,并没有人们想象中那么强大。研究人员为此设计出一种新的攻击方法,可以击败这种防御系统,只是并不像原来那么容易。

由网络安全机构VU Amsterdam(VUSec)研究人员发现的新攻击称为Spectre-BHI(分支历史注入),英特尔公司和ARM公司为其指定了不同的名称。研究团队声称,它是2017年Spectre v2攻击的一种扩展,其名称为Spectre-BTI(分支目标注入),与Spectrev v2类似,可能导致敏感信息从特权内核内存空间泄漏。

VUSec研究人员创建的概念验证漏洞利用非特权帐户从/etc/shadow文件中泄露了root密码的哈希值。/etc/shadow文件是Linux上的系统文件,只有root管理帐户才能访问。从本质上来说,该漏洞迫使内核将文件加载到内存中,通常会在内存中保护它免受非特权进程的访问,但随后利用Spectre-BHI攻击来访问和泄漏其内容。这是对现代操作系统基本安全边界的一种重大安全突破,而现代操作系统将用户模式应用程序和内存空间与特权内核内存空间分离。

什么是幽灵(Spectre)?

Spectre是一种安全漏洞,最初于2017年1月披露,它源于现代CPU的性能相关特性,称为推测执行,CPU试图提前预测程序在到达条件分支时将采用哪条路径执行,并提前在该路径上执行指令。如果基于内部算法的预测结果很糟糕,则存储在临时CPU缓存中的结果将被丢弃。Spectre之类的推测性执行攻击以及随后的许多其他攻击都会欺骗这种机制,从充当侧通道的临时缓存中泄漏信息。

VUSec研究人员解释说:“在发现Spectre的时候,可以轻松地利用分支目标注入(BTI或Spectre-v2),这是跨越特权级别的最危险的Spectre变体。例如,非特权用户态攻击者可以将任何分支目标从用户态提供给间接分支预测器,并欺骗内核推测性地跳转到注入的目标代码位置,并执行在那里找到的代码。”

为了降低风险,谷歌公司等软件供应商和Linux内核开发人员提出了基于软件的解决方案,例如retpoline。虽然这些措施很有效,但它们对性能造成了重大影响,因此CPU供应商后来开发了基于硬件的防御措施,英特尔公司的名称为EIBRS,ARM公司的名称为CSV2。

VUSec研究人员解释说:“这些解决方案很复杂,但它们的要点是,预测器‘以某种方式’跟踪执行目标的特权级别(用户/内核)。而且正如人们所料,如果目标属于较低的特权级别,内核执行将不会使用它(即不再有网络攻击者提供的任意代码位置来推测性地劫持内核控制流)。”

然而,问题在于CPU的预测器依赖于全局历史来选择目标条目以推测性地执行,正如VUSec研究人员所证明的那样,这个全局历史可能会被破坏。换句话说,虽然最初的Spectre v2允许网络攻击者实际注入目标代码位置,然后欺骗内核执行该代码,但新的Spectre-BHI/ Spectre-BHB攻击只能迫使内核错误预测,并执行历史上已经存在且过去执行过的有趣代码小工具或片段,但这可能会泄露数据。

研究人员说:“英特尔eIBRS和Arm CS V2是否损坏?也就是说,缓解措施按预期工作,但残留的攻击面比供应商最初假设的要重要得多。然而,找到可利用的小工具比以前更难,因为网络攻击者不能直接跨权限注入预测器目标。”

缓解新的Spectre-BHI漏洞

英特尔公司将新的Spectre-BHI漏洞跟踪为CVE-2022-0001,用于跨权限变体,CVE-2022-0002用于相同权限变体。对于这两种变体,ARM将其跟踪为CVE-2022-23960。

英特尔公司声称,该公司的大多数CPU都受到了影响,除了Atom系列中的CPU。对于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、NeoverseN1、NeoverseN2和NeoverseV1。

这两家公司都表示将提供软件缓解措施。ARM公司有五种不同的缓解措施,具体取决于系统。

对于他们的Linux漏洞利用,VUSec研究人员滥用了eBPF,这是一种自内核4.4以来可用的技术,可以在操作系统内核中运行沙盒程序。研究人员表示,虽然eBPF不是潜在问题的一部分,并且可以发现其他代码小工具泄漏数据,但非特权eBPF的存在确实极大地促进了推测执行(和其他)攻击。这就是这两家公司建议禁用它的原因,并且一些Linux发行版已经开始默认禁用它。


本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>

我有话说: