论文部分内容阅读
智能手机近几年的快速发展为人们的工作和生活带来了巨大的变化。在发展的同时,智能手机中的恶意软件也在不断的侵犯手机用户的隐私和安全。开源的Android系统相比其他手机系统具有更大的开放性和自由度,因此也更容易产生恶意应用去威胁用户手机的安全。Android系统平台占有全世界手机市场份额一半以上,所以对Android恶意应用检测方法的研究具备较为重要的意义。本文研究了Android恶意应用检测方法,针对静态特征和动态特征使用不同形式地组合来检测恶意应用。主要研究工作包括以下几个方面:(1)在静态检测方面,研究了基于Smali汇编码特征和Permission权限特征的静态检测方法。提取Smali汇编码特征和Permission权限特征分别形成单一的静态特征库和组合静态特征库,并采用基础分类算法分别进行了分类对比实验,在分类效果上获得较高的准确率和较低的误报率的实验结果。(2)在动态检测方面,研究了Android系统中的Zygote进程机制,使用Xposed框架对Zygote进程进行动态劫持,同时采用适当的事件触发机制模拟真实情况下的手机操作,以获得对应的动态函数调用作为动态特征。(3)将动态特征与不同的静态特征进行了适当的组合形成多重混合特征进行分类对比实验。实验结果证明了动态特征的有效性,同时也反应出了动态特征覆盖率不足,产生噪声数据影响分类准确率等问题。使用不同的集成学习方法,对基础分类算法进行改善以取得分类效果的提升。基于上述方法的研究,设计完成了一个Android恶意应用检测系统,实现了使用多重组合特征和集成学习方法来检测发现恶意应用的功能。