用莎士比亚在《仲夏夜之梦》中的一句话评论苹果最近发布的 M1 芯片:“虽然她很小,但她很凶猛。”
苹果的软件运行在由定制硅系统制成的小方块上,从而产生了Apple 迄今为止功能最强大的芯片,并且具有行业领先的性能。
然而,尽管 M1 芯片很强大,但是漏洞却不少。最近,M1 芯片就被发现了一个安全漏洞,很快被认为是无害的。
M1 芯片使用一种称为指针身份验证的功能,该功能是针对典型软件漏洞的最后一道防线。启用指针身份验证后,通常会危及系统或者泄漏私人信息的错误和漏洞会在源头上被阻止。
现在,麻省理工学院计算机科学与人工智能实验室 (CSAIL) 的研究人员发现了一个漏洞:新型硬件攻击,称为PACMAN,表明指针身份验证可以在不留痕迹的情况下被攻破。此外,PACMAN 使用硬件机制,因此没有任何软件补丁可以修复它。
指针验证码,简称 PAC,是确认程序状态未被恶意更改的签名。使用 PACMAN 攻击可以猜测 PAC 的值,并通过硬件侧通道验证猜测是否正确。由于 PAC 只有这么多可能的值,遍历所有的值就可以找到正确的值。最重要的是,攻击不会留下任何痕迹。
“指针身份验证背后的想法是,如果所有其他方法都失败了,仍然可以依靠它来防止攻击者控制用户系统。事实已经证明,作为最后一道防线的指针身份验证并不像曾经认为的那样绝对,”Joseph Ravichandran 说,他是麻省理工学院电气工程和计算机科学专业的研究生。
传统上,硬件攻击和软件攻击在某种程度上是分开的。人们将软件漏洞视为软件错误,将硬件漏洞视为硬件错误。常见的软件攻击包括网络钓鱼、恶意软件、拒绝服务等。硬件攻击方面,比如,2018 年广受关注的 Spectre 和 Meltdown 漏洞等安全漏洞操纵微架构结构窃取计算机数据。
麻省理工学院的团队想看看将两者结合起来会取得什么成果——从软件上获取一些东西,并使用硬件攻击破坏缓解措施(旨在保护软件的功能),这就是 PACMAN 的核心思想。
PACMAN 并不是能绕过 M1 芯片上所有安全防护。PACMAN 只能利用现有漏洞,并通过找到正确的 PAC 来释放该漏洞在攻击中的真正潜力。科学家们说,没有理由立即发出警报,因为 PACMAN 无法在没有现有软件错误的情况下破坏当前系统。
指针身份验证的主要目的是用来保护核心操作系统的内核,也就是系统中具备最高权限的部分。获得内核控制权的攻击者可以在设备上为所欲为。该团队表明,PACMAN 攻击甚至对内核也是有效的,“这对所有启用指针身份验证的ARM系统上的未来安全工作具有重大影响,”Ravichandran 说。“未来的 CPU 设计人员在构建未来的安全系统时应该注意考虑这种攻击方式。同时,开发人员也应该注意不要仅仅依靠指针身份验证来保护他们的软件。”