问:是否有可能在移动设备上打上虚拟补丁?在操作系统的补丁可以更新前,上嵌基地 我想开发一些创新的方法来保护智能手机免受攻击,特别是Android设备。
答:在我们回答这个问题前,先简要的介绍下Android移动设备平台有点儿复杂的起源。Android是由Google主导的开放手机联盟(Open Handset Alliance)开发的。Android的源代码在Apache License(编者注:Apache License是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改后再发布(作为开源或商业软件))协议下,由谷歌进行发布。Android开源项目(Android Open Source Project,AOSP)的任务是维护Android及其进一步发展。
不幸的是,部分因为Android的开发和维护涉及到有关各方,因此为用户在他们的设备上运行Android修补程序带来了风险。智能手机厂商必须先创建修补操作系统的自定义基础,包括他们自己的附加软件,然后进行测试,以确保一切正常。接着,电信运营商需要检查和测试这个新的固件不会损害他们的网络。
在用户获得更新前,这漫长而复杂的供应链往往导致长期拖延,即使是最紧急的更新。比如:2010年5月发布的Android 2.2 Froyo操作系统修复了几个漏洞。然而,摩托罗拉和HTC历时七个月才为他们的智能手机发布更新,三星用的时间就更长了。这些延迟,意味着恶意黑客可以学习发布的修复补丁,并创造对没有打补丁的手机的利用。糟糕的是,Android不是唯一遭遇这些问题的操作系统。当发现WebKit网页渲染引擎中存在一个漏洞时(该漏洞影响大多数只能手机浏览器),谷歌的浏览器可以很快被打上补丁,而苹果用了8个月才在其iOS设备上实施该更新。
鉴于以上情况,对于企业权衡为移动设备实施虚拟补丁,特别是Android虚拟补丁的想法是可以理解的。一个实现虚拟补丁的常见方法是,在电脑前端部署一些代理或入侵检测系统,以防止或消除恶意行为。然而,这不是一个用于移动设备的真正的选择,因为它们有很多的连接到互联网和其他设备的方式。
其他形式的虚拟补丁是要改变操作系统的运行时代码。这种方法不仅引入了新的风险,如编程错误,而且还造成设备不稳定。即使企业有熟悉代码的程序员,他们了解Linux内核和Java,足以减轻新发现的风险,但他们可能因“越狱”手机而破坏网络运营商的合同条款。
如果一个企业还是想继续这条路线,那么就分析AOSP是如何审查的以及补丁流程是什么。通过使用针对Android的免费LiveCD(工具盘),可以建立一个Android的测试机,而Android兼容性测试套件可帮助开发人员确保他们的软件在整个开发过程中保持兼容。
毫无疑问,虚拟补丁是一个非常有价值的技术,可用于减少由供应商补丁周期之间漫长的间隔所带来的风险,尤其是面对越来越多的Android恶意软件攻击。但是,通过这种方式来保护移动设备并不容易,特别是更新经常需要对整个固件进行修改和更换一个用户的装置。