论文部分内容阅读
随着智能手机行业的快速的发展以及3G,4G移动通信技术的快速革新和推广,越来越多的消费者使用智能手机接入互联网服务,伴随着智能手机的快速普及,用户的隐私资料例如信息,图片,财富等往往保存于个人智能终端,因此智能手机的安全也越来越被消费者所重视,在智能手机的版图中搭载Android操作系统的移动设备占有领先的份额。然而,Android手机的恶意软件占到所有恶意移动端恶意软件数的97%,最近几年Android系统的高危漏洞时有披露,可能会导致黑客控制消费者的手机,这使得我们将研究的重点放在搭载Android操作系统的手机。 Android手机端的软件检测通常分为基于静态分析的研究方案和基于动态分析的研究方案,基于静态的分析的研究方案侧重于从应用程序中抽取出特征码,通常是一段代码或者字符再基于黑名单或者白名单模式进行匹配,基于动态的研究方案通常的思路是研究应用程序在运行时所表现出的特征。基于静态的分析在检测效率上较为低下且基于且现在应用程序通常其系统结构极为复杂。动态方案中,将应用程序完全建模是非常繁琐甚至不可能的事情,而若抽取的模型不完备则可能导致检测有效性的低下,这使得我们去思考能否建立一种新的动态与静态混合分析的Android软件检测方法,在本文中我们提出一种静态和动态混合分析方案,动态运行Android应用程序获取应用运行时对于系统底层系统调用的数据,对收集到的数据我们进行不同深度的搜索寻找在连续的网络与文件相关系统调用下,恶意应用对比正常应用表现出的特征,将这些特征收集起来建立起恶意特征库,同时我们获取出正常应用对比恶意应用在连续的网络与文件相关系统调用上表现出的特征并依据这些信息建立正常特征库,对于待检测的应用我们收集其运行时调用系统调用的数据,并对收集到数据进行处理,将处理好的数据分别去匹配恶意特征库和正常特征库,根据匹配的结果对待检测应用进行判定,通过采取这种动态与静态混合式分析方法,我们获得比单独使用静态检测或者单独使用动态检测更高的Android软件检测成功率,更为重要的是我们的检测方案是一种通用的检测方法,不同于以往的Android软件检测方案,即采用对不同类型的恶意软件单独分析,我们通过对应用程序底层系统调用拓扑分析,建立对移动终端应用的一种通用的检测模型以期能够对不同类型的应用程序都能够很好的检测。