论文部分内容阅读
当前社会智能手机越来越成为生活中重要的一部分,当前智能手机给人们带来很多便利,在人们的生产生活中知道不可忽视的作用。在众多的智能手机中,基于Android平台的手机目前占据着主要的市场份额。Android应用下载的来源非常丰富,不管是官方还是其他手机厂商都提供了下载渠道,同时也有很多非法的下载渠道,使得APK的安全性得不到保障。大量的恶意软件的出现给Android手机用户的财产和隐私带来了威胁,并且大部分的用户没有安全意识,更给了恶意软件可乘之机。针对Android恶意软件泛滥的问题,本文提出一种可行的检测方法。首先,本文通过对Android系统和APK文件结构的研究,针对Android恶意软件检测的需要,提出一种基于permission名称,intent_filter中的action名称,intent_filter中的category名称和*.so文件名称的特征组合方式。本文收集2,000个良性样本和2,050个恶意样本。通过反编译样本文件提取特征,并以此为依据构建样本矩阵。其次,通过对国内外Android恶意软件检测的研究现状进行分析,提出一种特征筛选方法,该方法使用卡方检验法和ExtraTrees算法结合(CE特征筛选法)对样本矩阵进行特征筛选。先使用卡方检验法,计算每个特征的得分,对和类别相关的特征性比较弱的特征进行删除,保留相关性强的特征。再在新的样本矩阵上建立ExtraTrees实现对特征重要性的排序,保留重要性高的特征,以此得到最佳特征集合得到最终样本矩阵。然后,使用AdaBoost算法和GBDT算法对筛选后的样本矩阵进行分类。本文先研究并测试了五种Boosting算法(包括Adaboost、GBDT、Xgboost、LightGBM、CatBoost),尤其是最新的两种GBDT算法实现——LightGBM和CatBoost。并且根据这五种算法在准确度、恶意样本命中率、精度、召回率以及F1度量方面的表现,筛选出3个表现较好的算法(本文选出的算法是Adaboost、Xgboost和CatBoost),并且这三个算法调参后的结果使用Voting模型进行加权投票,进一步提高分类效果。最后,通过进一步实验,验证了CE特征筛选法可以有效缩短特征筛选时间,并且可以保证在和保存算法分类结果准确度的前提下大大减少特征维度,并以此缩短分类算法训练和预测的时间。同时本文也验证了在本文提出的融合方法在提高分类效果方法的有效性。最后的分类结果(本文提出的特征组合+CE特征筛选法+Boosting_Voting模型)的准确度达到97.33%,恶意样本的命中率达到98.73%。