SecurityAffairs网站披露,攻击者可以使用一种名为PACMAN的新型硬件攻击技术绕过苹果M1处理器上的指针认证(PAC),侵入MacOS系统。据悉,这项技术是由麻省理工学院计算机科学与人工智能实验室(CSAIL)的研究人员JosephRavichandran、WeonTaekNa、JayLang和MengjiaYan共同发现的。研究人员发现,指针身份验证代码(PAC)可以检测和保护内存中的指针免受意外更改。指针验证实现了一个特殊的CPU指令,它在存储指针之前将密码签名(PAC)添加到指针的未使用的高位,并且在从内存中读回指针并验证后由另一条指令删除该签名。写入和读取之间对存储值的任何更改都会使签名无效,该事件被解释为内存损坏并设置指针中的高位,使指针无效。在他们发表的研究论文中,研究人员表示,推测性执行攻击被用来绕过一种重要的内存保护机制——ARM指针身份验证,这是一种用于强制指针完整性的安全功能。研究人员随后提出了PACMAN,这是一种新的攻击方法,可以通过微架构侧通道推测性地泄露PAC验证结果,而不会造成任何崩溃。这种攻击技术消除了在受指针身份验证保护的平台上进行控制流劫持攻击的主要障碍。研究人员已通知苹果公司,值得一提的是,研究人员指出,PACMAN攻击只是一种利用技术,其威力不足以危及系统。但坏消息是PACMAN使用的硬件机制无法通过软件更新进行修补。目前,研究人员设计了一个PAC法令来区分正确的PAC和不正确的PAC,而不会导致任何系统崩溃。攻击者可以在抑制崩溃的同时暴力破解正确的PAC值,并在启用PA的受害程序或操作系统上构建控制流劫持攻击。PACMAN攻击的关键洞察是使用推测执行通过微架构侧通道秘密泄露PAC验证结果。一个PACMANgadget由以下两个操作组成:指针验证操作,推测性地验证所猜测的PAC的正确性;以及通过微架构侧通道推测性地传输验证结果的传输操??作。指针校验操作由校验指令(ARMv8.3中新增指令)进行,校验成功则输出有效指针,否则输出无效指针。最后,研究人员指出,这种攻击对于希望通过指针身份验证实现功能的处理器设计人员具有重要意义,并且对于未来控制流完整性原语的安全性具有广泛的意义。研究人员现已与Apple分享了他们的发现。
