ARM 防止内存损坏的安全功能可被绕过,成功率近 100%
内容提要
首尔国立大学和三星研究院的研究人员发现攻击者可以绕过ARM芯片的内存损坏防御功能,可能导致权限升级、任意代码执行、敏感数据泄露或系统损坏。研究人员提出了更好的保护措施,并表示基于ARM的保护措施仍然是一种有吸引力的解决方案。
延伸解读
MTE 防护机制为何被绕过
MTE 通过为内存区域分配唯一标签并在访问时检查标签匹配来检测内存损坏,但研究人员发现攻击者能在不到 4 秒内以 95% 的成功率泄露 MTE 标签,从而绕过基于 MTE 的缓解措施。论文指出,攻击者可以绕过 MTE 的概率防御,将攻击成功率提高近 100%。这表明 MTE 的标签保密性并非绝对,一旦标签泄露,防护即失效。
从标签泄露到任意代码执行
泄露 MTE 标签本身不会直接导致密码或加密密钥等敏感数据泄露。攻击者需要利用泄露的标签禁用安全措施,再结合内存泄露漏洞实施更复杂的攻击,才能执行任意代码。研究人员演示了 TIKTAG-v1 和 TIKTAG-v2 技术,并针对 Chrome 浏览器、Linux 内核和 Google Pixel 8 展示了现实攻击场景。
攻击实施的技术门槛
使用 TIKTAG 小工具发起真实世界攻击存在挑战:小工具应在目标地址空间内执行,要求攻击者从目标系统中构建或查找小工具;攻击者还需控制并观察缓存状态,以泄露标签检查结果。这些条件增加了攻击的复杂性,但并非不可实现。
各方回应与 MTE 的未来
安卓安全团队承认该问题是 Pixel 8 的硬件缺陷,决定在安卓基于 MTE 的防御中解决,并提供赏金奖励。ARM 承认 CPU 保护的有效性可能受影响,但认为投机预言的风险不会损害其价值,并称 MTE 分配标签不应是秘密,揭示正确标签值的机制并非对架构原则的妥协。研究人员提出了更好的保护措施,并认为基于 MTE 的保护仍是缓解内存损坏攻击的有效方案。
Q&A
ARM芯片的内存损坏防御功能是什么?
ARM芯片的内存损坏防御功能是内存标记扩展(MTE),用于检测内存损坏漏洞。
研究人员发现了什么漏洞?
研究人员发现攻击者可以绕过ARM芯片的内存损坏防御功能,成功率接近100%。
绕过ARM内存保护的攻击可能导致什么后果?
可能导致权限升级、任意代码执行、敏感数据泄露或系统损坏。
攻击者是如何绕过MTE防护措施的?
攻击者利用泄露的MTE标签来禁用安全措施,并实施更复杂的攻击以执行任意代码。
安卓安全团队对Pixel 8的漏洞有什么反应?
安卓安全团队承认Pixel 8存在硬件缺陷,并决定解决该问题。
ARM对其保护措施的有效性有何看法?
ARM承认CPU保护的有效性可能受到影响,但不认为投机预言的风险会损害其价值。