论文部分内容阅读
随着经济社会与通信技术的蓬勃发展,智能手机迅速普及,并已经渗透到了人们生活中,成为了人们生活中必不可少的重要工具。Android系统的开源性,使其迅速成为了智能手机应用最广泛的操作系统,同样也成为了恶意攻击的重要目标。Android软件市场的开放性,使得用户可以从不同平台下载各种Android软件,而许多非官方的电子市场的Android软件则通常容易被非法开发者嵌入恶意代码。因此研究一种有效的针对Android恶意软件的检测方法具有重要现实意义。机器学习技术如今已经被广泛应用到Android恶意软件检测的研究中,但是面对不断新增的Android恶意软件,传统的机器学习方法存在对新增的恶意软件检测能力低的问题。对此,根据深度学习具有能够通过表面特征来学习抽象的深层特征的优势,本文提出了一种基于深度学习的Android恶意软件检测方法。首先,从静态分析角度出发,提取Android软件的多种特征作为特征数据;其次,根据自编码器(Auto Encoder,AE)与深度置信网络(Deep Belief Network,DBN)的优势构建AE-DBN模型进行特征学习和恶意软件检测;再次,通过实验证明本文方法的有效性;最后,把该模型应用到贵州省信息系统安全测评实际工作中,对近期20个被测评单位的Android软件如:和贵阳、贵州好行、哆达达、贵州通村村II等进行了安全评估,获得了较好的运用效果。本文完成的具体工作和创新点如下:详细介绍了Android系统架构和安全机制;分析了Android安装包的组成,恶意软件类别以及Android软件的分析方法,并对深度学习的自编码网络和深度置信网络的原理进行了研究。针对传统机器学习方法存在对新增恶意软件检测能力低,且在恶意软件检测研究中特征工程复杂的问题,提出了基于AE-DBN的Android恶意软件检测方法。为了能够进一步提高Android恶意软件检测的准确率,根据Android软件的特征信息对于恶意软件检测的重要意义,提出利用权限、组件、意图和敏感API等多种特征来作为恶意软件识别的依据,并对提取的原始特征数据进行了转化。构建AE-DBN模型则是根据AE具有不同维度的空间映射能力将其用来对原始特征向量进行降维,特征学习并抽象出主要特征。在此基础上,再将DBN作为深度学习分类器,通过对分类器进行训练、参数优化,得到最优模型。通过将多特征与单一特征作为检测依据,用实验证明了本文提出的使用多特征的方法比仅使用单一特征更能表现应用程序的行为,能够提高Android恶意软件检测的准确率,有助于Android恶意软件的检测。并将本文方法与DBN,SVM和KNN进行比较,证明了对于Android恶意软件的检测,使用深度学习取得的效果比使用传统机器学习方法取得的效果更好,该方法提高了Android恶意软件检测的准确率,降低了误报率。将本文提出的检测模型应用到实际工作中,证明了本文的方法能够对Android恶意软件进行准确识别,并且具有一定现实意义和实用价值。