科技新闻网站TechCrunch近日撰文,回顾了iPhone越狱的前世今生,并通过采访多名从事越狱开发工作的黑客,揭秘iPhone越狱的相关技术,以及越狱团队的幕后故事。
以下为文章概要:
从技术上来说,iPhone 5已经被越狱了。普通用户之所以尚未获得越狱工具,是因为iOS 6越狱所利用的漏洞十分巧妙,发现漏洞的黑客们不希望将其公之于众,以防止苹果发现该漏洞并打上补丁。相反,黑客们选择继续等待,同时寻找其他的可替代的漏洞。另外,鉴于iOS 6.1很快就将发布,越狱团队也不希望在那之前公布该漏洞。
iPhone 5越狱团队成员大卫·王(David Wang,又名@Planetbeing)不久前在社交新闻网站Reddit上称,“事实上,我已经在iPhone 5上实现了iOS 6.0.2的完美越狱”。
“这个漏洞特别巧妙,因为它使我们能够深入了解系统,”大卫·王说。“我们需要看到那些我们试图修改的代码--然后抓取其内存镜像(该过程被称为dump)。如果做不到这一点,我们基本上就是在黑暗中工作。”
如果黑客们现在就公开发布越狱工具,苹果将很快找到这个很巧妙的漏洞,然后迅速将其封堵。越狱开发者还不希望这么做。事实上,在大卫·王发布那篇Reddit帖子的时候,越狱团队就已经发现了4个iPhone 5的漏洞。黑客们正在试图找到更多的漏洞,而到目前为止,这方面的进展非常顺利。
那么,普通用户最终能否越狱iPhone 5呢?王给出的答案是肯定的。越狱工具是否会在年内发布?王回答说,他当然希望如此,至少会在下一代iPhone出来之前。
那些有关越狱的“往事”
寻找漏洞与开发应用或网站不同,越狱开发者不可能每天都看到进展。相反,寻找漏洞的过程就像是淘金,有时候甚至会空手而归。
最初,越狱之所以会流行,是因为它允许iPhone用户添加苹果不允许安装的应用和功能。用户可以将iPhone变为Wi-Fi热点、安装自定义主题、为设备的设置和控制添加快捷键,或者突破苹果的默认限制,等等。一些用户甚至会解锁手机,以将其运行在未经许可的运营商网络上。
越狱之后的iPhone可以突破苹果的限制,为设备添加快捷控制键
曾几何时,不同越狱团队之间的竞争非常激烈。他们各自组成类似于iPhone Dev Team和Chronic Team的团队,还有一些特立独行的开发者则独立行动。黑客们相互竞争,甚至经常在对方和越狱用户意想不到的时候发布越狱工具。
而如今,越狱变得越来越困难。参与越狱的个人通常会相互协作,在必要时共享知识。以往的竞争场面不复存在。每个人都各自负责一部分工作。所有人都将自己的工作进展发布在GitHub分支上,而发布在那里的代码随后才会被变成普通用户所用的越狱工具。
大卫·王表示,最近一段时间以来,每部设备的越狱工作并不是由固定的几个人完成的,而是要看谁恰好有时间和精力。“慢慢地,越狱的团队模式逐渐瓦解了,”他说。“团队的形式并不合适,因为它鼓励黑客们相互敌对,你无法与你欣赏的黑客进行合作。我们现在的模式则更好--我们相互合作并共享知识,但共享模式是分层式的。我们不会与整个团队分享知识,而只是与某个恰好需要的黑客进行共享。”
这是一种更加友好和温和的黑客工作方式。
最近一段时间,iOS 6的越狱工作有所延迟,但这不仅是因为iOS 6安全性能的增强,而是因为越狱开发者的时间安排问题,比如他们的日常工作。大卫·王目前拥有一份与越狱毫不相关的全职工作。另一名越狱黑客@Pod2g,近期则忙于开发自己的iOS应用。
寻找漏洞
在找到漏洞和发布越狱工具之间,还有一些事情拖累了整个过程:例如,寻找不同设备代码之间的区别,以及测试流程等。当越狱工具开发完成后,找到水平足够高但又不会向公众泄露越狱工具的测试者同样很有挑战性。“有时测试过程需要数天时间,有时甚至需要好几周,”王说。
当然,有时候越狱也会比较简单。
曾几何时,越狱开发者可以在设备Bootrom中找到bug,然后越狱问题迎刃而解。只要设备硬件不被更换,不管其运行的iOS版本是什么,用户永远都可以越狱。但如今,黑客们再也无法进入bootrom。
“iOS设备的Bootrom最近几年来越来越小,但我们现在连内存镜像都无法获取。即便现在已经完全控制了整部手机,我们还是无法看到bootrom。如果不能获取bootrom的内存镜像,我们就不能轻松地查看代码并从中发现错误,”王表示。之所以会这样,是因为在iPhone 5完全启动之后,系统会自动隐藏bootrom。自从著名越狱工具“Limera1n”(中文俗称“绿雨”)利用了iPhone 4和3GS的一个未公开Bootrom漏洞之后,苹果就修复了该漏洞并从此关上了bootrom的大门。
苹果修复bootrom的原因仅仅是为了防止越狱吗?
“似乎的确如此,因为除了越狱黑客,谁还会在乎读取bootrom呢?读取bootrom的一般用途不大,甚至不能帮助黑客运行病毒,”王说。
如今,由于没有可用的bootrom漏洞,黑客们需要找到多个漏洞,才有可能向用户提供完整的越狱解决方案。黑客们需要代码注入漏洞(将代码注入到操作系统中),以及提升代码优先级的漏洞,获取修改系统的权限。后一个漏洞有时与代码注入漏洞是相同的。
然后还需要有一个内核注入代码,其作用是获得对操作系统不受限制的操作权限,并命令内核停止检查代码签名。而到了iOS 6,黑客们还需要一个漏洞绕过ASLR(地址空间布局随机化)的限制。ASLR会使得内核在内存中的地址变得随机可变。
苹果之所以不让越狱者看到内核在内存中的地址,正是为了防止黑客篡改内核,大卫·王表示。因此,黑客们还需要一个能够绕过ASLR的漏洞,这一漏洞可能与提升代码优先级或内核注入的漏洞相同。
此外,还需要有一个完美越狱的漏洞,以使得越狱能够在任何时候iPhone启动时运行。
没错,越狱需要非常多的漏洞。
越狱简史
为了充分理解iPhone越狱这些年来是如何变得越来越困难的,我们需要对越狱的历史稍加了解,以理解越狱这些年来的变化和当前的情况。
在iPhone 3G发布之后,一款名为“Pwnage Tool”的工具横空出世。它基于bootrom漏洞而开发,允许黑客更改设备上的软件。简单说来,这个过程类似于改变一台电脑上的软件--就像是在一台运行Windows的电脑中安装Linux操作系统。在越狱iPhone之后,Pwnage Tool为黑客们提供了强大的修改系统的能力。
在iPhone 3GS发布之后,旧的漏洞仍然没有被修复。直到iPhone 3GS上市很久之后,苹果才决定临时暂停生产,以彻底解决该问题。从那之后,新出厂的iPhone 3GS均采用了新的bootrom,旧漏洞被彻底封堵。
“苹果的动机很简单,iPhone存在漏洞而他们希望将其封堵,”Cydia之父杰·弗里曼(Jay Freeman)说。“但至于为何苹果认为那个漏洞比其他未被修复的漏洞更加重要,我也不得而知。我们再也没有发现过比那个漏洞更好的漏洞。”
但这并未阻止黑客们继续寻找其他入侵iPhone的方法。
在苹果修复那个bootrom漏洞之后,越狱开发者很快就发现了其他的bootrom漏洞,但新发现的漏洞只能对系统进行临时性的更改。黑客可以使手机暂时以新内核启动手机,加载硬盘并修改iPhone上的软件--换句话说,运行所有修改iPhone系统的越狱应用。
但在这种情况下,系统内核仍然是受保护的,因为bootrom仍未被修改或破坏。这就意味着,一旦手机重启,系统就会恢复非越狱状态。这种越狱方式又被称为“非完美越狱”,即每一次iPhone重启之后,用户都必须将手机插到电脑中重新越狱。到iPhone 4发布时,越狱开发者不得不在手机内置的应用中寻找漏洞,以获得修改内核的权限,进而允许用户修改手机上的其他软件。
JailbreakMe利用了iOS浏览器的漏洞
最著名的例子莫过于黑客@comex创立的JailbreakMe网站。JailbreakMe利用了iPhone浏览器中的漏洞,将浏览器攻击至崩溃并获取控制权,然后将入侵代码注入到内核之中。
“Comex简直就是天才,”弗里曼说。“他在大量的代码中发现了非常多的漏洞。”
Comex后来被苹果招揽至旗下,但据消息透露,他在苹果从事的工作与反越狱并无关系。大卫·王表示,用户无需对苹果招揽越狱社区人才过分担忧。
在找到漏洞之后,下一步就是让越狱能够“完美”运行--即重启之后就直接进入越狱状态。这需要越狱在手机关机之后仍然保留部分代码,从而在开机的过程中修改系统软件,解除系统的安全防护。由于无法找到类似于iPhone 3G或3GS的bootrom漏洞,上文所述的方法就是眼下完成非完美越狱的最好方法。
新的iPhone意味着需要寻找新的漏洞
每当一款新iPhone问世,寻找漏洞的工作就要重新开始。iPhone 4的越狱就是一个典型的例子。
2010年10月10日,就在一些越狱社区成员即将发布一款名为SHAtter的越狱工具时,著名黑客Geohot出人意料地抢先发布了iPhone 4和iPad的越狱工具Limera1n。随后,在@Pod2G、@Comex和@i0n1c等黑客的后续努力下,iPhone 4的完美越狱成功完成。
越狱工具Limera1n利用了iPhone 4和iPad的bootrom漏洞
Limera1n之所以意义重大,是因为与JailbreakMe利用较易修复的浏览器软件漏洞不同的是,bootrom漏洞在整个设备的寿命周期中都是有效的。
“想要升级bootrom,除非让用户扔掉自己的手机,然后买一部新的。因此,苹果永远无法阻止Limera1n,”弗里曼解释道。“Limera1n会永远存在于每一部出厂时就带有漏洞的设备中,”除非苹果像3GS时那样中断整个生产线以修复漏洞。
在iPhone 4S发布之后,苹果与越狱社区的猫鼠游戏仍在继续。由于Limera1n利用的漏洞在iPhone 4S中被修复,黑客们不得不重新回到了寻找userland漏洞的道路上--userland漏洞是指软件中存在的漏洞,例如JailbreakMe利用的浏览器漏洞。这种漏洞极易被苹果在下一次固件升级中修复,比如iOS 4、iOS 5、iOS 6和一些较小的固件升级,都曾修复过多个userland漏洞。黑客们将这种情况称为漏洞的“见光死”(burn),因为一旦公开,这些漏洞就一定会被苹果封堵。
iPhone 4S发布之后,越狱团队利用代号为“Corona”的userland漏洞,成功越狱iOS 5.0和iOS 5.0.1。随后苹果发布iOS 5.1,修复了这个漏洞。但黑客们并没有气馁,他们又开发出了另一款越狱工具absinthe,成功越狱了iOS 5.1和5.1.1。而到了iOS 6,苹果再一次封堵了漏洞。
“iOS 6在安全方面有重大的提升。iOS 6.1也拥有诸多安全方面的提升,”王说。“我们在越狱iPhone 5时遇到的难题之一就是初始代码的注入。”
而iPhone 4则不会受到所有这些iOS系统更新的影响。因为Limera1n使用了一个尚未修复的bootrom漏洞,不管运行哪个版本的iOS,iPhone 4都可以被越狱。这就使得人们提出这样的疑问:如果bootrom漏洞如此强大,为什么黑客们不去寻找呢?
答案并非如此简单。
“寻找bootrom漏洞比寻找系统漏洞更加困难,因为bootrom软件代码特别短,要在其中找到攻击的入口很不容易,”弗里曼说。就好比一支身披盔甲的大型军队,可能会在某个地方存在软肋,因而更易遭到敌人的进攻。但小规模的军队却更有可能得到更全面的保护。bootrom的功能主要是验证其他软件,它通过USB与系统进行沟通,其中包含的代码不多。
绝大多数bootrom漏洞都存在于USB设置代码中,而绝大多数此类漏洞都已经被修复。
有意思的是,苹果在iPhone 5中采用了新的Lightning接口,因此黑客们有一定的机会在新bootrom中发现漏洞--前提是黑客能够找到查看bootrom代码的方法,但如前所述,这一点目前还做不到。
因此到目前为止,越狱开发者的主要任务是寻找非bootrom漏洞,而且这一任务变得越来越艰巨。iPhone 4或iPod touch四代尚未完美越狱,而只是非完美越狱。iPhone 4S或iPhone 5的iOS 6也没有任何公开的越狱方法。
越狱黑客就像魔术师
作为普通用户,一般人很难了解到越狱工作的最近状况。当越狱开发者和其他黑客在Twitter上发帖披露最新进展时,有时仅仅是一个userland漏洞而已。还有一些开发者贴出了自己的设备运行Cydia越狱商店的截图。但“Cydia之父”弗里曼表示,这些截图有时仅仅意味着部分越狱--虽然Cydia安装成功,但许多应用插件未必都能运行。还有一些时候,越狱开发者使用了苹果自己的开发者工具,该工具允许苹果的付费开发者在手机上安装他们自己的代码。换句话说,看到一款设备运行着Cydia,并不能证明适用于普通用户的越狱工具开发完毕。
然而,这些截图有时是越狱工作取得进展的标志。
“有的越狱工作就像魔术师一样。你可能知道其他人的魔术是怎么做的,但那仍然是其他人的魔术,”弗里曼说。“许多黑客都能完成相同的越狱工作。一些人还会在手机上做一些很奇怪的事情。”魔术师入侵的是你的大脑,而黑客们入侵的是手机。
例如,最近两名黑客@chpwn和@phoenixdev展示的越狱方法是完全合法的,但他们并未获得更改内核的权限,因此其越狱是“不完整”的,即不能完成人们通常所认为的越狱设备所能做的事情,弗里曼说。“他们只是半越狱。”
很重要的一点是,你必须知道哪个越狱开发者是可信的。尽管未来仍有可能会有某个黑客像当年Comex那样出乎所有人的意料发布越狱工具,但总的来说,未来的越狱工作主要还是依靠那些多年来持续研究越狱苹果设备的开发者。
如果黑客成功越狱iPhone 5,用户会选择越狱吗?
但当iPhone 5越狱工具真正发布的时候,更重要的问题将会是,越狱工具还能否像过去几年那样吸引到大量的用户?弗里曼称,基于过去两个月的数据统计,全球目前有2278万台设备正在运行Cydia。当然,这一数字不只是iPhone,同样还包括了iPad和iPod touch。许多用户仍然在使用iPhone 4和4S。
过去两个月运行Cydia的各种设备占比
弗里曼表示,在新旧越狱工具发布中间的空档期,Cydia安装量往往都会开始下滑,但当下一个重大越狱工具发布之后,Cydia安装量就会超过以往。
“每一次我们发布越狱工具时,就会重新获得大量的用户关注,大量用户在那段时间里升级、越狱,然后浏览越狱插件并购买产品,”弗里曼说。“这些都是极其活跃的用户;Cydia安装高峰期的数量巨大,下滑的速度也很快,甚至超过了用户有机增长的积累速度,因此越狱工具的整体使用量一直是下滑的。”
越狱插件商店Cydia
越狱的时代是否已经终结?
不过,在外界耐心等待iPhone 5越狱出炉的过程中,也会有一些人质疑越狱是否还有任何意义。毕竟,经过多年来的持续改进,苹果已经在iOS中添加了许多原本只有越狱后才能享受的功能:iOS如今拥有下拉式通知窗口,允许用户在锁屏界面设置壁纸等。Facetime如今也可以在AT&T的3G和4G网络中使用。iPhone还将登陆T-Mobile,T-Mobile用户再也不用越狱并解锁iPhone,而是可以直接使用,甚至还可以购买解锁版的iPhone。平心而论,花钱购买运营商提供的Wi-Fi热点服务,也比越狱然后安装Wi-Fi热点软件来得更简单。
而对于那些“调皮”的用户来说,盗版应用社区Hacklous已经于近期关闭,理由是缺乏足够多的用户关注。“我们的社区已经变得毫无活力,”Hacklous创始人称。
弗里曼认为,iPhone 5越狱工具迟迟未能发布,并非近期用户对越狱失去兴趣的主要原因。之所以会出现用户对越狱冷淡,是因为近期最热门设备的越狱工具并不完美。
“iPhone 4或iPod touch四代的iOS 6尚未出现‘足够好’的越狱工具(即仍然是非完美越狱),”他说,“对于其他更新的设备,更是没有任何越狱iOS 6的方法,包括去年的iPhone 4S在内。”
“许多人认为越狱的流行度之所以在下降,是因为苹果做出了非常多的改进,但在我看来越狱仍然相当流行,”大卫·王称。他在Reddit上发表的那篇关于越狱的帖子浏览量暴增,也表明越狱的前景仍然是很可观的。
他承认,如今的越狱开发者或许没有像以往那样与用户进行足够的沟通。
“或许我在越狱方面所做的努力没有达到应有的程度,因为从一定程度上讲,这份工作永远是没有希望的。永远都会有人不理解或曲解我们的意思,”他说,“被人误解的滋味真的很难受。有时我甚至会想干脆放手不干了,省得麻烦。”
但他仍然在继续尝试。就在上周末,大卫·王和@Pod2G在Twitter上发表推文称,他们在寻找漏洞方面取得了进展,新的漏洞有望加速公开越狱工具的发布。
@planetbeing和@pod2g在Twitter上宣布寻找iOS 6漏洞的工作取得了进展
不管采用什么方法,iPhone 5的越狱都将为越狱社区带来新的活力。经过这些年来的发展,越狱社区正在逐步壮大,甚至还举办了一次全球越狱开发者大会。至于全球数百万用户是否仍有兴趣越狱iPhone,或者是否已经对没有完美越狱的现状感到满足,答案只有等iPhone 5的越狱工具发布之后才能揭晓。
当然,与其他黑客一样,大卫·王从未停止过使用越狱后的设备。“我的iPhone永远都是越狱状态,”他说。
或许不久之后的某一天,你的iPhone也可以再一次越狱。