iOS Boot ROM漏洞checkm8:从越狱到设备安全的深度解析

本文详细分析了axi0mX发布的iPhone Boot ROM漏洞checkm8,该漏洞影响iPhone 4S至iPhone X设备,允许物理接触设备者执行任意代码,并探讨了其对设备安全、数据加密和越狱社区的深远影响。

Tethered jailbreaks are back - The Trail of Bits Blog

Tethered jailbreaks are back

Ryan Stortz
September 27, 2019
apple, exploits, iverify

今天早些时候,axi0mX在GitHub上发布了一个新的iPhone Boot ROM漏洞checkm8(也称为Apollo或Moonshine),影响从iPhone 4S到iPhone X的设备。该漏洞在配备A12和A13 CPU的设备上已被修补。截至本文撰写时,iPhone XS、XS Max、XR、11、11 Pro和11 Pro Max均不受此漏洞影响。

我们强烈建议所有记者、活动家和政治家升级到过去两年发布的、配备A12或更高CPU的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 Security Guide)

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秒的无监督访问时间内对其进行rootkit。一旦用户解锁,他们将获得所需的一切。—— Ryan Stortz (@withzombies) 2019年9月27日

未来

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

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

对风险用户的建议

升级到过去两年发布的、配备A12或更高CPU的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

页面内容
近期文章
使用Deptective调查您的依赖项
系好安全带,Buttercup,AIxCC的评分轮正在进行中!
使您的智能合约超越私钥风险
Go解析器中意想不到的安全隐患
我们审查首批DKLs的收获
来自Silence Laboratories的23个库
© 2025 Trail of Bits。
使用Hugo和Mainroad主题生成。

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