版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
恶意代码检测模型与实验探究案例目录TOC\o"1-3"\h\u14473恶意代码检测模型与实验探究案例 125400第1章恶意代码检测模型 1285061.1问题分析与方法讨论 1201821.1.1问题分析 1274991.1.2方法概述 2206051.2数据预处理 3279071.2.1数据集均衡化 3326861.2.2数据集格式调整 3278181.3恶意代码检测 3239811.1.1整体模型设计 3117531.1.2网络模块设计 4127591.1.3模型训练 527866第2章实验与分析 7146852.1实验设置 795672.1.1实验环境和数据集 7200102.1.2评价指标 8104972.2总体性能验证与分析 814812.3模型结构性能验证与分析 9第1章恶意代码检测模型1.1问题分析与方法讨论1.1.1问题分析当前使用较多的恶意代码检测模型往往都倾向于不断提升检测准确率,所以模型设计的越来越复杂,为了提取更多的特征,参数量也越来越大;这就导致了当前较多模型的检测效率不够高,且对硬件的要求较高;为了让基于深度学习的恶意代码检测方式不局限于中高端机型,开发一款检测准确率较高的轻量化网络是很有必要的。所以本文提出了一款基于AlexNet模型结构和结合深度可分离卷积的恶意代码检测模型。恶意代码检测模型选取Alexnet结构的原因是:Alexnet是第一个具有重大突破的卷积神经网络,且该网络结构较为简单,只有八层,符合轻量化网络的要求;本文将在AlexNet的基础上,修改网络结构,将原网络中三层池化层替换为卷积层,以此来加深网络的深度,提升检测准确率;再将网络中所有的卷积层更换为深度可分离卷积,借此降低网络的参数数量,优化网络以满足目标需求。1.1.2方法概述基于Alexnet的恶意代码检测模型网络组成框图如图3-1所示,由于本实验选取的恶意代码数据集已经是png格式,故不需要恶意代码图像化模块;本实验总体包括两个模块,下面分别对该两个模块进行阐述:数据预处理模块:恶意代码数据集分布十分不均,不同种类的恶意代码样本数量差距过大,所以需要对不同种类的样本进行均衡化处理,数据预处理模块使用了过采样和欠采样来对数据集进行均衡化处理。恶意代码数据集为分文件夹的形式,为了将其调整为适合网络输入的格式,需要将所有种类的恶意代码图片整合为一个文件夹且设置对应标签。恶意代码检测模块:本文的主要目的是使用优化后的Alexnet模型对恶意代码进行检测,所以先需要构建Alexnet网络模型,再在该模型的基础上修改网络结构和参数,使用BN层来替代Alexnet网络中的LRN层,加快收敛速度和防止过拟合;使用深度可分离卷积来替代卷积层和池化层,以此在加深网络深度的同时,减少由于网络深度增加而带来的参数增长。网络模型在输出部分选用了Categorical_Crossentropy[[]檀结庆,朱星辰,蔡蒙琪.基于GMSD的新混合损失函数[J].合肥工业大学学报(自然科学版),2021,44(04):472-477+502.][]檀结庆,朱星辰,蔡蒙琪.基于GMSD的新混合损失函数[J].合肥工业大学学报(自然科学版),2021,44(04):472-477+502.图SEQ图\*ARABIC3-1研究流程图1.2数据预处理1.2.1数据集均衡化本实验使用的数据集是malimg数据集,由于数据集中几类样本的权重太大,合计占了数据集的百分之五十,所以需要对该数据集进行均衡化处理;本文选择的数据集均衡化方法是欠拟合,根据欠拟合的方式,随机将样本数过大的几种恶意代码削减数量。1.2.2数据集格式调整由于数据集中的图像都是以文件夹的形式分隔开来,所以需要先为每张图片制作标签,将数据集预处理为图集和标签集两部分;可以先调用os库中的listdir函数来获取所有数据的目录,然后通过路径合成来获取文件位置并按种类编号,并调用os.system()函数,执行copy操作,将已经编号完成的数据集中到相同的文件夹中。最后根据目录和文件编号生成编号-种类表并存入csv文件,这样就能处理为便于导入的形式。由于不同种类的恶意代码图像化后尺寸并不一致,需要统一调整为256*256的格式,本文中使用resize来对图片进行缩放。1.3恶意代码检测1.1.1整体模型设计Alexnet中有五个卷积层、三个池化层、两个LRN层和三个全连接层,由于该网只有五个卷积层,因此该网络的结构较为简单,LRN层位于前两个卷积层后,在前两个和最后一个卷积层后,接上了池化层;由于池化层的主要功能是降低神经网络的复杂度,且在AlexNet中选择的是最大池化(MaxPooling),在当时的环境下,硬件条件不够,所以需要采样池化层来降采样,在本文中,会选择使用卷积层来替代AlexNet中网络的池化层,以此来保留更多的数据信息在前两个卷积层后Alexnet使用了两个局部响应归一化层(LRN:LocalResponseNormalization),但随着神经网络的发展,越来越多人选择使用批量归一化层(BN:BatchNormalization),所以在此模型中,我会选用BN层来替代LRN层。由于上文介绍的深度可分离卷积的优越性,本文会将卷积层都替换为深度可分离卷积,以此找到一个较优的网络结构。Alexnet网络中使用relu作为激活函数,这是因为sigmoid[[]WaliLuqmanetal.Acutepylephlebitissecondarytoperforatedsigmoiddiverticulitis:Acasereport.[J].Radiologycasereports,2021,16(6):1504-1507.]和tanh[[]左延年,申远,神经网络中激活函数tanh的正则化[J].周口师范学院学报,2020,37(05):23-27.]两类激活函数都有饱和区,relu解决了激活函数的导数问题,有助于缓解梯度消失的问题,网络的检测效率也会提高。在网络末尾的全连接层中加入dropout,Alex[]WaliLuqmanetal.Acutepylephlebitissecondarytoperforatedsigmoiddiverticulitis:Acasereport.[J].Radiologycasereports,2021,16(6):1504-1507.[]左延年,申远,神经网络中激活函数tanh的正则化[J].周口师范学院学报,2020,37(05):23-27.图SEQ图\*ARABIC4-2网络结构设计1.1.2网络模块设计输入;恶意代码数据从input处输入,input为(256*256*1)是因为设计输入数据的尺寸为256*256,是灰度图像,所以通道数为1。深度可分离卷积层;C1、C3、C5、C4、C6、C7为深度可分离卷积层,这几层替代了原AlexNet中卷积层的未知,卷积层的kernel(卷积层的形状)=(x,x,y,z),x*x代表着前一层输出的尺寸,y代表着输入的通道数,z代表着输出的通道数,stride代表着每次卷积核移动的距离,最后接上relu(线性整流层)激活函数。批量归一化层;BN层是LRN层的替代。LRN层是局部响应归一化层,LRN层是AlexNet的特色,它可以对输入进行归一化操作,该层有着横向抑制的作用,在接收到激活函数的输出时,将该结果进行归一化处理,可以大大提高神经网络的泛化性能;但随着神经网络的发展逐渐由BN替代了LRN层,使用BN层的神经网络可以接受更大的学习率,且该网络的梯度也能得到优化,随着学习率的提升,该网络的训练速度也会得到提升,并且也不再那么依赖参数初始化,BN层还能增强网络的泛化能力,因此选择BN层来替代LRN层是最优解。池化层;C2、C4、C8的位置本该是池化层,池化是卷积神经网络中的一个很重要的一个功能层,它的主要功能是降低数据的复杂程度,也就是降采样,池化方式分为平均池(AveragePooling)和最大池化(MaxPooling),最大池化的过程就是不断采样图像中的一定区域,使用该区域内的最大值代表该区域的特征,它能有效降低参数的数量,以此来加快训练过程;且因为忽略掉了一部分的数据,有一定防止过拟合的功能。最大池化也是卷积神经网络中最常用的池化方法,且常常会选择令池化层的stride小于filter,这样就能尽可能地覆盖完整数据。但考虑到池化层可能会忽略掉一部分重要信息,所以本文中使用深度可分离卷积来替换掉池化层,使神经网络保留更多的信息,且比常规的卷积层参数量更少。全连接层;F1、F2是全连接层,在神经网络中,全连接层在神经网络中承担着分类的功能,它起到了把学习的“分布特征表示”映射到样本标记空间的作用,全连接层中的每个神经元与其前一层的所有神经元全部连接;该层将会综合卷积层或池化层中具有类别区分性的局部信息,然后传递给下一层,处于网络尾部的全连接层的输出通常会被传递softmax函数。在神经网络中,常常会在神经网络的末尾接上两个全连接层[[]胡小春,朱成宇,陈燕.深度卷积神经网络模型的研究分析[J].信息技术与信息化,2021(04):107-110.],每层中的每个神经元都可以模拟作为一个多项式,根据泰勒公式的原理,我们需要许多的神经元去拟合非线性曲线,所以常常会使用两层全连接层。全连接层中的神经元个数和激活函数会影响神经网络性能,在理论上,神经元的个数增多会增强神经网络的复杂性,同时也会提升神经网络的学习能力,但神经元的个数增多同样会导致模型过拟合的问题,且训练时间也会相应增加,这是本网络中所不希望的结构。F1、F2代表着全连接层,该层的filter代表着尺寸F1的尺寸选为1024、F2的尺寸选为25,dropout代表着随机丢弃神经元的概率,它的取值为0.1。[]胡小春,朱成宇,陈燕.深度卷积神经网络模型的研究分析[J].信息技术与信息化,2021(04):107-110.激活函数;本网络在每个深度可分离卷积层后,都添加了relu作为激活函数。在神经网络中,如果没有非线性因素,那么网络的结构将会是一条直线,所以需要使用激活函数来引进非线性因素,来让神经网络引入非线性因素,使神经网络可以逼近和拟合任何非线性函数,当前使用较多的激活函数为:relu、sigmoid和tanh函数。在Alexnet中使用的激活函数是relu,在深度学习的研究中1,最大的困扰就是梯度消失的问题;使用sigmoid和tanh等激活函数的时候,会带来梯度消失问题,而relu的优点是可以克服梯度消失,以此大大提升神经网络的训练速度。但它也会对输入为负数的数据直接丢弃,在许多条件下并不适用,而且relu函数不是一个以0为中心的函数,它的结果只能在0和正数之间取值[[]J.A.A.OpschoorandCh.SchwabandJ.Zech.ExponentialReLUDNNExpressionofHolomorphicMapsinHighDimension[J].ConstructiveApproximation,2021,1-46.[]J.A.A.OpschoorandCh.SchwabandJ.Zech.ExponentialReLUDNNExpressionofHolomorphicMapsinHighDimension[J].ConstructiveApproximation,2021,1-46.1.1.3模型训练模型的结构参数如下表所示:表3-1神经网络参数表网络结构参数网络结构参数InputSize=(256,256,1)C6层kernel=(3,3,192)relu,strides=1C1层kernel=(11,11,48)relu,strides=4C7层kernel=(3,3,192)relu,strides=1C2层kernel=(3,3,192)relu,strides=2C8层kernel=(3,3,128)relu,strides=2C3层kernel=(5,5,128)relu,strides=1BN层C4层kernel=(3,3,192)relu,strides=2F1、F2size=1024、25,dropout=0.5C5层kernel=(3,3,192)relu,strides=1outputSize=25损失函数Categorical_Crossentropy优化器Adam图片的输入尺寸为256*256,batch_size选择为8,测试得到该参数下epoch为100轮时效果较好。训练并输出模型。具体模型训练流程:数据以256*256*1从input处输入,经过96个11*11步长为4的深度可分离卷积后变为64*64*48;再进入第二个3*3*192的深度可分离卷积,输出为31*31*192;再进入BN层,数据的尺寸不会发生变化;从BN层输出后,进入第三个5*5*128的深度可分离卷积,该层的输出为31*31*128;再通过第四个3*3*192的深度可分离卷积,输出为15*15*192;再进入到BN层,依旧不改变数据尺寸;经过第五个3*3*192的深度可分离卷积,输出的结构为13*13*192;再经过第六个3*3*192的深度可分离卷积后,数据变成了11*11*192;经过第七个3*3*256的深度可分离卷积后,数据输出为9*9*128;经过最后一层3*3*192步长为2的深度可分离卷积后输出为4*4*192;此输出再经过flatten展平,输入到分别为1024和25的全连接层后,输出划分为25类。
第2章实验与分析2.1实验设置2.1.1实验环境和数据集本实验中使用的是malimg[[]FarkhundIqbaletal.ADeepLearningFrameworkforMalwareClassification[J].InternationalJournalofDigitalCrimeandForensics(IJDCF),2020,12(1):90-108.[]FarkhundIqbaletal.ADeepLearningFrameworkforMalwareClassification[J].InternationalJournalofDigitalCrimeandForensics(IJDCF),2020,12(1):90-108.具体数量由下表所示:表4-1均衡化后数据集详情家族数量家族数量Adialer.C125Lolyda.AA2184Agent.FYI116Malex.gen!J136C2LOP.P146Lolyda.AT159Dialplatform.B177Rbot!gen158Fakerean157VB.AT176Dontovo.A162Wintrim.BX97C2LOP.gen!g167Skintrim.N80Instantaccess198Yuner.A215Lolyda.AA1213Obfuscator.AD142Allaple.L325Swizzor.gen!E128Autorun.K106Swizzor.gen!I132Alueron.gen!J198Lolyda.AA3123Allaple.A378本次实验的实验环境和设备参数如下表。表4-2实验环境和设备参数硬件说明软件说明CPUInteli5-7300CUDA11GPUGTX1050编译器VisualStudioRAM8GB编程语言Python本次实验中一些超参数如下。表4-3超参数及其设置EpochBatch_sizedropoutoptimize10080.1Adam2.1.2评价指标本次实验的目的是设计一种能在中低端个人计算机的环境下有较好运算体验的恶意代码检测网络,所以需要构建一个轻量化的神经网络,该网络的模型和参数需要较为简,训练效率高,且拥有较高的准确率,故选取训练时间和模型的准确率作为本次实验的两个评价指标,模型的处理时间以该模型在测试集下的十次平均处理时间为准。模型准确率以测试集分类正确的图数除以测试集的总数得到。2.2总体性能验证与分析为了验证本文提出的恶意代码检测模型的准确性和性能,将本文构建的卷积神经网络模型与测试结果效果较好的几个恶意代码检测模型进行比较测试,验证该模型在训练效率和检测准确度上的进步。Nataraj使用K临近算法对恶意代码的GIST特征进行提取分类;CuiZ[9]将恶意代码转换为灰度图像,使用自己搭建的卷积神经网络来检测;蒋[[]蒋考林,白玮,张磊,陈军,潘志松,郭世泽.基于多通道图像深度学习的恶意代码检测[J].计算机应用,2021,41(04):1142-1147.[]蒋考林,白玮,张磊,陈军,潘志松,郭世泽.基于多通道图像深度学习的恶意代码检测[J].计算机应用,2021,41(04):1142-1147.表4-5网络性能比较网络方法数据集是否均衡化多通道图像数据集准确率处理时间ms本网络的方法是否89.77%55CuiZ是否81.57%141蒋考林是否85.03%57Nataraj是否91.33%143蒋考林是是91.25%181根据实验结果可知,本模型在列出的几种网络模型中,在单通道图像数据集上的检测准确率第二高,且训练耗时最少。虽然Nataraj的K临近算法的检测准确率在单通道数据集中最高,但该方法的检测效率并不高,它的准确率是牺牲检测效率而换来的;蒋考林使用的模型与Alexnet模型结构一致,该方法的训练效率较高,但由于网络模型仍是经典的Alexnet网络结构所以在检测准确率上并不理想;蒋考林的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年国家安全知识竞赛考试题库及答案解析
- 2026年继任计划管理协议
- 安全风险分级管控和隐患排查治理体系培训考试题附含答案解析
- POS机刷卡运营合同协议
- 2026年全国中小学生天文知识竞赛试题库(附含答案)
- 慢病防控淋巴瘤:个体化化疗方案与群体化免疫治疗整合
- 慢病防控健康传播的精准化策略
- 慢病管理沟通策略优化
- 慢病管理医保支付方式改革实践
- 慢病管理中的心理干预策略
- 2024届北京市101中学七年级数学第一学期期末监测模拟试题含解析
- 新高考物理一轮复习刷题练习第84讲 动生电动势及其电路分析的五种题型(含解析)
- 埃森哲组织架构
- 餐饮供货合同餐饮供货合同
- 高三英语阅读理解:文章标题型
- 《乡土中国》 《无讼》课件
- GB/T 9870.1-2006硫化橡胶或热塑性橡胶动态性能的测定第1部分:通则
- GB/T 4675.1-1984焊接性试验斜Y型坡口焊接裂纹试验方法
- GB/T 1687.3-2016硫化橡胶在屈挠试验中温升和耐疲劳性能的测定第3部分:压缩屈挠试验(恒应变型)
- FZ/T 73009-2021山羊绒针织品
- 资产评估收费管理办法(2023)2914
评论
0/150
提交评论