M1芯片使用称为指针身份验证的功能,该功能可作为抵御典型软件漏洞的最后一道防线。启用指针身份验证后,通常可能危及系统或泄露私人信息的错误将在其轨道上死死停止。
现在,麻省理工学院计算机科学与人工智能实验室(CSAIL)的研究人员发现了一个漏洞:他们的新型硬件攻击,称为PACMAN,表明指针身份验证甚至可以在不留下痕迹的情况下被击败。此外,PACMAN利用硬件机制,因此没有软件补丁可以修复它。
指针身份验证代码(简称 PAC)是确认程序状态未被恶意更改的签名。进入吃豆人攻击。该团队表明,可以猜测PAC的值,并通过硬件侧信道揭示猜测是否正确。由于PAC只有这么多可能的值,他们发现可以尝试所有值来找到正确的值。最重要的是,由于猜测都发生在推测执行下,因此攻击不会留下任何痕迹。
“指针身份验证背后的想法是,如果所有其他方法都失败了,您仍然可以依靠它来防止攻击者控制您的系统。我们已经证明,指针身份验证作为最后一道防线并不像我们曾经认为的那样绝对,“麻省理工学院电气工程和计算机科学研究生Joseph Ravichandran说,CSAIL附属机构,也是一篇关于PACMAN的新论文的共同主要作者。“当引入指针身份验证时,一整类错误突然变得难以用于攻击。随着PACMAN使这些错误变得更加严重,整体攻击面可能会大得多。
传统上,硬件和软件攻击有点分开。人们将软件错误视为软件错误,将硬件错误视为硬件错误。架构上可见的软件威胁包括恶意网络钓鱼尝试、恶意软件、拒绝服务等。在硬件方面,安全漏洞,如2018年备受关注的Spectre和Meltdown错误,操纵微架构结构从计算机窃取数据。
麻省理工学院的团队希望看到将两者结合起来可能会实现什么 - 从软件安全世界中获取一些东西,并使用硬件攻击来打破缓解措施(旨在保护软件的功能)。“这就是PACMAN所代表的核心 - 一种思考威胁模型如何在Spectre时代融合的新方式,”Ravichandran说。
PACMAN并不是M1芯片上所有安全性的神奇旁路。PACMAN只能采用指针身份验证保护的现有错误,并通过找到正确的PAC来释放该错误在攻击中的真正潜力。科学家们说,没有理由立即发出警报,因为PACMAN无法在没有现有软件错误的情况下损害系统。
指针身份验证主要用于保护核心操作系统内核,即系统最特权的部分。获得内核控制权的攻击者可以在设备上执行他们想要的任何事情。该团队表明,PACMAN攻击甚至对内核有效,内核“对所有启用了指针身份验证的ARM系统的未来安全工作具有巨大影响,”Ravichandran说。“未来的CPU设计人员在构建未来的安全系统时应该注意考虑这种攻击。开发人员应该注意不要仅仅依靠指针身份验证来保护他们的软件。
“软件漏洞已经存在了大约30年。研究人员已经想出了使用各种创新技术来缓解它们的方法,例如我们现在正在攻击的ARM指针身份验证,“Homer A. Burnell职业发展教授,麻省理工学院电气工程和计算机科学系(EECS)助理教授Mengjia Yan说,CSAIL附属机构,该团队论文的高级作者。“我们的工作提供了有关如何通过硬件攻击绕过作为重要缓解方法继续存在的软件漏洞的见解。这是一种看待这种非常持久的安全威胁模型的新方法。在这种新的复合威胁模型下,存在许多其他缓解机制,这些机制没有得到很好的研究,因此我们认为PACMAN攻击是一个起点。我们希望PACMAN能够在社区中激发更多研究方向的工作。