现代处理器就像一个二维网格,多个内核以行和列的形式布局。每个内核都有自己的缓存来存储数据,并且还有一个更大的缓存在整个处理器之间共享。当位于一个内核上的程序需要访问另一个内核或共享缓存中的缓存中的数据时,它必须使用片上互连来发送此请求并检索数据。
虽然它是处理器的重要组成部分,但片上互连仍然没有得到充分的研究,因为它很难被攻击,Dai解释说。当来自两个核心的流量实际上相互干扰时,黑客需要发起攻击,但是由于流量在互连中花费的时间很少,因此很难恰到好处地确定攻击的时间。互连也很复杂,并且流量可以在核心之间采用多条路径。
为了研究流量如何在互连上流动,麻省理工学院的研究人员创建了程序,这些程序将有意访问位于其本地核心外部的内存缓存。
“通过测试不同的情况,尝试不同的位置,并交换这些程序在处理器上的位置,我们可以了解互连上流量背后的规则,”Dai说。
他们发现,这种互连就像一条高速公路,每个方向都有多条车道。当两个流量发生冲突时,互连使用优先级仲裁策略来决定哪个流量流首先进入。更“重要”的请求优先,例如来自对计算机操作至关重要的程序的请求。
利用这些信息,研究人员建立了一个处理器的分析模型,总结了流量如何在互连上流动。该模型显示了哪些内核最容易受到侧信道攻击。如果可以通过许多不同的通道访问核心,那么它就会更容易受到攻击。攻击者可以使用此信息来选择要监视的最佳核心,以从受害者程序中窃取信息。
“如果攻击者了解互连的工作原理,他们就可以设置自己,以便通过互连争用来观察一些敏感代码的执行。然后他们可以一点一点地提取一些秘密信息,比如加密密钥,“Paccagnella解释说。
当研究人员使用这种模型发起侧信道攻击时,他们对攻击的运作速度感到惊讶。他们能够从两个不同的受害者程序中恢复完整的加密密钥。
在研究了这些攻击之后,他们使用他们的分析模型设计了两种缓解机制。
在第一种策略中,系统管理员将使用该模型来确定哪些内核最容易受到攻击,然后将敏感软件安排在较不易受攻击的内核上运行。对于第二种缓解策略,管理员可以保留位于易受攻击程序周围的内核,并仅在这些内核上运行受信任的软件。
研究人员发现,这两种缓解策略都能够显著降低侧信道攻击的准确性。Dai说,两者都不需要用户对物理硬件进行任何更改,因此缓解措施相对容易实现。
最终,他们希望他们的工作能激发更多的研究人员研究片上互连的安全性,Paccagnella说。
“我们希望这项工作能够突出片上互连(计算机处理器中如此庞大的组件)仍然是一个被忽视的攻击面。在未来,当我们构建具有更强隔离特性的系统时,我们不应该忽视互连,“他补充道。
*声明:本文系原作者创作。文章内容系其个人观点,我方转载仅为分享与讨论,不代表我方赞成或认同,如有异议,请联系后台。
编译来源:MIT
本文来源:半导体产业纵横

