论文部分内容阅读
Android应用程序的发布数量急剧增长,这使得Android平台成为攻击者的主要目标。大量恶意软件通过恶意扣费、窃取隐私、恶意安装、恶意广告等多种方式攻击Android用户,以此窃取有价值的信息。因此如何检测和分类Android平台上的恶意应用程序或恶意软件成为一个非常热门的研究点。恶意软件的检测重点是分类问题,目前研究存在的问题是,在执行恶意软件的检测时不必要的特征收集会导致机器学习分类器性能的退化。本文提出了结合静态检测和动态检测这两种检测方法的综合检测模型克服上述问题。本文主要工作如下:(1)针对安卓权限和系统调用,提出了静态权限组合和基于动态检测的综合检测模型(Detection Model based on Static and Dynamic Detection,DMSD)。DMSD先通过静态权限对软件作初步安全性检测,再对软件进行基于支持向量机(SVM)分类器的动态检测。通过选取特征组合和为分类器设置合理的参数,优化了机器学习分类器的性能。(2)设计了基于恶意权限组合比对方法的静态检测模块。正常软件的权限组合与恶意软件的权限组合有着明显的差别,通过这些差别能够区分正常和恶意两种软件。在反编译技术之后,分析配置文件中的权限信息,通过与恶意危险权限库中的恶意权限组合进行比对,判断其是否为恶意软件。静态检测模块虽然结果的准确率偏低,误报率较高,但是能给出直接快速的判断。(3)在动态检测部分,提出了一个基于SVM的Android恶意软件检测方法CSCdroid,分成两个部分,先建立SVM分类器模型,再使用SVM模块预测。通过基于贡献级别的系统调用(System Call,SC)来分类,根据贡献水平,CSCdroid可以将SC分为两类,即确定的SC和正常的SC。然后,CSCdroid通过确定的SC构造目标特征向量,并使用支持向量机(SVM)检测Android恶意软件。实验结果表明对恶意软件的综合检测率达到95%以上,基本上达到预期的效果。本文的不足之处在于:(1)在静态检测方面,只对权限特征进行了提取,没有使用其他潜在有用的特征,结合其他特征有望提高结果准确性。(2)在动态检测方面,对于SVM的检测特征选择,核函数的选择等也可以进一步改进。