CN110765458A - 一种基于深度学习的恶意软件检测方法及其装置 - Google Patents
一种基于深度学习的恶意软件检测方法及其装置 Download PDFInfo
- Publication number
- CN110765458A CN110765458A CN201910886585.4A CN201910886585A CN110765458A CN 110765458 A CN110765458 A CN 110765458A CN 201910886585 A CN201910886585 A CN 201910886585A CN 110765458 A CN110765458 A CN 110765458A
- Authority
- CN
- China
- Prior art keywords
- training
- sample
- image
- network
- malicious software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
一种基于深度学习的恶意软件图像格式的检测方法,包括以下步骤:1)构建恶意软件样本数据集;2)转换为恶意软件图像格式;3)构建卷积神经网络分类器;4)根据样本数据集对分类器进行训练以实现对恶意软件样本的分类。本发明还提供一种实施基于深度学习的恶意软件图像格式的检测方法的装置。本发明有良好的适用性和精度,能够有效地对恶意软件进行检测,取得较好的检测效果。
Description
技术领域
本发明属于网络空间安全技术领域,设计了一种基于深度学习的恶意软件图像格式的检测方法及其装置。
背景技术
随着计算机和互联网的飞速发展,人们之间的沟通越来越便捷,网络信息交流和智能应用在人们日常生活中扮演着至关重要的角色。根据资料显示,到2016年6月为止,全世界使用互联网的人群数量已经达到了36亿以上,用户首次占比过半。同时网络的发展也伴随着许多网络安全问题,恶意软件就是其中一个重要的影响因素。恶意软件(MaliciousSoftware,Malware)指有目的地实现攻击者破坏计算机、服务器、客户端或计算机网络的软件程序。恶意软件的代表类型有病毒、蠕虫、特洛伊木马、后门、Rootkits、勒索软件、僵尸网络等,通过自行复制、注入、诱惑、隐藏等形式渗透进入网络系统和受害者的计算机,试图破坏网络和计算机系统的正常运转、获取网络和主机资源、盗取机构和个人的敏感信息,对主机工作的安全性、网络传输的安全性和用户隐私的安全性都带来了极大的威胁。恶意软件能够有目的地实现对网络和主机的攻击、窃取信息和隐私、监视网络的使用,对主机的安全性、网络的安全性和隐私的安全性都具有极大的损害,对其进行检测、分析和预防一直是网络与信息安全研究工作的重点和热点之一。
目前存在的恶意软件检测方法有许多,深信服科技股份有限公司首先获取多个恶意软件产生的网络流量,再基于网络流量的统计特征对多个恶意软件粗粒度聚类,得到第一聚类结果,然后基于网络流量的内容特征对第一类聚类结果中的每一类恶意软件细粒度聚类,得到第二聚类结果,最后为第二聚类结果中的每一类恶意软件生成签名,以利用签名进行恶意软件检测。签名是一小段字节序列,它对于每一种已知的恶意软件类型都是独一无二的。这种从软件二进制代码中识别特定的字符串来鉴别恶意性质的方法,虽然一定程度上解决了检测问题,但是其需要域名专家进行手工制作、更新和上传,费时费力且易出错;北京物资学院首先从已知软件类型的软件样本集合中,提取各个软件样本的静态特征和动态特征,再将提取的各个软件样本的静态特征和动态特征有效结合,形成混合特征数据集,根据主成分分析方法和特征权重的选择方法,降低特征维度,去除冗余特征,得到优化后的混合特征数据集,然后运用支持向量机模型对优化后的混合特征集中的特征进行训练,形成分类检测模型,最后根据分类检测模型对待检测软件进行检测,但是基于向量机模型等机器学习的检测技术的泛化性能仍然不够高,且手工提取的待分析特征一旦被攻击者发现,可轻易地修改样本成功逃逸检测。
深度学习作为机器学习中神经网络技术进一步的发展思想,以分布式的结构自动地学习数据的特征表征,利用深度学习算法实现对恶意软件的检测为新趋势。大连理工大学构建卷积神经网络分类器实现对恶意软件的检测,广东工业大学通过循环神经网络得到恶意软件识别器,然而以上方法都是对软件文件进行处理,软件中的数据(字节值)离散,且软件的样本大小差距悬殊,样本数据的处理直接影响到分类器的检测精度以及整体检测的速度,因此,提高软件数据处理办法对于提高恶意软件检测速度和精度至关重要。
发明内容
为了克服恶意软件原始数据离散难处理、传统恶意软件检测精度不高的不足,本发明提供一种精度较高、改善原始样本处理方法的基于深度学习的恶意软件图像格式的检测方法及其装置。
本发明解决其技术问题所采用的技术方案是:
第一方面,本发明提供了一种基于深度学习的恶意软件图像格式检测方法,包括以下步骤:
1)构建恶意软件样本数据集;具体包括:
1.1)收集各个恶意软件家族样本数据集,数据以“.asm”后缀的汇编语言文件类型保存;
1.2)考虑各个类别的样本数量差异以及为便于后续的工作,将各个类别数据集以训练集占比约80%、测试集占比约20%的比例划分;
2)转换为恶意软件图像格式,具体包括:
2.1)对于步骤1.1)中的“.asm”后缀的汇编语言文件,文件的每个字符都可以在ASCII编码中找到,首先将其通过ASCII标准表映射为十六进制的数字;
2.2)再通过进制转换转化为十进制的数字,恶意软件的长字符串就转化为十进制的长数组;
2.3)将十进制长数组以一定的方式进行拼接(定宽切割拼接、定长切割拼接等),转换为64×64大小的恶意软件灰度图像;
2.4)最后获取图像格式的恶意软件样本;
3)构建卷积神经网络分类器;卷积神经网络作为经典的深度学习网络,被广泛地应用在计算机视觉和图像分类任务中;对输入大小为64×64×1的初始灰度图像,长、宽都为64个像素,灰度图的通道数为1,构建卷积神经网络分类器,具体包括:
3.1)将步骤2.4)获取的灰度图像依次经过4层卷积层,分别为卷积层1(conv1)、卷积层2(conv2)、卷积层3(conv3)和卷积层4(conv4),在初始的4层卷积层中使用长度为2的步幅,快速降低图像在网络训练过程中各层输出的特征图的大小,在各卷积层中,都使用ReLU激活函数来避免Sigmoid等激活函数可能带来的梯度饱和问题,改善网络的训练过程;
为尽可能多地挖掘图像信息,每层卷积都使用添零补位的操作,使卷积核可遍历输入图的每一个像素点,同时卷积核的大小随网络深度的增加逐渐降低。初始卷积核数为128,随着网络深度的增加而增加,挖掘更多的高维特征信息;
3.2)在经过4层卷积层后送入1层全连接层(fc5),整合前面各层卷积的视野特征,输出的N个类别的分类值;
3.3)最后将步骤3.2)获取的N个类别的分类值通过1层Softmax网络层(softmax6)转化为分类概率,概率最大的类别就是当前样本的分类结果;
4)根据样本数据集对分类器进行训练,具体包括:
4.1)获取损失函数;选取的损失函数基于预测分类和样本标签的交叉熵,其格式采用one-hot编码表示,如[0,0,1,0,0,0]表示的样本的标签为6个类别中的第3个;交叉熵表达式如下:
其中yi是样本i的标签,y′i是样本i的预测值,Hi是样本i的交叉熵。首先将样本的预测分类和样本标签的log函数相乘取反,one-hot各维度的熵值累加得到交叉熵;
通过计算所有样本交叉熵的平均值达到当前训练数据的损失函数,表达式如下:
4.2)将步骤2)获取的图像格式的样本输入步骤3)构建好的卷积神经网络分类器进行训练,训练时采用小批量梯度下降(Mini-Batch Gradient Descent,MBGD)的训练方法,每次从训练集中随机选择一批数据用于模型的训练,既可避免随机梯度下降(Stochastic Gradient Descent,SGD)产生的训练震荡,也可避免批量梯度下降(BatchGradient Descent,BGD)对资源的过度消耗,批的大小选择128。考虑到网络更新的稳定性,学习率定为0.001,使用超参数自适应调整的Adam优化器进行训练,训练目标是通过梯度的前向和反向传播调整网络的结构参数,不断降低模型的损失函数值;
4.3)为避免实验偶然性的干扰,实验采用十折交叉验证,即将数据集分成10份,每次选取其中的9份用于训练,一份用于测试,最终对所有结果取平均作为最终的实验结果,恶意软件图像的分类器达到87.17%的分类精度。
第二方面,本发明提供一种实施基于深度学习的恶意软件图像格式检测方法的装置,包括:
数据集获取单元,构建恶意软件样本数据集;具体包括:
收集各个恶意软件家族样本数据集,数据以“.asm”后缀的汇编语言文件类型保存;
考虑各个类别的样本数量差异以及为便于后续的工作,将各个类别数据集以训练集占比约80%、测试集占比约20%的比例划分;
数据集转换单元,将恶意软件转换为图像格式,具体包括:
对于数据集获取单元中的“.asm”后缀的汇编语言文件,文件的每个字符都可以在ASCII编码中找到,首先将其通过ASCII标准表映射为十六进制的数字;
再通过进制转换转化为十进制的数字,恶意软件的长字符串就转化为十进制的长数组;
将十进制长数组以一定的方式进行拼接(定宽切割拼接、定长切割拼接等),转换为64×64大小的恶意软件灰度图像;
最后获取图像格式的恶意软件样本;
分类器生成单元,构建卷积神经网络分类器;卷积神经网络作为经典的深度学习网络,被广泛地应用在计算机视觉和图像分类任务中;对输入大小为64×64×1的初始灰度图像,长、宽都为64个像素,灰度图的通道数为1,构建卷积神经网络分类器,具体包括:
将数据集转换单元获取的灰度图像依次经过4层卷积层,分别为卷积层1(conv1)、卷积层2(conv2)、卷积层3(conv3)和卷积层4(conv4),在初始的4层卷积层中使用长度为2的步幅,快速降低图像在网络训练过程中各层输出的特征图的大小,在各卷积层中,都使用ReLU激活函数来避免Sigmoid等激活函数可能带来的梯度饱和问题,改善网络的训练过程;
为尽可能多地挖掘图像信息,每层卷积都使用添零补位的操作,使卷积核可遍历输入图的每一个像素点,同时卷积核的大小随网络深度的增加逐渐降低。初始卷积核数为128,随着网络深度的增加而增加,挖掘更多的高维特征信息;
在经过4层卷积层后送入1层全连接层(fc5),整合前面各层卷积的视野特征,输出的N个类别的分类值;
最后将N个类别的分类值通过1层Softmax网络层(softmax6)转化为分类概率,概率最大的类别就是当前样本的分类结果;
分类器训练单元,根据样本数据集对分类器进行训练,具体包括:
获取损失函数;选取的损失函数基于预测分类和样本标签的交叉熵,其格式采用one-hot编码表示,如[0,0,1,0,0,0]表示的样本的标签为6个类别中的第3个;交叉熵表达式如下:
其中yi是样本i的标签,yi'是样本i的预测值,Hi是样本i的交叉熵。首先将样本的预测分类和样本标签的log函数相乘取反,one-hot各维度的熵值累加得到交叉熵;
通过计算所有样本交叉熵的平均值达到当前训练数据的损失函数,表达式如下:
将数据集转换单元获取的图像格式的样本输入分类器生成单元构建好的卷积神经网络分类器进行训练,训练时采用小批量梯度下降(Mini-Batch Gradient Descent,MBGD)的训练方法,每次从训练集中随机选择一批数据用于模型的训练,既可避免随机梯度下降(Stochastic Gradient Descent,SGD)产生的训练震荡,也可避免批量梯度下降(Batch Gradient Descent,BGD)对资源的过度消耗,批的大小选择128。考虑到网络更新的稳定性,学习率定为0.001,使用超参数自适应调整的Adam优化器进行训练,训练目标是通过梯度的前向和反向传播调整网络的结构参数,不断降低模型的损失函数值;
为避免实验偶然性的干扰,实验采用十折交叉验证,即将数据集分成10份,每次选取其中的9份用于训练,一份用于测试,最终对所有结果取平均作为最终的实验结果,恶意软件图像的分类器达到87.17%的分类精度。
本发明的技术构思为:基于深度学习算法,将恶意软件的汇编语言格式转化为图像格式,利用图像领域成熟的分类模型和技术实现恶意软件的分析和检测。首先进行恶意样本数据集的获取,再将“.asm”后缀的汇编语言文件转化为图像格式,以获取图像格式的恶意软件样本,构建卷积神经网络分类器,根据样本数据集对分类器进行训练,实现对恶意软件的分类。
本发明的有益效果主要表现在:提出了将恶意软件转化为图像格式进行处理的思想,利用图像领域成熟的分类模型和技术进行恶意软件的分析和检测,通过深度学习算法提升了恶意软件检测的精度。在真实恶意软件上的实验结果表明,本发明有良好的适用性和精度,能够有效地对恶意软件进行检测,取得较好的检测效果。
附图说明
图1是本发明的实施例中方法流程图。
图2是本发明的实施例中恶意软件转化为灰度图像的过程示意图。
图3是本发明的实施例中所使用的卷积神经网络分类器的框架图。
图4是本发明的实施例中恶意软件图像的训练过程图。
图5是本发明的实施例中一种基于深度学习的恶意软件检测装置的结构示意图。
具体实施方式
下面结合附图对本发明作进一步描述。
第一方面,本发明实施例提供了一种基于深度学习的恶意软件图像格式的检测方法,请参考图1,包括以下步骤:
1)获取恶意软件样本数据集;具体包括:
1.1)获取了9个恶意软件家族样本数据集,共10868个恶意软件样本,数据以“.asm”后缀的汇编语言文件类型保存;
1.2)考虑各个类别的样本数量差异以及为便于后续的工作,将各个类别数据集以训练集占比约80%、测试集占比约20%的比例划分,训练集共8694个样本,测试集共2174个样本;
2)转换为恶意软件图像格式;参考图2,具体包括:
2.1)对于步骤1.1)中的“.asm”后缀的汇编语言文件,文件的每个字符都可以在ASCII编码中找到,首先将其通过ASCII标准表映射为十六进制的数字;
2.2)再通过进制转换转化为十进制的数字,恶意软件的长字符串就转化为十进制的长数组;
2.3)将十进制长数组以一定的方式进行拼接(定宽切割拼接、定长切割拼接等),转换为64×64大小的恶意软件灰度图像;
2.4)最后获取图像格式的恶意软件样本;
3)构建卷积神经网络分类器;卷积神经网络作为经典的深度学习网络,被广泛地应用在计算机视觉和图像分类任务中;利用Keras库(后端为Tensorflow-gpu)构建卷积神经网络分类器,参考图3。对输入大小为64×64×1的初始灰度图像,长、宽都为64个像素,灰度图的通道数为1,构建卷积神经网络分类器,具体包括:
3.1)将步骤2.4)获取的灰度图像依次经过4层卷积层,分别为卷积层1(conv1)、卷积层2(conv2)、卷积层3(conv3)和卷积层4(conv4),在初始的4层卷积层中使用长度为2的步幅,快速降低图像在网络训练过程中各层输出的特征图的大小,在各卷积层中,都使用ReLU激活函数来避免Sigmoid等激活函数可能带来的梯度饱和问题,改善网络的训练过程;
为尽可能多地挖掘图像信息,每层卷积都使用添零补位的操作,使卷积核可遍历输入图的每一个像素点,同时卷积核的大小随网络深度的增加逐渐降低。初始卷积核数为128,随着网络深度的增加而增加,挖掘更多的高维特征信息;
3.2)在经过4层卷积层后送入1层全连接层(fc5),整合前面各层卷积的视野特征,输出的N个类别的分类值;
3.3)最后将步骤3.2)获取的N个类别的分类值通过1层Softmax网络层(softmax6)转化为分类概率,概率最大的类别就是当前样本的分类结果;
网络共6层(除去输入层),训练参数共6,780,161个(除去偏置值和全连接层,且实际训练时由于前向、反向计算和优化器的使用,使用的参数量将有所增加)。通过网络的层次传递,输入的64×64×1大小的灰度图像数值矩阵,最后输出该样本被分类到N个类别的概率大小;
4)根据样本数据集对分类器进行训练,具体包括:
4.1)获取损失函数;选取的损失函数基于预测分类和样本标签的交叉熵,其格式采用one-hot编码表示,如[0,0,1,0,0,0]表示的样本的标签为6个类别中的第3个。交叉熵表达式如下:
其中yi是样本i的标签,y′i是样本i的预测值,Hi是样本i的交叉熵。首先将样本的预测分类和样本标签的log函数相乘取反,one-hot各维度的熵值累加得到交叉熵;
通过计算所有样本交叉熵的平均值达到当前训练数据的损失函数,表达式如下:
4.2)将步骤2)获取的图像格式的样本输入步骤3)构建好的卷积神经网络分类器进行训练,训练时采用小批量梯度下降(Mini-Batch Gradient Descent,MBGD)的训练方法,每次从训练集中随机选择一批数据用于模型的训练,既可避免随机梯度下降(Stochastic Gradient Descent,SGD)产生的训练震荡,也可避免批量梯度下降(BatchGradient Descent,BGD)对资源的过度消耗,批的大小选择128。考虑到网络更新的稳定性,学习率定为0.001,使用超参数自适应调整的Adam优化器进行训练,训练目标是通过梯度的前向和反向传播调整网络的结构参数,不断降低模型的损失函数值;
4.3)为避免实验偶然性的干扰,实验采用十折交叉验证,即将数据集分成10份,每次选取其中的9份用于训练,一份用于测试,最终对所有结果取平均作为最终的实验结果。参考图4恶意软件数据集的训练过程,其精度在第15次迭代后渐渐稳定,损失函数值在第15次迭代后逐渐停止变化。恶意软件图像的分类器达到87.17%的分类精度,其中精度为分类正确的样本占总样本的比例,精度的计算公式如下:
其中f(xi)为分类器对样本i的分类结果,yi为样本真实的标签,样本总数为n。
本发明还提供了一种实施基于深度学习的恶意软件图像格式的检测方法的装置,请参考图5,所述装置包括:
数据集获取单元构建恶意软件样本数据集;具体包括:
收集各个恶意软件家族样本数据集,数据以“.asm”后缀的汇编语言文件类型保存;
考虑各个类别的样本数量差异以及为便于后续的工作,将各个类别数据集以训练集占比约80%、测试集占比约20%的比例划分;
数据集转换单元将恶意软件转换为图像格式,具体包括:
对于数据集获取单元中的“.asm”后缀的汇编语言文件,文件的每个字符都可以在ASCII编码中找到,首先将其通过ASCII标准表映射为十六进制的数字;
再通过进制转换转化为十进制的数字,恶意软件的长字符串就转化为十进制的长数组;
将十进制长数组以一定的方式进行拼接(定宽切割拼接、定长切割拼接等),转换为64×64大小的恶意软件灰度图像;
最后获取图像格式的恶意软件样本;
分类器生成单元,用于构建卷积神经网络分类器;卷积神经网络作为经典的深度学习网络,被广泛地应用在计算机视觉和图像分类任务中;对输入大小为64×64×1的初始灰度图像,长、宽都为64个像素,灰度图的通道数为1,构建卷积神经网络分类器,具体包括:
将步数据集转换单元获取的灰度图像依次经过4层卷积层,分别为卷积层1(conv1)、卷积层2(conv2)、卷积层3(conv3)和卷积层4(conv4),在初始的4层卷积层中使用长度为2的步幅,快速降低图像在网络训练过程中各层输出的特征图的大小,在各卷积层中,都使用ReLU激活函数来避免Sigmoid等激活函数可能带来的梯度饱和问题,改善网络的训练过程;
为尽可能多地挖掘图像信息,每层卷积都使用添零补位的操作,使卷积核可遍历输入图的每一个像素点,同时卷积核的大小随网络深度的增加逐渐降低。初始卷积核数为128,随着网络深度的增加而增加,挖掘更多的高维特征信息;
在经过4层卷积层后送入1层全连接层(fc5),整合前面各层卷积的视野特征,输出的N个类别的分类值;
最后将N个类别的分类值通过1层Softmax网络层(softmax6)转化为分类概率,概率最大的类别就是当前样本的分类结果;
网络共6层(除去输入层),训练参数共6,780,161个(除去偏置值和全连接层,且实际训练时由于前向、反向计算和优化器的使用,使用的参数量将有所增加)。通过网络的层次传递,输入的64×64×1大小的灰度图像数值矩阵,最后输出该样本被分类到N个类别的概率大小;
分类器训练单元根据样本数据集对分类器进行训练,具体包括:
获取损失函数;选取的损失函数基于预测分类和样本标签的交叉熵,其格式采用one-hot编码表示,如[0,0,1,0,0,0]表示的样本的标签为6个类别中的第3个;交叉熵表达式如下:
其中yi是样本i的标签,y′i是样本i的预测值,Hi是样本i的交叉熵。首先将样本的预测分类和样本标签的log函数相乘取反,one-hot各维度的熵值累加得到交叉熵;
通过计算所有样本交叉熵的平均值达到当前训练数据的损失函数,表达式如下:
将数据集转换单元获取的图像格式的样本输入分类器生成单元构建好的卷积神经网络分类器进行训练,训练时采用小批量梯度下降(Mini-Batch Gradient Descent,MBGD)的训练方法,每次从训练集中随机选择一批数据用于模型的训练,既可避免随机梯度下降(Stochastic Gradient Descent,SGD)产生的训练震荡,也可避免批量梯度下降(Batch Gradient Descent,BGD)对资源的过度消耗,批的大小选择128。考虑到网络更新的稳定性,学习率定为0.001,使用超参数自适应调整的Adam优化器进行训练,训练目标是通过梯度的前向和反向传播调整网络的结构参数,不断降低模型的损失函数值;
为避免实验偶然性的干扰,实验采用十折交叉验证,即将数据集分成10份,每次选取其中的9份用于训练,一份用于测试,最终对所有结果取平均作为最终的实验结果,恶意软件图像的分类器达到87.17%的分类精度,其中精度为分类正确的样本占总样本的比例,精度的计算公式如下:
其中f(xi)为分类器对样本i的分类结果,yi为样本真实的标签,样本总数为n。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
Claims (5)
1.一种基于深度学习的恶意软件图像格式检测方法,包括以下步骤:
1)构建恶意软件样本数据集;具体包括:
1.1)收集各个恶意软件家族样本数据集,数据以“.asm”后缀的汇编语言文件类型保存;
1.2)考虑各个类别的样本数量差异以及为便于后续的工作,将各个类别数据集以训练集占比约80%、测试集占比约20%的比例划分;
2)转换为恶意软件图像格式,具体包括:
2.1)对于步骤1.1)中的“.asm”后缀的汇编语言文件,文件的每个字符都可以在ASCII编码中找到,首先将其通过ASCII标准表映射为十六进制的数字;
2.2)再通过进制转换转化为十进制的数字,恶意软件的长字符串就转化为十进制的长数组;
2.3)将十进制长数组以一定的方式进行拼接,转换为64×64大小的恶意软件灰度图像;
2.4)最后获取图像格式的恶意软件样本;
3)构建卷积神经网络分类器;卷积神经网络作为经典的深度学习网络,被广泛地应用在计算机视觉和图像分类任务中;对输入大小为64×64×1的初始灰度图像,长、宽都为64个像素,灰度图的通道数为1,构建卷积神经网络分类器,具体包括:
3.1)将步骤2.4)获取的灰度图像依次经过4层卷积层,分别为卷积层1、卷积层2、卷积层3和卷积层4,在初始的4层卷积层中使用长度为2的步幅,快速降低图像在网络训练过程中各层输出的特征图的大小,在各卷积层中,都使用ReLU激活函数来避免Sigmoid等激活函数可能带来的梯度饱和问题,改善网络的训练过程;
为尽可能多地挖掘图像信息,每层卷积都使用添零补位的操作,使卷积核可遍历输入图的每一个像素点,同时卷积核的大小随网络深度的增加逐渐降低;初始卷积核数为128,随着网络深度的增加而增加,挖掘更多的高维特征信息;
3.2)在经过4层卷积层后送入1层全连接层,整合前面各层卷积的视野特征,输出N个类别的分类值;
3.3)最后将步骤3.2)获取的N个类别的分类值通过1层Softmax网络层转化为分类概率,概率最大的类别就是当前样本的分类结果;
4)根据样本数据集对分类器进行训练,过程如下:
4.1)获取损失函数;选取的损失函数基于预测分类和样本标签的交叉熵,其格式采用one-hot编码表示,如[0,0,1,0,0,0]表示的样本的标签为6个类别中的第3个;交叉熵表达式如下:
其中yi是样本i的标签,y′i是样本i的预测值,Hi是样本i的交叉熵;首先将样本的预测分类和样本标签的log函数相乘取反,one-hot各维度的熵值累加得到交叉熵;
通过计算所有样本交叉熵的平均值达到当前训练数据的损失函数,表达式如下:
4.2)将步骤2)获取的图像格式的样本输入步骤3)构建好的卷积神经网络分类器进行训练,训练时采用小批量梯度下降的训练方法,每次从训练集中随机选择一批数据用于模型的训练,既可避免随机梯度下降产生的训练震荡,也可避免批量梯度下降对资源的过度消耗,批的大小选择128;考虑到网络更新的稳定性,学习率定为0.001,使用超参数自适应调整的Adam优化器进行训练,训练目标是通过梯度的前向和反向传播调整网络的结构参数,不断降低模型的损失函数值;
4.3)为避免实验偶然性的干扰,实验采用十折交叉验证,即将数据集分成10份,每次选取其中的9份用于训练,一份用于测试,最终对所有结果取平均作为最终的实验结果,恶意软件图像的分类器达到87.17%的分类精度。
2.如权利要求1所述的基于深度学习的恶意软件图像格式检测方法,其特征在于:所述步骤1)中,获取了9个恶意软件家族样本数据集,共10868个恶意软件样本,将恶意软件原始“.asm”后缀的汇编语言文件通过ASCII映射、进制转换、拼接转换为64×64大小的恶意软件灰度图像。
3.如权利要求1所述的基于深度学习的恶意软件图像格式检测方法,其特征在于:在所述步骤3.3)中,除去输入层网络共6层,训练参数共6,780,161个,除去偏置值和全连接层,且实际训练时由于前向、反向计算和优化器的使用,使用的参数量将有所增加;通过网络的层次传递,输入的64×64×1大小的灰度图像数值矩阵,最后输出该样本被分类到N个类别的概率大小。
5.实施如权利要求1所述的一种基于深度学习的恶意软件图像格式检测方法的装置,其特征在于:包括:
数据集获取单元,构建恶意软件样本数据集;具体包括:
收集各个恶意软件家族样本数据集,数据以“.asm”后缀的汇编语言文件类型保存;
考虑各个类别的样本数量差异以及为便于后续的工作,将各个类别数据集以训练集占比约80%、测试集占比约20%的比例划分;
数据集转换单元,将恶意软件转换为图像格式,具体包括:
对于数据集获取单元中的“.asm”后缀的汇编语言文件,文件的每个字符都可以在ASCII编码中找到,首先将其通过ASCII标准表映射为十六进制的数字;
再通过进制转换转化为十进制的数字,恶意软件的长字符串就转化为十进制的长数组;
将十进制长数组以一定的方式进行拼接,转换为64×64大小的恶意软件灰度图像;
最后获取图像格式的恶意软件样本;
分类器生成单元,构建卷积神经网络分类器;卷积神经网络作为经典的深度学习网络,被广泛地应用在计算机视觉和图像分类任务中;对输入大小为64×64×1的初始灰度图像,长、宽都为64个像素,灰度图的通道数为1,构建卷积神经网络分类器,具体包括:
将数据集转换单元获取的灰度图像依次经过4层卷积层,分别为卷积层1、卷积层2、卷积层3和卷积层4,在初始的4层卷积层中使用长度为2的步幅,快速降低图像在网络训练过程中各层输出的特征图的大小,在各卷积层中,都使用ReLU激活函数来避免Sigmoid等激活函数可能带来的梯度饱和问题,改善网络的训练过程;
为尽可能多地挖掘图像信息,每层卷积都使用添零补位的操作,使卷积核可遍历输入图的每一个像素点,同时卷积核的大小随网络深度的增加逐渐降低;初始卷积核数为128,随着网络深度的增加而增加,挖掘更多的高维特征信息;
在经过4层卷积层后送入1层全连接层,整合前面各层卷积的视野特征,输出的N个类别的分类值;
最后将获取的N个类别的分类值通过1层Softmax网络层转化为分类概率,概率最大的类别就是当前样本的分类结果;
分类器训练单元,根据样本数据集对分类器进行训练,具体包括:
获取损失函数;选取的损失函数基于预测分类和样本标签的交叉熵,其格式采用one-hot编码表示,如[0,0,1,0,0,0]表示的样本的标签为6个类别中的第3个;交叉熵表达式如下:
其中yi是样本i的标签,y′i是样本i的预测值,Hi是样本i的交叉熵;首先将样本的预测分类和样本标签的log函数相乘取反,one-hot各维度的熵值累加得到交叉熵;
通过计算所有样本交叉熵的平均值达到当前训练数据的损失函数,表达式如下:
将数据集转换单元获取的图像格式的样本输入分类器生成单元构建好的卷积神经网络分类器进行训练,训练时采用小批量梯度下降的训练方法,每次从训练集中随机选择一批数据用于模型的训练,既可避免随机梯度下降产生的训练震荡,也可避免批量梯度下降对资源的过度消耗,批的大小选择128;考虑到网络更新的稳定性,学习率定为0.001,使用超参数自适应调整的Adam优化器进行训练,训练目标是通过梯度的前向和反向传播调整网络的结构参数,不断降低模型的损失函数值;
为避免实验偶然性的干扰,实验采用十折交叉验证,即将数据集分成10份,每次选取其中的9份用于训练,一份用于测试,最终对所有结果取平均作为最终的实验结果,恶意软件图像的分类器达到87.17%的分类精度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910886585.4A CN110765458B (zh) | 2019-09-19 | 2019-09-19 | 一种基于深度学习的恶意软件图像格式检测方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910886585.4A CN110765458B (zh) | 2019-09-19 | 2019-09-19 | 一种基于深度学习的恶意软件图像格式检测方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765458A true CN110765458A (zh) | 2020-02-07 |
CN110765458B CN110765458B (zh) | 2021-06-08 |
Family
ID=69330072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910886585.4A Active CN110765458B (zh) | 2019-09-19 | 2019-09-19 | 一种基于深度学习的恶意软件图像格式检测方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765458B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340191A (zh) * | 2020-02-27 | 2020-06-26 | 福州大学 | 基于集成学习的僵尸网络恶意流量分类方法及系统 |
CN111488574A (zh) * | 2020-04-08 | 2020-08-04 | 湖南大学 | 恶意软件分类方法、系统、计算机设备和存储介质 |
CN111552964A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于静态分析的恶意软件分类方法 |
CN111738441A (zh) * | 2020-07-31 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 兼顾预测精度和隐私保护的预测模型训练方法及装置 |
CN112104602A (zh) * | 2020-08-04 | 2020-12-18 | 广东工业大学 | 一种基于cnn迁移学习的网络入侵检测方法 |
CN112347478A (zh) * | 2020-10-13 | 2021-02-09 | 北京天融信网络安全技术有限公司 | 一种恶意软件检测方法及装置 |
CN112818350A (zh) * | 2021-03-10 | 2021-05-18 | 河北师范大学 | 一种基于DEAM和DenseNet的恶意软件检测和家族分类方法 |
CN112861130A (zh) * | 2021-01-28 | 2021-05-28 | 济南大学 | 从n到n+1的多类转换恶意软件检测方法 |
CN112887291A (zh) * | 2021-01-20 | 2021-06-01 | 中国科学院计算技术研究所 | 基于深度学习的i2p流量识别方法及系统 |
CN112884061A (zh) * | 2021-03-10 | 2021-06-01 | 河北师范大学 | 一种基于参数优化元学习的恶意软件家族分类方法 |
CN112906002A (zh) * | 2021-03-26 | 2021-06-04 | 山西三友和智慧信息技术股份有限公司 | 一种基于深度学习的恶意软件识别方法 |
CN112966272A (zh) * | 2021-03-31 | 2021-06-15 | 国网河南省电力公司电力科学研究院 | 一种基于对抗式网络的物联网Android恶意软件检测方法 |
CN112989342A (zh) * | 2021-03-04 | 2021-06-18 | 北京邮电大学 | 恶意软件检测网络优化方法、装置、电子设备及存储介质 |
CN113194092A (zh) * | 2021-04-28 | 2021-07-30 | 东南大学 | 一种精准的恶意流量变种检测方法 |
CN113326509A (zh) * | 2021-06-17 | 2021-08-31 | 浙江工业大学 | 基于互信息的深度学习模型中毒攻击检测方法及其装置 |
CN113343235A (zh) * | 2021-06-17 | 2021-09-03 | 长沙市智为信息技术有限公司 | 基于Transformer的应用层恶意有效负载检测方法、系统、设备及介质 |
CN113806746A (zh) * | 2021-09-24 | 2021-12-17 | 沈阳理工大学 | 基于改进cnn网络的恶意代码检测方法 |
US20210406744A1 (en) * | 2020-06-30 | 2021-12-30 | Microsoft Technology Licensing, Llc | Efficiently constructing regression models for selectivity estimation |
CN113887633A (zh) * | 2021-09-30 | 2022-01-04 | 国网河南省电力公司电力科学研究院 | 基于il的闭源电力工控系统恶意行为识别方法及系统 |
CN116152575A (zh) * | 2023-04-18 | 2023-05-23 | 之江实验室 | 基于类激活采样引导的弱监督目标定位方法、装置和介质 |
CN116226854A (zh) * | 2023-05-06 | 2023-06-06 | 江西萤火虫微电子科技有限公司 | 恶意软件检测方法、系统、可读存储介质及计算机 |
CN116738354A (zh) * | 2023-08-15 | 2023-09-12 | 国网江西省电力有限公司信息通信分公司 | 一种电力物联网终端行为异常检测方法及系统 |
CN117892301A (zh) * | 2024-01-15 | 2024-04-16 | 湖北大学 | 少样本恶意软件的分类方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989288A (zh) * | 2015-12-31 | 2016-10-05 | 武汉安天信息技术有限责任公司 | 一种基于深度学习的恶意代码样本分类方法及系统 |
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
CN107392019A (zh) * | 2017-07-05 | 2017-11-24 | 北京金睛云华科技有限公司 | 一种恶意代码家族的训练和检测方法及装置 |
WO2019004671A1 (ko) * | 2017-06-30 | 2019-01-03 | 주식회사 씨티아이랩 | 인공지능 기반 악성코드 검출 시스템 및 방법 |
KR20190040755A (ko) * | 2017-10-11 | 2019-04-19 | 한국전자통신연구원 | 파일 이미지를 이용한 악성코드 탐지 방법 및 이를 위한 장치 |
-
2019
- 2019-09-19 CN CN201910886585.4A patent/CN110765458B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989288A (zh) * | 2015-12-31 | 2016-10-05 | 武汉安天信息技术有限责任公司 | 一种基于深度学习的恶意代码样本分类方法及系统 |
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
WO2019004671A1 (ko) * | 2017-06-30 | 2019-01-03 | 주식회사 씨티아이랩 | 인공지능 기반 악성코드 검출 시스템 및 방법 |
CN107392019A (zh) * | 2017-07-05 | 2017-11-24 | 北京金睛云华科技有限公司 | 一种恶意代码家族的训练和检测方法及装置 |
KR20190040755A (ko) * | 2017-10-11 | 2019-04-19 | 한국전자통신연구원 | 파일 이미지를 이용한 악성코드 탐지 방법 및 이를 위한 장치 |
Non-Patent Citations (2)
Title |
---|
RAJESH KUMAR,ET ALL: ""Malicious Code Detection based on Image Processing Using Deep Learning"", 《HTTPS://WWW.RESEARCHGATE.NET/PUBLICATION/325657523》 * |
齐彩云等: "《基于卷积神经网络的恶意软件检测与分类研究》", 《现代计算机》 * |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340191A (zh) * | 2020-02-27 | 2020-06-26 | 福州大学 | 基于集成学习的僵尸网络恶意流量分类方法及系统 |
CN111340191B (zh) * | 2020-02-27 | 2023-02-21 | 福州大学 | 基于集成学习的僵尸网络恶意流量分类方法及系统 |
CN111552964A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于静态分析的恶意软件分类方法 |
CN111488574A (zh) * | 2020-04-08 | 2020-08-04 | 湖南大学 | 恶意软件分类方法、系统、计算机设备和存储介质 |
US11836646B2 (en) * | 2020-06-30 | 2023-12-05 | Microsoft Technology Licensing, Llc | Efficiently constructing regression models for selectivity estimation |
US20210406744A1 (en) * | 2020-06-30 | 2021-12-30 | Microsoft Technology Licensing, Llc | Efficiently constructing regression models for selectivity estimation |
CN111738441A (zh) * | 2020-07-31 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 兼顾预测精度和隐私保护的预测模型训练方法及装置 |
CN111738441B (zh) * | 2020-07-31 | 2020-11-17 | 支付宝(杭州)信息技术有限公司 | 兼顾预测精度和隐私保护的预测模型训练方法及装置 |
CN112104602A (zh) * | 2020-08-04 | 2020-12-18 | 广东工业大学 | 一种基于cnn迁移学习的网络入侵检测方法 |
CN112347478B (zh) * | 2020-10-13 | 2021-08-24 | 北京天融信网络安全技术有限公司 | 一种恶意软件检测方法及装置 |
CN112347478A (zh) * | 2020-10-13 | 2021-02-09 | 北京天融信网络安全技术有限公司 | 一种恶意软件检测方法及装置 |
CN112887291A (zh) * | 2021-01-20 | 2021-06-01 | 中国科学院计算技术研究所 | 基于深度学习的i2p流量识别方法及系统 |
CN112861130A (zh) * | 2021-01-28 | 2021-05-28 | 济南大学 | 从n到n+1的多类转换恶意软件检测方法 |
CN112989342A (zh) * | 2021-03-04 | 2021-06-18 | 北京邮电大学 | 恶意软件检测网络优化方法、装置、电子设备及存储介质 |
CN112818350A (zh) * | 2021-03-10 | 2021-05-18 | 河北师范大学 | 一种基于DEAM和DenseNet的恶意软件检测和家族分类方法 |
CN112884061A (zh) * | 2021-03-10 | 2021-06-01 | 河北师范大学 | 一种基于参数优化元学习的恶意软件家族分类方法 |
CN112906002A (zh) * | 2021-03-26 | 2021-06-04 | 山西三友和智慧信息技术股份有限公司 | 一种基于深度学习的恶意软件识别方法 |
CN112966272A (zh) * | 2021-03-31 | 2021-06-15 | 国网河南省电力公司电力科学研究院 | 一种基于对抗式网络的物联网Android恶意软件检测方法 |
CN112966272B (zh) * | 2021-03-31 | 2022-09-09 | 国网河南省电力公司电力科学研究院 | 一种基于对抗式网络的物联网Android恶意软件检测方法 |
CN113194092A (zh) * | 2021-04-28 | 2021-07-30 | 东南大学 | 一种精准的恶意流量变种检测方法 |
CN113343235B (zh) * | 2021-06-17 | 2022-05-17 | 长沙市智为信息技术有限公司 | 基于Transformer的应用层恶意有效负载检测方法、系统、设备及介质 |
CN113326509B (zh) * | 2021-06-17 | 2022-07-19 | 浙江工业大学 | 基于互信息的深度学习模型中毒攻击检测方法及其装置 |
CN113343235A (zh) * | 2021-06-17 | 2021-09-03 | 长沙市智为信息技术有限公司 | 基于Transformer的应用层恶意有效负载检测方法、系统、设备及介质 |
CN113326509A (zh) * | 2021-06-17 | 2021-08-31 | 浙江工业大学 | 基于互信息的深度学习模型中毒攻击检测方法及其装置 |
CN113806746A (zh) * | 2021-09-24 | 2021-12-17 | 沈阳理工大学 | 基于改进cnn网络的恶意代码检测方法 |
CN113806746B (zh) * | 2021-09-24 | 2024-03-22 | 沈阳理工大学 | 基于改进cnn网络的恶意代码检测方法 |
CN113887633A (zh) * | 2021-09-30 | 2022-01-04 | 国网河南省电力公司电力科学研究院 | 基于il的闭源电力工控系统恶意行为识别方法及系统 |
CN116152575A (zh) * | 2023-04-18 | 2023-05-23 | 之江实验室 | 基于类激活采样引导的弱监督目标定位方法、装置和介质 |
CN116226854A (zh) * | 2023-05-06 | 2023-06-06 | 江西萤火虫微电子科技有限公司 | 恶意软件检测方法、系统、可读存储介质及计算机 |
CN116738354A (zh) * | 2023-08-15 | 2023-09-12 | 国网江西省电力有限公司信息通信分公司 | 一种电力物联网终端行为异常检测方法及系统 |
CN116738354B (zh) * | 2023-08-15 | 2023-12-08 | 国网江西省电力有限公司信息通信分公司 | 一种电力物联网终端行为异常检测方法及系统 |
CN117892301A (zh) * | 2024-01-15 | 2024-04-16 | 湖北大学 | 少样本恶意软件的分类方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110765458B (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765458B (zh) | 一种基于深度学习的恶意软件图像格式检测方法及其装置 | |
CN110826059B (zh) | 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置 | |
CN110633570B (zh) | 面向恶意软件汇编格式检测模型的黑盒攻击的防御方法 | |
Singh et al. | Malware classification using image representation | |
CN109005145B (zh) | 一种基于自动特征抽取的恶意url检测系统及其方法 | |
US11574052B2 (en) | Methods and apparatus for using machine learning to detect potentially malicious obfuscated scripts | |
CN111027069B (zh) | 恶意软件家族检测方法、存储介质和计算设备 | |
Gao et al. | Malware classification for the cloud via semi-supervised transfer learning | |
CN110647745A (zh) | 基于深度学习的恶意软件汇编格式的检测方法 | |
US10872270B2 (en) | Exploit kit detection system based on the neural network using image | |
CN105989288A (zh) | 一种基于深度学习的恶意代码样本分类方法及系统 | |
US20070192687A1 (en) | Document content and structure conversion | |
CN110572393A (zh) | 一种基于卷积神经网络的恶意软件流量分类方法 | |
Ren et al. | Malware visualization methods based on deep convolution neural networks | |
CN112241530B (zh) | 恶意pdf文档的检测方法及电子设备 | |
CN111259397B (zh) | 一种基于马尔科夫图和深度学习的恶意软件分类方法 | |
CN112329012B (zh) | 针对包含JavaScript的恶意PDF文档的检测方法及电子设备 | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
CN111866004A (zh) | 安全评估方法、装置、计算机系统和介质 | |
Kakisim et al. | Sequential opcode embedding-based malware detection method | |
CN113726730A (zh) | 基于深度学习算法的dga域名检测方法及系统 | |
Yoo et al. | The image game: exploit kit detection based on recursive convolutional neural networks | |
CN114510721B (zh) | 一种基于特征融合的静态恶意代码分类方法 | |
Ye et al. | Android malware detection technology based on lightweight convolutional neural networks | |
CN113468527A (zh) | 一种基于特征表达增强的恶意代码家族分类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |