“就在今天凌晨,苹果向中国推送了 iOS 10 正式版更新。
然而,在你点击升级之前,看起来盘古团队已经完成了对它的越狱。
盘古团队核心成员不多,却是很多人眼中的 iOS 越狱之神;他们是中国,也是世界上唯一公开承认自己有能力越狱 iOS 10 的黑客团队。
iOS 的安全机制都有哪些?
越狱 iOS 究竟有多困难?
在开始研究 iOS 的日子里,盘古团队曾遇到过那些困难?
刚刚公开的 iOS 9.3.3 越狱工具究竟牛在什么地方,竟然让苹果专门推送 iOS 9.3.4 来封堵漏洞?
目前盘古团队越狱 iOS 的技术能力究竟有多强?
本次硬创公开课,我们独家请到了盘古团队(犇众信息)的 创始人&CEO 韩争光,听他敞开心扉,聊一聊有关盘古越狱的一切!
【TB 韩争光】
韩争光 ,花名TB,盘古团队(犇众信息)创始人&CEO。
盘古团队,是由多名资深安全研究人员组成的专业安全研究团队。团队因连续多次发布iOS完美越狱工具而闻名,是国内首个自主实现苹果iOS完美越狱的团队,也是全球范围内第一个实现针对iOS 8和iOS 9系统完美越狱的团队。
上海犇众信息技术有限公司,是以盘古团队为核心的自主创新型企业。在操作系统安全性研究、程序自动化分析、漏洞挖掘与攻防等研究领域有深厚基础。公司创立于2014年,致力于移动互联网安全技术研究和产品研发、为企业及个人用户提供专业的安全服务和解决方案。
【盘古团队核心成员合影】
雷锋网宅客频道:盘古团队的核心成员都比较低调神秘,可以为我们介绍一下,团队这些 iOS 越狱大牛都有哪些吗?
我叫韩争光,犇众信息(aka 盘古团队) 创始人&CEO,16岁那年考上哈尔滨理工大学,18岁肄业开始出来从事网络安全工作,曾就职于《黑客防线》、Fortinet等安全公司,到现在超过15年的网络安全从业经验了,基本上都是做安全技术方面的工作。
徐昊,是上海交大的信息安全硕士;
陈小波,曾就职于启明星辰积极防御实验室、Mcafee、IntelSecurity、FireEye等安全公司从事资深网络安全研究职位;
李小军,是北京理工大学硕士,曾任启明星辰助理总裁,负责启明星辰积极防御实验室;
王铁磊,是我们这里学历最高的,北京大学计算机系博士,美国Georgia Tech博士后。毕业论文获得中国计算机学会优秀博士论文奖,是国内首个在IEEE S&P 、NDSS、TISSEC等顶级学术会议和期刊以第一作者发表论文的研究人员。2011年获Secunia最有价值贡献者奖;
曾凡宇,精通硬件,国内早期著名的文曲星和魅族的研究者。国内第一个实现Android系统移植到魅族M8的大牛。
其中除了曾凡宇侧重硬件之外,其他基本上都做了10多年的漏洞挖掘和安全研究的工作。
雷锋网宅客频道:什么原因让盘古团队开始做 iOS 的越狱和安全研究?
其实对于普通用户来说越狱技术比较神秘,但是对于网络安全从业者来说,越狱就是系统层面的攻防。
最早盘古的核心都是国内外安全行业从业10多年的资深研究人员,一直以来都在做漏洞挖掘方面的研究。大家对 iOS 比较感兴趣,就弄了一个 QQ 群平时大家一起研究交流。2014年初的时候,大家稍微有了点时间,就开始折腾越狱,就这么一直折腾到现在。
雷锋网宅客频道:除了越狱,盘古团队还“折腾”什么呢?
我们公司主要是做一些移动安全方面的研究和产品研发,主要是两个方面:
第一是安全服务,侧重于智能操作系统的风险评估以及安全咨询,智能设备、物联网、车联网系统基本上都在做。
第二是做一些安全产品和平台。例如前段时间 iOS 三叉戟 APT事件,我们的 iOS 设备安全检测产品就可以不用升级就可以检测到。
这个检测产品主要是用来检测 iOS 系统是否被人中过后门或者动过手脚。因为苹果本身系统的封闭特性,所以没有什么特殊的方式能够检测,只能以洞制洞,利用漏洞来提权并对整个系统进行安全检查。
这个平台的主要目的是通过自己写一些简单的检测规则来我们的应用数据库中查找符合规则的应用,例如以前出过的 XCode Ghost 和Worm Hole 事件,可以通过某些特征来查找所有存在这种问题的应用。
Janus 主要依靠我们的移动应用分析引擎来把我们搜集到的所有应用进行信息和行为提取,并进行相关的索引和处理,存到我们云端数据库中,然后提供一种自定义的规则语言来进行检索。这套平台很快就能上线,主要目标用户群是移动安全研究员和恶意样本分析工程师,目前我们内部的同事在试用的过程中已经依靠这个平台发现了不少拥有大量用户的移动应用存在高危风险和恶意行为。
雷锋网宅客频道:可以从你的角度,为我们科普一下 iOS 的安全机制是怎样的吗?
iOS系统可以算是目前流行操作系统中安全最好的一个系统。从国外收购安全漏洞的公司给出的报价表中就可以看到 iOS 的漏洞价值最高,这也能从侧面反映出 iOS 的安全性相对于其他系统来说要高。
【iOS 安全机制示意图】
苹果的安全机制也是一步一步在增加的,像早期做越狱难度就相对低一点,因为安全机制不健全导致比较容易突破。目前 iOS 的安全机制可以主要归类为以下几个方面:
1、系统启动
苹果在CPU中固化了一套 bootrom,这套系统是只读的。也就是说这套系统出了问题,苹果都没办法修复。这套 bootrom 内置了一套苹果的公钥, 用于验证和启动 Low-level boot,然后Low-Level boot 启动 iboot,iboot 启动内核。每一次启动新的东西, 都会由启动方校验被启动程序的合法和完整性。所以如果没有 bootrom/iboot 级别的漏洞的话,基本上内核在启动完成之前是没办法篡改内核的。
2、系统更新
iOS 刷机和更新系统完全由苹果来控制,用户不能随意降级。iOS 系统在升级过程中会对刷入设备的各个部分(LLB、iBoot、内核、系统文件、基带等)进行联网校验。校验通过,会针对每台设备生成不同的签名,在系统处理刷机的时候,会对这些刷进去的内容和签名再进行校验,校验失败就不允许刷入设备。在以前到服务器的请求是可以进行重放攻击的。现在这个漏洞也被封掉了,采用的方法是:给每一次的请求加一个随机值,这样就能防止重放攻击。
系统更新的这个安全限制也保障了大部分用户只能升级到漏洞较少风险较低的新版本。
3、代码签名
苹果系统上所有内置的程序和应用市场上的程序都是苹果签名的,任何第三方未经苹果签名的应用程序是不能运行的。就算你使用苹果颁发的代码签名证书进行签名,一旦苹果发现你的证书被用于非授权的行为后,也可以对其进行吊销。
4、沙盒
运行在苹果系统上的第三方应用都是运行在沙盒保护下的,任何一个程序只能调用有限的系统允许的API,每个沙盒中的程序只能访问自己的文档路径。这样就能保证沙盒中的程序访问和修改不了其他应用和系统的文件。
5、数据保护
苹果在数据保护层面做了很多事情,所有数据在硬盘上都是加密存储,拆硬盘根本读不到任何有用的数据。如同上一次 FBI 和苹果之战我们写的技术分析文章一样,苹果对于磁盘上存储的数据使用了多套保护措施。
首先,有一个加密文件使用的 key 被存放在某块特定区域,然后使用 passcode 对其进行保护,只有在验证了 passcode 有效性后,加密文件使用的 key 才能正确解密,系统才能正确读取这些数据文件。以前在32位设备上还有暴力破解 passcode 的可能性。在64位设备发布后,iOS 系统把防止暴力破解的模块移动到新增加的安全芯片中了。
还有些需要保密的数据(例如系统的wifi、mail、vpn的密码等,以及第三方应用的一些登录凭证),存放在keychain中,keychain数据拿到其他设备上也是不能进行解密的,它是跟原设备的cpu进行绑定的,每个cpu在出厂的时候都有不同加密秘钥,苹果对这些秘钥也不进行存储。
6、隐私保护
隐私保护包括 Wi-Fi 地址随机化、倡导启用 https 等等。
以前有很多营销的工具, 可以检测出店铺的客流量以及回头客, 这个主要是检测手机的 Wi-Fi 的 MAC 地址。苹果启用了 Wi-Fi 地址随机化后,就能防止用户设备通过 Wi-Fi 层面被跟踪。
启用 https 也是基于现在的移动应用情况。虽然 https 会让服务提供商的成本增加,但是相对于 http 增加了通信加密的能力,防止用户和服务端的通信被嗅探、被中间人的可能。
7、利用缓解技术
我们一般说越狱是需要使用漏洞的,漏洞也分为可被利用不可被利用,利用技术也有很大的不同。苹果除了修补漏洞外,也增加了很多缓解利用的手段,有些手段可能就完全杜绝了一个类型漏洞的利用可能。
例如,苹果在 iOS 系统上启用了栈溢出保护、数据执行保护 DEP、地址随机化、内核补丁保护等等技术。这里主要讲一下地址随机化和iOS9中新增加的 KPP 保护。
这是我们之前在 Blackhat 演讲中的 iOS 安全机制演进示意图:
【iOS 安全机制演进示意图】
地址随机化:
可以看到苹果在 4.3 中增加了 ASLR,ASLR 的意思就是地址随机化;6 中增加了 KASLR,KASLR 多了一个K代表的是内核。
以前有某个溢出漏洞,就可以直接写利用,通过调用固定偏移量的函数来实现利用。但是增加了地址随机化以后,对于以前要调用的函数的地址的偏移量就变成未知了,所以要想办法确定内核随机化后的地址分布,就要多结合一个能够泄露地址的漏洞,这个漏洞就叫做信息泄露漏洞。所以这个地址随机化带来的破解难度也相应增加了。
KPP 内核防补丁技术:
这个技术在 iOS 9 上首次被启用,但是仅限于64位设备。主要是因为这个技术是要依靠64位设备上新增加的安全芯片来实现的。如果这个技术还是通过内核来实现的话,完全就没有意义。因为内核我都能 Patch 的话,那这个功能我也能 Patch 掉。所以在硬件上来实现,突破的可能性就变得很小。
我们在 iOS9 中利用一些技巧绕过了 KPP 的检测。
雷锋网宅客频道:对于盘古来说,做到越狱,最大的难度在哪里?
最大的难度主要是两个方面:
1、要找到绕过各种保护手段的漏洞来组合一套越狱。例如:绕过沙盒,代码执行,提权,信息泄露,代码签名等,如果不能组合一套,就算某一个类型的漏洞再多也不行。
2、除了一套完整的漏洞组合,还要有想到各种“奇技淫巧”。像我们 iOS 8 和 iOS 9 越狱都是全球首发,那么 iOS 8 和 iOS 9 新增加的安全机制和利用缓解机制,我们就要绞尽脑汁去想办法绕过。这个没有历史经验可以参考和学习,例如我们在 iOS 8 中绕过 TeamID 的技巧。
雷锋网宅客频道:作为熟悉 Android 和 iOS 这两种系统的大牛,这两种系统的安全机制在你眼中有什么区别吗?
其实很多系统有些安全机制都是相通的,Windows/Linux/Mac/Android/iOS 等等。现在安卓的安全机制也在逐渐向iOS靠拢,我觉得安卓现在最欠缺的主要是两块,这个也可能跟安卓的定位有关系。
第一是数据保护。安卓存在硬盘和存储卡中的数据完全未加密,通过拆解硬盘或者直接读取存储卡就能获取数据。而在苹果上,即使拆了硬盘你也读不到有用的数据。
第二个就是代码签名的问题。安卓的代码签名机制感觉是个摆设,目前看来主要的作用就是完整性的校验。因为所有人都可以自己生成一套代码签名的证书对代码进行签名,这个也是目前恶意软件泛滥的原因。没有一套良好的证书管理体系,这个签名的作用就不大。
当然还有其他的一些问题。
例如安卓的权限开放的太多了,像短信这种非常隐私的数据,任何程序都能去读取。这也导致了目前盗取短信的木马泛滥,据说几百块钱就能定制一套安卓木马。
还有一个难点就是:碎片化太严重。厂商太多,有些厂商在新机发布后,系统只保持一年的更新。一年后这个机型的系统就完全得不到升级了,那么有漏洞也就没办法修补了。
【盘古团队在顶级黑客大会 Black Hat 上做演讲,图为徐昊(左)和王铁磊(右)】
雷锋网宅客频道:在盘古最初做越狱的时候,有遇到一些巨大的困难吗?
因为之前越狱都是国外的安全研究人员在做。所以刚开始接触的时候,研究资料非常匮乏,学习和研究的难度都比较大。而且我们开始研究的时候,iOS 版本已经是第7个大版本了,基本上能上的安全机制都已经上了。
举例来说的话,如果还是 iOS 3/4 的时代,一个月出一个越狱都不成问题。毕竟1-2个漏洞就能实现越狱。
我还记得,在第一次发布越狱前,刚开始有点成果的时候,就在微博上发了截图和视频。其实当时还没完全搞完,但是各种骂声都来了,基本上大部分的人都在说我们是骗子。
第一次越狱发布后,有人质疑漏洞或者越狱是花钱买来的,当时我还写了一篇微博长文回应。另外还有些老外在质疑中国人开发的程序是否有后门。
但是,当我们第二次发布越狱后,这些质疑声基本都没了。而且从那时开始,我们已经在国外的越狱圈和安全权有了良好的口碑。到了如今,肯定更没有人质疑我们的能力了。
现在,我们也会把每次越狱的一些技术和研究的细节拿到全球最大的黑客大会上去分享,例如BlackHat、CanSecWest 等。另外像我们今年7月1号举办的第二届 MOSEC 移动安全技术峰会,国外很多公司,例如微软、苹果都派人来参加了。
【盘古放出 iOS 9.2-9.3.3 越狱工具】
雷锋网宅客频道:说说前不久盘古团队刚刚放出的 iOS 9.3.3越狱工具吧,在这个越狱工具的背后,有什么不为人知的故事吗?
刚才说的越狱最大的难度就在于如何找到一套能够配合的漏洞组合。大部分时候越狱需要5个左右的安全漏洞配合。而这一次 9.3.3 的越狱我们仅仅需要一个漏洞即可。
因为这个漏洞拥有信息泄露、沙盒绕过、代码执行、权限提升漏洞的所有能力,并且还能绕过苹果的审核上架。像这种漏洞完全不会比三叉戟的漏洞弱,所以苹果专门为了这一个漏洞紧急发布了一个 9.3.4 的更新。
雷锋网宅客频道:据说这次越狱工具比之前的都要完美,可以从技术上解读一下,这次越狱工具完美在什么地方吗?
其实过去的所谓的完美越狱和不完美越狱,只是翻译的国外的英文“Untethered Jailbreak/Tethered Jailbreak”, 这两个越狱的差别主要是一个不需要连接电脑引导开机,一个需要连接电脑引导开机。
我们这一次也是想尝试一种新的方式,尽量不修改系统文件,让用户可以随意切换越狱和正常系统模式。例如以前的完美越狱没有办法恢复出厂设置,我们这一次的越狱完全可以恢复出厂设置。一般用户基本上很久不会关机的,重启后只需要点击APP运行就可以获取越狱能力。
这是我们的创举,以前越狱的设备是不能恢复出厂的,一恢复就白苹果。
雷锋网宅客频道:在这些年的安全研究中,有没有比较失败的经历呢?
失败倒算不上,不过伤心的事情很多。我们这些年被撞和被封的漏洞也比较多。
所谓被撞,就是其他安全研究人员也发现了同一个漏洞,报告给苹果,或者是通过其他渠道苹果获得了漏洞细节然后进行修补。
所谓被封,一般都是苹果内部自己的发现的问题,或者无意中增加功能或者删减功能导致漏洞不存在了,还有一些应该算是利用方式被修补了。
算下来这些被撞和被补的漏洞,加起来都够好几套越狱了。尤其是苹果推出了Apple Pay以后,他们在安全方面投入也在加大。
但是对我们来说这样也好。难度越高就越有挑战,攻防向来都是一体的,从攻击学如何防御,从防御来想如何绕过防御达到攻击的目的,这是一个双方不断博弈的过程,在博弈中会让系统变得更加安全。
雷锋网宅客频道:对于 iOS 10,盘古团队是否有越狱的能力呢?
iOS 10 的正式版估计跟 10.0.1 GM 一样,这个版本我已经用了好几天了。
iOS 10 的安全性变化也很大,简单来说就是攻击面缩小了。而且10已经修补了我们在 9.3.3 中绕过KPP的技巧,另外沙盒也增强了。
不过,我们已经在 iOS 10.0.1 GM 上成功运行 Cydia 了,现在我们还有很多细节要继续研究和修补,你知道越狱不光是为了突破安全保护,还要想办法配合 Cydia 和 CydiaSubstrate,让他们能够正常运行。
【陈小波在国内黑客大会 Xpwn 上展示越狱 iOS 10 Beta 8】
雷锋网宅客频道:也就是说 iOS 10 正式版,应该是很有把握可以越狱啦?
目前从我们研究的成果来说,答案是肯定的。
雷锋网宅客频道:可以说说研究iOS 10 各个 Beta 版本的过程中,有哪些有趣的故事吗?
在7月1日我们举办 MOSEC 的时候,曾经演示过 iOS 10 Beta 1 的越狱;
另外,我们本来准备在 Xpwn 上演示越狱 iOS 10 beta 7 的,但是就在 Xpwn 举办前两天,苹果突然发布了 iOS 10 Beta 8。于是我们又花了两天时间,准备了iOS 10 Beta 8 的越狱演示。
新系统(iOS 10)新增加的安全机制一直以来都是个挑战,因为未知的东西比较多,所以只有尝试后,才能知道增加了什么机制。
不过相比最开始我们做越狱来说,越狱 iOS 10 难度有所降低。毕竟我们手里已经有能用于研究的漏洞了。如果手里没有这些漏洞,新系统的安全研究根本无从下手。
这个就像我们把一般测试分为黑盒测试和白盒测试一样。
我们最早期的研究类似于黑盒测试,没有任何积累,两眼一抹黑;
我们现在的测试更像灰盒测试,利用手里已经有的漏洞和经验积累,相对来说会稍微容易点。
不过说起来感觉轻松,但是实际上不轻松,这也是靠很久的经验积累才能达到现在的结果。
【盘古团队成员 徐昊 陈小波 王铁磊】
雷锋网宅客频道:从你的角度看,盘古对 iOS 10 的越狱能力究竟处于什么状态?
从 iOS 8 开始,我们一直都保持着对iOS最新版持续越狱的能力,这个能力主要用于后面的研究。多强这个不太好衡量,但是能持续越狱和研究对我们来说就够了。
从全世界来看,做 iOS 安全研究的本来也不会很多。因为相对于其他系统来说,iOS 的门槛确实较高。不过能做的安全研究人员据我所知,能力都很不错。我们的目标一直都是保持在最前列,新出来的安全技术能够第一时间就能分析出细节。
雷锋网宅客频道:接下来是一个重磅问题,盘古会不会发 iOS 10 的越狱工具?
这是一个头疼的问题,按照以往我们的惯例,我们从来不在发布前剧透。主要是因为我都不知道什么时候会发布,这个取决于很多因素,要综合考虑才会有结果。
这些因素包括:
苹果系统版本的稳定性如何?
受众有多少?
我们手里的储备是否允许我们公开漏洞?
。。。
例如:一般 iOS 10.0.1 这种盘古肯定不会发布越狱工具,因为这是第一个版本,稳定性还不够。
另外例如:iPhone 7 很多用户还没拿到手,我们发了也没有意义。
如果我们手里又多找到一套漏洞,也可能促使我们发布越狱工具。
雷锋网宅客频道:江湖上传说,盘古在保持两套或两套以上的越狱漏洞的时候,才会发布越狱工具,是这样吗?现在盘古手里有多少套越狱 iOS 10 的漏洞呢?方便透露吗?
(两套漏洞)这也是一个衡量的标准吧。毕竟保留一套在手里,被封和被撞的可能性会比较大,对后续的研究也会造成影响,所以有两套以上心里会更有底气。
目前来说,我们手中的越狱漏洞算有两套吧,另外有一套还在弄。
【盘古(犇众)研发的设备安全检测产品】
雷锋网宅客频道:盘古属于“一言不合就放大招”的风格,那么盘古在未来还会放哪些大招呢?
我们安全研究团队现在规模也不小,iOS研究只是一块,很多操作系统的安全都是我们的研究方向,像我们实验室的闻观行今年就给Adobe报告了几十个Flash的漏洞。另外在内部我们还会持续地培养新人,毕竟目前国内能做这种底层系统的安全研究人员很少。
之前说的Janus就是我们公司的一个超级大招。我们投入了大量的安全研究人员和开发人员来做这套移动系统应用的分析平台。我们把我们对移动应用安全研究的能力和一些自动化分析工具整合起来,结合大数据平台,提供给安全研究人员和恶意程序分析人员使用。
举两个例子:
1. 如果某个安全研究人员在移动应用中找到一个漏洞,通过把这个漏洞的特征规则化,然后在我们平台上进行检索,我们可以把符合这个漏洞特征的所有应用都能很快速度的列举出来。
2. 如果某个恶意样本分析人员,发现了某一个恶意样本,他同样也可以把恶意行为规则化,然后来检索,这样就能把所有的恶意程序都能列举出来。
这里面还结合了一些第三方的威胁情报,跟我们的系统整合进行关联分析,这样做可以大幅度提升移动应用市场的安全性和减少恶意程序的传播途径。我们也会跟运营商和国家相关部门合作,争取能够最大限度地保护用户隐私和数据。
【Janus 平台工作界面】
Q:现在使用盘古越狱工具越来越容易,那么普通用户越狱后,可能使手机处于不安全状态,对此你有什么建议?
这个就是自由和不自由的代价了,例如 Windows 平台任何软件都能安装,病毒也很多,但是并不能成为不用的理由。
越狱是为了想达到自由,首先肯定有安全性的降低,这个是毋庸置疑的。但是不是所有安全机制都会被破坏,严格意义上来说,越狱只是取消了苹果代码签名的验证。所以如果普通用户又想越狱,又想安全,那就安装第三方插件或者软件的时候,尽量选择可信的源安装即可。
此外,iOS 的沙盒机制我们并没有破坏,正常商店安装的应用还是拿不到系统权限的,只有你通过 Cydia 安装的一些插件和应用才会有能力做破坏的事情,这个还是要靠经验,就像我 Windows 从来不安装任何杀毒软件,但是基本上也不会中病毒。
Q:现在的越狱是否会影响到Apple Pay的安全性?
苹果的applepay是可以离线使用的,所有的信息都是存在单独的安全硬件中。Apple Pay的安全性是由底层硬件提供的,这个系统做不到干涉。就算越狱了,想获取你的信用卡信息还是没办法做到。
Q:越狱团队核心成语是如何分工的,比如发现了漏洞谁写 Poc写 Exploit,有明确分工吗?还有盘古都是宣传那5位大牛,就没新人就没发现iOS方面的漏洞来吗?还是想藏起来?
这个要看个人的专注方向和经验,有的同事是硬件比较熟悉,有的同事是利用写的好,有的是找漏洞有经验,按照专注方向来分工,有可能找漏洞的同事不善于写利用的话,那他就写poc就可以了,其他的交给经验丰富的人来做。
新来的同事有的是负责其他方向。例如 Windows/Flash 等等,他们报给官方的信息也会带有个人信息,我们的对外宣传也不会隐藏他们。例如我们过段时间就有一个新同事要去BlackHat 欧洲去演讲了。
Q:如果想成为盘古团队一样的大牛,应该怎样努力呢?
我们所做的iOS安全研究,需要的知识比较多,包括 ARM、ARM64、操作系统底层,还有些其他平台上积累的安全研究经验。
凡是牵扯到二进制研究的,门槛都不会低,而且时间成本也很高。这个必须要有兴趣,而且还要耐得住性子,有可能学了一年什么成果都不会有。
很多人都是通过别人写的工具,进入这个行业,那么想走的深,就要研究更底层的原理。如果只是一味的用工具,而不能转变思路的话,那么这个人自己本身也不适合在这个行业深入发展。
当然,如果有同学对盘古和犇众感兴趣,想要成为我们的一员,也可以登录我们的网站来看看。
本次演讲到此结束。更多大牛开讲,请继续关注“宅客频道”。
宅客『Letshome』
雷锋网旗下业界报道公众号。
专注先锋科技领域,讲述黑客背后的故事。
相关文章:
Twitter CEO Twitter账户被黑,盘古越狱 iOS 10 | 宅客周刊