开源项目darwin-vm实现iOS/macOS 27虚拟机化:支持SPTM的Qemu解决方案深度解读

导语:苹果系统的安全性向来是行业标杆,SPTM(Static Kernel Trusted Loadable Monitor)和TXM(Trusted EXecute Monitor)更是其内核层面最核心的信任根组件。然而一位安全研究员刚刚开源了一个项目——darwin-vm,让这些”不可逾越”的安全边界在Qemu虚拟机里变成了可以随意调试的代码。iPhone 17到iPhone 12,所有M系列Mac,一个命令直接拿到root shell。这不是越狱,这是合法合规的系统级研究框架。


一、项目概述

darwin-vm(https://github.com/jprx/darwin-vm)由安全研究员约瑟夫·拉维钱德兰(Joseph Ravichandran,Twitter/X ID:0xjprx)于2026年8月开源。该项目基于Qemu实现对苹果操作系统的虚拟机化支持,区别于传统模拟器,它不是一个完整的iPhone或Mac模拟器——不提供屏幕、WiFi、蓝牙、图形界面或完整的SpringBoard——它的核心目标是让研究者能够直接调试内核、SPTM、TXM、launchd、dyld以及所有用户态程序。

换句话说,这是一个专为苹果系统安全研究设计的轻量级调试环境。


二、核心能力

2.1 支持的设备范围

设备CPUiOS 27.0 beta 7iOS 26.6
iPhone 17(A19)t8150
iPhone 16(A18)t8140
iPhone 15(A16)t8120
iPhone 14(A15)t8110
iPhone 13(A15)t8110
iPhone 12(A14)t8101

macOS方面,M5 Macbook Air、M4 Mac Mini、M3 Macbook Air、M2 Mac Mini均完美支持。M1 Mac Mini可运行iOS 26.6,但macOS 26.6会因内核恐慌而无法启动launchd。

2.2 启动即root,秒级拿到shell

在Qemu中加载SPTM内核后,系统直接启动到root shell:

bash-3.2# uname -v
Darwin Kernel Version 27.0.0: Tue Aug 11 22:05:33 PDT 2026; root:xnu-13432.1.9~3/RELEASE_ARM64_T8142
bash-3.2# whoami
root

无需越狱,无需内核补丁,不需要任何绕过。SPTM(Static Kernel Trusted Loadable Monitor)是苹果A14+芯片引入的最底层安全组件,它在硬件级别确保只有苹果签名的固件才能被加载运行。darwin-vm通过模拟SPTM执行环境,让研究者在虚拟机中完整运行受SPTM保护的内核——这对安全研究来说意义重大。

2.3 全栈可调试

以下组件全部可调试、可修改、可patch:

  • 内核内核(XNU):直接用GDB附加断点,单步跟踪系统调用
  • SPTM:这是苹果芯片最底层的安全监控器,传统上几乎不可能被研究,darwin-vm首次实现了用户态级别的调试能力
  • TXM(Trusted EXecute Monitor):处理敏感操作的受信任执行环境
  • launchd:苹果的初始化系统和进程管理器
  • dyld:动态链接器,所有用户态程序的加载入口
  • 所有用户态程序:自行编译的程序可以直接放入虚拟磁盘运行

2.4 支持MIE/MTE内存安全功能

MIE(Memory Integrity Engine)和MTE(Memory Tagging Extension)是苹果芯片的硬件级内存安全防护。darwin-vm支持带有MIE的CPU,这意味着即使在启用硬件级内存保护的条件下,系统依然可以正常运行。


三、技术原理

3.1 为什么需要Mac?

获取iOS/macOS的IPSW(苹果固件包)并从中提取内核组件这一步骤,需要在真实Mac上执行。脚本get_files.sh会连接苹果服务器下载指定IPSW文件,从中提取以下关键文件:

  • kernelcache.release.xxx:压缩后的内核映像
  • sptm.xxx.release:SPTM固件
  • txm.xxx.release:TXM固件
  • DeviceTree.xxx:设备树描述
  • ramdisk.dmg:恢复环境的根文件系统

这些文件受苹果签名保护,无法在非苹果设备上合法获取。因此整个流程的第一步必须在Mac上完成,但一旦文件提取完毕,后续的Qemu运行环境可以在任何支持Qemu的机器上运行——不需要ARM架构主机

3.2 qemu-sptm分支

darwin-vm使用了一个特殊的Qemu分支——qemu-sptm。这个分支在标准Qemu基础上添加了对SPTM/TXM虚拟化的支持,能够模拟A14到A19以及M1到M5芯片的核心安全组件行为。编译方式与标准Qemu完全相同:

git submodule update --init
cd qemu-sptm
mkdir build && cd build
../configure --target-list=aarch64-softmmu
make -j

编译完成后,二进制文件位于qemu-sptm/build/qemu-system-aarch64

3.3 根文件系统注入

get_files.sh会自动修改ramdisk.dmg,在其中植入启动脚本,使虚拟机启动后直接进入root shell而非正常iOS/macOS的图形界面。这个修改后的磁盘镜像可以被重新挂载并添加自定义程序:

hdiutil attach -owners on -mountpoint mnt firmware/ramdisk.dmg
sudo cp my_program mnt/bin/my_program
hdiutil detach mnt

添加的程序需要用苹果开发者证书签名,并将CDHash注册到信任缓存(trustcache)中,才能在启用了签名验证的系统里运行。


四、安装步骤

4.1 环境准备

在Mac上安装依赖:

brew install jq wget ipsw

4.2 克隆项目并获取固件

git clone https://github.com/jprx/darwin-vm.git
cd darwin-vm
./get_files.sh
./fix_perms.sh firmware/ramdisk.dmg

如需指定特定版本:

DEVNAME="iPhone17,3" URL="<IPSW_URL>" ./get_files.sh
DEVNAME="Mac16,10" URL="<IPSW_URL>" ./get_files.sh

4.3 编译Qemu

git submodule update --init
cd qemu-sptm
mkdir build && cd build
../configure --target-list=aarch64-softmmu
make -j
cd ../..

4.4 启动虚拟机

./run.sh

退出:按Ctrl+A然后按x


五、局限性

这是一个重要的免责声明:

  • 不提供图形界面:没有屏幕输出,没有WiFi、蓝牙、摄像头等硬件模拟
  • 没有完整的SpringBoard:看不到iOS主屏幕和任何图形应用
  • 不能运行App Store应用:这不是一个可用的iPhone模拟器
  • 早期启动偶发崩溃:t8110设备(iPhone 13/14)有时会在launchd之前内核恐慌,重启即可
  • MIE影响性能:如果设备支持MIE,虚拟化会显著变慢,不需要MIE时建议选择不带MIE的设备

本质上,这是一个类似”用Qemu加载定制内核+initrd来调试Linux”的工作流程,只是对象换成了Darwin系统。


六、安全研究价值

darwin-vm的出现对苹果平台安全研究具有里程碑意义:

第一,SPTM首次被开放给社区研究。 SPTM自A14芯片引入,是苹果芯片级安全架构的核心。它的存在让业界几乎没有人能够在真实硬件上研究其行为。darwin-vm第一次创造了一个可控、可调、可修改的虚拟SPTM执行环境。

第二,内核漏洞挖掘门槛大幅降低。 过去想在iOS/macOS内核上挖漏洞,你需要越狱设备或者购买内核调试工具包(KDK)并配有特定硬件。darwin-vm让任何有Mac的人都能用GDB调试内核。

第三,供应链安全研究的新工具。 有了可调试的虚拟化环境,研究者可以更深入地分析iOS/macOS的启动链信任模型,研究苹果的代码签名机制和信任缓存的运作方式。


七、总结

darwin-vm不是”破解iPhone”的项目,也不是为了绕过苹果的安全防护——它是一个合法的苹果平台安全研究基础设施。通过虚拟化技术,它让那些原本躺在苹果芯片最底层的信任组件变得透明可见。

对于安全研究员来说,这是难得的机会:过去只有苹果内部团队和少数授权合作伙伴才能接触到的研究领域,现在你只需要一台Mac和GitHub上一行git clone

条条大路通shell——这次,连苹果的硬件级安全壁垒都给你开了一扇窗。

项目地址:https://github.com/jprx/darwin-vm

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容