摘要:针对智能终端面临的众多安全威胁,从软件保护和硬件保护角度分别介绍了智能终端安全防护技术,其中软件保护分为被动防护和主动防护,硬件保护包括安全启动、可信执行环境(TEE)体系、可信区域技术,并提出了智能终端安全防护技术的发展方向。
关键词:智能终端,安全防护,操作系统加固方案,TEE安全体系
1 智能终端安全威胁概述
近年来,智能终端信息安全事件频发,移动互联网恶意应用软件层出不穷,甚至形成了黑色产业链。恶意功能主要分为恶意吸费、隐私窃取、功能破坏、远程控制等几方面。目前有据可查的恶意吸费软件的代表有彩绣画皮、僵尸病毒、骷髅头、短信海盗;隐私窃取软件的代表有短信卧底、终极盗密、盗密空间、给你米;功能破坏软件的代表有骷髅头;远程控制软件涉及Windows Phone 7远程删除用户程序、苹果远程搜集用户位置信息等。这些恶意应用对智能终端用户的信息安全构成极大威胁,破坏了智能终端应用产业发展的生态环境,严重影响了智能终端应用业务的开展,从根本上影响了移动通信产业的健康发展。
2 安全防护技术概述
2.1 软件防护技术
(1)被动防护
参照计算机安全防护措施,第三方安全防护软件主要是对应用进行特征码扫描,并限制应用对智能终端资源的访问。基于特征扫描存在如下问题:病毒的发现永远滞后于病毒的查杀,不能进行主动防护,而且智能终端的安全防护能力依赖于安全防护软件厂商的特征库更新。智能终端是敏感信息集合的个人终端,安全防护能力要求高于计算机,但限于计算能力,基于特征码扫描查杀的方式不能起到实时防护作用。因此,智能终端的安全防护软件集成了对应用的访问控制功能,对应用的敏感行为按照用户指示的方式处理。
另外,智能终端安全防护软件必须取得操作系统内核的较高权限,才能对应用实施访问控制,但是权限往往得不到满足。除此之外,像苹果的封闭式操作系统,第三方安全防护软件根本无法获取内核较高权限,也就没有办法实现对应用的访问控制。即使是开放式的操作系统,由于操作系统内核权限获取困难,往往需要将第三方安全防护软件集成到操作系统内部。综上,操作系统内核权限获取问题限制了第三方应用软件的防护能力。
(2)主动防护
智能终端是一个资源受限的计算系统,同时又是敏感信息集合的个人终端,在处理能力和信息保护需求上完全处于“不对称”状态,智能终端第三方安全防护软件往往要在这两个方面进行折中。封闭式操作系统的第三方安全防护软件需要得到较高运行权限,才能对恶意应用进行有效监控;出于商业目的,封闭式操作系统的第三方安全防护软件一般被拒之门外,破坏了第三方安全防护软件自由竞争发展的市场环境,从技术发展和安全防护方面都不利于解决智能终端安全问题。
1)操作系统加固方案
从智能终端安全防护角度出发,资源受限的个人计算终端适合采用主动防护策略。有效的解决方案是对智能终端操作系统进行加固,侧重于保护用户的资费安全和隐私安全等基础性安全,高等级安全则由第三方安全防护软件解决。智能终端操作系统加固的优点在于可以提高智能终端自身的安全能力,主动防护绝大多数恶意应用,有效提高智能终端的基础性安全,解决移动互联网接入节点的基础性安全问题。针对少数恶意应用防护则交由第三方安全防护软件,这样对智能终端的功耗和处理能力的要求都降低了,延长了智能终端的平均在线时长,增加了智能终端的接入种类和数量,扩展了移动互联网的接入规模。另外,智能终端操作系统加固方案增强了移动互联网节点安全,降低了移动互联网应用软件的监管难度,有利于促进移动互联网的健康发展,因此基于主动防护策略的操作系统加固方案是切实可行的。
2)操作系统加固技术
操作系统加固包含健壮性、安全性等方面。健壮性是智能终端安全运行的基础,可行的思路是将操作系统的API进行分类,对语音通信、通讯记录、图像获取、位置获取、数据传输等敏感API进行监控。恶意应用的主要表现形式是在智能终端后台调用这些敏感API,不易被用户察觉,对用户财产安全和信息安全构成重大威胁。从技术实现上讲,比较可行的方式是操作系统对所有应用建立访问控制列表,对于被调用的敏感API进行实时监控,依据访问控制列表限制应用行为。
2.2 硬件防护技术
智能终端采用操作系统对所有应用建立访问控制列表的方式非常有效,可以解决大多数安全防护问题,达到基础性安全防护能力要求。但在某些应用场景,例如移动支付、移动商务、数字版权等,对智能终端有着较高的安全性要求,基础性安全防护的能力已经难于满足应用的安全性要求。为了进一步增强智能终端的安全性,基于硬件构建的智能终端安全防护系统可以满足这些要求,以下简要概述安全启动、可信执行环境体系、可信区域技术。
(1)安全启动功能
基于硬件的安全启动(Secure Boot)功能可以保护智能终端软件系统的完整性,即在智能终端系统启动过程中,如发现系统镜像被修改,那么就终止启动。这个机制可以有效解决系统镜像被恶意应用修改的威胁,防止恶意应用获取操作系统最高权限。
安全启动实现方式多样,比较简单的是将系统镜像分为启动加载(Bootloader)部分和操作系统部分,将启动加载部分的数字签名存储在一次性编程(OTP,One Time Programmable)存储器,将操作系统部分的数字签名存储在Bootloader部分。智能终端启动时验证Bootloader数字签名,验证通过后,Bootloader再验证操作系统的数字签名,如果这两个环节数字签名验证失败,则立即终止启动。
(2)可信执行环境体系
基于硬件的安全可以轻松解决软件不能解决的安全性问题,顺着这个思路,GP(Global Platform)组织提出了基于硬件安全的可信执行环境(TEE,Trusted Execution Environment)安全体系架构。TEE是一套开放的安全体系架构,致力于低成本解决移动安全应用问题,即针对移动支付、移动商务、数字版权等安全业务提供适度安全解决方案。
TEE的思路是在智能终端内部构建一个硬件可信环境,作为TEE可信环境与原有系统环境交互的桥梁,这个可信环境与原有系统环境并行,实际是并行内嵌一个嵌入式安全系统,该嵌入式安全系统通过安全API与原有操作系统进行通信。为降低成本、减小体积、简化设计,嵌入式安全系统和原有操作系统在物理上分享硬件存储资源,处理性能介于UICC(Universal Integrated Circuit Card)智能卡系统和智能终端系统。这个嵌入式安全系统运行一个微内核操作系统,执行限定的安全API,仅对智能终端原有系统的安全应用提供安全服务。安全性基于嵌入式安全系统的硬件安全单元,例如加密引擎、OTP存储、安全SD卡等。
TEE标准框架的优势在于对智能终端系统的硬件改动很小,成本低,能满足较高安全应用的需求,有利于推广移动安全业务;不足之处在于,仅能提供适度安全。其市场关注度很高,目前TEE标准正在加紧制定和完善过程中。
(3)可信区域技术
ARM作为TEE标准参与制定成员,提出的硬件可信区域(TrustZone)技术可以很好地适用于TEE体系架构。TrustZone的思路是将ARM处理器进行扩展,增加相应的安全指令、安全配置逻辑,设立有别于核心态和用户态的安全态。TrustZone并不能够解决所有的安全问题,ARM的设计思路是把一些安全性要求高的代码放在TrustZone安全区域里执行。芯片逻辑设计上,TrustZone是ARM处理器体系结构的扩展,智能终端系统软件可以利用这一扩展提供安全支持。实际上TrustZone本身并不能实现安全保障功能,但这一解决方案的硬件实现不复杂,也不会增加许多功耗,因此是一个具有很好性价比的安全嵌入式解决方案。
3 安全防护技术发展方向
基于操作系统软件的安全防护措施成本低,对智能终端的硬件不需要做任何改动,能够解决智能终端基础性安全问题,特别是采用主动防护思路的操作系统加固方案能在终端使用前就具备基础性安全防护能力,第三方安全防护软件可以致力于恶意应用查杀技术,具备很强的市场准入推广能力。基于硬件的安全体系架构,需要对智能终端的硬件系统进行改进,能够解决智能终端软件系统完整性问题,具备较高的安全防护能力,可以支持移动支付、移动商务、数字版权等移动安全业务,进而促进移动互联网安全业务的健康发展。
从智能终端安全防护技术发展思路上讲,操作系统加固方案具备很强的市场准入推广能力,基于硬件的TEE安全体系有待市场考验。紧密结合市场应用环境,按照安全防护能力分级思路,制定满足市场有序健康发展需要的安全防护技术标准,是今后智能终端防护技术发展路线。
未来移动应用会涉及工业和国防等安全性更高的领域,研究芯片级安全防护体系是今后智能终端安全防护技术发展的方向。芯片级安全防护体系设计复杂,技术难度高,对智能终端硬件系统改动较大,特别是嵌入安全单元会对智能终端的功耗、体积、性能等构成设计挑战,相信这些问题都会随着芯片设计技术的发展逐渐消除。积极研究我国自主的智能终端芯片级安全防护体系,对我国移动互联网长远发展具有重要意义。
作者简介
张鹏:工程师,硕士毕业于北方工业大学,现任职于工业和信息化部电信研究院泰尔实验室,从事移动通信信息安全技术研究。
史德年:教授级高工,硕士毕业于原邮电科学研究院,现任工业和信息化部电信研究院泰尔实验室总工,2011年担任中国通信标准化协会移动互联网应用和终端技术委员会终端工作组组长,目前正从事智能终端等方面的研究工作。曾获信息产业部科技进步二等奖。