麻省理工学院计算机科学和人工智能实验室(CSAIL)的科学家发布了一项研究称,他们发现了一种可以绕过 Apple M1 CPU 上的指针验证机制的新型硬件攻击,称为 PACMAN。
根据介绍,M1 芯片使用了指针认证的功能,该功能是针对典型软件漏洞的最后一道防线。在启用指针认证后,通常会危及系统或泄漏私人信息的漏洞会被拦截在其轨道上。目前,苹果已经在其所有基于 ARM 的定制芯片上实施了指针认证。
而 MIT 新发现的这一漏洞,则可以在不留痕迹的情况下攻破这最后一道防线。此外,鉴于 PACMAN 利用的是硬件机制,因此没有任何软件补丁可以对其进行修复。MIT 方面表示,苹果的 M2 芯片也支持指针认证,但他们还没有针对其进行相关的攻击测试。
研究指出,攻击者可通过猜出指针认证码(Pointer Authentication Code,PAC)的值并将其禁用来实现 PACMAN 攻击。PAC 是一种加密签名,可以用来确认一个应用程序有没有被恶意篡改。猜测出正确值的难度也并不高,攻击者可以通过 hardware side channel 来检验猜测结果的正确性。“鉴于 PAC 可能的值数量只有这么多,他们发现可以尝试所有的值以找到正确的值”。最重要的是,由于猜测都是在推测执行下发生的,所以攻击不会留下任何痕迹。
“指针认证背后的想法是,如果所有其他的方法都失败了,你仍然可以依靠它来防止攻击者控制你的系统。我们已经证明,作为最后一道防线的指针认证并不像我们曾经认为的那样绝对。当引入指针认证时,一大类 bug 突然变得更难用于攻击。而随着 PACMAN 加重这些 bug 的严重程度,整体攻击面可能会更大。”
不过,PACMAN 并不会完全绕过 M1 芯片上所有的安全设施;它只能利用指针认证可防止的现有漏洞,并通过找到正确的 PAC 来释放该漏洞在攻击中的真正潜力。正由于 PACMAN 无法在没有现有软件错误的情况下破坏系统,因此研究人员认为大家可以不必恐慌。“到目前为止,还没有人利用 PACMAN 创建端到端攻击。”
值得注意的是,指针认证主要用于保护核心操作系统内核。研究指出,PACMAN 攻击甚至对内核有效,这 “对所有启用指针认证的 ARM 系统上的未来安全工作具有重大影响。未来的 CPU 设计人员在构建未来的安全系统时应该注意考虑这种攻击,开发人员应注意不要仅仅依靠指针认证来保护他们的软件。”
MIT CSAIL 计划在 6 月 18 日的国际计算机架构研讨会上正式介绍这一研究。苹果方面在得知此发现后则发布声明表示,“我们要感谢研究人员的合作,因为这个概念证明推进了我们对这些技术的理解。根据我们的分析以及研究人员与我们分享的细节,我们得出的结论是,这个问题不会对我们的用户构成直接风险,而且不足以自行绕过操作系统的安全保护。”