6月11日消息,据Techcrunch和venturebeat等国外媒体报道,近日,麻省理工学院(MIT)的研究人员发现,苹果公司的M1芯片存在一个“不可修复”的硬件漏洞,攻击者可以利用该漏洞突破其最后一道安全防线。
报道称,这一漏洞存在于苹果M1芯片使用的硬件级安全机制中,该机制被称为“指针认证”(PAC)——一种广泛存在于Arm处理器中的硬件安全机制。它通过使用不可修改的加密散列来保护内存中指针的完整性。系统用它来验证程序对受保护指针的使用。当使用错误的PAC时,程序会崩溃。
根据之前Arm公布的信息,PAC最大限度的减少了攻击面,降低了ROP 60%以上,JOP 40%以上的漏洞。如果是同时使用PAC和BTI硬件安全机制的Arm CPU,可以进一步提高安全性。Glibc中可供攻击者使用的小工具数量减少了约98%,而代码大小仅增加了约2%。
然而,麻省理工学院计算机科学和人工智能实验室(CSAIL)的研究人员Joseph Ravichandran,Weon Taek Na,Jay Lang和孟佳Yan创造了一种新颖的硬件攻击方法,该方法结合了内存损坏和推测性执行攻击,以逃避安全功能。该攻击表明指针认证可以被无痕迹地攻破,并且由于它是一种硬件安全机制,苹果将无法通过更新M1芯片的软件补丁来修复它。
麻省理工学院CSAIL的研究团队将其攻击方法称为“Pacman”,通过硬件侧通道攻击(因为PAC值只有一定数量,研究人员可以尝试所有的值来找到正确的一个),暴力破解PAC值,压制崩溃,从而开始链式攻击,最终构建控制流劫持攻击。
“PAC的大小相对较小,一次直接的暴力攻击会导致足够多的崩溃,足以检测到恶意行为——更不用说程序重启会导致PAC被刷新。而Pacman攻击的关键是利用推测执行攻击,通过微架构侧信道秘密泄露PAC验证结果,而不会导致崩溃。”论文解释道。
在概念证明中,研究人员证明了这种攻击甚至可以针对内核(设备操作系统的软件核心)工作,这“对所有启用指针认证的Arm系统的未来安全工作产生了重大影响。”麻省理工学院CSAIL的博士生、研究论文的共同主要作者约瑟夫·拉维钱德朗(Joseph Ravichandran)说。
指针身份认证背后的想法是,如果所有其他防御方法都失败了,您仍然可以依靠它来防止攻击者控制您的系统Joseph Ravichandran补充道:“然而,我们已经证明,作为最后一道防线的指针认证并不像我们曾经认为的那样安全。”
到目前为止,苹果已经在所有基于Arm架构的定制芯片中内置了PAC功能,包括M1、M1 Pro和M1 Max。此外,包括高通和三星在内的许多其他芯片制造商已经宣布或预计将推出支持这一硬件级安全功能的新处理器。虽然麻省理工学院CSAIL的研究人员表示,苹果刚刚发布的M2芯片尚未经过测试,但它也支持PAC功能。
根据之前Arm公布的信息,不仅基于Armv8.3/8.6指令集的CPU内置了PAC功能,最新Armv9指令集的CPU也内置了PAC功能。
麻省理工学院CSAIL的研究人员在一篇研究论文中说:“如果这个问题不解决,我们发现的攻击方法将在未来几年影响大多数移动设备,甚至可能影响桌面设备。”
根据介绍,研究人员已经向苹果公司展示了他们的研究成果。但他们也指出,Pacman攻击无法绕过M1芯片上的所有安全机制,只是针对PAC可以防范的现有漏洞。
“到目前为止,还没有使用Pacman创建端到端的攻击,所以没有直接的问题,”Joseph Ravichandran说。Pacman需要一个现有的软件漏洞才能工作——攻击者需要能够写入溢出的内存。攻击者可以利用现有的漏洞结合我们所谓的“Pacman gadget”——攻击中的一个代码序列,允许投机性地使用签名指针。"
目前,研究团队已将这一问题告知苹果公司,并将在6月18日的计算机架构国际研讨会上披露更多细节。
消息曝光后,苹果发言人斯科特·拉德克利夫(Scott Radcliffe)对外回应称:“我们要感谢研究人员的合作,因为这个概念证明促进了我们对这些技术的理解。根据我们的分析和研究人员与我们分享的详细信息,我们得出的结论是,这个问题不会对我们的用户造成直接风险,仅靠我们自己绕过操作系统安全保护是不够的。”
值得一提的是,Pacman是苹果M1芯片中发现的第三个漏洞。去年5月,安全研究员Hector Martin发现了一个名为M1RACLES的漏洞,该漏洞允许两个应用程序秘密交换数据。上个月,一个大学团队发现了另一个名为Augury的漏洞,它可以导致芯片泄露静态数据。然而,没有可行的方法来利用该漏洞。
然而,与前两个漏洞不同的是,Pacman利用了M1本身现有的硬件安全机制PAC,而这一机制也广泛存在于其他基于Arm的处理器中,这使得该漏洞有可能带来更大的影响。
编辑:辛志勋-浪客剑来源:Techcrunch、venturebeat