苹果M5内核首例漏洞:Mythos五天攻破苹果数十亿美元内存防御系统


研究人员用AI工具Mythos Preview,五天内在苹果M5芯片上攻破了苹果耗资数十亿美元打造的内存安全系统MIE,这是公开的首个案例。他们亲自到苹果总部提交报告,完整技术细节待苹果修复后公开。

作者背景
Calif安全研究团队,专注于漏洞研究与AI辅助利用开发

核心观点

苹果花了五年时间和几十亿美元,在M5芯片上建了一堵号称能干掉内存漏洞的高墙。结果研究人员用最新大模型工具Mythos Preview,五天就翻过去了。

这说明一个道理:防御堆得再高,攻击方一旦用上AI,防守方就得重新算账。

苹果花费五年时间和估计数十亿美元构建了内存完整性执行(MIE),这是一个围绕 ARM 的 MTE 构建的硬件辅助内存安全系统。它是 M5 和 A19 的旗舰安全特性,专门设计用于消灭整个内存损坏漏洞类别。完整的 55 页技术报告将在苹果修补该漏洞后发布。

为什么苹果这次栽得这么干脆

苹果在M5芯片上塞了一个叫MIE的安全系统。全称是Memory Integrity Enforcement,内存完整性强制检查。你可以把它理解成一个超级严格的保安,专门盯着内存里有没有人搞小动作。

这个保安不是普通保安。ARM公司搞了一个叫MTE的技术,内存标签扩展,苹果拿过来魔改了一番,变成自己的MIE。ARM的MTE原本就很能打,苹果又给它加了外挂。结果是:苹果自己的研究说,MIE能挡下目前所有公开的iOS攻击链,包括最近泄露的Coruna和Darksword这两个高级攻击套件。

为了造这个保安,苹果花了五年。钱方面,至少几十亿美元。这个数字不夸张,因为光M5芯片的研发就烧掉了大量资金,MIE是其中最贵的功能之一。

但Calif研究团队只用了五天。五天,从零到有,在真实M5机器上,MIE全程开启,拿到了root权限。

他们用的不是魔法。他们用了一个叫Mythos Preview的AI工具。这个工具不是传统的漏洞扫描器,它先学会一类漏洞的攻击模式,然后就能对付这一类里的几乎所有问题。Mythos发现了漏洞,但绕过MIE这个新式防御,还是需要人动脑子。人和AI配合,五天打出结果。

苹果的保安很贵,但攻击方的AI更不讲道理。

Mythos Preview先找到两个漏洞

整个攻击从两个漏洞开始。第一个漏洞是什么类型?内存损坏里的经典款:释放后使用,Use After Free。程序用了一块内存,告诉系统“我还给你了”,但实际还悄悄留了个指针指过去。那块内存后来被分配给别的数据,攻击者就能通过那个旧指针搞破坏。

Mythos Preview为什么找得快?因为它已经学过成千上万个同类漏洞。释放后使用这种问题,在C语言和C++写的内核代码里很常见。苹果写macOS内核,大量用C++,历史代码里埋了不少这种地雷。Mythos不需要从头分析,它直接扫描代码里“释放”和“使用”之间的间隔,找那些不符合安全规范的配对。

第二个漏洞是内核信息泄露。内核里有一块共享内存,允许用户态程序读一些系统状态。但这个接口在拷贝数据时,没有把内核栈上的残留数据清零。结果就是,用户态程序能读到内核栈上的老数据,包括指针地址、内核结构体的布局信息。这些信息对绕过MIE至关重要,因为MIE虽然能检测非法内存访问,但它不知道哪些地址是攻击者已经掌握的。

两个漏洞,一个用来泄露地形图,一个用来执行攻击。Mythos Preview把漏洞位置找出来后,剩下的就是人的工作:怎么让这两个漏洞配合,在MIE眼皮底下溜过去。

MIE到底怎么防内存攻击

要理解为什么五天攻破是大事,得先搞清楚MIE怎么工作。

传统内存防护靠的是“隔离”。比如内核态和用户态分开,用户态程序不能随便访问内核内存。但内存损坏攻击不走寻常路,它骗内核自己访问自己。举个例子,一个内核函数以为自己在处理一个正常的文件路径,实际上攻击者把路径指针换成了一个内核关键结构体的地址。内核傻乎乎地去访问,然后被控制。

MIE换了个思路,不靠隔离,靠“染色”。每一块内存都被打上一个标签,每一个指针也被打上一个标签。访问内存时,指针的标签必须和内存块的标签匹配,否则CPU直接抛异常,内核崩溃。崩溃总比被控制好。

ARM的MTE给每16字节内存分配4位标签,也就是16种可能。苹果的MIE在此基础上加强了:更细粒度的标签管理,更严格的检查逻辑,而且与苹果的内存管理单元深度绑定。苹果自己的研究数据说,MIE能打断所有已知的iOS攻击链。注意是所有。

那Calif怎么绕过去的?

答案是他们没有正面硬刚MIE的标签检查。他们用的是数据只读攻击,data-only attack。这种攻击不改变内核代码的执行流程,也不修改函数指针,只修改内核里的数据。比如权限标志位,一个进程的user ID,或者一个文件描述符的属性。MIE主要防的是控制流劫持,比如改函数返回地址、改虚表指针。数据只读攻击不碰这些,它改的是那些看起来“无害”的数据。

举个例子,内核里有一个结构体记录当前进程的权限。这个结构体里有uid,用户ID。正常情况下,普通用户uid是1000,root是0。攻击者如果能把这个1000改成0,进程就变成root了。但直接改会被MIE拦住,因为那个结构体有标签,攻击者的指针没有对应标签。

Calif的骚操作是:他们不直接改uid。他们找到另一个内核数据块,里面存放着“哪些内存区域可以被当前进程直接写”。他们通过第一个漏洞释放后使用,把这块权限表里的某个条目,指向了uid所在的地址。然后通过正常的系统调用,让内核帮自己把uid覆盖掉。内核写自己的内存时,当然带着正确的标签。MIE看到标签匹配,放行。但内核不知道自己在帮攻击者提权。

这就叫借刀杀人。不用自己的脏手去碰MIE保护的内存,让内核自己动手。

五天时间线,每一步都踩着点

4月25日,Bruce Dang发现漏洞。不是随机翻代码,而是用Mythos Preview扫了macOS 26.4.1的内核扩展接口。Mythos给出十几个候选,Bruce人工确认了两个可用的。

4月27日,Dion Blazakis加入。他的专长是漏洞链组合,把两个孤立的问题串成一条完整的攻击路径。他花了一天时间设计数据流:信息泄露漏洞读出内核地址空间布局,释放后使用漏洞制造一个悬空指针,然后用这个悬空指针去修改权限映射表。

4月29日,Josh Maine搭建了自动化利用框架。这个框架不是简单的脚本,它能根据MIE的响应自动调整攻击参数。比如第一次尝试写某个地址时,如果触发MIE异常,框架会回退到上一个步骤,换一个偏移量再试。传统手工调试需要几个小时,自动化框架几分钟跑完一百次尝试。

5月1日,完整的利用链跑通。从普通用户权限开始,执行一个几十行的C程序,五秒钟后弹出root shell。整个过程没有触发MIE的异常,也没有让内核崩溃。macOS 26.4.1,M5芯片,裸金属硬件,MIE开启。

五天的速度,比苹果内部的红队测试快了一个数量级。不是苹果红队菜,是他们没有Mythos Preview这种AI辅助工具。

亲自送到苹果总部,不只是为了仪式感

5月的第二周,Calif团队飞到库比蒂诺。他们没有走常规的漏洞报告渠道,而是直接约了苹果安全团队的面谈。原因很实在:最近Pwn2Own比赛后,苹果的漏洞报告系统被淹了,提交上去的报告可能几周都没人看。当面交,至少能确保有人接过那叠打印纸。

他们带了一份激光打印的55页报告。封面标题:First public macOS kernel memory corruption exploit on M5 silicon, surviving MIE。打印出来是为了致敬老派黑客精神,也为了让会议室里的苹果工程师能边翻边问问题。

苹果园区的会议室里,双方坐了大概两个小时。Calif演示了利用过程,苹果的人问了几个关键问题:Mythos Preview是不是完全自动化?能不能复现?有没有用到未公开的硬件特性?答案分别是:不完全,能,没有。

苹果的人承认,这是他们见过的第一个在MIE启用的M5上跑通的内核利用。注意不是第一个被报告的,是第一个在真实硬件上现场跑通的。

会后,Calif把报告电子版留给了苹果。双方约定,等苹果发布补丁后,Calif公开完整的技术细节。那55页报告里包含了完整的漏洞分析、利用代码、MIE绕过的具体方法。

这件事为什么重要

苹果的MIE是当前消费级硬件里最强的内存安全防御。没有之一。Intel的CET主要防返回地址劫持,ARM的MTE比CET强,苹果的MIE又比标准MTE强。而且MIE是默认开启的,不是可选功能。买一台M5 MacBook,开箱就有。

但防御再强,也只是提高了攻击成本。以前做一个M5内核利用可能需要几个月甚至一年,现在有了AI辅助,五天。成本降了两个数量级。

更重要的是,Mythos Preview这类工具会越来越强。它不是针对某个漏洞写的脚本,它是一个学会了攻击模式的系统。今天它能找释放后使用,明天它学会条件竞争,后天它学会数据类型混淆。每一个新学会的攻击模式,都会被复用到所有同类问题上。

苹果造MIE的时候,Mythos Preview还不存在。或者说,那时候的AI辅助漏洞挖掘还停留在学术研究阶段,离实战差很远。但现在,第一个AI驱动的实用化漏洞利用工具已经跑通了最强防御。

接下来会发生什么?其他厂商的类似防御也会面临同样的挑战。谷歌的PAC,ARM的MTE,Intel的CET,都只是时间问题。不是因为这些防御不好,而是因为攻击方用上了AI这个杠杆。

Calif团队在报告里写了一句很有意思的话:我们的小办公室造价不到十亿美元,苹果的总部花了五十亿。但有了AI,小团队突然能做出以前需要整个大厂才能做的事。

用越南话说,nhỏ mà có võ。个子小,但有功夫。

极客辣评

花费数十亿美元打造硬件安全系统,结果这么快就被破解,真是匪夷所思。说实话,如果Mythos这么快就能做到这一点,那它肯定已经达到了另一个层次。

我现在大概明白为什么 Anthropic 在发行 Mythos 时会如此谨慎了。

苹果公司耗时五年,投入数十亿美元进行芯片工程研发,最终成功推出了 MIE 芯片;而 Mythos Preview 仅用了五天时间就将其曝光。Calif 是 Anthropic 公司与高盛和黑石集团成立的 15 亿美元合资企业成员之一。本周,他们将这份长达 55 页的报告带到了苹果园区。

Anthropic Games 4 月份推出 Mythos;OpenAI 今天推出 Daybreak。在短短 34 天内,两家公司都宣布获得 55 亿美元的私募股权支持,组建庞大的人工智能开发团队。企业级人工智能的宣传重点从“害怕错过”(FOMO)转向“害怕怀疑”(FUD),而大批用户也纷纷涌入市场。

Mythos之所以能快速发现漏洞,是因为这些漏洞属于已知的漏洞类型。但是,绕过MIE仍然需要人工干预。所以,这并非“人工智能在5天内破解了一项新的缓解措施”,而是“已知模式的工作实现了自动化,而未知模式的工作却没有”。

简而言之:Mythos之所以能迅速发现漏洞,是因为它们属于已知的漏洞类型。但MIE是一种全新的、一流的缓解措施,因此自主绕过它可能很棘手。这时就需要人类专家的帮助了。他们引导Mythos顺利通过了MIE。