论文部分内容阅读
随着近年来我国3G业务逐渐用于商业,移动互联网的便捷使用和智能手机的方便携带,最近十年来智能手机市场得到了迅速的发展。由于智能手机具有性能出色、功能丰富和便于携带等优点,越来越多的人选择使用智能手机代替个人计算机来处理一些日常事务,如办公、即时通信、网上电子交易、网络游戏等。随着智能手机市场地位的不断爬升,未来市场的主体势必是智能手机,智能手机的用户数量和产业规模都将大大超过PC机。正是由于智能手机的方便快捷的特点,智能手机接触用户的敏感信息的机会越来越多,因此智能手机软件市场上也充斥了越来越多的恶意软件(malware)。在这种严峻的形势下,保护智能手机的安全的重要性也逐渐体现了出来。一般来说,恶意软件(malware)是拥有恶意行为的程序的统称,它主要包括病毒(virus)、蠕虫(worms)和特洛伊木马(Trojan horses)等。在2004年,在诺基亚的塞班(Symbian)操作系统上出现了智能手机历史上第一个手机病毒Cabir。Cabir的出现说明了恶意软件不仅能对计算机操作系统造成威胁,也可以在智能手机之间进行恶意软件传播。近年来随着Android、IOS等智能手机操作系统的迅速普及,智能手机终端的恶意软件也在迅速蔓延。据网秦公司2010年统计数据表明,智能手机终端病毒种类数已经超过2500种,同比增长了将近一倍,不完全统计已经感染智能终端800万部以上。本文在深入理解基于Android操作系统的智能手机的特点及其所面临的安全威胁的基础之上,提出了一个基于Android平台软件异常行为检测方法并在Android平台上得以实现。论文中提到的基于行为的检测方法通过对文件的行为进行监视(比如,可以使用静态分析等方法来抽取待检测软件的系统调用序列),然后结合已获得的异常行为模式(如已经提取的异常软件的系统调用序列),来判断目标程序是否已经具备异常行为的特征。对软件进行异常行为检测可以在软件安装时进行,这是静态行为检测;对软件进行异常行为检测可以在程序运行时进行,这是动态行为检测。因此异常行为检测就可以分为以上两种。动态行为检测由于在程序运行时执行,因此它要求要有比较高的实时性,而且要确保异常程序对系统产生损害之前就要检测出是否异常行为,所以一般能耗较大。静态行为检测则通过抽取程序的特征序列,如二进制序列、操作码序列和函数调用序列等这些逆向工程的手段来对软件进行行为检测。相比较于动态行为检测,静态行为检测对实时性的要求比较低,能耗也更低,风险会更小,因此本课题通过比较之后选择了静态行为检测方法来检测Android平台下软件的异常行为。