论文部分内容阅读
恶意软件检测一直以来都是网络安全领域研究的重要课题之一。尤其随着互联网、移动网络以及物联网技术的高速发展,每天都有大量的恶意代码及其变种进入网络空间,严重威胁网络的安全。如何高效、准确地检测出恶意软件有着广泛的应用前景和重大的实用价值。恶意代码有着种类多、分布于不同操作系统、隐蔽性强等特点。目前的恶意软件检测方法存在一些问题,如:基于签名的检测方法需要手动设置规则来识别不同类型的恶意代码,难以识别新型的恶意代码;基于静态分析的检测方法易被混淆技术绕过;基于行为的动态分析检测方法占用资源多、效率低。针对上述问题,本文采用深度学习技术,设计并实现了一个基于胶囊网络的恶意软件检测分类框架。该框架引入了恶意软件可视化方法,提高了检测效率;使用胶囊网络进行图像的特征提取和分类训练,提高了检测准确率,同时也较好解决了深度神经网络中小样本训练效果不佳的问题。在此基础上,设计并实现了一套可以在安卓智能操作系统上应用的恶意软件检测原型系统。本文主要工作和创新点包括:1、在图像识别分类研究方面,本文提出了一种基于胶囊网络的图像识别分类模型(Capsule_Image)。该模型针对卷积神经网络对图像中多目标空间位置识别不佳的问题,使用胶囊作为高级特征存储单元,相比于卷积神经网络提升了图像特征信息提取能力;胶囊网络对图像中目标之间的空间关系有很强的辨识能力,同时使用迭代动态路由协议算法进行网络训练分类,很好的解决了当样本数量不足时,深度神经网络训练易出现过拟合情况,进而导致分类效果不佳的问题;另外,为了增加输入样本的质量将图像样本进行图像增强预处理操作。在遥感图像数据集NWPU-RESISC45上的实验表明,与基于CNN的GoogLeNet、ResNet和ResNeXt模型相比,Capsule_Image在分类准确率和训练损失方面都表现出了明显的优势,该模型在验证集上的分类准确率可以达到98%以上,训练损失可以降到0.1以下,上述三类模型分类准确率最高为97.8%,训练损失最小为0.3。2、在恶意软件检测分类研究方面,本文设计了一种基于恶意软件可视化和胶囊网络的恶意软件检测分类框架(ColCaps)。该框架针对基于机器学习分类算法的恶意软件检测方法中特征提取模型过于复杂和效率较低的问题,采用可视化技术将恶意软件文件转化为彩色RGB三通道图像,从而可以将对恶意软件的静态反编译文件和动态行为的复杂的特征提取,转换为相对简单的静态图像特征提取,降低了检测模型的设计复杂度;使用对图像中实体之间的空间关系和旋转后的物体有更强的识别能力的胶囊网络进行训练检测,提升了对恶意软件的检测能力;当新型恶意软件样本不足时,相比于CNN模型,该框架的训练检测效果更好。实验表明,该框架在Drebin数据集上的分类准确率达到98.2%,比DREBIN模型有了明显的提升;在Microsoft数据集上的分类准确率达到95.2%。而对于未知软件的检测率分别达到了99.3%(Android)和96.5%(Windows),相比基于灰度图像纹理的CNN模型安卓恶意软件的检测率提升了20%,另外比R2-D2检测方法准确率提升了5%。3、在安卓操作平台恶意软件检测技术研究方面,本文设计并实现了一个可以在安卓智能移动终端运行的基于胶囊网络的恶意软件检测系统原型。该系统使用TensorFlow框架训练模型,在安卓系统终端实现了恶意软件检测任务;采用了前端终端检测和后端服务器训练的模式,减少了对安卓终端系统计算资源的占用。该系统总体上运行效率高,占用系统资源少,可跟随训练样本的填充及时训练更新PB文件,进一步提高检测的时效性。在真实环境测试,检测准确率可以达到98%以上。