分享

麻省理工学院的一组研究人员发现了发现一个新的硬件漏洞在苹果的M1芯片中。由Joseph Ravichandran和Weon Taek Na领导的团队展示了这次攻击是如何被称为吃豆子-可以绕过M1芯片最深的防线之一。虽然这听起来很可怕,但并不像你想象的那样令人担忧:攻击者只能使用PACMAN来利用系统中现有的内存漏洞,而这个漏洞是可以修补的。

要理解这个问题,了解“指针”是有帮助的,它是CPU用来运行计算机的基本代码之一。它是指向存储在内存中的另一个变量的位,它们允许它执行操作,而不必使用整个变量。你可以把它们想象成一本书的索引。如果你想检查是否提到了“咖啡”,浏览索引比浏览整本书要快得多。因为指针是如此重要,它们是常见的攻击向量。如果你可以改变一个指针的指向,你就可以欺骗CPU去做它不应该做的事情。

为了防御这些攻击,M1芯片是第一个使用“指针认证”技术的桌面CPU。在接受麻省理工学院新闻的采访Ravichandran是这篇新论文的共同主要作者之一,他说:“当引入指针认证时,所有类别的漏洞突然变得更难用于攻击。”PACMAN是一个漏洞,它使这些漏洞重新发挥作用。

指针身份验证通过使用16位加密哈希,称为指针身份验证码,或PAC (PACMAN因此得名),以保护指针不被修改。如果它处于活动状态,攻击者必须知道指针的PAC值才能更改它,否则系统将崩溃;所以,在正常情况下,攻击者不能简单地强制使用PAC值。

PACMAN的一大创新是通过蛮力来识别给定指针的PAC值,而不会导致系统崩溃。研究人员称该设置为“PAC Oracle”,它能够在三分钟内猜测所有65,536个可能的PAC值,而不会导致系统崩溃。它通过将它们作为“投机性执行”运行来实现这一点。这是它执行操作的地方,以防以后需要它,但并没有真正执行下去,所以它永远不会受到指针身份验证的挑战。(这是需要软件bug才能工作的部分。)

当然,仅仅猜测这些值是没有用的。PAC Oracle还需要知道它什么时候猜对了。它通过观察一个称为翻译lookaside缓冲区(TLB)的硬件内存存储来查看它是否发生了变化。如果它猜错了,什么也不会发生;如果它猜对了,那么TLB中存储的一个东西就会改变。

因此,一旦PAC知道了一个给定的指针,攻击者就可以使用现有的软件bug来接管操作系统的内核,并做他们想做的任何事情。他们可以安装间谍软件或勒索软件,窃取你的所有文件,或任何其他黑客喜欢做的事情。(虽然这听起来很复杂,但实际上,这些细节都很简单;如果你想知道吃豆人是如何工作的,看看这篇研究论文.)

PACMAN是一个真正的漏洞,因为它依赖于M1芯片的硬件特性,不能修补或修复,但重要的是要注意,M1芯片仍然比旧芯片更安全。这个漏洞需要一个现有的软件漏洞(可以修补)来运行,指针身份验证仍然保护您的计算机免受任何无法绕过它的漏洞的攻击。但正如Ravichandran所说,“我们已经证明,作为最后一道防线的指针认证并不像我们曾经认为的那样绝对。”

归根结底,这都是一场网络安全疯狂游戏的一部分。对于每一个新的安全系统,都有漏洞和漏洞被发现来绕过它。下一代芯片可能会想出一些方法来防止像PACMAN这样的攻击,然后研究人员会发现新的漏洞和绕过它的方法。

更重要的是,没有证据表明PACMAN在野外被使用。因为它依赖于一个现有的漏洞,最好的防御是让你的计算机保持最新。此漏洞适用于M1芯片。研究人员还没有证实它在M2芯片上有效,苹果刚刚推出的尽管他们相信这是可能的。

去年,研究人员让苹果公司意识到了这一问题。在TechCrunch的一份声明中它说:“我们想感谢研究人员的合作,因为这一概念的证明促进了我们对这些技术的理解。根据我们的分析以及研究人员分享给我们的细节,我们得出的结论是,这个问题不会立即对我们的用户构成风险,不足以绕过操作系统的安全保护措施。”

总而言之,这可能是一个公正的评估。所有的电脑都容易受到黑客攻击。这只是芯片工程师需要修复的另一个恶意分子使用的工具。当一颗鼹鼠被击碎,另一颗就会把头伸出来。

更多的阅读