移动智能终端软件安全机制与恶意软件检测技术分析
2015-05-04李喆
李喆
摘要:在Android系统环境下,主要介绍移动智能终端的特点和一些固有的安全机制,有助于我们在移动智能终端自身特点和安全性基础上研究移动终端的安全体系。对Android系统相关的安全防护和检测的概念进行归纳总结,揭示了Android平台的层次化安全体系。最后分析对比目前的移动智能终端恶意软件检测技术的优劣。
关键词:移动 智能终端 软件安全 软件检测
中图分类号:TP309 文献标识码:A 文章编号:1007-9416(2014)12-0195-01
1 Android体系结构概述
移动智能终端是指安装有开放式的智能化操作系统的设备,通过加载相应的程序来实现相应功能。目前主要是以智能手机,平板电脑,电子阅览器,甚至可穿戴设备等为代表。它扩展性极强,功能强大,可以通过无线随时接入网络。一般由操作系统、应用软件、处理器和存储器等硬件组成。具有随时携带,使用碎片化,使用便捷等特点。Android系统是目前最流行、使用最广的移动设备研发平台,作为研究对象具有重要意义。Android主要由系统内核,中间件以及应用程序框架构成。
2 Android安全机制分析
2.1 内核安全机制
Android内核层安全机制主要包括可移植操作系统接口用户和文件访问控制。这些机制的基本元素是用户及其拥有的对象,其中用户诉进一步分配到用户组。另外内存控制机制以及ICC通信机制也一定程度上保证了Android的运行安全。
2.2 运行环境安全机制
(1)强制类型安全机制。该机制主要是通过对赋值变量的值与声明类型记性强制检查,看是否符合标准,从而保证变量的正确使用。具体来说,Android系统编译器在检查类型的时候,通过自动存储及对数组边界的检查保证类型安全,防止减少缓冲区溢出攻击,或者类似类型转化的错误。
(2)Dalvik虚拟机沙盒机制。Android应用程序运行在Dalvik虚拟机上,不同于JVM基于栈,Dalvik虚拟机是基于寄存器的,这是考虑到移动智能终端自身的物理硬件特点不便于执行更多的指令。同时Dalvik虚拟机为移动智能终端进行了优化,它可以在内存中同时运行多个虚拟机实例,通过POSIX UserlD可知,这样可以保证应用程序互不干涉的独立运行。
(3)终端安全。Android系统在设计中已经引入了3A原则。结合SIM卡中密钥和相关协议,共同完成认证和授权,从而进一步加强系统平台的安全性。
2.3 应用程序框架安全机制
签名可以使程序拥有相同签名程序设定的权限,是对程序完整性与可靠性的认证。应用程序安装包的签名采用非对称加密算法,在安装Android应用时,系统须对该程序的签名和证书进行验证,验证成功才可安装。Android系统的签名机制包括两个阶段:包扫描阶段和权限创建阶段。包扫描阶段需要进行完整性和证书的验证,如果是系统package的话,只需用去提取相应的签名和验证信息就可以了。在权限创建阶段,如果该package是系统应用,就信任它,并用新的签名信息去替换旧的信息。
3 移动智能终端恶意软件行为检测技术
恶意软件及其变种逐渐成为了移动智能终端用户面临的最大威胁,Android本身的安全机制已经无法对终端提供安全保护,移动智能终端正逐步论为“肉鸡”。因此检测出恶意的软件行为具有重要意义。
3.1 移动智能终端恶意软件定义
一直以来,恶意软件都有着不同的定义中国互联网协会反恶意软件协调工作組在充分听取成员单位意见的基础上,最终确定了“恶意软件”定义并向社会公布:恶意软件是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵害用户合法权益的软件,但不包含我国法律法规规定的计算机病傅。具有下列特征之一的软件可以被认为是恶意软件:强制安装、难以卸载。、浏览器劫持、广告弹出、恶意收集用户信息、恶意卸载、恶意捆绑、其他侵害用户软件安装、使用和卸载知情权、选择权的恶意行为。
现有的恶意软件检测技术多是借鉴计算机领域的恶意软件检测方法,主要分为静态行为分析和动态行为检测两种。前者指内部行为主动发掘方式检测,是在程序安装运行之前进行异常检测;后者则被称为外部行为被动检测,是在程序运行期间对软件行为进行异常检测。
3.2 静态检测技术
静态分析的对象是程序源码,是软件在安装运行之前通过逆向手段,利用某些软件分析工具抽取静态行为特征,如函数调用序列、二进制代码片段、配置文件等并进行人工分析,从而理解软件的行为。这是一种更深入的细粒度恶意行为检测技术。目前,静态检测方法涉及两种关键技术。
(1)代码语义分析方法。利用反编译工具通过逆向工程等手段,得到应用的源码、程序图片、配置文件以及各种语言资源文件等,分析理解源码的语义和逻辑流程,还原出主要功能图和流程图,从而检测出软件是否存在恶意行为。
(2)特征码分析法。通过逆向工程技术,将程序应用的操作码序列、二进制序列以及函数调用序列等特征信息提取出来进行分析。同一种恶意行为对应的恶意代码特征码也是相同的。静态分析方法还包括证书和签名信息的比对。可以看出静态行为检测技术具有速度快,实时性要求低,低风险和高效率等优点。不过对于经过自修改或者加壳加密技术处理的恶意软件,检测率和误报率都不尽如人意。
3.3 动态检测技术
动态行为分析是指在严格控制的环境中(如沙盒、虚拟机、物理隔绝的主机等)执行软件的安装和运行等操作,并收录其行为以及对系统环境和资源造成的影响。通过对行为状况的分析,来检测软件是否具有窃密隐私、吸费、非法内容传播等恶意行为。动态检测技术对实时性的要求较高,所以对运行环境的能耗较大,一般有状态对比和行为跟踪两种方法。
4 结语
以移动智能终端体系结构为出发点,在Android系统环境下评细介绍了移动智能终端尤其是Android平台的安全机制和软件行为分析技术。首先,详细描述了在Android系统环境下移动智能终端的系统架构,以及各层次的特点和作用。其次,以此为基础详细介绍了移动智能终端Android平台的安全机制,包括内核、运行环境以及应用程序框架三者的安全机制。最后,分析比对了移动智能终端上的软件行为分析技术,并比较了相互之间的优缺点。
参考文献
[1]童振飞,杨庞.Android平台恶意软件的静态行为检测[J].江苏电信,2011.2.endprint