2000年6月首次出现了移动终端的恶意代码,VBS.Timofonica是一款通过运营商的移动系统向手机用户发送辱骂性质短信的手机病毒,原理类似于邮件炸弹[1]。首例真正意义上的概念性手机病毒是国际病毒组织29A发布的Cabir[2],可以说是Symbian手机病毒的鼻祖。它通过蓝牙连接复制,发送一个名为Caribe.sis的文件。2010年8月,卡巴斯基官网称检测到首个运行在Android系统的木马病毒Trojan-SMS.Android- OS.FakePlayer。随着第一个Android系统木马病毒的发现,Android恶意代码的数量迅速增加,迫使人们开始重视恶意代码检测技术的研究。30517
目前恶意代码检测技术主要有两种方法,一种检测方法是基于签名,另一种是基于行为[3],随着恶意软件的变种使基于签名的检测的特征库不断膨胀,检索复杂度变大并且基于签名的检测容易被加壳,被代码混淆技术所规避。基于行为分析的检测技术,能够有效地检测新型或者变种恶意软件[4]。论文网
基于行为的检测方法主要分为静态检测技术和动态检测技术[5],下面将分别介绍这两种技术。
静态检测技术,指在不运行有可能是恶意程序的手机程序的前提下,通过逆向工程对手机程序进行反编译或反汇编,然后快速定位关键代码,分析API调用顺序,从而判断程序是否存在恶意行为。静态检测技术的规则检查(Rule Check)对已知的恶意代码的检测效率高且误报率低,但对未知的恶意代码的检测却无能为力。
图1.2 Android恶意代码静态检测流程
动态检测技术,指利用虚拟机等方法,模拟运行手机程序,监控程序执行过程中的各种行为,并对这些行为进行威胁性分析[6]。该方法是通过提供一个虚拟的运行环境,模拟用户各种可能的操作来发现一些可疑的恶意行为。由于是在仿真环境下运行手机程序,所以对系统基本上不会造成严重的危害,通过动态检测技术可以检测未知的恶意代码率高,可以弥补静态检测技术在这方面的不足,但是却会占用大量的系统资源,所以查杀效率低。 恶意代码检测技术国内外研究现状:http://www.youerw.com/yanjiu/lunwen_26250.html