论文部分内容阅读
随着Android智能手机越来越受大众的喜爱,Android恶意软件给用户带来的不良影响日益严重。为牟取利益而采取的恶意扣费、系统破坏、隐私窃取等恶意攻击手段层出不穷。如何有效的检测Android操作系统上的恶意软件是众多研究者所关注的一个研究重点。恶意软件分析技术主要包括静态分析和动态分析两类,考虑到时间效率等原因,本文基于静态分析来开展相关工作,提出了两种检测方案,并通过实验验证了它们的可行性与有效性。
k-近邻算法(K-NearestNeighbor,简称KNN)的分类效果好,简单易实现;但计算量大,时间消耗长,尤其是在大样本数据的情况下。本文提出的第一种检测方案是基于改进KNN分类的恶意软件检测,主要是通过引入k均值聚类算法(K-meansClusteringAlgorithm,简称K-means)来解决KNN分类在计算方面的不足,可以在保证准确率的情况下尽量减少KNN计算所需要花费的时间成本。在该方案中又包含了引入混合聚类和引入分离聚类的两种改进KNN分类方案。同时对于大样本高纬度的数据集,本文提出了基于特征分类和特征频率的特征降维,可以有效减少计算量,消除冗余特征。
Adaboost算法作为Boosting集成学习系列中最有代表性的算法,它充分考虑了每个分类器的权重,可以显著改善系统的泛化能力,且具有较高的精度,但是对噪音较为敏感。本文提出的第二种检测方案是基于互信息和MKAB的恶意软件检测。互信息可以度量两个变量的相关联程度。通过计算特征与类别之间的互信息,一方面,删除对于分类无效的特征以减少计算量,缩短检测时间,提高分类精度;另一方面,利用互信息对特征进行加权以区别特征的重要性。MKAB模型是结合MiniBatchK-means聚类和Adaboost提升树的方法。MiniBatchK-means聚类有助于局部改善Adaboost对于噪音敏感问题。相比较K-means算法,MiniBatchK-means在极小的精度损失下,可以大量缩减训练时间。在MKAB模型中,本文提出了基于距离权重对各分类器进行加权投票的策略,最终组合成强分类器。
k-近邻算法(K-NearestNeighbor,简称KNN)的分类效果好,简单易实现;但计算量大,时间消耗长,尤其是在大样本数据的情况下。本文提出的第一种检测方案是基于改进KNN分类的恶意软件检测,主要是通过引入k均值聚类算法(K-meansClusteringAlgorithm,简称K-means)来解决KNN分类在计算方面的不足,可以在保证准确率的情况下尽量减少KNN计算所需要花费的时间成本。在该方案中又包含了引入混合聚类和引入分离聚类的两种改进KNN分类方案。同时对于大样本高纬度的数据集,本文提出了基于特征分类和特征频率的特征降维,可以有效减少计算量,消除冗余特征。
Adaboost算法作为Boosting集成学习系列中最有代表性的算法,它充分考虑了每个分类器的权重,可以显著改善系统的泛化能力,且具有较高的精度,但是对噪音较为敏感。本文提出的第二种检测方案是基于互信息和MKAB的恶意软件检测。互信息可以度量两个变量的相关联程度。通过计算特征与类别之间的互信息,一方面,删除对于分类无效的特征以减少计算量,缩短检测时间,提高分类精度;另一方面,利用互信息对特征进行加权以区别特征的重要性。MKAB模型是结合MiniBatchK-means聚类和Adaboost提升树的方法。MiniBatchK-means聚类有助于局部改善Adaboost对于噪音敏感问题。相比较K-means算法,MiniBatchK-means在极小的精度损失下,可以大量缩减训练时间。在MKAB模型中,本文提出了基于距离权重对各分类器进行加权投票的策略,最终组合成强分类器。