苹果 iPhone Air 和 iPhone 17 搭载 A19 芯片,具备防间谍软件的内存安全特性
时间:2025-9-12 13:30 作者:之参博客 分类: 网络相关
苹果周二宣布了一项新的安全功能——内存完整性执行(Memory Integrity Enforcement,简称 MIE),已集成在新推出的 iPhone 机型中,包括 iPhone 17 和 iPhone Air。
根据苹果介绍,MIE 提供“始终开启的内存安全保护”,覆盖关键攻击面,例如内核以及 70 多个用户态进程,同时通过在 A19 和 A19 Pro 芯片设计中考虑这一点,实现保护而不影响设备性能。
苹果指出:“内存完整性执行基于我们强大的安全内存分配器,并结合同步模式下的增强内存标记扩展(EMTE),同时辅以广泛的标记保密执行策略。”
该举措旨在提升内存安全,防止恶意行为者,尤其是使用雇佣型间谍软件的攻击者,利用内存漏洞进行高度定向攻击,从而入侵设备。
支撑 MIE 技术的是 EMTE,即增强内存标记扩展(Enhanced Memory Tagging Extension),它是 Arm 在 2019 年发布的 Memory Tagging Extension(MTE) 规范的改进版本,用于同步或异步标记内存损坏漏洞。EMTE 是 Arm 在 2022 年与苹果合作后发布的。
值得注意的是,谷歌的 Pixel 设备从 Android 13 开始就以开发者选项的形式支持 MTE。类似的内存完整性功能也已被微软在 Windows 11 中引入。
Google Project Zero 的研究员 Mark Brand 在 2023 年 10 月(与 Pixel 8 和 Pixel 8 Pro 发布同期)表示:“MTE 能够在第一次危险访问时就检测到内存损坏利用,这是在诊断能力和潜在安全有效性方面的重大改进。”
他还指出:“MTE 首次在量产手机上可用,这是一个重要进展,我认为这项技术有真正潜力,使零日漏洞更难被利用。”
苹果表示,MIE 将 MTE 从“有用的调试工具”转变为突破性的全新安全功能,为两类常见漏洞提供防护——缓冲区溢出和 use-after-free(释放后使用)漏洞,这些漏洞都可能导致内存损坏。
这实际上涉及 阻止对具有不同标签的相邻内存的越界访问请求,以及在系统释放并重新分配内存用于其他用途时 重新标记内存。因此,试图使用旧标签访问已重新标记内存的请求(即 use-after-free 场景)也会被阻止。
苹果解释道:“原始 MTE 规范的一个关键弱点在于,对未标记内存(例如全局变量)的访问不会被硬件检查。这意味着攻击者在尝试控制核心应用配置和状态时,不需要面对那么多防御约束。”
苹果表示:“通过增强版 MTE(EMTE),我们规定从标记内存区域访问未标记内存时,必须知道该区域的标签,这大大增加了攻击者利用动态标记内存的越界漏洞,通过直接修改未标记分配来规避 EMTE 的难度。”
苹果表示,他们还开发了所谓的 标签保密执行(Tag Confidentiality Enforcement,TCE),用于保护内存分配器的实现免受侧信道攻击和投机执行攻击,例如去年发现 MTE 易受的 TikTag 攻击。该攻击利用标签检查在投机执行期间产生的缓存状态差异,从而泄露与任意内存地址相关的 MTE 标签。
苹果补充道:“Memory Integrity Enforcement 的精心规划和实施,使我们能够在平台上对所有高负载工作保持同步标签检查,实现突破性的安全性,同时对性能影响极小,并且对用户完全不可见。”