文章摘要
苹果推出了内存完整性执行(MIE)技术,结合其硬件与操作系统安全优势,提供行业首创的全天候内存安全保护,同时保持设备性能。MIE被视为消费级操作系统内存安全的最重大升级。尽管iPhone未遭遇大规模恶意软件攻击,但针对特定个体的复杂间谍软件攻击仍值得关注,苹果致力于保护用户免受此类高级威胁。
文章总结
苹果设备内存安全的全新里程碑:内存完整性执行(MIE)
苹果公司近日发布了内存完整性执行(Memory Integrity Enforcement, MIE),这是其在内存安全领域的一项重大突破。MIE结合了苹果自研芯片的硬件优势与操作系统的先进安全技术,首次在设备上实现了始终开启的内存安全保护,且不影响设备的卓越性能。苹果认为,MIE是消费级操作系统历史上最重要的内存安全升级。
背景与挑战
尽管iPhone从未遭遇过大规模恶意软件攻击,但针对iOS的系统级攻击主要来自复杂的雇佣间谍软件。这些攻击通常由国家行为体支持,利用价值数百万美元的漏洞链,针对极少数特定个体及其设备。虽然大多数用户不会成为目标,但这些攻击展示了当前最昂贵、最复杂的攻击能力,值得深入研究。
苹果在提升内存安全方面采取了多项措施,包括使用安全编程语言(如Swift)和部署大规模缓解措施。自iOS 15起,苹果引入了kalloc_type,一种内核安全内存分配器,随后在iOS 17中推出了用户级的xzone malloc。这些分配器通过利用内存分配的类型信息,使得大多数内存破坏漏洞难以被利用。
硬件与软件的深度整合
2018年,苹果率先在A12 Bionic芯片中部署了指针认证码(PAC),以保护代码流完整性。PAC的成功证明了软硬件安全深度整合的重要性。此后,苹果开始设计并评估如何在自研芯片中构建复杂的内存安全功能。
2019年,Arm发布了内存标签扩展(MTE)规范,旨在通过硬件帮助发现内存破坏漏洞。MTE的核心是内存标签和标签检查系统,每个内存分配都带有一个秘密标签,硬件确保只有携带正确标签的请求才能访问内存。苹果对MTE进行了深入研究,发现其作为实时防御措施存在不足,并与Arm合作在2022年发布了增强型内存标签扩展(EMTE)。
内存完整性执行(MIE)的设计
MIE基于苹果的安全内存分配器和EMTE,并结合了广泛的标签保密执行策略。MIE内置在iPhone 17和iPhone Air的硬件和软件中,为内核等关键攻击面提供了始终开启的内存安全保护,同时保持了用户期望的性能。
MIE的设计从安全内存分配器开始,这些分配器利用类型信息来组织内存分配,防止攻击者通过控制特定类型的内存分配位置来制造内存重叠。对于较小的内存分配,MIE使用内存标签来防止同一类型桶内的攻击。
EMTE可以防止两种最常见的内存破坏:缓冲区溢出和使用后释放漏洞。对于缓冲区溢出,分配器负责为相邻分配使用不同的标签。如果访问请求溢出到具有不同标签的相邻内存,硬件会阻止该请求。对于使用后释放漏洞,分配器在内存被重新分配时重新标记内存,阻止使用旧标签的访问请求。
安全评估
苹果的进攻研究团队从2020年到2025年持续分析和攻击MIE系统,确保其在面对最复杂的威胁时仍能提供强大的保护。评估结果显示,MIE显著减少了攻击者可用的利用策略,使得基于内存破坏的漏洞链难以重建。
结论
MIE的推出标志着苹果在内存安全领域的重大突破。通过结合硬件和软件的最佳能力,MIE为关键攻击面提供了全面的、始终开启的内存安全保护。苹果相信,MIE将显著提高攻击者开发和维护漏洞链的成本和难度,彻底改变苹果产品的内存安全格局。
MIE不仅是苹果设备内存安全的一次重大升级,也是消费级操作系统历史上最重要的内存安全创新。
评论总结
评论主要围绕苹果的“内存完整性执行”(MIE)技术展开,观点多样且涉及与其他系统的比较。
支持MIE的观点: 1. MIE显著减少攻击者的利用策略:tptacek指出,MIE从根本上切断了攻击链,即使通过替换新的漏洞也无法恢复,剩余的漏洞利用效果不可靠且不足以成功攻击。 - "Memory Integrity Enforcement vastly reduces the exploitation strategies available to attackers." - "Even with substantial effort, we could not rebuild any of these chains to work around MIE."
- 硬件安全性提升:gjsman-1000认为,MIE可能标志着“不可破解硬件”的到来,类似于Xbox One和Nintendo Switch 2的安全性。
- "Hardware that will never have an exploit found someday, never be jailbroken, never have piracy."
- "iPhone? iOS 17 and 18 have never been jailbroken; now we introduce MIE."
质疑与比较的观点: 1. 与其他系统的对比:OutOfHere批评谷歌在Android安全性上的不足,指出其未能完全隔离应用程序,并引用了相关证据。 - "Google is doing all it can to weaken Android safety by withholding images and patches." - "GrapheneOS exposes Google's empty promises on Android security updates."
技术细节与性能问题:brcmthrowaway质疑MIE的运行时性能,担心指针检查会导致速度下降。
- "If we are checking every pointer at runtime how isn’t this dog slow?"
与其他技术的比较:EvanAnderson和brcmthrowaway分别提到MIE与Burroughs大系统内存标记架构和CHERI技术的相似性。
- "I’m sure Apple/ARM model is vastly more sophisticated, but skimming thru made me think of the Burroughs large system memory tagging architecture."
- "How does this compare to CHERI?"
其他观点: 1. 攻击者的应对:rsrsrsrsrs期待看到攻击者如何应对MIE,而pizlonator则认为MIE在多次尝试攻击的情况下可能失效。 - "This looks amazing, I cannot wait to see how attackers pivot." - "The probability of getting a matching tag is 1/16."
- 技术细节的不足:pizlonator指出,MIE的细节不够充分,未来是否成功仍需时间验证。
- "But this post doesn’t provide enough details for me to be super confident about what I’m saying."
总结:MIE被认为是一项显著提升内存安全性的技术,但其性能、技术细节和与其他系统的比较仍存在争议。同时,谷歌在Android安全性上的表现也受到批评。