iPhone Boot ROM漏洞checkm8:越狱与安全影响全解析

本文详细分析axi0mX发布的iPhone Boot ROM漏洞checkm8,涵盖漏洞原理、受影响设备范围、越狱实现机制、安全影响及防护建议,涉及硬件级漏洞利用与iOS安全架构深度解析。

Tethered越狱卷土重来 - Trail of Bits博客

Ryan Stortz
2019年9月27日
apple, exploits, iverify

今日早间,axi0mX在GitHub上发布了新的iPhone Boot ROM漏洞利用程序checkm8(又称Apollo或Moonshine),影响从iPhone 4S到iPhone X的设备。该漏洞在配备A12和A13芯片的设备中已被修补。截至本文撰写时,iPhone XS、XS Max、XR、11、11 Pro和11 Pro Max均不受此漏洞影响。

我们强烈建议所有记者、活动人士和政治人士升级到过去两年发布、搭载A12或更高版本芯片的iPhone。所有其他设备,包括仍在销售的机型(如iPhone 8),均易受此漏洞攻击。无论使用何种设备,我们还建议设置字母数字混合密码,而非6位数字密码。强字母数字密码可保护手机数据免受此类及类似攻击。

自公开Boot ROM漏洞发布以来已过去很长时间。上一个此类漏洞由George Hotz(geohot)于2010年发现,影响iPhone 3GS和iPhone 4。

发布内容详解

checkm8利用Boot ROM允许任何对手机拥有物理控制权的人运行任意代码。Boot ROM(也称为Secure ROM)是iPhone开机时执行的第一段代码,且无法更改,因为它被"烧录"在iPhone硬件中。Boot ROM初始化系统并最终将控制权传递给内核。它是iOS可信启动链的信任根,并在传递执行控制权前验证启动过程下一阶段的完整性。

Boot ROM是安全启动链的蜂窝信任根的动力源(来源:Apple iOS安全指南)

checkm8不包含启动越狱内核所需的代码,但包含了初始步骤。很可能社区将很快发布完整的tethered越狱工具,并逐步演进以支持所有设备和版本。

该漏洞利用还包括在iPhone CPU上启用调试功能(如JTAG)的能力——这对安全研究者和越狱者来说是一大胜利。苹果在2016年BlackHat演讲中将此称为"降级"手机。这恐怕不是苹果发布"研究设备"时的本意。

影响与使用场景

在启动过程中可执行的任意(即未经苹果签名)代码可用于启动已越狱的内核,正如2011年左右redsn0w所做的那样。这种早期访问还提供了对AES引擎的访问权限,使得能够使用GID密钥解密苹果加密的固件(如iBoot)。

2013年,我们利用先前的Boot ROM漏洞通过暴力破解密码来获取用户数据。此后数年,苹果引入了安全隔区(SEP)——一个管理用户数据加密密钥的独立处理器。SEP通过重放计数器和退避计时器强化了对抗密码暴力破解的能力。目前尚不清楚这一新漏洞对SEP的访问程度,因此我们无法准确判断对设备隐私的影响。在苹果2016年的演讲中,他们指出设备降级会强制SEP更改与密码纠缠的UID密钥。更改UID密钥的效果是通过使解密变得不可能来永久保护设备上的用户数据。

在设计SEP时,苹果的威胁模型包含了"对抗性"情境,如另一个Boot ROM漏洞。

如果checkm8利用的漏洞已被Cellebrite用于取证分析,这并不令人惊讶,但他们需要其他技巧或漏洞来破坏SEP的保护。

checkm8不允许执法部门解密手机,但允许他们在30秒无人看管访问的情况下植入根工具包。一旦用户解锁手机,他们将获得所需的一切。—— Ryan Stortz (@withzombies) 2019年9月27日

未来展望

该漏洞已在新硬件(iPhone XS、iPhone XR、iPhone 11)上修复,但苹果仍在销售易受此漏洞影响的硬件(iPhone 8以及部分iPad和iPod)。他们需要创建新的CPU掩模并发布这些设备的更新版本来确保安全。这不太可能发生,因为在上一个Boot ROM漏洞发布时,苹果并未发布修补后的iPhone 4。

很可能我们将看到一个大型社区项目,应用通用补丁并安装Cydia和其他替代应用商店。这对研究者是一大福音,但对盗版者也是如此。

对高风险用户的建议

升级到过去两年发布、搭载A12或更高版本芯片的iPhone。所有其他设备均易受此漏洞攻击。升级后,通过选择"设置 > 通用 > 重置 > 抹掉所有内容和设置"来擦除之前的手机。已修补此问题的设备包括:

  • iPhone 11、11 Pro、11 Pro Max
  • iPhone XS、XS Max
  • iPhone XR

设置字母数字混合密码,而非6位数字密码。即使存在此漏洞,攻击者仍必须暴力破解您的密码才能访问数据。强字母数字密码将保护您的数据免受这些攻击。要配置字母数字密码:

  • 在iPhone X及更新机型上,前往"设置 > 面容ID与密码"。
  • 在较早的iPhone机型上,前往"触控ID与密码"。在没有触控ID的设备上,前往"设置 > 密码"。
  • 点击"更改密码"。
  • 输入当前密码。
  • 当提示输入新密码时,点击"密码选项"并选择"自定义字母数字密码"。

检测这些越狱

在常见情况下仍可检测越狱手机,但无法检测iPhone是否已被checkm8利用。越狱检测必须继续依赖识别漏洞利用的副作用。iVerify Core继续提供全面的越狱检测套件,我们将在新越狱发布时持续更新。联系我们以了解更多关于iVerify Core的信息。

如果您喜欢这篇文章,请分享:
Twitter | LinkedIn | GitHub | Mastodon | Hacker News

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