“黑客”龙磊:越狱 iOS 11.2,我选了一条最难走的路
苹果越狱不好搞,但他们居然两个月内针对三个最新版系统“越”了三次,这就很神奇了。
“他们”就是阿里巴巴的潘多拉实验室。
潘多拉实验室于 2017 年成立,此前仅在阿里先知创新大会上露过一次面,其安全研究员用视频演示了安卓8.0 的 Root 提权和 iOS 11.1 的完美越狱。
12 月 13 日,阿里安全潘多拉实验室称,已经完美越狱苹果 iOS 11.2。一天后,在苹果发布了 iOS 11.2.1之后的数小时内,他们又演示了针对该版本的完美越狱。
“完美越狱”是有技术含金量的。“非完美越狱”后的手机一旦重启,你就得重新手动操作一遍越狱流程,有点像“一次性”越狱。而完美越狱可在重启手机后,还能自动执行越狱代码,在重启前完成越狱。
人前厉害、风光,人后的苦可能只有研究者自己知道。
潘多拉实验室 iOS 11.2 的越狱作者龙磊对宅客频道表示, 2015 年初步研究苹果越狱时,十分孤独。有意思的是,上一个对雷锋网宅客频道表达这种忧思的是腾讯科恩越狱了 iOS 11.1. 1 系统的著名黑客陈良。“越狱期间我买了一个小酒壶,郁闷时候喝两口,偶尔还能激发别的思路。”陈良说。
龙磊经历思路受阻,睡不着觉时,会喝两口意式浓缩,看看越狱和咖啡,到底哪一种更苦。
从“越狱生态”到“越狱苹果”
龙磊不是一开始就选择研究苹果越狱的。确切来说,一开始他想专职研究苹果系统越狱,但没敢。
“不敢”是有原因的。
2011 年,龙磊加入了腾讯手机卫士团队。当时,他在腾讯做的是越狱环境下的应用。。比如,苹果手机越狱后可以在非官方店下载第三方应用,他做的就是与第三方应用和生态相关的事情。2014 年 6 月,龙磊从腾讯离开时,中国还没有人成功实现苹果手机越狱。
在此之前,要去探索一座国人尚未涉猎过的高峰,不知道前方能否有所收获,可能需要积累勇气。不过,这并不妨碍他在工作之余自学越狱技术。
环境推了龙磊一把。
从友盟发布的数据看,越狱 iPhone 在手机总数中所占的比例从 2013 年第一季度时的 35% 下降到了当年年底时的 12% 。从 2013 年年底开始,越狱 iPhone 所占的比例稳定在了 10%-15% 之间。
“越狱的生态越来越萎缩,苹果生态研究变得没有那么有市场,感觉掉转方向的时机可能到了。”龙磊说。
2014 年 6 月,龙磊决定离开,去探寻可能可以追逐最初梦想的机会。
不料,6 月 24 日,中国有个叫做“盘古”的越狱团队与知名的第三方市场 PP 助手联合发布了国内首款 iOS7.1.1 完美越狱工具“盘古”。
龙磊看到这则新闻时,感到又惊喜又紧迫。
此时,他已经打算进入阿里巴巴的移动安全团队,准备探索 iOS 系统的不足——这个看上去离原来的兴趣更近一点了。但他依然没敢“正大光明”地宣告自己要越狱,还在积累技术。直到 2014 年底,龙磊觉得自己的技术“差不多了”,他所在的部门也很支持这件事。他觉得“越狱”这件事可以搞了。
选择研究“工具”还是“系统”
不过,事情没有那么顺利。
2015 年,龙磊陆续向苹果提交了一些漏洞,并带着自己关于构建通用漏洞挖掘工具的思路《Optimized fuzzing IOKIT in iOS》在世界著名黑客大会 Blackhat 2015 上进行了分享。台下,他还与苹果公司的工作人员聊了很多关于苹果系统机制的问题。
看上去顺风顺水。但是,一个念头闪了过来,龙磊突然觉得自己可能走岔了路。
龙认为,自己在通用的漏洞挖掘工具上投入了太多精力,却忽略了对苹果安全机制本身的研究。
2017年 12 月 18 日,龙磊和潘多拉实验室负责人宋杨坐在雷锋网宅客频道面前时,是这样反思的——“对于苹果安全机制的研究恰恰是最重要的。”宋说,龙磊在以前阿里内部的经验分享上,还着重介绍了苹果越狱的两个技术流派:“气宗”和“剑宗”。
其实,这就是安全圈挖掘漏洞的两种主流的方式。 第一种,开放通用的漏洞挖掘工具。第二种,完全不用工具,靠研究人员去做分析、看代码。
龙说,不能说哪种方法更好。如果面对是成熟度比较低的代码,使用漏洞挖掘的工具效率可能会更高,但如果面对的是 iOS 内核级的漏洞,它的代码过了很多年以及无数安全研究员的检验,代码发展已经变得非常稳定,这种情况下,通过深入分析和工具,效果会更好。
显然,龙磊认为,工具并不是自己朝苹果越狱前进最重要的东西,理解 iOS 系统,研究它的安全机制,才是验证苹果系统是否有“缺口”的关键所在。
这也是后来潘多拉实验室一直没有发布越狱工具的原因之一,宋杨认为,发布工具不是他们的目的,他们的初衷还是检测苹果系统是否“足够安全”,从攻击视角提升移动生态安全的水位。
挑战最难的模块,恰恰是最快的路
2016 年是龙磊最“痛苦”的一年。
及时调整方向后,原来的老搭档也来到了阿里,龙磊与他一起全身心地投入了苹果系统的深入研究与分析,并尝试用新思路来做这件事。
很快,他们完成了第一次越狱。但是,龙磊等人的喜悦并没有维持多久,苹果就进行了一次安全升级,这次的越狱马上失效了,龙磊等人研究出来的“越狱有效时间”只有 3 个月。 “当时,我感受到了很强的挫败感,自己投入了很长时间研究的东西,苹果发布一个安全修补升级后,我们的努力一下子从100分降到了0分。”龙磊说。
随后的一年里,他们都在找漏洞—完成越狱—漏洞被苹果修补这三种状态间来回切换,龙磊等人与苹果玩着“猫捉老鼠”的游戏,一时间无法找到稳定的越狱方法,十分焦虑。
直到 2017 年,随着其研究的深入和经验的积累,龙磊等人才可以做到比较快速地应对苹果的安全升级,并且保持越狱的能力。
龙磊没有透露此次越 iOS 11.2 的手法。但雷锋网了解到, iOS 11.1 包含有存在缺陷的、可以被绕过的 SMAP 机制。苹果在 iOS 11.2 中修复了这个漏洞,迫使研究人员寻找其他绕过 SMAP 的方法。此次越狱 iOS 11.2 则利用了一个内存缓冲区溢出漏洞,触发内核错误。
龙磊告诉雷锋网,如果没有意外,他们走出来的“这条大道”在接下来苹果要发布的新版本中,大概率还能走得通。
他总结了一个经验:“以前出过安全问题的一些模块更有可能产生安全问题。但是业界对这些模块的关注度是一阵一阵的。比如,有人这一年关注这个模块,下一年关注另外一个模块,但我可能会选择回退好几年,去看大家曾经关注过的模块,那些看上去成熟度已经非常高的模块一旦找到漏洞,或者安全机制上的问题,就不那么容易被修补掉。”
不追热点,能回头反思,找成熟度最高的模块下手,挑战看上去最不可能的路,对龙磊而言,恰恰是走得最快的那条路。
。