冯志杰, 李红双
(中国移动通信集团设计院有限公司河北分公司,石家庄 050021)
移动智能终端是指具备开放操作系统平台和PC级处理能力的移动终端,包括智能手机和平板电脑(PAD)。
全球智能终端市场正以爆炸性的态势迅猛发展。2011年全球移动终端销量约16亿部,而移动智能手机销量更是达到4.72亿部。另据市场研究公司Canalys发布数据显示,2012年第二季度中国市场智能手机(不含PAD)出货量与去年同期相比增长了199%,达到了4200万部。
智能终端的操作系统是终端软件平台体系的核心,其向下适配硬件系统发挥终端基础效能,向上支撑应用软件决定用户最终体验。现有智能终端的操作系统软件平台主要有Android(含OMS、WebOS等)、iOS、BlackBerry、Symbian、Windows(含Windows Phone7和Windows Mobile)、Linux等,咨询公司IDC的数据显示2012年一季度市场份额如图1所示。
图1 智能终端操作系统所占市场份额
智能终端的日益普及使得终端安全问题日益严峻。移动智能终端技术层次体系包含许多层面。将这些层次归类包含硬件层,固件层,操作系统层,应用层4个层面。具体如图2所示。
排除物理安全的因素,硬件层面本身不具有被攻击的特性,因此智能终端的安全问题多集中在固件、操作系统和应用3个层面。
图2 智能终端技术架构
仅依赖于操作系统和应用级别的安全防范机制已经不能满足信息安全技术的发展需求,智能终端安全体系必须进一步向下延伸到系统固件层。以1999年大规模爆发的CIH病毒为代表,恶意代码对系统的入侵开始向下延伸到固件层。统一可扩展固件接口(UEFI,Unified Extensible Firmware Interface)联盟,于2006年推出UEFI 2.0固件标准。这一标准目前被广泛的应用于智能机固件,包含固件的写入与升级、EFI预启动(PEI)、驱动运行环境(DXE)、选择启动设备(BDS)、操作系统启动(OS Boot)等几个阶段。具体如图3所示。
第1步的固件写入与升级操作具有非常大的风险性,因为一旦安装嵌入了不安全代码或者恶意程序的固件会令智能终端始终运行在不安全的环境之中。虽然UEFI标准中加入了关于可信启动、数字签名和数字摘要等服务的定义,但是据IDC报告显示,多数智能终端的写入呈开放状态,未启用基于数字认证技术,也就不能够禁止未知代码的写入和运行。
当前智能终端的操作系统均是各厂商在自有操作系统(Windows、Linux、Darwin)的基础上进行大量的自定义开发,但是安全机制仍采用原有操作系统的架构。对功能和应用重视的同时轻视了安全,这就使得操作系统成了安全问题的根源。
市场占有率超过智能终端半数的Android平台,其安全体系的设计沿袭了Linux的安全架构。Android平台权限的决策交给了用户,而多数的应用程序开发者都希望尽可能申请到最大范围的权限,即使应用本身不需要太大的权限(为了达到市场和用户行为分析等目的,许多应用程序在后台进行网络连接和手机用户个人信息等操作)。大部分的Android智能终端用户由于知识水平有限,无法对程序的运行权限进行正确决策。有时在安装或使用这些应用程序时,明明知道权限请求不合理,但为了使用相关功能只能选择同意。
市场占有率第二的iOS平台安全体系遵循 “沙箱”安全原则,系统文件、资源以及内核都与用户应用程序相隔离。若应用程序要访问其它程序的数据,则必须通过iPad OS提供的API进行访问。另外iOS的应用安全检测原理可以确保苹果公司对每款公开应用程序进行检测,但这种检测方式也并不是万无一失。但是,iOS不能够很好地防范恶意软件攻击、数据丢失型攻击、以及拒绝服务式攻击、资源滥用型攻击。
图3 智能终端系统启动过程
Windows Phone吸取了Android和iOS平台的安全经验,但2011年底爆出的Windows Phone短信漏洞可跨平台触发DOS攻击,受攻击的智能终端会出现黑屏、重启等现象。另外,基于CE核心的Windows Phone运行中有产生垃圾文件较多,导致系统运行缓慢的现象,从安全运行的角度来说也是一种潜在的安全隐患。
智能终端操作系统的ROOT权限被滥用(或称越狱)问题是智能终端安全的最大问题。智能终端的操作系统通常只赋予用户和应用程序有限的权限,以保障系统的运行安全和数据安全。据越狱软件Cydia创始人Jay Freeman透露,全球有10%的iPhone进行过越狱,在中国越狱的比例达到了60%。当用户放开超级用户权限后,病毒或木马等非法软件就会有可乘之机被赋予较大权限,引起安全问题。例如360手机卫士等软件只能在越狱后的iPhone和ROOT后的Android平台安装,安全软件本身就给智能终端用户带来了不安全性。
相比固件层面和操作系统层面,应用层面的安全问题更为复杂。智能终端应用程序来源的多样化使得应用程序安全问题日益突出。
苹果、谷歌,微软,诺基亚等分别出了各自官方的应用商店Android G o o g l e P l a y( 原Android Market)、A p p l e A p p S t o r e、Windows Marketplace、Symbian OVI。智能终端应用软件传播途径除了以上官方应用商店外,还有第三方市场外,论坛或者好友传播等方式,可以说是比较混杂,具体如图4所示。
苹果官方的Appsotre和微软的Marketplace审核相对严格,谷歌的Google Play则采用了“保镖Bouncer”对应用商店进行扫描,查找恶意软件检查可疑行为。第三方市场和论坛等则缺乏相应的审核和检测机制,为灰色产业链打开了一个方便之门,不法应用开发商往往在正常的应用程序中恶意夹带。
除了在应用程序中夹带木马、病毒,恶意获取智能机的网络、电话、短信、个人敏感信息权限外,应用层面的另一主要问题是编码的不规范带来的SQL注入问题。SQL注入问题是指编程过程中,经常会把用户输入的数据拼成一个SQL语句,然后直接发送给服务器执行,比如string SqlStr=select * from customers where CompanyName Like % + textBox1.Text + %;这样的字符串连接可能会带来灾难性的结果,比如用户在文本框中输入:a or 1=1那么SqlStr的内容就是:select * from customers where CompanyName like%a or 1=1整个customers数据表的所有数据就会被全部检索出来,因为1=1永远true。终端应用程序的注入如图5所示。
图4 智能终端应用获取方式
图5 应用程序SQL注入问题
在充分考虑智能终端现状基础上,根据智能终端的安全需求,本文从安全管理体系、固件安全、网络安全、操作系统安全和应用安全等5个方面进行移动终端安全防护体系的设计,如图6所示。
建立和完善监管机构、检测机构和应用软件开发商等3层的认证认可体系。监管机构应依照法律法规和标准对相应的检测机构和应用软件开发商进行管理,对监管机构的技术能力进行评估和认可,赋予检测机构对软件进行相应检测的资质。检测机构依据相应的标准对应用软件进行检测审核,并将通过检测的软件进行数字证书的发放。将含数字证书的应用软件发布到可信网站或应用商店上供智能终端用户查询和下载使用。
图6 智能终端安全防护体系框架
固件层面安全的防范主要是防止恶意代码先于操作系统加载到智能终端,优先获得智能终端的控制权,导致安全软件不能对其有效地清除。因此,固件的写入和升级过程要严格的控制,手机厂商要切实负起责任,对检测合格的固件发放数字证书,写入固件之前要运行相应的数字证书检测机制,对于没有数字证书或完整性受到损害的固件做到及时的写入阻止。
智能终端(认证)准入和网络流量的监测,对智能终端访问控制是移动运营商不可推卸的责任,网络安全设计主要包括如下几个方面:
身份认证:智能终端应支持采用智能认证,提供身份认证、电子签名、权限管理等诸多安全功能。
网络流量监测:运营商应实时监测网络的非法流量,对非法流量进行及时清洗,以保证智能终端正常访问。
对智能终端的访问控制是指运营商从网络层面对智能终端所访问的资源进行控制,从网络层面发现终端访问的病毒、木马等隐患资源。将中毒或木马的信息及时推送给用户。目前广东移动、江苏移动、河北移动已经进行了试点,这种从网络层面做到终端病毒、木马防护的新思路效果较好,值得全国推广。
操作系统层面的安全防护,首先要及时向用户宣传ROOT权限相关的知识,说明放开ROOT权限的重要性。其次,系统平台开发厂商应启用操作系统平台的安全沙箱机制,做到系统文件、资源以及内核都与用户应用程序相隔离。Android平台应该借鉴iOS和Windows Phone平台改进最终用户手动赋权模式,减少智能终端用户用权限换取应用功能时付出的安全代价。
针对目前我国现实情况,应用层面安全的防护应采取两步走的策略。第一步,网上应用商店应加强自身的审核机制,建议APPStore和Windows Marketplace等网上商店借鉴Google Play的Bouncer扫描机制。第二步,待我国的检测机构完善后,统一由检测机构发放数字证书。智能终端自身应能够拒绝缺少数字证书应用程序的安装和运行。
另外,应用层面上,应用程序开发厂商应该严格审核源程序的编码问题,规范编码,对源程序做到严格黑盒测试和白盒测试,放置应用程序被SQL注入。除此之外,智能终端还应安装杀毒软件,并及时更新应用程序,及时打补丁。
随着移动互联网的快速发展,可以预见智能终端将成为人们日常生活和工作不可或缺的一部分,因此智能终端的安全防护越来越重要。本文提出了移动终端安全防护框架,从智能终端安全管理,固件层面,网络安全,操作系统和应用5个层面给出了防护建议。
此外,笔者明确提出智能终端的监管和应用程序的认证机制有助于智能终端设备迅速进一步推广,对智能终端的安全防护和管理有很强的指导意义。
[1] 中国移动终端安全管理规定(试行)[ EB/OL]. 中国移动通信集团公司,出版日期:2011-7-1.
[2] 付思源,刘功申,李建华. 基于UEFI固件的恶意代码防范技术研究[J]. 计算机工程, 38(9).
[3] 移动互联网应用安全分析报告[R]. 国家网络信息安全技术研究所, 2012年8月,6-7.