iOS Boot ROM漏洞checkm8:越狱与安全风险深度解析

本文详细分析了axi0mX发布的iPhone Boot ROM漏洞checkm8,该漏洞影响iPhone 4S至iPhone X设备,允许物理接触者执行任意代码。文章探讨了漏洞的技术原理、对安全启动链的影响、SEP保护机制的局限性,并给出了设备升级和安全设置建议。

越狱回归: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等替代应用商店,这对研究者和盗版者均是机遇。

高风险用户建议

  1. 升级设备:更换为过去两年发布、搭载A12+芯片的iPhone,其他设备均存在风险。升级后通过"设置 > 通用 > 还原 > 抹掉所有内容和设置"清除旧手机数据。已修复设备包括:

    • iPhone 11/11 Pro/11 Pro Max
    • iPhone XS/XS Max
    • iPhone XR
  2. 设置强密码:使用字母数字混合密码而非6位数字密码。即使存在漏洞,攻击者仍需暴力破解密码才能访问数据。设置路径:

    • iPhone X及更新机型:设置 > 面容ID与密码
    • 旧款机型:触控ID与密码(无触控ID设备:设置 > 密码)
    • 点击"更改密码",输入当前密码后选择"密码选项"并启用"自定义字母数字密码"

越狱检测

常规越狱手机仍可检测,但无法识别是否遭受checkm8攻击。越狱检测需继续依赖利用副作用的识别。iVerify Core提供全面越狱检测套件,并将随新越狱工具发布持续更新。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计