本篇为《2022 年度十大安全漏洞利用事件报告》的第三篇。
越狱社区过往的活跃,给越狱发烧友造成了一种错觉:越狱工具总是会有的。
然而,2022 年,当 iOS 16 发布面世时,针对 iPhone XS 及以后型号上 iOS 15 的公开越狱工具却仍未出现,直到一个月后 Fugu 15 的发布。
这样的姗姗来迟,是一种偶然吗?
2022 年 9 月 12 日 iOS 16 正式发布,也标志着 iOS 15 成功完成了历史使命。
退居二线的 iOS 15 创造了一个不大不小的纪录:在 iOS 15 发行周期内,尽管有多个实现内核任意读写能力的 PoC 发布,一直没有针对最新 iPhone 型号的公开越狱工具出现。
这当然与 iOS 15 安全性的大幅提高有关,尤其是与 iOS 15 的纵深防御体系有关。
iOS 15 在阻断内存破坏漏洞和限制内核任意读写的后续转化等方面做得非常出色。
不过,@LinusHenze 还是赶在万圣节把越狱工具Fugu 15 以开源形式发布了!
如同上一代 Fugu 14 越狱一样,Fugu 15 再一次洞穿了 iOS 15 的整条防线。
在用户态,Fugu 15 利用了 iOS 的代码签名验证逻辑错误,直接获得了无沙盒和任意 entitlement 的代码执行环境。
这一步非常关键,因为 Fugu 15 攻击内核的漏洞位于 DriverKit 中,需要特殊 entitlement 才能触发。
在 Fugu 14 中,Linus Henze 攻击内核时,利用了一个任意物理地址读写的漏洞;
在 Fugu 15 中,Linus Henze 利用了一个新的非常强大的内存问题,直接获得了稳定的任意相对地址读写的能力。
在破坏力如此巨大的漏洞面前,iOS 15 的内核防御终于败下阵来。
Linus Henze 很轻松地把这个任意相对地址读写转化为任意地址读写,并又一次上演了 PAC 绕过(获取任意内核函数调用能力)和 PPL 绕过(任意物理页面修改能力)。
同年 11 月,在韩国 Power of Community 大会上,@_simo36 分享了另外一套 iOS 15 内核任意读写的工作 WeightBufs,所利用的内核漏洞位于苹果神经引擎(Apple Neural Engine)驱动中。
与 Fugu 15 的内核漏洞相比,WeightBufs 的这些内核漏洞的触发更为繁琐,稳定性也要差一些。
但是这些漏洞的直接破坏能力也近乎于任意相对地址读写。
Fugu 15 和 WeightBufs 都在任意相对地址读写能力基础上,再次转换为任意内核地址读写。
这也从侧面佐证了 iOS 内核对传统内存破坏漏洞转化空间的有效压制。
越狱工具的迟来,注定是一种必然。
一方面,苹果对 iOS 系统的持续安全投入,使得 iOS 不断改进,防御体系逐渐完善。
与 2007 年苹果刚面世时的越狱难度相比,现在的 iOS 越狱难度可谓是地狱级别。
另一方面,逐渐优化的漏洞奖励计划,也让漏洞不断流向苹果内部,致使越狱社区走向没落。
知名越狱网站 Cydia 的用户曾一度达到千万规模,却在 2018 年直接关停。
当 Linus Henze 在 Objective by the Sea 安全大会上云淡风轻地介绍 Fugu 15 细节的时候,没人可以预测,下一次能完整突破 iOS 防线的越狱工具会在什么时候出现。
苹果证明了,安全投入不是成本和负担,而是对商业模式的保护和对品牌的投资。
而最终 iOS 提供给用户的安全感,对于苹果来说,无疑更是一笔不可估量的财富。如此商业智慧,悟到者有多少?做到者又有多少?
参 考:
[1] https://github.com/pinauten/Fugu15
[2] https://github.com/LinusHenze/Fugu14
[3] https://github.com/0x36/weightBufs/
[4] https://www.washingtonpost.com/business/economy/once-the-hobby-of-tech-geeks-iphone-jailbreaking-now-a-lucrative-industry/2011/04/01/AFBJ0VpC_story.html
请关注《深蓝洞察 | 2022 年度十大安全漏洞与利用》第四篇:
本期关键词
自 由
阻断,压制,地狱级别。 只有挑战过最高难度防御系统的黑客,才能体会,成功越狱后 Linus 那云淡风轻的自由和畅快。 加入独立的 DarkNavy,和曾多次创造过“首个成功挑战”的研究员们一起,追求自由、自由追求。
任意读写,绕过,洞穿。
扫码进 DarkNavy 官方交流群
你的洞见 群里见