论文部分内容阅读
近年来,随着移动互联网的不断发展,移动设备逐渐成为人们生活中的一部分,给人们的生活和工作带来极大的便利。Android操作系统由于其开源性和免费性,吸引了大多数的用户以及第三方开发者,占据了大部分的操作系统市场,但是许多恶意软件也随之而来。多种多样的恶意软件行为带来了很多的安全问题,如窃取用户的隐私以及给用户带来经济上的损失等等,对Android恶意软件的检测研究变得尤为重要。机器学习技术不断成熟,成为了Android恶意软件检测的热门技术,但目前仍存在检测准确率低和误报率高等难题,研究基于机器学习的Android恶意软件检测技术具有重要的理论意义和应用价值。本文的主要研究工作包括:(1)介绍了Android恶意软件检测的研究背景及意义,分析了目前国内外移动设备及手机操作系统的应用情况和Android恶意软件的发展情况,综述了Android恶意软件检测技术的国内外研究现状,归纳总结了Android系统相关的理论和检测恶意软件常用的机器学习算法。(2)针对Xgboost算法中参数以及参数组合的选取不当容易导致检测方法的分类效率下降的问题,研究基于ACO-Xgboost的Android恶意软件检测方法,将蚁群算法(Ant Colony Optimization,ACO)引入到Xgboost参数优化中,利用ACO的适应性以及全局寻优能力,对Xgboost设定的相关参数进行优化,得到最优参数组合,用于Android恶意软件的检测。通过提取Permission、Intent和API三种特征,优化获得最优特征集,设计了与粒子群算法(Particle Swarm Optimization,PSO)和遗传算法(Genetic Algorithm,GA)优化的Xgboost进行对比的实验,并进行了检测准确率和误报率的实验数据分析。(3)针对Android恶意软件检测过程中不相关特征掩盖异常存在的问题,研究基于DBN和Xgboost的Android恶意软件检测方法,引入深度置信网络(Deep Belief Network,DBN)进行特征学习,利用DBN构建恶意软件检测模型的特征学习模块,通过无监督学习进行特征降维,用Xgboost对Android恶意软件进行检测和分类。设计了相关实验,并进行了检测分类的实验数据分析。本文的创新之处包括:(1)提出了一种基于ACO-Xgboost的Android恶意软件检测方法。该方法使用ACO算法优化Xgboost参数,使得Xgboost获得最优参数组合。实验结果表明,该方法的检测准确率比GA-Xgboost和PSO-Xgboost分类方法,分别提高了3%和0.88%,检测误报率也低于其他两种方法。(2)提出了一种基于DBN和Xgboost的Android恶意软件检测方法。该方法利用DBN对Android恶意软件进行特征学习,获得具有良好特征表达的特征集,用于对Android恶意软件的检测和分类。实验结果表明,该方法在分类准确率方面比单独使用Xgboost高0.91%、比DBN高1.66%,也高于SVM和GDBT分类算法,在误报率方面也有良好的检测效果。