苹果的新内存完整性强制执行
苹果在iPhone 17中引入了一项新的硬件/软件安全功能:“内存完整性强制执行”,旨在针对像Pegasus这样的间谍软件产品通常用来获取未经授权系统访问的内存安全漏洞。据《连线》报道:
近年来,全球科技行业一直在稳步推进解决一种普遍存在的隐蔽错误类型——内存安全漏洞。计算机内存是所有程序共享的资源,当软件能够从计算机内存中提取本应禁止访问的数据,或操纵内存中程序不应访问的数据时,就会出现内存安全问题。当开发人员(即使是有经验和安全意识丰富的开发人员)使用像C和C++这样普遍使用的历史编程语言编写软件时,很容易犯导致内存安全漏洞的错误。这就是为什么特殊编程语言等主动工具正在激增,目标是从结构上使软件不可能包含这些漏洞,而不是试图避免引入或捕获所有漏洞。
[…]
由于世界上大部分代码库都建立在内存不安全编程语言之上,苹果的安全工程与架构团队认为,将内存安全机制置于苹果芯片的核心可能是解决这个看似棘手问题的“机械降神”。该团队基于芯片制造商Arm在2019年发布的称为内存标记扩展(MTE)的规范进行开发。其理念是在硬件层面为每个内存分配提供密码保护,这样只有在未来访问该内存区域的请求包含正确的密钥时,系统才会授予访问权限。
Arm开发MTE作为帮助开发人员发现和修复内存损坏错误的工具。如果系统收到未通过密钥检查的内存访问请求,应用程序将崩溃,系统将记录事件序列供开发人员审查。苹果的工程师想知道MTE是否可以一直运行,而不仅仅作为调试工具使用,该团队与Arm合作,在2022年发布了用于此目的的规范版本,称为增强型内存标记扩展。
为了使所有这些成为针对内存安全漏洞利用的持续、实时防御,苹果花费了数年时间在其芯片深处构建这种保护,使得该功能可以为用户全天候开启,而不会牺牲整体处理器和内存性能。换句话说,你可以想象为每个内存分配生成并附加密钥,然后要求程序为每个内存请求管理和生成这些密钥,这可能会影响性能。但苹果表示,它已经能够精准地实现这一目标。
标签:苹果、网络安全、硬件、完整性、漏洞
发布于:2025年9月23日上午7:07
评论数量:14条