梦可以影响我们的情绪和行动。我们每个人都经历过这一点然而,在别人做梦时将一个想法灌输到他们的头脑中,以便让他们醒来后做一些具体的事情,这是科幻小说中的内容,就像 2010 年的电影《盗梦空间》。
虽然分享梦想和种植这样的想法在现实中是不可能的,但最近在计算机世界中已经实现了非常类似的事情。苏黎世联邦理工学院信息技术与工程系教授 Kaveh Razavi 领导的研究小组展示了某些 CPU(中央处理单元)的严重漏洞,攻击者可以在受害者的CPU中植入相当于想法的内容,诱导它执行某些命令,从而检索敏感信息。
Razavi 和他的同事在本周的 USENIX Security 2023会议上展示了他们的研究成果。
所有这些攻击的症结相当简单,即计算机的CPU必须始终进行猜测,而这些猜测可能会被篡改。
在现代计算机中,需要进行猜测,因为在执行程序(例如游戏或网络浏览器)期间,CPU 必须每秒做出数亿个决策。在执行过程中的某些时刻,以下命令可能取决于基于必须从计算机内存中检索的某些信息而做出的选择。近年来,CPU 的速度变得令人难以置信,但数据从内存 (DRAM) 传输到 CPU 的速度却无法跟上这种加速。因此,CPU 必须花费大量时间等待新数据才能做出决定。
这就是猜测的用武之地:根据过去的经验,CPU 创建一种查找表并使用它来猜测最可能的下一步,然后执行它。
ETH 研究人员使用的硬件带有容易受到 Inception 攻击的计算机芯片。(图片来源:Kaveh Razavi / 苏黎世联邦理工学院)
大多数情况下,CPU是对的,可以节省大量宝贵的计算时间。然而,有时它会做出错误的猜测,攻击者可能会利用这种错误预测来访问敏感信息。
Razavi 表示:“2018 年发现的 Spectre 攻击就是基于此类错误预测,但最初制造商似乎已经找到了减轻攻击的方法。” 事实上,芯片制造商已经提供了一些功能,可以在安全上下文之间切换时(即访问计算机的敏感内核时)部分删除查找表,或者添加一些信息来告诉 CPU 是否进行了预测查找表是在内核中创建的,因此可以信任。
尽管如此,拉扎维和他的员工尽管采取了新的安全措施,仍试图发起攻击。经过长时间的搜索,他们终于发现了一些奇怪的东西:“似乎我们可以让 AMD 制造的 CPU 认为它们以前见过某些指令,而事实上这从未发生过,”Trujillo 说。就像电影《盗梦空间》中一样,研究人员可以在 CPU 做梦时以某种方式将一个想法植入其中。
因此,分配表(CPU 不断根据之前的指令进行编译)可能会再次被操纵。由于 CPU 确信表中的条目来自之前看到的指令,因此可以绕过旨在确保 CPU 只考虑可靠预测的安全措施。通过这种方式,ETH 研究人员能够访问计算机内存中任何位置的数据 - 包括敏感信息,例如 root 密码的加密版本。
这是一个非常严重的安全漏洞,因此在 2023 年 2 月,Razavi 通知 AMD 在研究论文发表之前给制造商足够的时间提供安全补丁(AMD 为该漏洞分配了编号 CVE-2023-20569)。
“我们已经展示了这种新型危险攻击的概念,这在云计算环境中尤其重要,在云计算中,多个客户共享硬件,” Razavi说。“这也对未来提出了问题。” 例如,他想查明是否存在其他类似的攻击,以及其他制造商的 CPU 是否也可能发生某种类型的初始攻击。
参考链接:Wie man einem Computer Ideen einpflanzt;Demi Xia编译