国外科技媒体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启动时运行。
没错,越狱需要非常多的漏洞。
上一页 1 2 3 下一页