SplitSpectre:一种新型CPU攻击

SplitSpectre:一种新型CPU攻击

由三位来自Northeastern University的学者和三位来自IBM的研究人员组成安全团队发现了一个新的基于CPU的漏洞。这个被称为SplitSpectre的漏洞是Spectre CPU漏洞的变种,可通过基于浏览器的代码执行攻击。

根据研究团队发表的论文这个新漏洞也可以归因于现代处理器微体系结构中的设计缺陷,类似于去年发现的Spectre v1漏洞。SplitSpectre是Spectre v1漏洞的一个新变种,对攻击者来说更容易执行,并且依赖于相同的处理器设计缺陷。

Spectre漏洞可以允许用户操作系统上的其他程序访问其程序电脑存储器空间中任意位置。它不是单个易于修复的漏洞,而是一类潜在漏洞的总和。它们都利用了一种现代微处理器为降低内存延迟、加快执行速度的常用方法“预测执行”的副作用。具体而言,Spectre漏洞着重于分支预测,这是预测执行的一部分。与同时披露的相关漏洞“熔毁”不同,Spectre漏洞不依赖单个处理器上存储器管理及系统保护的特定功能,而是一个更为通用的漏洞。

据该研究团队称,这次攻击增加了推测执行窗口的长度,攻击者的攻击能力增强。在攻击“推测执行”过程中都可以利用Spectre和SplitSpectre漏洞,“推测执行”是现代处理器中用于提高性能的优化技术。两者之间的区别在于执行攻击的方式。

研究人员表示,这种改进的利用方案的后半部分可以在攻击者自己的恶意代码中运行,而不是目标的内核,从而简化了利用过程。下图显示了原始Spectre攻击是如何工作的,以及精简版SplitSpectre如何工作:

SplitSpectre:一种新型CPU攻击

SplitSpectre比Spectre的性能更强。尽管Spectre功能强大且不依赖SMT(同步多线程),但它需要一个小工具出现在受害者的攻击面上。

谷歌Project Zero的研究人员在一篇关于Spectre的博客文章中表示,他们无法在内核中发现这种漏洞攻击的代码模式,只能依靠eBPF(扩展的伯克利数据包过滤器)来自己放置一个。顾名思义,SplitSpectre将Spectre v1组件分成两部分。

据该研究团队称,这次攻击增加了推测执行窗口的长度,从而增加了攻击者的攻击能力。在其研究过程中,该团队成功攻击了三种不同的CPU架构——英特尔的Skylake、Broadwell和AMD的Ryzen。该团队使用了Firefox的Javascript引擎注入攻击代码SpiderMonkey 52.7.4。

幸运的是,现有的Spectre缓解方法也能阻止SplitSpectre攻击。如果用户安装了CPU供应商的CPU微代码更新,就不会受到SplitSpectre的影响,在过去的一年中,CPU供应商发布的CPU微代码更新,热门代码编译器的更新,都加强了类似Spectre攻击的防御措施。以及2018年1月后,浏览器供应商在新的浏览器版本中提供了防止幽灵攻击的解决方案。但是如果用户未安装这些更新,理论上就有遭受攻击的可能。

研究人员表示,“综合考虑所有因素,我们发现攻击是可行的,并且在现实中是否会触发攻击取决于各个CPU系列的已识别的微体系结构属性。”

除了发现漏洞之外,研究团队还开发了一种名为Speculator的新工具,可用于测量微架构特征,有助于观测推测执行。该工具还可以帮助其他研究人员进一步研究未来的推测执行攻击。该团队表示他们计划将此工具作为开源软件发布。

原创文章,作者:M4ble,如若转载,请注明出处:http://www.mottoin.com/tech/133211.html

发表评论

登录后才能评论

联系我们

021-62666911

在线咨询:点击这里给我发消息

邮件:root@mottoin.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code