返回

麻省理工学院研究人员发现苹果M1 CPU中存在无法修补的新缺陷

发布时间:2022-06-15 15:33:01 517
Apple M1 CPUs

一种新的硬件攻击吃豆人已经针对苹果的M1处理器芯片组进行了演示,可能会让恶意参与者在macOS系统上获得任意代码执行的能力。

MIT研究人员Joseph Ravichandran、Weon Taek Na、Jay Lang和Mengjia Yan在一篇新论文中表示,它利用“推测性执行攻击绕过一种重要的内存保护机制,即ARM指针身份验证,这是一种用于加强指针完整性的安全功能”。

研究人员补充道,更令人担忧的是,“虽然PACMAN使用的硬件机制无法通过软件功能进行修补,但内存损坏可能是错误的。”。

该漏洞源于指针身份验证码(PACs),这是arm64e体系结构中引入的一条防线,旨在检测指针的意外更改并加以保护—;存储内存地址—;在内存中。

虽然已经设计了地址空间布局随机化(ASLR)等策略来增加执行缓冲区溢出攻击的难度,但PACs的目标是确定“指针的有效性,使其大小和性能影响最小”,从而有效防止对手创建用于攻击的有效指针。

这是通过使用加密哈希保护指针来实现的—;调用指针身份验证码(PAC)—;确保其完整性。苹果对PACs的解释如下-

指针身份验证通过提供特殊的CPU指令来添加加密签名—;或PAC—;在存储指针之前,将指针的未使用高位还原。另一条指令在从内存读回指针后删除并验证签名。写入和读取之间对存储值的任何更改都会使签名无效。CPU将身份验证失败解释为内存损坏,并在指针中设置高位,使指针无效并导致应用程序崩溃。

但PACMAN“消除了在使用指针身份验证保护的平台上进行控制流劫持攻击的主要障碍。”它结合了内存损坏和推测性执行来规避安全功能,通过微体系结构侧通道泄漏“PAC验证结果,而不会导致任何崩溃”

简而言之,这种攻击方法可以区分正确的PAC和不正确的哈希,允许坏人“在抑制崩溃的同时强行使用正确的PAC值,并在启用PA的受害者程序或操作系统上构造控制流劫持攻击”

就其而言,崩溃预防之所以成功,是因为每个PAC值都是通过使用Prime+Probe攻击,通过translation look-aside buffer(TLB)利用基于时间的侧通道推测出来的。

在Spectre和Meldown事件中观察到的推测性执行漏洞将无序执行武器化,这是一种通过预测程序执行流的最可能路径来提高现代微处理器性能的技术。

然而,值得注意的是,威胁模型假定受害者程序(内核)中已经存在可利用的内存损坏漏洞,这反过来又允许未经授权的攻击者(恶意应用程序)将恶意代码注入受害者进程中的特定内存位置。

研究人员总结道:“这种攻击对希望实现未来具有指针身份验证功能的处理器的设计者具有重要影响,并对未来控制流完整性原语的安全性具有广泛影响。”。

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线