本文作者:皮乐 (原文出处)
不同于以往的文章,由于这次的漏洞太可怕,所以我会尽量用对“没有技术概念的人”也可以看得懂的方式说明。
首先,在几个月前,国外的骇客发现了 checkm8 这个 bootrom 漏洞,而在最近,基于这个漏洞所实作的越狱工具 checkra1n 已经释出。
我们都知道,手机、电脑的系统并非完美无缺,都会有一些大大小小的 bug,小的可能只是系统会当机耗电,严重的则是骇客可以轻松偷取你的资料。大部分的情况下,这些 bug、漏洞都可以透过系统更新来解决。但极少数的情况下,由于漏洞是出现在无法更新的“硬件”上,导致有这个漏洞的装置无论如何系统更新都无法修正,而这次的 checkm8 就是属于这样的漏洞(bootrom exploit)。
checkm8 影响的装置范围非常广大,从 iPhone 4s 到 iPhone X、iPhone 8 这一代完全都被影响,当然,在这期间发布的所有 iPad、iPod touch、Apple TV、Apple Watch,甚至 HomePod 全部也包括在内。
简单来说,iPhone 上唯一不受到影响的只有 iPhone XR、iPhone XS、iPhone 11、iPhone 11 Pro(以及未来出现的机种),iPad 只有 iPad Pro 12.9 吋(第三代)11 吋、iPad Air (第三代)、iPad mini(第五代)以及未来出的机种不受到影响(请注意,2019 年 9 月出的 iPad 第七代有此漏洞),iPod touch 全系列则目前全灭。
在 checkra1n 发布之前,如果想要骇入别人的 iPhone,通常会需要诱导对方下载恶意软件(类似钓鱼手段),或者拿到对方手机之后,要解开密码,再安装恶意软件进去。解开 iPhone 密码的难度相信大家大概都有听过,就连 FBI 想要破解恐怖攻击份子的 iPhone 密码都遭遇困难了,可见没有相当技术能力是几乎不可能达成的。而最严重的远端执行恶意程式码漏洞,有公司开价 200 万美金征求此类漏洞,可见其困难度以及稀缺程度根本无法想像。
然而 checkra1n 出现之后,大大降低了偷取资料的难度。经过实验证明,透过 checkra1n (或者任何基于 checkm8 此漏洞开发的工具),可以在没有任何密码的情况下,只要可以接触到对方手机,就可以直接用软件列出手机内部的档案,更甚者,可以植入恶意软件。虽然恶意软件在重开机之后就会无法执行,但对于只需要一次性偷取资料的情况来说,已经是绰绰有余了。或者我们可以问自己,你的 iPhone 多久重新开机一次?我自己最高纪录是 40 多天没有重开过。
更重要的是,目前 checkra1n 这个破解工具虽然需要手机连接上电脑才可以执行,但是目前已经有人在开发硬件 dongle。未来只要攻击者在你去上厕所,手机放在桌上的时候,有机会拿到你手机三分钟,就可以插入一个像是随身碟的装置到你的 iPhone 上,就可以植入恶意软件,或者获得部分重要资讯。
因此在此呼吁所有各界重要人士、政府部门官员,如果你使用 iPhone,强烈建议尽早更换到 iPhone XR、iPhone XS、iPhone 11、iPhone 11 Pro 等没有漏洞的硬件,iPod、iPad 也一并更换。
今天我借到了一台 iPad mini 2、一台 iPhone 7 Plus,跟一台 iPhone 6s,我对它们使用 checkra1n 工具触发漏洞,然后尝试在没有密码解锁的情况下读取装置内的资料。结果实验成功,两台装置都让我可以直接看到使用者的档案。
【更新】有太多人怀疑我的实验过程了,刚刚重新实验一次,步骤如下:
- iPhone 6s DFU 重刷 iOS 13.2.2
- 刷完之后不接电脑,设定好 iCloud、Find My iPhone、Touch ID、密码
- 下载一个 App Store 软件并且进去 App 做一些操作
- 手机接上电脑,不解锁,进入 DFU 执行 checkra1n
- 破解完成之后存取手机,下指令发现可以看到照片列表,但无法读取(所以没破解密码可以直接读取是错的,在此更正)
- 测试读取 /var/mobile/Library/Preference 里面内容,可以看到内容
- 测试重新挂载根目录,可以挂载并写入内容
在实验中,我可以确定几件事:
- 不需要密码就可以获得使用者档案列表
- 装置跟电脑之间不需要按“信任连线”一样可以获得资料
- Sandbox 跟使用者目录虽无法直接看到内容,但可以透过根目录写入档案,有机会植入恶意软件
- 光可以看到使用者档案列表,对于某些 App 来说已经有讯息泄漏可能(例如你有一个管理文件档案的 App,然后你的档名就包含机密资讯)
- 档案保护仅在开机后,第一次输入解锁密码前有效,攻击者可以在攻击后交还手机给使用者,等到他解锁密码后,等待下一次拿到手机的机会就可以真正直接免密码读取资料
▼ 如下图,尝试列出手机内的照片档案成功(这是 iPhone 6s,有 Touch ID (SEP) 保护,未解锁密码)
最后再次强烈警告,这不是像是“追踪器在有跟没有之间”的唬烂嘴,而是经过实验证明的结果。
尤其最近大选将近,无论哪一个阵营,请都保护好自己的资料安全。
补充一点,平常使用各种要插入 iPhone 的设备时,需要注意不要在手机上“信任”该装置即可。因为要被攻击,手机必须进入一个叫“DFU 模式”的特殊模式,一般我们正常使用是不可能触发 DFU 模式的,所以你仍然可以用别人的充电器、保护壳之类的,只要不让其他人可以操作你的手机本身就不必担心漏洞本身。但是一旦被攻击者可以摸到你的手机,操作 DFU 模式的话,不管是不是用原厂线或者任何配件,一样会被攻击。此外,一旦你点了“信任”充电装置,代表允许改装置读取你的资料,那这样无论你用哪一台手机,不管有没有漏洞,你的资料都是在危险威胁下的。
如何保护自己的资料安全?
- 重要人士请更换你的手机到 iPhone XS 以上
- 一般使用者,如果离开手机一阵子回来发现突然变成“重新开机后必须解锁密码”的画面,请直接重新开机,因有可能已经被破解,攻击者在等待下一次机会。
- 弄丢手机的状况,请确定所有 App 里面储存的档案名称里面不包含敏感资讯,否则建议直接远端清除资料。
- 如上所述,连接充电器或者各种装置时,不要随便按“信任”
PS. 因为 iPhone XS 修正了这个漏洞,所以肯定在 iPhone XS 研发阶段,Apple 就知道这个问题了,但是在今年还是推出了有漏洞的 iPad 第七代跟 iPod touch 第七代,提姆厨子你好样的。
感谢 Mowd、Jacob、Garynil 提供机器测试,感谢 littlesocks 给予这篇文章诸多建议,感谢 Birkhoff Lee 对于实验过程的指正。若没有他们的协助,我无法完成这项研究文章。