串扰显示跨物理CPU核心泄漏信息的可能性

2020-06-10 07:04:56

我们依赖您的支持:您听说过Phoronix Premium吗?这是什么补充本网站上的广告,为我们的优质无广告服务。每月只需3美元,您就可以帮助支持我们的网站,同时产生的资金允许我们继续进行Linux硬件审查、性能基准测试、维护我们的社区论坛等等。你也可以考虑通过贝宝支付小费。今天早上,我注意到串扰/SRBDS是继英特尔发布月度安全建议之后最新的侧通道漏洞。事实证明,英特尔违反了他们自己对这一披露的禁令,在他们收回之前,我碰巧很快就发现了这一点。在那之后的几个小时里,这个串音漏洞背后的大学研究人员伸出援手,提供了一份被禁运的白皮书副本。到目前为止,正式披露时间已过,因此有关此新的侧通道英特尔CPU漏洞的信息是公开的,它首次表明投机性执行可使攻击者跨英特尔CPU上的物理内核泄漏敏感信息。

大学研究人员发现,这个最新的漏洞可以绕过诸如Spectre和Meltdown之类的现有内核内缓解,而不依赖于攻击者/受害者在同一个CPU内核上。因此,即使禁用了超线程并采取了先前的缓解措施,在获得新的CPU微码之前,英特尔CPU仍会受到串扰的影响。SRBDS在本质上类似于MDS(微体系结构数据采样),但有这一重要区别。荷兰阿姆斯特丹Vrije大学和瑞士苏黎世理工学院的研究人员做出了这一发现。

此新的临时执行漏洞称为特殊寄存器缓冲区数据采样(SRBDS)。此漏洞与执行对共享缓冲区的核外访问的指令有关。在易受SRBDS攻击的指令中有RDRAND和RDSEED,由于需要安全随机数生成这一特性通常非常敏感,因此RDRAND和RDSEED尤其有问题。大学研究人员确实有概念实现的证据表明,RDRAND/RDSEED的输出甚至可以从独立CPU上的Intel SGX Enclaves内部泄露。

研究人员发现的受影响的CPU范围从英特尔天空湖到至少咖啡湖。英特尔Cascade Lake似乎是第一代不容易受到跨核攻击的产品。

减轻串扰涉及在更新分级缓冲器之前锁定整个存储器总线,并在内容已被清除之后解锁。但由于这是一个巨大的性能损失,当前的英特尔CPU微码缓解仅在安全关键指令(如RDRAND/RDSEEED/EGETKEY)附近强加了这种行为,而发出核外请求的其他指令可能最终仍会跨CPU内核泄漏。虽然有概念代码的证据,但英特尔认为SRBDS在现实世界中很难利用。

2018年9月对此分阶段缓冲区内容泄漏进行了初步概念验证实施,并于2019年7月进一步证明了RDRAND/RDSEED泄漏。直到现在,英特尔才将这一披露公之于众,同时通过漏洞赏金计划奖励研究人员。据研究人员称,这段很长的公开期据说是由于实施跨核心漏洞修复的困难造成的。

由于禁运已经解除,这篇论文和更多细节将发布在相声漏洞网站上。我已经在内部对缓解后的微码运行基准测试,并将启动这些基准测试,但考虑到英特尔仅针对选定指令进行缓解的范围较为有限,因此除RdRand性能等方面外,总体影响可能很小。请稍后关注Phoronix上的基准测试。

最新消息:英特尔今天发布了适用于从哈斯韦尔到咖啡湖的Linux操作系统的最新CPU微码。