论文部分内容阅读
智能手机在给人们的生活带来了便利的同时也遭受到了严重的安全威胁,恶意扣费、隐私窃取、系统破坏等层出不穷的恶意攻击手段给手机用户造成了严重损失。Android作为一个开源的操作系统,使得在其上发动攻击要比在IOS等其他操作系统上方便的多,而且Android以其系统优势和众多的app应用,成功占领了手机市场的绝大多数份额,这也让攻击者觉得有利可图,因此Android手机成了恶意攻击的重灾区,研究Android平台上恶意软件的检测方法有实际需要和价值。本文研究了Android平台的安全体系及其恶意软件的实现原理,介绍了目前常用的检测方法,选择采用静态检测与动态检测相结合的方法检测恶意软件。在静态检测方面,提出了基于信息增益特征加权的朴素贝叶斯分类器的静态检测方法。利用提取到的APK文件权限特征和API函数调用特征构造出混合特征,之后通过计算每个特征的信息增益给特征赋权值,并提出了基于特征加权的改进朴素贝叶斯分类器。通过贝叶斯分类器求出待测样本属于正常类和异常类的后验概率,通过比较后验概率判断待测样本的属性。使用改进朴素贝叶斯分类器的分类结果比普通朴素贝叶斯分类器的分类结果要好,证明了该方法本身的有效性。通过采集正常程序及真实的恶意程序构造样本集,使用该静态检测方法进行检测,可以得到较高的准确率及较低的误报率,验证了该方法在检测Android恶意软件时的有效性。在动态检测方面,提出了基于K近邻约减训练集SVM的恶意软件动态检测方法。分别采集正常软件运行时和恶意软件运行时的CPU使用率、内存占用量、消耗的电池电量等性能指标,构成正常类和异常类样本;分析了标准SVM在实际应用中的局限性,并提出了基于K近邻约减训练集的解决办法;使用改进后的SVM进行样本训练,构建出分类器,最终达到检测恶意软件的目的。UCI数据集上的实验验证了基于K近邻SVM方法本身的有效性。通过编写的病毒程序模拟恶意软件行为,在其运行时采集出负类样本,结合系统正常运行时采集到的正类样本构成训练集,使用本论文提出的改进SVM方法对训练集进行训练,利用得出的分类器进行恶意软件的检测,Android数据集上的实验结果验证了本方法在检测Android恶意软件时的有效性。最后,将基于信息增益特征加权的朴素贝叶斯分类器的静态检测方法与基于K近邻SVM的动态检测方法相结合用于Android平台恶意软件的检测,通过与国内常见的安全软件——360、瑞星做对比,验证了该综合解决方案的有效性。