在上周的 WWDC 大会上,苹果公司正式发布了新一代 iOS 操作系统——iOS 10,新版本中增加了不少新的特性和功能,比如全新的锁屏通知设计、电话短信拦截功能和预装应用移除等,而且在主题演讲会当天苹果就给软件开发者提供该操作系统的预览版,以便开发者进行测试。
当然对新系统版本感兴趣的不只是开发者,不少安全研究员也对苹果的 iOS 10 进行了一番研究,而且他们在这个新版本有了非常意外的发现。
在此前发布的每一个 iOS 版本中,苹果公司都会对操作系统的“心脏”使用加密技术,避免它暴露。在这里所谓的“心脏”就是 iOS 操作系统的重要代码,它是用户 iPhone 和 iPad 得以运行的重要基础,可是在 iOS 10 中苹果竟不对其加以保密保护,暴露无遗。不过对于想要在苹果 iOS 操作系统中寻找安全漏洞的人来说,苹果此举可算是帮了大忙了。
对于苹果如此反常的举动,安全专家认为这可能是因为苹果采用了更大胆的策略,意在鼓励更多人在他们的软件中发现并报告漏洞,不过也有人认为或许是苹果粗心大意犯的错。目前苹果还没有对此作出任何回应。
今年年初 FBI 为了调查去年 12 月发生在加州圣贝纳迪诺(San Bernardino)的枪击案,曾经试图要求苹果协助他们破解罪犯的 iPhone 5c,但是苹果方面拒绝了他们的要求,双方因此事闹得满城风雨。但是后来FBI利用第三方力量成功破解了罪犯的 iPhone,而且 FBI 表示他们可能不会向苹果公开第三方机构利用了哪些漏洞,以及他们的破解方法,此事之后苹果表示他们会进一步强化设备和软件的安全和隐私特性。
iOS 操作系统的“心脏”中有一个非常重要的组成部分——内核,程序如何利用设备的硬件、如何执行安全功能等都受内核的控制。在此前的iOS版本中,苹果公司会对其加密,完全隐藏其工作方式,研究人员只能寻找其他方法绕过这个限制。但是在 iOS 10 的预览版中,这个内核毫无保护措施,研究人员可以放开手脚对这个内核加以研究了。
看到这里,也许你非常担心 iOS 10 的安全是不是会受到影响?当然不会有影响。曾经对 iOS 内部工作方式有过深入研究的专家 Jonathan Levin 认为,这将更有利于安全研究人员在这个版本的操作系统中找到其存在的问题和缺陷。“它将能够大大减少逆向工程的复杂程度。”
安全研究员 Mathew Solnik 指出,这次同样被暴露出来的还有一个用于保护内核,避免其被修改的安全措施。“如今它已经公开了,我们就可以对其加以研究,而且还有可能找到绕过这个措施的办法。”
有些人在软件中发现了漏洞,并将漏洞告知软件的开发公司,以便修复漏洞;但是也会有人利用这些漏洞来开发恶意软件或者是开发“越狱”,恶意软件会影响用户和设备安全,而一直以来苹果对“越狱”的态度都是不支持的。
没有人知道苹果为什么突然公开他们的代码。安全研究社区认为其中一种可能是苹果内部的人一次“冠冕堂皇的错误”。不过 Levin 和 Solnik 均表示,目前我们完全有理由相信这可能是苹果有意为之。因为他们想鼓励更多人去研究他们的代码,以更快发现其中存在的漏洞,苹果也能够更快对它们加以修复。
iOS 安全专家 Jonathan Zdziarski 也支持上述观点,因为忘记加密内核这个解释实在是太过牵强。“如果说苹果是忘记了,那也太让人难以让人接受了吧,这就好像忘记给电梯安装门一样。”
Zdziarski 指出,从今年年初苹果和 FBI 的那场撕逼大战来看,苹果本次选择开放他们的代码其实有非常重要的意义。起初 FBI 要求苹果协助破解罪犯的iPhone,但后来因为第三方安全研究机构发现破解了 iPhone 的办法之后,FBI就不再对苹果施压。这也证明了向执法机构销售软件漏洞的交易在不断增加,市场越来越大。苹果选择开发 iOS 代码之后,任何人都有机会发现其中存在的漏洞,在这个基础上某些研究机构可能无法独占关于这些漏洞的资源,上述交易市场可能就会受到影响。
不少研究人员认为上述交易市场之所以能够发展和兴起,苹果有着无法推卸的责任,因为在鼓励第三方发现报告漏洞方面,苹果做的不如竞争对手谷歌和微软好。和谷歌、微软不同,苹果没有漏洞报告奖励机制,对于那些在苹果产品中发现漏洞并将其公开出来的研究人员,苹果公司不会提供奖励。
如果苹果是希望外部研究人员能够帮助他们更快地发现漏洞,那么他们只需一个漏洞报告奖励机制即可,因为和直接公开 iOS 内核相比,前者的风险更低。“苹果这是放手一搏。”Zdziarski 说,“但是我可以猜到苹果决定赌一把的原因。”