付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于动态分析与深度学习的恶意程序检测模型
1高效准确检测恶意程序根据国家互联网应急中心(cncert)关于2019年中国互联网网络安全形势的总体介绍。2019年,中国发现了6200万个恶意软件,平均每天传播量超过824万次,包括66个恶意软件家族。感染中国约582万个主机。恶意程序的不断传播严重威胁着我国的网络空间安全,因此如何高效准确检测恶意程序是一项亟待解决的问题。恶意程序的检测方法可以分为静态检测方法和动态检测方法,静态检测方法是指在不运行恶意程序的情况下直接分析恶意程序,通常使用的静态特征包括字符串特征、函数特征和字节码特征动态检测方法是指使用虚拟机或者沙箱对计算机的真实环境进行模拟,然后将恶意程序放入构建好的虚拟环境中运行,借助搭建在虚拟环境中的行为监控工具对样本的行为信息进行捕获,进而获得动态特征(1)构建Cuckoo沙箱模拟恶意程序运行环境,通过沙箱提供的json格式分析报告获取恶意程序运行时的API调用序列;(2)改进API调用序列提取方法,提取恶意程序运行时的API类型、API函数名和参数,从而全面获取恶意程序的行为特征;(3)对提取的API调用序列进行预处理,将API调用序列视为单词,提出了基于词嵌入的方法,将API调用序列转换为词向量;(4)针对于获得的特征向量,构建卷积神经网络检测模型实现对恶意程序的检测,并与未考虑参数特征的检测结果进行对比。2恶意软件检测框架的设计2.1检测框架检测本文设计的基于动态分析与深度学习结合的恶意程序检测框架如图1所示,在动态分析阶段,将由良性程序与恶意程序组成的样本数据集上传至Cuckoo沙箱2.2特征获取及处理应用程序在Cuckoo沙箱内分析完成后沙箱会提供json格式的动态分析报告,良性程序和恶意程序运行时的行为特点可以从API函数调用上进行体现,由于分析报告的信息量巨大,因此需要对分析报告进行预处理,由于分析报告的内容高度格式化,预处理的重点是提取运行过程中的所有API调用包括API类型、API名称以及API参数,通过对分析报告的结构和各字段的含义进行研究总结,API调用情况在分析报告中的“/behavior/processes/calls/”字段下展开,其中字段“category”为API的类型,主要包含了网络(network),进程(process),文件(file),注册表(registry),服务(services)和资源(resource)6大类,字段“api”表示API的名称,字段“arguments”为API的参数,而程序运行时进程之间的调用关系可以在“/behavior/processtree”字段下找到,依据“processtree”字段可以掌握进程之间的调用关系,再结合“/behavior/processes/calls/”下的“api”字段,可以得到某一进程下的API调用序列,再根据进程调用的时间先后顺序对所有的API调用序列进行排列和记录。对于API函数的类别和API函数名称均为独立的单词,但是对于提取到的API的参数来说,则存在多种类型例如文件路径,URL链接,注册表键值等,因此需要通过正则表达式对参数中的特殊字符进行处理,将参数分割成单词的形式。对于文件路径来说,通常以盘符开头,以“\”符号将路径完整串联起来,因此在处理的时候需要将盘符和“\”符号进行删除,对于URL链接,通常以“http://”或者“https://”开头,以“.”进行连接,以“/”符号结尾,因此也需要删除这四个部分,对于注册表键值通常以“HKEY_”开头以“\”进行连接,需要将“_”和“\”符号进行删除,此外对于文件的扩展名,例如“.exe”、“.ini”等,本文的处理方法是将“.”去除,保留扩展名。通过对恶意程序API调用序列进行处理之后,就将所有的API调用信息转变成了独立的单词,也就便于后续借助自然语言处理方法,从语义层面对API调用进行分析,挖掘区分恶意程序与良性程序的行为模式。在基于卷积神经网络的检测模型中,需将从Cuckoo沙箱分析报告中提取的API调用记录转换成特征向量作为算法的输入,API调用记录经过预处理后由单词组成,而将单词或者是词语映射成的数字向量被称为词向量,因此本文考虑使用Word2vec词向量模型,模型的原理是通过从一段无标注的自然文本中统计词频和词的搭配来建立一个语言模型,Word2vec的本质是简单的神经网络模型,由输入层、隐藏层和输出层组成,经过训练学习之后得到的词向量模型,包含了输入文本的语义和语法信息。具体做法是将预处理阶段处理好的API调用信息构成语料库作为训练数据来训练Word2vec模型。利用训练出的词向量模型,对API调用中的每一个单词元素进行向量化处理,得到一个float型数组,这样将所有单词转换成向量之后,也就得到了由完整API调用序列转换成的特征矩阵,进而输入卷积神经网络模型进行分类。2.3池化层的设置卷积神经网络(ConvolutionalNeuralNetwork,CNN)是深度学习算法之一,广泛应用于文本分类,语音识别,图像处理等领域关于激活函数的选择,由于ReLU函数相较于Sigmoid函数和Tanh函数具备收敛快,计算量小,可以降低参数间的耦合关系的优势,因此本文选择ReLU函数。关于池化层的设计,本文将池化窗口大小设置为2*2,在池化方法的选择上考虑到传统的最大池化方法的缺点在于会丢失特征项频次信息和位置信息,因为最大池化方法只保留最大值,而在本文的研究内容中,API的调用次数和API调用出现的先后顺序对于判别程序的恶意性是有一定影响的。因此选用K-max-pooling池化方法,在本文中K设置为2,即保留特征值排名第一和第二的特征,选择这种池化方式的目的是为了尽可能多地保留特征的频次和位置信息,并且综合考虑时间和空间消耗,这种池化方式对模型的检测效率并无太大影响。在经过三次卷积和池化处理后接入一个丢弃层,目的是为了防止出现过拟合的情况,丢弃层的参数通常设置为0.5,最后连接一层softmax全连接层给出分类的结果,关于全连接层的损失函数的选择,由于本文的研究问题是对未知程序进行二分类,即最后的分类结果只有正例(恶意样本)和负例(良性样本),并且两者预测概率之和为1,因此损失函数选择交叉熵函数。3实验3.1实验环境设置为了验证本文提出的恶意程序检测模型的有效性,本文使用公开数据集对检测模型进行评估,数据集包含恶意程序和良性程序,恶意程序选取自免费恶意样本网站VirusShare,恶意程序样本数为3270个,良性程序选取自PortableFreeware,良性程序样本数为1890个,共计5160个。本文选择CuckooSandbox2.0.7作为驱动恶意程序动态分析的基础环境,Cuckoo沙箱主机端部署在硬件环境为Ubuntu服务器的物理机器上,操作系统为Ubuntu16.04LTS(64位)。Cuckoo沙箱客户端部署在硬件环境为基于Virtualbox搭建的Windows主机上,操作系统为Windows7专业版(64位)。算法模型验证环境搭建在基于Windows10(64位)的个人PC中,算法实现部分基于Python3.7、Tensorflow1.14.0和Keras2.4.3进行构建。3.2模型测试结果为了验证本模型的检测效果,本文使用3.1中介绍的数据集进行实验,算法执行时将80%的样本数据作为训练集,20%的样本数据作为测试集,训练集与测试集的准确率的变化趋势如图3所示。通过观察曲线变化规律可以发现,在训练初期阶段,模型在训练集上的准确率已经达到了98%,随着训练次数的增加,训练集的准确率在96%至99%之间浮动,训练集上的平均准确率为99.08%。模型在测试集上的准确率通过曲线可知,在测试初期阶段达到了92%,而后准确率趋于稳定,模型在测试集上的平均准确率为94.19%,说明本文提出的卷积神经网络模型能有效检测恶意程序。同时为了验证本文提出的结合API参数的恶意程序检测方法要优于只提取API函数名的检测方法,本文进行了对照实验,即使用2.2节介绍的提取方法只提取API的函数名作为特征,使用相同的卷积神经网络模型进行实验,两种方法的准确率的对比结果如图4所示。通过观察曲线可以发现,在仅使用API函数名作为特征的情况下,模型在训练集上的准确率的变化幅度较大,检测准确率不稳定,而模型在测试集上的准确率根据图中曲线变化规律可知,在测试阶段初期其准确率与增加参数特征的准确率差距不大,但是随着测试次数的增加,不增加参数特征的模型的准确率开始低于增加参数特征的模型的准确率,平均准确率为92.63%,因此证明了引入API参数特征的检测方法能提高对恶意程序的识别率。同时由于两种特征模型的平均准确率均达到了92%以上也证明了本文提出的将动态分析与深度学习相结合的恶意程序检测方法是行之有效的。4模型训练与验证本文提出了一种基于动态分析和深度学习相结合的恶意程序检测方法,改进了只提取API函数名的特征提取方式,从Cuckoo沙箱提供的分析报告中提取API函数类型、API函数名以及API参数,力求全面刻画恶意程序行为特征。对API序列进行预
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客户投诉处理与解决机制
- 锦州滨海新区龙栖湾基础设施项目-常山路(龙栖湾大道-海棠街)道路工程水土保持方案报告表
- 快消品行业运营策略及面试技巧
- 集团年会策划与执行流程
- 零售门店设施维护维修调度员培训
- 旅游企业总裁助理面试全攻略
- 护理安全中的泌尿系统安全管理
- 2025年无人机管制数据挖掘与应用
- 2025年氢能公路运输车辆调度系统
- 临床研究协调员的沟通技巧与能力提升
- 核电防异物管理指南(核心版)
- 人工智能在高职机械专业教学中的应用研究
- 高标准农田建设项目操作方案指南
- 2026年上饶职业技术学院单招职业技能考试必刷测试卷附答案
- 野战生存课件军用
- 环卫车辆安全行驶培训课件
- T-BWEA 4-2025 大中型泵站设备养护维修规程
- 酒店员工财务知识培训课件
- 吉尔吉斯斯坦比什凯克市大学汉字教学:现状、问题与对策探究
- 中医基础理论试题及答案3
- 劳务公司培训课件
评论
0/150
提交评论