MIT研究出新机制,防止处理器受到网络攻击
2022-08-14 07:07:47
  • 0
  • 0
  • 0

来源:MIT

现代计算机处理器包含许多称为内核的计算单元,它们共享相同的硬件资源。片上互连是使这些内核能够相互通信的组件。但是,当多个内核上的程序同时运行时,当它们使用互连同时通过芯片发送数据时,它们有可能相互延迟。

通过监视和测量这些延迟,恶意代理可以执行所谓的“侧信道攻击”,并重建存储在程序中的秘密信息,例如加密密钥或密码。

麻省理工学院(MIT)的研究人员对片上互连进行了逆向工程,以研究这种攻击是如何实现的。根据他们的发现,建立了一个分析模型,用于分析流量如何在处理器上的核心之间流动,他们用它来设计和发起令人惊讶的有效的侧信道攻击。然后,他们开发了两种缓解策略,使用户能够在不对计算机芯片进行任何物理更改的情况下提高安全性。

“目前很多侧信道防御都是临时的——我们在这里看到了一点点泄漏,我们修补了它。我们希望我们采用这种分析模型的方法能够推动更系统,更强大的防御措施,同时消除整类攻击,“共同主要作者Miles Dai说。

Dai与共同主要作者Riccardo Paccagnella一起撰写了这篇论文,他是伊利诺伊大学厄巴纳 - 香槟分校的研究生;米格尔·戈麦斯-加西亚 '22;John McCalpin,德克萨斯先进计算中心的研究科学家;以及资深作者孟家妍,Homer A. Burnell电气工程和计算机科学(EECS)职业发展助理教授,计算机科学与人工智能实验室(CSAIL)的成员。该研究将在USENIX安全会议上发表。

探测处理器

现代处理器就像一个二维网格,多个内核以行和列的形式布局。每个内核都有自己的缓存来存储数据,并且还有一个更大的缓存在整个处理器之间共享。当位于一个内核上的程序需要访问另一个内核或共享缓存中的缓存中的数据时,它必须使用片上互连来发送此请求并检索数据。

虽然它是处理器的重要组成部分,但片上互连仍然没有得到充分的研究,因为它很难被攻击,Dai解释说。当来自两个核心的流量实际上相互干扰时,黑客需要发起攻击,但是由于流量在互连中花费的时间很少,因此很难恰到好处地确定攻击的时间。互连也很复杂,并且流量可以在核心之间采用多条路径。

为了研究流量如何在互连上流动,麻省理工学院的研究人员创建了程序,这些程序将有意访问位于其本地核心外部的内存缓存。

“通过测试不同的情况,尝试不同的位置,并交换这些程序在处理器上的位置,我们可以了解互连上流量背后的规则,”Dai说。

他们发现,这种互连就像一条高速公路,每个方向都有多条车道。当两个流量发生冲突时,互连使用优先级仲裁策略来决定哪个流量流首先进入。更“重要”的请求优先,例如来自对计算机操作至关重要的程序的请求。

利用这些信息,研究人员建立了一个处理器的分析模型,总结了流量如何在互连上流动。该模型显示了哪些内核最容易受到侧信道攻击。如果可以通过许多不同的通道访问核心,那么它就会更容易受到攻击。攻击者可以使用此信息来选择要监视的最佳核心,以从受害者程序中窃取信息。

“如果攻击者了解互连的工作原理,他们就可以设置自己,以便通过互连争用来观察一些敏感代码的执行。然后他们可以一点一点地提取一些秘密信息,比如加密密钥,“Paccagnella解释说。

有效攻击

当研究人员使用这种模型发起侧信道攻击时,他们对攻击的运作速度感到惊讶。他们能够从两个不同的受害者程序中恢复完整的加密密钥。

在研究了这些攻击之后,他们使用他们的分析模型设计了两种缓解机制。

在第一种策略中,系统管理员将使用该模型来确定哪些内核最容易受到攻击,然后将敏感软件安排在较不易受攻击的内核上运行。对于第二种缓解策略,管理员可以保留位于易受攻击程序周围的内核,并仅在这些内核上运行受信任的软件。

研究人员发现,这两种缓解策略都能够显着降低侧信道攻击的准确性。Dai说,两者都不需要用户对物理硬件进行任何更改,因此缓解措施相对容易实现。

最终,他们希望他们的工作能激发更多的研究人员研究片上互连的安全性,Paccagnella说。

“我们希望这项工作能够突出片上互连(计算机处理器中如此庞大的组件)仍然是一个被忽视的攻击面。在未来,当我们构建具有更强隔离特性的系统时,我们不应该忽视互连,“他补充道。

 
最新文章
相关阅读