论文部分内容阅读
近年来,随着移动互联网迅猛发展,Android成为了移动终端使用最广泛的操作系统,Android手机也是当前市场占有率最高的智能手机。自2009年11月10日,世界上第一款Android恶意软件-Mobil Spy问世,Android平台的攻击呈现出爆炸式的增长,至2015年第一季度,单季度就发现了 440267种新的安卓恶意软件,也就是说,全球范围内每18秒就会出现一个新的恶意软件[11。恶意软件开发者将恶意代码移植到正常的应用程序中,生成一个木马程序,通过隐蔽下载、隐私信息窃取、恶意吸费等手段,对用户的财产安全造成巨大的损害。因此,对Android平台下的恶意软件进行检测是一个非常重大的课题,而传统的检测方法都有一定的局限性,对已知手机恶意软件的防护力度过低,对未知的恶意软件的检测也有待提高。现有的恶意软件防护功能大部分都放在了移动设备端,通过移动设备中的安全软件进行检测,但是受限于设备的硬件条件,相关安全软件的检测方法一般都为简单的特征码匹配或权限组合检测,检测效率低,硬件资源占用率高,大大降低了手机的用户体验,种种的问题导致很多用户选择不安装安全软件,这样的现状也为恶意软件的传播提供了条件。为了解决Android平台应用安全的问题,最重要和最关键的就是在源头上遏制住恶意软件的发布,这就需要应用商城使用自己的资源优势,拥有一个效率很高的恶意软件检测机制,但是这也是现在很多应用商店并没有做的很好的事情。所以本文研究的主要目的就是实现一个可以高效的应用于应用商店检测的Android恶意软件检测系统。为了实现这个目的,本文做了以下工作:一、本文对Android平台架构及其安全体系策略进行了研究,分析了恶意软件的行为方式和代码特征,深入研究并比较各恶意软件检测方法的原理和优劣,提出了一个从源代码角度,以APK逆向技术为基础的恶意软件分析方法。二、本方法将分析Dalvik虚拟机指令进行数据流跟踪敏感字符和函数调用作为检测的核心部分,同时辅之以应用程序敏感函数匹配,特征码签名匹配等检测手段,可以有效的查找出Android应用软件可能存在的恶意行为。三、本文基于以上检测方法,并借助于Androguard开源工具的实现原理,设计并实现了一个基于静态检测技术的Android平台恶意软件检测系统。四、通过实验测试,证明了本方法在合理的误报率区间范围内,能够有效的识别出恶意软件并能够检测出其具体的恶意行为。通过与动态检测等其他流行检测方法的检测结果进行对比,证明本系统的恶意软件检出率能够提高20%左右,检测效率相较于一般动态检测能够提高70%。