iPhone Boot ROM漏洞checkm8重现:硬件级越狱与安全威胁解析

本文深度解析axi0mX发布的iPhone Boot ROM漏洞checkm8,涵盖漏洞原理、对iPhone 4S至X的影响,以及如何通过升级设备和设置强密码防护数据安全。

漏洞发布

今日,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安全指南)

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

该漏洞还包括启用调试功能(如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


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