论文部分内容阅读
恶意应用软件对用户的影响日趋严重,仅2017年第三季度Android平台新增恶意应用软件样本188万个。不法分子利用恶意应用软件扣取用户话费、盗取用户隐私、消耗用户网络流量,因此研究Android恶意软件检测问题有着重要的现实意义。现有研究方法主要是利用静态分析或动态分析提取Android应用特征,并结合机器学习方法检测恶意应用。经过研究和分析发现,目前研究方法有三方面的局限性:使用静态分析方法对使用了混淆技术的Android应用检测效果有限;使用动态分析方法时间开销过大;研究者没有考虑到不同类别的Android应用具有的不同的特征。针对以上存在的问题,本文做了如下的研究工作:本文设计并实现了一种基于类别和混合特征的Android恶意软件检测系统。该系统结合静态分析和动态分析两种方法,提取了 Android应用的混合特征,弥补了单一分析方法的缺陷。同时考虑到不同类别的Android应用具有的不同的特征,提出基于类别的分类器实现对Android应用的检测。静态检测方面,研究了 Android应用的静态特征提取与筛选。首先改进了传统反编译方案,实现了对Android应用的一键快速、准确、批量反编译。然后研究了传统特征码检测技术,针对它存在的缺陷,本文在静态分析中提取了 Android应用的多种静态特征,经过筛选选择了权限、广播、API作为静态特征。动态检测方面,本文提出了一种动态分析方法。使用静态分析得到的包名和Activity作为参数,通过劫持Zygote进程,提取出被检测应用对系统函数的调用作为动态特征。机器学习方面,本文分别使用静态特征、动态特征和混合特征,结合三种不同核函数的SVM算法训练分类器,进行了 Android恶意软件检测实验,实验证明了使用混合特征结合RBFSVM算法的检测效果最佳。为了进一步提高检测的准确率,本文一方面将Android应用软件的功能与其所属类别的其它应用的功能相关联,提出基于类别和混合特征的机器学习分类方法;另一方面通过AdaBoost算法提升RBFSVM分类器的性能,考虑到混合特征中噪声数据的影响以及AdaBoost算法的缺陷,本文提出了改进的AdaBoost-RBFSVM算法,限制了分量分类器差异性和样本权重。实验证明本文设计的Android应用软件检测方案,通过对Android应用软件进行分类,提取混合特征,结合改进的AdaBoost-RBFSVM算法训练分类器,可以实现Android恶意软件的高效检测。综合以上静态、动态检测技术及改进的AdaBoost-RBFSVM算法,本文实现了Android平台恶意软件检测系统。