论文部分内容阅读
随着移动互联网的高速发展,智能终端迅速成为了国家基础信息设备。但手机应用的安全问题也日益加剧。安卓平台的开放性,应用的广泛性以及良好的用户体验,使其成为恶意攻击者的攻击目标。现有的安卓恶意应用检测方法在准确率上还有待提高,检测恶意应用的方法也亟待更新。针对大规模安卓恶意应用检测的准确率有待提高的问题,本文采用了两种不同结构的卷积神经网络(ConvolutionalNeuralNetwork,CNN)模型。一种为串行结构(SerialConvolutionalNeuralNetwork,CNN-S),通过构建 5 层卷积神经网络,并将部分卷积层、池化层共同接入全连接层使得特征提取更加全面,从而提升检测准确率。另一种为并行结构(Parallel Convolutional Neural Network,CNN-P),利用大小不同的卷积核提取特征图,最终实现安卓恶意应用的检测。考虑到CNN容易产生过拟合现象,利用Dropout方法,有效的防止过拟合的出现。实验使用了 13000个恶意样本和10000个非恶意样本。实验证明,在同等实验条件下,CNN-S与CNN-P模型的检测准确率均高于支持向量机(Support Vector Machine,SVM)等传统机器学习模型,其中CNN-S模型的检测准确率最高为99.82%,比SVM高5%。同时,本文对比了不同激活函数对检测准确率的影响。通过实验分析发现,应用Relu激活函数比Sigmoid激活函数检测准确率高2%。针对现有实验条件下卷积神经网络模型训练时间较长的问题,本文提出深度稀疏自编码(DeepsparseAutoencoder,DAE)与CNN-S相结合的恶意应用检测方法(DAE-CNN-S)。利用DAE方法对高维数据进行预处理,高效学习样本特征,降低特征维度,再利用CNN-S进行训练,实现安卓恶意应用检测。在相同实验数据和相同实验环境下,与直接使用CNN-S方法相比,基于DAE-CNN-S的检测方法使训练时间缩短了 82%。与SVM相比,基于DAE-CNN-S的安卓恶意应用检测方法将检测准确率提升了 3%。针对安卓应用多分类检测准确率较低的问题,本文应用多分类CNN-S模型,应用卷积神经网络实现了安卓非恶意应用的多分类。实验使用15801个样本,多分类准确率达到96%,并在样本数量不平衡的数据集中仍能发挥较好作用。