越狱回归:checkm8漏洞深度分析
2019年9月27日,安全研究人员axi0mX在GitHub上发布了名为checkm8(亦称Apollo或Moonshine)的iPhone Boot ROM漏洞,影响范围从iPhone 4S覆盖至iPhone X。采用A12及A13芯片的设备已修复该漏洞,目前iPhone XS、XS Max、XR、11、11 Pro和11 Pro Max均不受影响。
我们强烈建议记者、活动家和政治家升级至过去两年内发布的、搭载A12或更高版本芯片的iPhone。包括仍在销售的iPhone 8在内的其他设备均存在风险。无论使用何种设备,均建议设置字母数字混合密码而非6位数字密码,以有效防护此类攻击。
漏洞详情
checkm8利用Boot ROM(亦称Secure ROM)漏洞,使任何能够物理接触设备的人均可运行任意代码。Boot ROM是iPhone启动时执行的首段代码,由于被"烧录"至硬件中而无法修改。它初始化系统后会将控制权移交内核,作为iOS可信启动链的信任根,在传递执行控制前验证启动过程下一阶段的完整性。
“Boot ROM是安全启动链中信任根的基石”(来源:Apple iOS安全指南)
checkm8虽未包含启动越狱内核的完整代码,但提供了初始步骤。预计社区将很快发布完整越狱工具,并逐步扩展设备与版本支持。该漏洞还可启用iPhone CPU的JTAG等调试功能,这对安全研究者和越狱者意义重大——苹果在2016年黑帽大会上将此称为"设备降级"。
影响与用例
启动过程中执行的任意代码(即未经苹果签名)可用于启动已越狱内核,类似2011年redsn0w的操作。早期访问还支持使用GID密钥解密苹果加密固件(如iBoot)。2013年,我们曾通过暴力破解密码利用Boot ROM漏洞获取用户数据。此后苹果引入安全隔区(SEP)——独立处理器管理用户数据加密密钥,并通过重放计数器和退避计时器强化防暴力破解机制。
目前尚不清楚新漏洞对SEP的访问程度,因此无法准确评估对设备隐私的影响。苹果在2016年指出,设备降级将强制SEP更改与密码纠缠的UID密钥,通过使数据无法解密实现永久保护。苹果设计SEP时已将Boot ROM漏洞等"对抗性"场景纳入威胁模型。
checkm8可能已被Cellebrite用于取证分析,但需额外技术突破SEP防护。该漏洞虽无法直接解密手机,但允许执法部门通过30秒无人值守访问植入根kit——用户解锁后即可获取全部所需数据。
未来展望
新硬件(iPhone XS、XR、11)已修复该漏洞,但苹果仍在销售存在风险的设备(iPhone 8及部分iPad和iPod)。需创建新CPU掩模并发布设备更新版才能彻底解决,但类似iPhone 4未发布补丁的历史表明可能性较低。预计将出现大型社区项目应用通用补丁并安装Cydia等替代应用商店,这对研究者和盗版者均是机遇。
高风险用户建议
-
升级设备:更换为过去两年发布、搭载A12+芯片的iPhone,其他设备均存在风险。升级后通过"设置 > 通用 > 还原 > 抹掉所有内容和设置"清除旧手机数据。已修复设备包括:
- iPhone 11/11 Pro/11 Pro Max
- iPhone XS/XS Max
- iPhone XR
-
设置强密码:使用字母数字混合密码而非6位数字密码。即使存在漏洞,攻击者仍需暴力破解密码才能访问数据。设置路径:
- iPhone X及更新机型:设置 > 面容ID与密码
- 旧款机型:触控ID与密码(无触控ID设备:设置 > 密码)
- 点击"更改密码",输入当前密码后选择"密码选项"并启用"自定义字母数字密码"
越狱检测
常规越狱手机仍可检测,但无法识别是否遭受checkm8攻击。越狱检测需继续依赖利用副作用的识别。iVerify Core提供全面越狱检测套件,并将随新越狱工具发布持续更新。