苹果M1芯片中广泛存在的硬件级安全机制
据媒体报道,6月11日,近日,一个无法修复的硬件漏洞——麻省理工学院的研究人员发现,攻击者可以用苹果的M1芯片突破最终的安全防御。
报道称,该漏洞在苹果M1芯片BAS35中使用的硬件级安全机制中存在,称为指针识别(PAC),是ARM处理器中广泛存在的硬件安全机制。它使用加密哈希保护指针来保护内存中指针的完整性,无法修改加密哈希验证指针,系统使用它验证指针。当使用错误的PAC时,程序就会崩溃。
根据之前ARM发布的信息,PAC最大限度地减少了面向回程编程编程(ROP)漏洞降低60%以上,面向跳编程(JOP)漏洞降低40%以上。
ArmCPU可以进一步提高安全性,如果同时使用PAC和分支目标:PAC和分支目标标识符(BTI)。在Glibc中,攻击者的小工具数量减少了98%左右,而代码大小仅增加了2%左右。
然而,麻省理工学院计算机科学与人工智能实验室的研究人员Josephrich.Jaylang和人工智能为了避免安全功能,创造了新的硬件攻击方法,结合了内存损伤和猜测攻击。
攻击显示,指针身份验证可以在不留痕迹的情况下被打破,由于是硬件安全机制,苹果将无法通过M1芯片更新软件补丁来修复。
通过硬件侧信道攻击(因为PAC值只有一定量,所以研究人员可以尝试找到所有值的正确值),MITCSAIL研究团队称之为PACMAN,暴力破解PAC值,抑制崩溃,从而启动连锁攻击,最终构建控制流劫持攻击。
PAC的尺寸比较小,直接暴力攻击会造成足够的崩盘来检测恶意行为——更别提重启程序会造成PAC刷新。但PAC攻击的关键在于利用推测来进行攻击,通过微架构侧通道秘密泄露PAC验证结果而不至于造成崩盘。论文解释。
在概念验证中,研究者证明了所有使用指针身份验证的ARMS系统的博士生和研究论文的共同作者,攻击甚至可以来ARM系统安全工作的核心(设备操作系统的软件核心)中发挥作用。
指针身份验证背后的思路是,如果其他防御方式都失效了,还可以依靠它来阻止攻击者对自己系统的控制。JosePhravicanran补充道,但我们证明了指针身份验证作为最后防线并没有我们想象的那么安全。
截至目前,苹果已将PAC功能应用于包括M1.M1Pro和M1Max在内的所有基于ARM架构的定制芯片。此外,包括高通和三星在内的许多其他芯片制造商已宣布或有望推出支持硬件级安全功能的新处理器。
虽然MITCSAIL布的M2芯片进行测试,尽管MITCSAIL的研究人员表示,该芯片也支持PAC功能。
在最新的Armvv9指令集CPU中,PAC功能不仅内置在基于Armvv8.3/8.6指令集的CPU中。
在研究论文中,MITCSAIL的研究人员表示,我们发现的攻击方法会影响到大多数移动设备,甚至桌面设备,如果这个问题没有得到解决。
据报道,研究人员向苹果公司展示了他们的研究成果。然而,他们也指出,只针对现有漏洞,PAC可以预防的M1芯片上的所有安全机制都不能绕过。
到目前为止,Pacman一直在担心。Pacman需要一个现有的软件漏洞。Pacman需要一个现有的软件漏洞来发挥作用——攻击者需要能够编写溢出的内存。攻击者可以使用现有的漏洞,并结合我们所谓的Pacmangadget-代码序列。
研究小组已经将这个问题告知了苹果,并将在6月18日的国际计算机架构研讨会上披露更多细节。
由于概念证明了我们对这些技术的理解,所以我们感谢研究者的配合。消息曝光后,苹果代言人Scotradclife做出了回应。根据我们的分析和研究者分享给我们的细节,得出的结论是:这个问题不直接危及到我们的用户,绕开操作系统的安全防护也不够。
值得一提的是,Pacman是苹果M1芯片中发现的第三个漏洞。安全研究员赫克托·马丁在去年5月发现了一个允许两个应用秘密交换数据的M1RACLES漏洞。
尽管目前还没有显示任何可行的使用方法,但上个月,另一个名为aury的漏洞被许多大学的团队发现,这可能会导致芯片泄漏的静态数据。
不过,与前两者不同的是,Pacman漏洞本身采用的是硬件安全机制PAM1,这一点也广泛存在于其他ARM架构处理器中,可能对漏洞的影响更大。