CN112329016A - 一种基于深度神经网络的可视化恶意软件检测装置及方法 - Google Patents
一种基于深度神经网络的可视化恶意软件检测装置及方法 Download PDFInfo
- Publication number
- CN112329016A CN112329016A CN202011626582.6A CN202011626582A CN112329016A CN 112329016 A CN112329016 A CN 112329016A CN 202011626582 A CN202011626582 A CN 202011626582A CN 112329016 A CN112329016 A CN 112329016A
- Authority
- CN
- China
- Prior art keywords
- layer
- matrix
- file
- bytes
- 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/565—Static detection by checking file integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration by the use of histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Virology (AREA)
- Image Analysis (AREA)
Abstract
一种基于深度神经网络的可视化恶意软件检测装置及方法,利用反汇编技术将可执行文件样本转化为bytes文件和asm文件,将自己收集并标记过的正常软件数据集与著名的BIG 2015恶意软件数据集进行合并得到了一个平衡实验数据集;为了有效地提取出数据样本中的高维度特征,使用结合数据增强的可视化技术进一步将样本转化为RGB三通道图像。还提出了一种独特的深度神经网络分类架构,用于提升检测方法的性能;本发明的方法在其他众多神经网络模型方法中脱颖而出;通过实验验证了RGB三通道图像在恶意软件检测的性能方面相比较于灰度图像的优越性,表明了数据增强技术有助于可视化恶意软件检测;为其他研究人员进行恶意软件检测实验提供了新的思路与方法。
Description
技术领域
本发明涉及网络安全技术领域,具体为一种基于深度神经网络的可视化恶意软件检测装置及方法。
背景技术
互联网技术的快速发展带动了计算机软件产业的飞速进步,各种类型的应用软件相继产生并逐渐影响了人们的生活。不幸的是,在这其中包含了大量有害的恶意软件,严重危害到了用户的隐私与安全,同时还可能会对计算机、服务器和云计算环境造成破坏。恶意软件一般具有如下特点:自动运行,强制安装,难以卸载,恶意收集用户信息以及其他侵犯用户合法权益的恶意行为。
时至今日,通过恶意软件进行的非法攻击已经对互联网安全构成了严重的威胁,同时,恶意软件的数量正在急剧增加,各种各样的变体不断出现,而且多种用于逃避安全检测的高级技术也应运而生。这样的环境使得传统的恶意软件检测技术,如反病毒扫描器逐渐失效,结果导致越来越多的主机可能被暴露在网络攻击之下。《卡巴斯基2019年年度安全报告(Kaspersky Security Bulletin 2019)》显示,19.80%的用户计算机在过去一年中至少遭受过一次恶意软件的攻击。共有来自全球203个国家和地区的数百万卡巴斯基产品用户参与了这次关于恶意活动的全球信息调查,且所有统计数据都是从2018年11月至2019年10月收集的。由此可以看出,有效识别恶意软件及其变体已经变得势在必行。
现有的恶意软件检测方法主要分为两类:静态检测方法和动态检测方法。其中,静态检测方法会利用可执行文件的结构信息来确定一个软件是否是恶意软件,动态检测方法则会分析程序运行状态下的行为来判定一个软件是否是恶意软件。动态检测方法尽管具有非常高的准确率,但需要对已经处于运行状态的程序进程进行监控,耗时较长且效率较低,不利于对恶意软件的及时发现与处理。而静态检测的方法虽然可以很好地弥补这一缺陷,但传统的静态检测方法往往需要依赖高质量的杀毒引擎和数量巨大的病毒库,并且很难检测出未知的恶意软件,同时,其对于加入了混淆技术的恶意软件变体也难以准确判断。
为了解决这一问题,一些学者提出了将可视化技术应用于恶意软件检测的方法,这些方法继承了传统的恶意软件检测技术的优点,同时更加高效。这种新技术的可行性在于大多数恶意软件的变体往往是通过使用自动化技术或者重用一些重要模块生成的,因此它们的二进制代码以及汇编代码具有一定的相似性。恶意软件分类问题类似于图像识别问题,它们都需要识别原始实例的变体。区别在于图像识别基于图像相似性,恶意软件检测基于软件相似性,而恶意软件可视化方法成功地将这两者进行统一。因此,基于可视化技术进行恶意软件分析的方法有其独到之处,为恶意软件的检测提供了新的思路。近些年来,越来越多的人开始考虑应用图像处理技术对恶意软件进行分类检测,例如二进制文件灰度图,反汇编语言文件压缩灰度图和二进制文件熵图,并且都取得了不错的效果。
此外,近年来,随着人工智能技术的快速发展,神经网络的优越性逐渐显现出来——它能够帮助人们更快、更好地捕捉到样本数据中的内在规律和表示层次,自动化地提取出更加高维度的特征,从而更为有效地对样本数据进行分析。因此,有的学者开始应用图像处理技术结合神经网络的方法对恶意软件进行分类检测,并且通过改良现有的技术提出了一些高效的检测模型与装置。
尽管如此,目前已有的基于神经网络的可视化恶意软件检测方法依旧面临着一些挑战。(1)首先是数据集的获取问题,由于恶意软件本身极其容易在互联网上扩散从而导致意想不到的后果,因此许多数据集提供者都会对样本进行所谓的“杀毒”处理,使其失去运行能力,例如微软恶意软件分类挑战(BIG 2015)恶意软件数据集,Kaggle平台就将原本的可执行文件转化为了对应的bytes文件(纯净字节码文件)和asm文件(汇编程序源文件),但这样就使得其他人无法轻易地对该数据集进行扩充。(2)其次是目前的检测方法大多只关注于数据样本的某一方面的特征,例如只关注软件样本的二进制文件或者是汇编程序源文件,这样做会让检测方法的泛化能力大打折扣,难以成功应用于未知的样本。(3)最后值得关注的一点是虽然以往的工作已经使用到了一些基于深度学习的检测方法,但是在特征选取和提高检测性能方面还有很多工作要做。因此,需要进一步研究基于深度神经网络的高性能恶意软件检测方法。
发明内容
针对上述问题,本发明的目的在于提供一种基于深度神经网络的可视化恶意软件检测装置及方法,采用独特的深度神经网络分类架构,提升检测方法的性能,并能够提升检测方法的泛化能力,并使其成功应用于未知的样本。技术方案如下:
一种基于深度神经网络的可视化恶意软件检测方法,包括以下步骤:
S1:数据收集与标记:收集可执行文件并对其检测,标记出正常软件,并将其整理为正常软件数据集;
S2:可视化处理:将正常软件数据集的可执行文件进行反汇编处理;将反汇编处理生成的对应的bytes文件根据数据分割阈值进行截取或填充,再将bytes文件中的每一个16进制字节数据转化成10进制整数的形式,生成二进制文件矩阵;删除bytes文件中的无意义字节,计算剩余样本中各种字节的词向量,生成字节词向量矩阵;将反汇编处理生成的对应的asm文件按函数和跳转指令进行分割,移除其中的固定参数,得到的汇编指令序列,计算中每个汇编指令的词向量,生成汇编指令词向量矩阵;将每个样本对应的二进制文件矩阵、字节词向量矩阵和汇编指令词向量矩阵分别作为可视化的三个通道,拼接生成可视化RGB三通道彩色图片样本;
S3:对所有彩色图片样本进行自适应直方图均衡化处理,然后进行深度神经网络模型训练,训练过程中对输出的模型性能评价指标结果进行超参数调优,训练出正常软件&恶意软件二分类的检测模型,及恶意软件家族九分类的检测模型,实现恶意软件的检测及分类。
进一步的,所述步骤S1的具体过程如下:
S11:人工下载多个选定的应用程序安装包,安装后获取其中包含的所有可执行文件,将其作为正常软件数据集的候选;
S12:用在线查毒网站VirusTotal对所有可执行文件进行检测,若超过90%的杀毒引擎判定某一个可执行文件是良性的,则标记该样本为正常软件;
S13:保存所有最终得到的正常软件,将其整理为正常软件数据集,将其他可执行文件认定为恶意软件并进行移除。
更进一步的,所述步骤S2的具体过程如下:
S21:使用IDAPro工具对正常软件数据集内的可执行文件进行反汇编分析,分析完成后执行预先编写好的IDAPython脚本,生成对应的asm文件与bytes文件;
S22:将每个软件样本均可视为一串的字节序列,设置数据分割阈值为具体数值mKB;
S23:对于大于等于数据分割阈值mKB的bytes文件,截取前mKB数据,对于小于数据分割阈值mKB的bytes文件,采取填充0x00的方法使得其大小变为mKB;将每个16进制字节数据转化成10进制整数的形式,其值域为[0, 255],再将其重塑成256×256的二维矩阵,得到二进制文件矩阵;
S24:删除每个bytes文件中连续5个及以上重复的用于填充或分隔的无意义字节;计算样本中256种字节的词向量,将词向量的维度设为256,并从0x00到0xFF按升序进行排列;若某种字节不存在则填充一个256维的0向量,使得每个样本转换为256×256的矩阵;进行矩阵的标准化,进而将矩阵的元素转化为[0, 255]之间的整数,得到字节词向量矩阵;
S25:依照自然语言处理技术中文字分割的方式,将每个asm文件按函数分割为多个“句子”,再将每个函数按跳转指令分割为多个“短语”,把汇编指令的固定参数移除,仅保留汇编指令序列,将每个汇编指令视为一个“单词”,统计汇编指令的种类,计算每个汇编指令的256维词向量;若某种指令不存在则填充一个256维的0向量,再在尾部追加22个256维的0向量,使得每个样本转换为256×256的矩阵;进行矩阵的标准化,进而将矩阵的元素转化为[0, 255]之间的整数,得到汇编指令词向量矩阵;
S26:将每个样本对应的二进制文件矩阵作为可视化第一通道,字节词向量矩阵作为可视化第二通道,汇编指令词向量矩阵作为可视化第三通道,拼接为256×256×3的可视化RGB三通道彩色图片样本。
更进一步的,所述步骤S3的具体过程如下:
S31:用CLAHE数据增强算法对所有彩色图片样本进行自适应直方图均衡化处理,以增加不同图片样本之间的可视化特征差异;
S32:对上述处理后的图片样本集进行深度神经网络模型训练,打印每一轮训练的准确率与损失函数值,观察模型训练过程;输出模型性能评价指标结果,包括准确率、精确率、召回率和F1值,对其进行超参数调优;在对恶意软件数据集中的家族进行九分类时,以包含恶意软件数目最多的家族作为参考标准,对其他家族进行随机过采样处理,使得所有家族中包含的恶意软件数目一致;
S33:训练出两个用于恶意软件检测的模型,一个用于正常软件&恶意软件二分类,另一个用于恶意软件家族九分类;得到训练完成的最终模型后,依据可视化处理的方法对可执行文件进行检测。
更进一步的,所述步骤S3中深度神经网络模型运行过程,包括以下步骤:
步骤A:在输入层通过可执行文件生成对应的bytes和asm文件,然后对bytes和asm文件进行处理得到三个不同的通道矩阵,生成数据增强后的RGB三通道图像;
步骤B:采用ResNet50和SENet结合生成SEResNet50层,每个ResNet残差网络的基本单元增加一个直接到达输出前的连线,即将深层特征和浅层特征结合在一起进行判断,并引入SENet的机制;
将输入层导出的RGB三通道图片导入到SEResNet50层中,生成n维特征向量R,如式(1)、(2)所示:
其中,n维特征向量R的前两维batch size和time step被作为模型连接的标识;b s 代表batch size、t s 代表time step,f t 代表SEResNet50层的输出特征向量,t=1, 2, …… , n-2;
步骤C:在Bi-LSTM层,用两个长短期记忆网络共同训练,其中一个训练序列从前开始,另一个训练序列从后开始,且这两个训练序列都连接同一个输出层,以综合每一个点的过去和将来的信息;
C1:通过Bi-LSTM层的第一个结构单元dropout对SEResNet50层的输出结果进行dropout操作,以防止过拟合;
C2:将dropout操作得到的结果R D 输入到Bi-LSTM网络中,如式(3)所示:
C3:在Bi-LSTM网络主体中,在前向层从时刻1到时刻t正向计算一遍,得到并保存每个时刻向前隐含层的输出;在后向层沿着时刻t到时刻1反向计算一遍,得到并保存每个时刻向后隐含层的输出;最后在每个时刻结合前向层和后向层的相应时刻输出的结果得到最终输出的特征向量H;所述前向层为靠近SEResNet50层的一排,所述后向层靠为近下一层Attention层的一排,且前向层和后向层共同连接着输入和输出层;
式(4)-(7)为t时刻Bi-LSTM层所进行的操作:
步骤D:用Attention层对每个特征赋予不同的权重:
D1:对Bi-LSTM的输出结果进行dropout操作,如式(8)所示:
其中,H D 为dropout操后得到的结果;
步骤E:将分配权重后的特征输入到输出层的 sigmoid函数中,得到该软件是恶意软件的概率,从而得到软件最终的分类结果,如式(12)所示:
更进一步的,所述步骤A的具体过程如下:
A1:构建第一通道矩阵:根据bytes文件的大小,通过截取或填充使其变为64KB,将bytes文件中的每一个16进制字节数据化为值域为[0, 255]的10进制整数形式,再将其重塑成256×256的二维矩阵,得到二进制文件矩阵,即第一通道矩阵M 1 ;具体如式(13)、(14)、(15)所示:
其中,b代表bytes文件,a代表asm文件;
A2:构建第二通道矩阵:删除bytes文件中用于填充或分隔的无意义字节,然后计算样本中256种字节的词向量;将256维的词向量按升序进行排列,若某种字节不存在则填充0向量,使得每个样本转换为256×256的矩阵;再将矩阵的元素转化为[0, 255]之间的整数,得到字节词向量矩阵,即第二矩阵M 2 ;具体如式(16)、(17)、(18)所示,
其中,W 1 为bytes文件的字节词向量;
A3:构建第三通道矩阵:将每个asm文件按函数和跳转指令进行分割,移除其中的固定参数;利用CBOW模型来计算每个汇编指令的256维词向量,若某种指令不存在则填充0向量,再在尾部追加0向量使得每个样本转换为256×256的矩阵;再将矩阵的元素转化为[0,255]之间的整数,得到汇编指令词向量矩阵,即第三通道矩阵M 3 ;具体如式(19)、(20)、(21)所示:
其中,W 2 为asm的汇编指令词向量,a代表asm文件;
A4:将三个通道矩阵进行拼接,得到256×256×3的可视化RGB三通道彩色图像,并将其进行数据增强作为模型的输入图像p,如式(22)所示:
更进一步的,所述步骤B中引入SENet的机制具体包括:
B1:使用全局池化层进行squeeze操作;
B2:紧接着两个全连接层组成一个瓶颈结构去建模通道间的相关性,并输出和输入特征同样数目的权重;再将特征维度降低到输入的1/16,然后经过ReLU激活后再通过一个全连接层升回到原来的维度;
B3:通过一个sigmoid门获得0~1之间归一化后的权重;
B4:使用scale操作来将归一化后的权重加权到每个通道的特征上。
一种基于深度神经网络的可视化恶意软件检测装置,包括数据收集与标记模块、可视化处理模块和模型检测模块;
所述数据收集与标记模块收集可执行文件并对其检测,标记出正常软件,并将其作为正常软件数据集;
所述可视化处理模块将正常软件数据集的可执行文件进行反汇编处理;将反汇编处理生成的对应的bytes文件根据数据分割阈值进行截取或填充,再将bytes文件中的每一个16进制字节数据转化成10进制整数的形式,生成二进制文件矩阵;删除bytes文件中的无意义字节,计算剩余样本中各种字节的词向量,生成字节词向量矩阵;将反汇编处理生成的对应的asm文件按函数和跳转指令进行分割,移除其中的固定参数,得到的汇编指令序列,计算中每个汇编指令的词向量,生成汇编指令词向量矩阵;将每个样本对应的二进制文件矩阵、字节词向量矩阵和汇编指令词向量矩阵分别作为可视化的三个通道,拼接生成可视化RGB三通道彩色图片样本;
所述模型检测模块对所有彩色图片样本进行自适应直方图均衡化处理,然后进行深度神经网络模型训练,训练过程中对输出的模型性能评价指标结果进行超参数调优,训练出正常软件&恶意软件二分类的检测模型,及恶意软件家族九分类的检测模型。
进一步的,所述深度神经网络模型包括:输入层、SEResNet50层、Bi-LSTM层、Attention层和输出层;
所述输入层用于将可执行文件生成对应的bytes和asm文件,然后对bytes和asm文件进行处理得到三个不同的通道矩阵,生成数据增强后的RGB三通道图像;
所述SEResNet50层由ResNet50和SENet结合而成,用于将输入层导出的RGB三通道图片生成Bi-LSTM可接受的特性向量;
所述Bi-LSTM层的第一个结构单元是dropout,用于对SEResNet50层的输出结果进行dropout操作;其网络主体中靠近SEResNet50层的一排为前向层,靠近Attention层的一排为后向层;前向层和后向层共同连接着输入和输出层;在前向层从时刻1到时刻t正向计算一遍,得到并保存每个时刻向前隐含层的输出;在后向层沿着时刻t到时刻1反向计算一遍,得到并保存每个时刻向后隐含层的输出;并在每个时刻结合前向层和后向层的相应时刻输出的结果得到最终输出的特性向量;
所述Attention层用于对Bi-LSTM的输出结果进行dropout操作,然后对每个特征赋予不同的权重;
所述输出层用于输入分配权重后的特征,并输出该软件是恶意软件的概率,从而得到软件最终的分类结果。
本发明的有益效果是:
1、本发明提出了一套完整的恶意软件检测装置,能够将可执行文件转化为对应的bytes文件与asm文件,从而实现对BIG 2015数据集的扩充。利用该方法,成功构建了一个包含正常软件与恶意软件的平衡数据集;这样扩充后的数据集可以用于更多类型的恶意软件检测和分类实验,为恶意软件检测技术的发展提供帮助。
2、本发明针对恶意软件的深入分析,本发明提出了一种基于RGB(Red、Green、Blue)三通道图像可视化和神经网络的混合方法,关注到了数据样本更多方面的特征,进而能够提升检测方法的泛化能力,并使其成功应用于未知的样本。
3、本发明结合计算机视觉中的数据增强方法,提出了一种优化的深度神经网络架构(命名为SERLA)该网络包含了SEResNet50、Bi-LSTM和Attention(注意力机制)等几个主要组成部分。实验结果表明,与其他被广泛使用的恶意软件检测方法相比,本发明提出的方法在所有模型评价指标上都表现更佳。
附图说明
图1为本发明恶意软件检测与分类装置的结构示意图。
图2为本发明SERLA深度神经网络图。
图3为二分类任务中使用三种不同数据集划分比例下SERLA的评价指标柱状对比图。
图4为九分类任务中使用三种不同数据集划分比例下SERLA的评价指标柱状对比图。
图5为二分类任务中使用灰度图作为输入时各网络的模型评价指标柱状对比图。
图6为二分类任务中使用RGB图作为输入时各网络的模型评价指标。
图7为九分类任务中使用灰度图作为输入时各网络的模型评价指标柱状对比图。
图8为九分类任务中使用RGB图作为输入时各网络的模型评价指标柱状对比图。
图9为二分类任务中使用DA-RGB图作为输入时各网络的模型评价指标柱状对比图。
图10为各神经网络在二分类时的训练集准确率。
图11为各神经网络在二分类时的训练集损失函数。
图12为各神经网络在二分类时的验证集准确率。
图13为各神经网络在二分类时的验证集损失函数。
图14为九分类任务中使用DA-RGB图作为输入时各网络的模型评价指标柱状对比图。
图15为各神经网络在九分类时的训练集准确率。
图16为各神经网络在九分类时的训练集损失函数。
图17为各神经网络在九分类时的验证集准确率。
图18为各神经网络在九分类时的验证集损失函数。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细说明。
本发明提出了一种基于深度神经网络的新型恶意软件检测和分类装置。利用反汇编技术将可执行文件样本转化为bytes文件和asm文件,利用这样的方法,将自己收集并标记过的正常软件数据集与著名的BIG 2015恶意软件数据集进行合并得到了一个平衡实验数据集。为了有效地提取出数据样本中的高维度特征,使用结合数据增强的可视化技术进一步将样本转化为RGB三通道图像。还提出了一种被称为SERLA(SEResNet50 + Bi-LSTM +Attention)的独特的深度神经网络分类架构,用于提升检测方法的性能。模型性能评估结果表明,本发明的方法在其他众多神经网络模型方法中脱颖而出。此外,还通过实验验证了RGB三通道图像在恶意软件检测的性能方面相比较于灰度图像的优越性,表明了数据增强技术有助于可视化恶意软件检测。本发明为其他研究人员进行恶意软件检测实验提供了新的思路与方法。
1、检测装置
本发明提出了一套完整的基于深度学习的可视化恶意软件检测装置。该装置首先利用反汇编技术生成可执行文件对应的bytes文件与asm文件,并使用特殊的矩阵生成方法对应生成三个256×256的方形矩阵,然后将三个矩阵分别作为RGB图像的三个通道并拼接为一个可视化彩色图像。利用CLAHE (Contrast Limited Adaptive Histogram Equalization)数据增强方法对RGB图像进行自适应直方图均衡化处理,结合运用过采样方法对神经网络进行训练,最终得到训练出来的模型并用于对可执行文件进行二分类与九分类。整体的检测装置如图1所示。
1.1 数据收集与标记模块
第一部分是数据收集与标记模块,收集可执行文件并对其检测,标记出正常软件,并将其整理为正常软件数据集。该模块主要包括两个阶段:可执行文件收集和可执行文件标记,具体来说包括以下三个步骤。
(1)人工手动在腾讯电脑管家上下载应用榜单排名靠前的上百个广受欢迎的应用程序安装包以及其先前的部分版本,安装后获取其中包含的所有可执行文件,将它们作为正常软件数据集的候选。
(2)为了确保收集到的可执行文件中不包含恶意软件,本实施例采用最流行的在线查毒网站VirusTotal对所有可执行文件进行检测。该网站的杀毒引擎已经多达70种以上,并且能够及时更新,几乎涵盖了当下所有的流行杀毒引擎,大大减少了漏报的几率。如果超过90%的杀毒引擎判定某一个可执行文件是良性的,则标记该样本为正常软件。
(3)保存所有最终得到的正常软件,将其整理为正常软件数据集并命名为NS-Dataset。将其他可执行文件认定为恶意软件并进行移除。
1.2 可视化处理模块
第二部分是可视化处理模块,将正常软件数据集的可执行文件进行反汇编处理;将反汇编处理生成的对应的bytes文件根据数据分割阈值进行截取或填充,再将bytes文件中的每一个16进制字节数据转化成10进制整数的形式,生成二进制文件矩阵;删除bytes文件中的无意义字节,计算剩余样本中各种字节的词向量,生成字节词向量矩阵;将反汇编处理生成的对应的asm文件按函数和跳转指令进行分割,移除其中的固定参数,得到的汇编指令序列,计算中每个汇编指令的词向量,生成汇编指令词向量矩阵;将每个样本对应的二进制文件矩阵、字节词向量矩阵和汇编指令词向量矩阵分别作为可视化的三个通道,拼接生成可视化RGB三通道彩色图片样本。该模块主要包括两个阶段:可执行文件反汇编处理和RGB三通道彩色图片样本生成,具体来说包括以下六个步骤。
(1)使用IDAPro工具对正常软件数据集内的可执行文件进行反汇编分析。分析完成后自动执行预先编写好的IDAPython脚本,生成对应的asm文件与bytes文件。其中,asm文件是由IDAPro自带的函数生成,而bytes文件是由自行开发的脚本进行生成。
(2)每个软件样本均可视为一串的字节序列。其中,恶意软件数据集中样本大小的中位数约为64KB,正常软件数据集中样本大小的中位数略大于64KB,为了尽量减少可视化时需要填充或者删除的数据,在这里选取64KB作为数据分割的阈值。
(3)对于大于等于64KB的bytes文件,采取截取前64KB数据的方法,而对于小于64KB的bytes文件,采取填充0x00的方法使得其大小变为64KB。之后将每一个16进制字节数据转化成10进制整数的形式,其值域为[0, 255],再将其重塑成256×256的二维矩阵。这样就得到了二进制文件矩阵。
(4)删除每个bytes文件中连续5个及以上重复的0x00或0xCC这类用于填充或分隔的无意义字节。通过使用Word2Vec的CBOW(连续词袋)模型来计算样本中256种字节的词向量,将词向量的维度设为256,并从0x00到0xFF按升序进行排列,若某种字节不存在则填充一个256维的0向量,使得每个样本转换为256×256的矩阵。最后进行矩阵的标准化,进而将矩阵的元素转化为[0, 255]之间的整数。这样就得到了字节词向量矩阵。
(5)依照自然语言处理技术中文字分割的方式,将每个asm文件按函数分割为多个“句子”,再将每个函数按跳转指令分割为多个“短语”,把汇编指令的固定参数移除,仅保留汇编指令序列,将每个汇编指令视为一个“单词”,统计共得到234种不同的汇编指令。利用CBOW模型来计算每个汇编指令的256维词向量,若某种指令不存在则填充一个256维的0向量,再在尾部追加22个256维的0向量,使得每个样本转换为256×256的矩阵。最后进行矩阵的标准化,进而将矩阵的元素转化为[0, 255]之间的整数。这样就得到了汇编指令词向量矩阵。
(6)将每个样本对应的二进制文件矩阵作为可视化第一通道,字节词向量矩阵作为可视化第二通道,汇编指令词向量矩阵作为可视化第三通道,最终拼接为256×256×3的可视化RGB三通道彩色图像。
1.3 模型检测模块
第三部分是模型检测模块,对所有彩色图片样本进行自适应直方图均衡化处理,然后进行深度神经网络模型训练,训练过程中对输出的模型性能评价指标结果进行超参数调优,训练出正常软件&恶意软件二分类的检测模型,及恶意软件家族九分类的检测模型,实现恶意软件的检测及分类。该模块主要包括三个阶段:图像增强处理、神经网络训练和模型检测,具体来说包括以下三个步骤。
(1)为了增加不同图片样本之间的可视化特征差异,采用CLAHE数据增强算法对所有样本进行自适应直方图均衡化处理。
(2)对经过数据增强处理的图片样本集进行深度神经网络模型训练,打印每一轮训练的准确率与损失函数值,观察模型训练过程。输出准确率、精确率、召回率和F1值等模型性能评价指标结果,进行超参数调优。在对恶意软件数据集中的家族进行九分类时,以包含恶意软件数目最多的家族作为参考标准,对其他家族进行随机过采样处理,使得所有家族中包含的恶意软件数目一致。
(3)训练出两个用于恶意软件检测的模型,一个用于正常软件&恶意软件二分类,另一个用于恶意软件家族九分类。在得到训练完成的最终模型后,就可以依据可视化处理的方法对任一可执行文件进行检测。
2、神经网络架构
为了实现对恶意软件的检测与分类,本发明设计并实现了一个深度学习模型SERLA。该模型主体为CNN(卷积神经网络)+双向RNN(双向循环神经网络),其中CNN使用SEResNet50网络,而RNN使用Bi-LSTM(Bi- Long Short-Term Memory,双向长短期记忆网络),并加入了Attention机制(注意力机制),能够更加有效的分类恶意软件。SERLA的具体结构如图2所示。
2.1 输入层
第一层为输入层,在本发明的检测方法中,最终被导入SEResNet50层的是数据增强后的RGB三通道图像,其大小为256×256×3。生成最终输入图像的大致过程如图2中的输入层所示。
首先,通过可执行文件生成对应的bytes和asm文件,然后对bytes和asm文件进行处理得到三个不同的通道矩阵。其中,b代表bytes文件,a代表asm文件。
(1)第一通道:根据bytes文件的大小,通过截取或填充使其变为64KB。之后将bytes文件中的每一个16进制字节数据化为值域为[0, 255]的10进制整数形式,再将其重塑成256×256的二维矩阵。这样就得到了二进制文件矩阵,即第一通道矩阵M 1 ,具体如式(1)、(2)、(3)所示:
(2)第二通道:首先需要删除bytes文件中用于填充或分隔的无意义字节。然后通过使用CBOW模型来计算样本中256种字节的词向量。将256维的词向量按升序进行排列,若某种字节不存在则填充0向量,使得每个样本转换为256×256的矩阵。最后将矩阵的元素转化为[0, 255]之间的整数。这样就得到了字节词向量矩阵,即第二矩阵M 2 ,具体如式(4)、(5)、(6)所示,其中,W 1 为bytes文件的字节词向量:
(3)第三通道:将每个asm文件按函数和跳转指令进行分割,移除其中的固定参数。利用CBOW模型来计算每个汇编指令的256维词向量,若某种指令不存在则填充0向量,再在尾部追加0向量使得每个样本转换为256×256的矩阵。最后将矩阵的元素转化为[0, 255]之间的整数。这样就得到了汇编指令词向量矩阵,即第三通道矩阵M 3 ,具体如式(7)、(8)、(9)所示,其中,W 2 为asm的汇编指令词向量:
最后将3个通道矩阵进行拼接,得到256×256×3的可视化RGB三通道彩色图像,并将其进行数据增强作为模型的输入图像p,如式(10)所示。
2.2 SEResNet50层
第二层为CNN,具体来说,本发明使用的是SEResNet50网络。由ResNet50和SENet结合而成。
其中ResNet50主要由残差块组成。每个残差块都是一个多层神经网络,包含卷积层,批处理规范化层和激活层等,同时,每个残差块的输入和输出可以通过快捷连接直接进行连接。而SENet和ResNet的功能类似,都在很大程度上减小了模型的错误率,且复杂度低,新增参数和计算量小。两者的结合可以有效提高恶意软件检测的效率。
每个卷积层组的具体结构如图2中的SEResNet50层所示:
首先是一个ResNet残差网络的基本单元,较正常神经网络多了一个直接到达输出前的连线,即将深层特征和浅层特征结合在一起进行判断,从而使梯度不易消失。
然后又在其基础上引入了SENet的机制:
(1)使用global average pooling(GAP,全局池化层)进行squeeze操作。
(2)紧接着两个fully connected 层(全连接层)组成一个bottleneck(瓶颈)结构去建模通道间的相关性,并输出和输入特征同样数目的权重。之后将特征维度降低到输入的1/16,然后经过ReLU激活后再通过一个fully connected 层(全连接层)升回到原来的维度。
(3)通过一个sigmoid门获得0~1之间归一化后的权重。
(4)使用scale操作来将归一化后的权重加权到每个通道的特征上。
具体来说,输入层导出的RGB三通道图片被导入到SEResNet50层中,经过SEResNet50网络的一系列操作,生成Bi-LSTM可接受的n维特征向量R,其中前两维为batch size、time step,并被作为模型连接的标识。如式(11)、(12)所示,其中,b s 代表batch size、t s 代表time step,f t 代表SEResNet50层的输出特征向量,t=1, 2, …… , n-2。
2.3 Bi-LSTM层
第三层为RNN,具体来说,在本发明中使用的是Bi-LSTM网络,其主要是以长短期记忆网络为基础的。Bi-LSTM使用两个LSTM网络共同训练,其中一个训练序列从前开始,另一个训练序列从后开始,且这两个训练序列都连接同一个输出层,这样就能综合每一个点的过去和将来的信息。
Bi-LSTM层的第一个结构单元是dropout,通过对SEResNet50层的输出结果进行dropout操作,可以用于防止过拟合。之后再得到的结果R D 输入到Bi-LSTM网络中,如式(13)所示。
然后是Bi-LSTM网络主体,靠近SEResNet50层的一排为前向层,靠近Attention层的一排为后向层。前向层和后向层共同连接着输入和输出层。在前向层从时刻1到时刻t正向计算一遍,得到并保存每个时刻向前隐含层的输出。在后向层沿着时刻t到时刻1反向计算一遍,得到并保存每个时刻向后隐含层的输出。最后在每个时刻结合前向层和后向层的相应时刻输出的结果得到最终的输出。
2.4 Attention层
第四层为Attention(注意力)层。Attention可以对信息进行权重的分配,最后进行带权求和,因此Attention方法可解释性强,效果更好。例如由asm文件得到的第三通道矩阵中,不同的汇编指令对恶意软件检测影响是不同的,使用Attention机制可以有效发现对软件分类起关键作用的汇编指令,并提升其所占权重,从而可以有效提高检测的准确率。除此以外,相比较于灰度图,RGB三通道图片内容较多,Attention机制可以有效保留细节信息,防止关键信息的丢失,也一定程度上提高了检测精度。
首先需要对Bi-LSTM的输出结果进行dropout操作,如式(18)所示,H D 为dropout后得到的结果。
然后使用Attention对每个特征赋予不同的权重,如式所示。是一个可学习的函数,它可以将每个特征的embedding(嵌入)隐向量进行一个打分,然后对这些打分结果进行归一化得到每个特征的权重,最后对每个特征进行加权求和得到对象的特征向量表示,如式(19)、(20)、(21)所示。其中,h t 表示Bi-LSTM层输出的时刻的向量,a t 为h t 的权重,A为判断软件是否为恶意软件的向量,k=1, 2, …… , n-2。
在这里可以简写为一个公式(22):
2.5 输出层
第五层为输出层。如图2所示,CNN+双向RNN得到的特征经过 Attention 层分配权重后,输入到输出层的 sigmoid 中得到该软件是恶意软件的概率,从而得到软件最终的分类结果,如式(23)所示。
3. 实验与结果分析
下面先对使用到的数据集和一些基本实验设置做一些介绍,之后再详细描述每一个实验。为了对比得到的实验结果,下面将测试集上的模型评价指标展示了出来。此外,还给出每一个实验的分析与结论。
3.1数据集
使用以下两种类型的数据集对深度神经网络模型进行评价实验:
(1)BIG 2015恶意软件数据集:是一个真实的恶意软件数据集,由Kaggle竞赛官方平台在2015年的恶意软件分类竞赛中所提供,其中包含了来自九个恶意软件家族的共计10,868个恶意样本,每一个样本包含一个bytes文件和一个asm文件,且均已被标记。BIG 2015数据集已经被广泛用于恶意软件的多分类任务中了,其具体信息如表1所示。
(2)正常软件数据集(NS-Dataset):由于BIG 2015数据集由bytes文件与asm文件构成,而互联网上几乎没有正常软件数据集包含与之相同的文件类型,为了构建一个实验平衡数据集并开展正常软件与恶意软件的二分类任务,本实施例通过手动收集大量的正常软件(可执行文件)样本。经过了一系列的去重和过滤处理后,采用IDAPro与编写好的IDAPython脚本得到每一个正常软件样本的bytes文件和asm文件。最终,共计得到了11,088个良性样本,并称之为NS-Dataset(Normal Software Dataset)正常软件数据集。
3.2实验设置
本发明的实验采用微星Nvidia GTX 1080TI 11GB*4 GPU来进行模型训练,使用具有64G内存、240G固态硬盘的Intel CORE i7 8th Gen存储图像数据集并进行实验相关操作。实验的主要编程语言环境为Python 3.5。
在模型性能对比实验中,除了使用本发明提出的SERLA检测方法外,还选取了一些在恶意软件检测中表现较好的成熟的检测方法作为评价基线,具体如下所示:
(1)AlexNet是一个经典的浅层神经网络架构,首次在CNN中成功应用了RectifiedLinear Unit(ReLU)、Dropout和Local Response Nomalization(LRN,局部响应归一化)等方法技巧,很大程度上避免了模型的过拟合问题,同时增强了模型的泛化能力,它被广泛用于基于可视化技术的恶意软件检测。
(2)VGG16的核心思想在于使用了更小的卷积核和更深的网络层次,它的模型整体架构简单,但参数总数目巨大,也因此具有较强的拟合能力。基于这些特点,它经常被用于恶意软件可视化检测。
(3)Inception V3架构由谷歌所提出,它对以往模型的一个重要改进在于使用了分解技术,将卷积核进行拆解从而加快了计算速度,同时提高了网络的非线性,这样的结构有助于提升恶意软件检测的效果。
(4)ResNet50是一个著名的开发用于图片分类的神经网络架构,它的创新点在于提出了残差学习(Residual learning)的思想,这保护了网络传递中信息的完整性,在一定程度上解决了梯度消失或梯度爆炸在深层网络中容易出现的问题。实验证明,ResNet50结构在恶意软件检测和分类领域有着很好的表现。
本实施例用准确率、精确率、召回度和F1值对每一个神经网络模型进行效果评估。这些评价指标已经广泛应用于研究界,成为了现在评价模型性能的重要依据。为了更好地解释这些指标,首先得介绍以下四个影响因素:
1)True Positive (TP,真正类):事实上是正样本,预测结果也是正样本;
2)True Negative (TN,真负类):事实上是负样本,预测结果也是负样本;
3)False Positive (FP,假正类):事实上是负样本,而预测结果是正样本;
4)False Negative (FN,假负类):事实上是正样本,而预测结果是负样本。
准确率定义为分类正确的样本占总样本个数的比例,其计算公式如下:
精确率指模型预测为正的样本中实际也为正的样本占被预测为正的样本的比例,其计算公式表示如下:
召回率指实际为正的样本中被预测为正的样本所占实际为正的样本的比例,其计算公式如下:
在某些情况中,也许需要以牺牲另一个指标为代价来最大化精确率或者召回率。然而,如果想要找到精确率和召回率的最佳组合,可以考虑使用 F1值来对两者进行结合。F1值简单来说就是对精确率和召回率的调和平均:
具体在本实施例中来讲,在二分类时,TP表示被正确识别为恶意软件的软件样本数,TN表示被正确识别为正常软件的软件样本数,FP表示被错误为正常软件的软件样本数,FN表示被错误识别为恶意软件的软件样本数。模型评价指标准确率,精确率,召回率,F1值的具体计算公式和上面一致。
而在九分类时,需要针对每一个恶意软件家族分别求出以上的变量值,即认定当前的研究对象为恶意家族(需要遍历所有恶意家族),其他八个恶意软件家族统称为恶意家族。将恶意家族视为二分类时的恶意软件,将恶意家族视为二分类时的正常软件,求出当前的TP,TN,FP和FN,依据之前的计算公式算出针对恶意家族的评价指标准确率,精确率,召回率,F1值后,再针对所有的恶意家族取平均值,这样就得到了模型最终的准确率,精确率,召回率,F1值。这种利用二分类的思想求多分类模型评价指标的方法被业界称为宏平均。
3.3 在SERLA网络上,以RGB图像作为输入,对比不同样本集划分比例下的检测性能差异。
为了探究使用不同比例划分数据集中的训练集、验证集与测试集对模型训练的影响,将数据集按照8:1:1,7:1.5:1.5,6:2:2的比例进行划分,然后使用不同的数据集划分比例分别对本发明提出的SERLA模型进行二分类与九分类训练。
(1) 二分类
SERLA进行二分类训练得到的实验结果如表2和图3所示:
通过实验结果可以得出以下结论:1)SERLA在二分类任务中使用三个不同的数据集划分比例时,模型的表现差别不大,准确率维持在92.89%至93.27%;2)以6:2:2的比例划分数据集并训练SERLA模型时,模型在测试集中得出的所有指标均略高于其它两个数据集划分比例。
因此,后续两个二分类实验均采用6:2:2的数据集划分比例。
(2) 九分类
对SERLA进行九分类训练得到的实验结果如表3和图4所示:
通过实验结果可以得出:1)在九分类任务中,当使用三个不同的数据集划分比例训练SERLA时,模型在测试集上的表现区别不大,准确率维持在97.18%至97.29%;2)以6:2:2的比例划分数据集并训练SERLA模型时,模型在测试集中得出的所有指标均略高于其它两个数据集划分比例。
因此,后续两个九分类实验均采用6:2:2的数据集划分比例。
3.4 不同网络在完成二分类与九分类任务时使用对灰度图与RGB彩图的检测性能差异
为了进一步探究:1)不同网络的检测性能差异;2)同一网络在不同分类情况下的检测性能差异;3)同一样本的灰度图像与RGB三通道图像对最终检测结果造成的影响,进行如下实验。
首先,提取出数据集中所有三通道图像样本中的第一通道作为软件样本的灰度图,将灰度图和RGB三通道图像分别作为五种不同神经网络的输入。使用上述输入对各个模型进行二分类与九分类训练,探究不同的神经网络在两种分类情况下使用灰度图与RGB三通道图像的检测性能差异。
(1) 二分类
五种神经网络以灰度图作为输入时进行二分类任务的各项检测指标如表4和图5所示:
通过以上实验数据可以得出,本发明提出的模型SERLA与其他模型相比,在使用灰度图作为输入进行二分类工作时的各项检测指标更为优秀。
五种神经网络以RGB图作为输入时进行二分类任务的各项检测指标如表5和图6所示:
通过以上实验数据可以得出,本发明提出的模型SERLA与其他模型相比,在使用RGB图作为输入进行二分类工作时的各项检测指标更为优秀。
对比表4和表5的数据可以概括得到以下结论:1)无论是在使用灰度图还是RGB图作为输入进行二分类工作时,本发明提出的模型SERLA与其他神经网络模型相比,各项检测指标均更为优秀;2)相比较于灰度图,使用RGB图作为输入可以较大程度的增加各模型进行二分类任务的性能。
(2)九分类
五种神经网络以灰度图作为输入时进行九分类任务的各项检测指标如表6和图7所示:
通过以上实验数据可以得出,本发明提出的模型SERLA与其他模型相比,在使用灰度图作为输入进行九分类工作时的各项检测指标更为优秀。
五种神经网络以RGB图作为输入时进行九分类任务的各项检测指标如表7和图8所示:
通过以上实验数据可以得出,本发明提出的模型SERLA与其他模型相比,在使用RGB图作为输入进行九分类工作时的各项检测指标更为优秀。
对比表6和表7的数据,可以概括得到以下与二分类时类似的结论:1)无论是在使用灰度图还是RGB图作为输入进行九分类工作时,本发明提出的模型SERLA与其他神经网络模型相比,各项检测指标均更为优秀;2)相比较于灰度图,使用RGB图作为输入可以较大程度的增加各模型进行九分类任务的性能。
3.5 不同网络使用CLAHE算法对数据集进行数据增强后进行模型训练的检测性能差异
进一步地,为了探究CLAHE数据增强算法对可视化恶意软件检测性能的影响,使用数据增强后的RGB图像(Data Augmentation-RGB图,简称DA-RGB图)作为输入训练模型,并对比各模型进行二分类与九分类任务时的表现。
在实验中,首先对原本作为神经网络输入的RGB图像使用数据增强技术进行处理,得到对应的DA-RGB图,然后将DA-RGB图像作为五种不同神经网络的输入。使用上述输入对各个模型进行二分类与九分类训练,探究不同的神经网络在两种分类情况下使用RGB图与DA-RGB图的检测性能差异。
(1)二分类
五种神经网络以DA-RGB图作为输入时进行二分类任务的各项检测指标如表8和图9所示:
在二分类实验中,训练时的准确率与损失函数值随着训练轮数的变化曲线图如图10-图13所示。
通过以上二分类任务的实验数据可以得出:1)在二分类任务中使用CLAHE算法对图像数据集进行数据增强可以有效提升各个模型的检测性能,且SERLA模型的表现仍然优于其他模型;2)所有神经网络模型在经过30轮训练后基本收敛。
(2) 九分类
五种神经网络以DA-RGB图作为输入时进行九分类任务的各项检测指标如表9和图14所示:
在九分类实验中,训练时的准确率与损失函数值随着训练轮数的变化曲线图15-图18所示。通过以上九分类任务的实验数据,可以得出与二分类时类似的结论:1)在九分类任务中使用CLAHE算法对图像数据集进行数据增强可以有效提升各个模型的检测性能,且SERLA模型的表现仍然优于其他模型;2)所有神经网络模型在经过30轮训练后基本收敛。
综上所述,本发明提出了一套完整的基于可视化技术与神经网络的恶意软件检测与分类装置。首先,通过IDAPro与编写好的IDAPython脚本对可执行文件进行反汇编分析,将其转化为对应的asm文件与bytes文件;其次,将二进制文件、字节词向量、汇编指令词向量生成的256×256矩阵分别作为RGB图片的三个通道并按序拼接;最后,使用CLAHE数据增强方法对RGB图片进行自适应直方图均衡化处理,利用处理后的图像对深度神经网络进行训练。
为了提升模型的检测性能,本发明还设计并实现了一种新型的深度神经网络SERLA用于检测恶意软件,该网络主要包含了SEResNet50、Bi-LSTM和Attention机制等几个主要组成部分。同时,还将它与四个成熟且被广泛使用的神经网络模型进行对比,并展开了多方面的实验。关于二分类和九分类任务的实验结论具体如下所示:
1)相比较于其他两个数据集划分比例(8:1:1和7:1.5:1.5),当训练集、验证集和测试集被划分为6:2:2时,所有模型的评价指标都略有提升。
2)由于RGB三通道图像相比较于灰度图包含更多的样本信息,因此使用RGB三通道图像来训练神经网络时能够达到更好的模型检测性能。
3)使用CLAHE数据增强方法能够明显提升不同样本间的可视化特征差异,从而有效地提升了模型最终检测和分类的性能。
4)无论是使用灰度图、RGB图还是DA-RGB图,相比较于其他神经网络方法,SERLA在所有的模型评价指标上都表现更佳。
Claims (9)
1.一种基于深度神经网络的可视化恶意软件检测方法,其特征在于,包括以下步骤:
S1:数据收集与标记:收集可执行文件并对其检测,标记出正常软件,并将其整理为正常软件数据集;
S2:可视化处理:将正常软件数据集的可执行文件进行反汇编处理;将反汇编处理生成的对应的bytes文件根据数据分割阈值进行截取或填充,再将bytes文件中的每一个16进制字节数据转化成10进制整数的形式,生成二进制文件矩阵;删除bytes文件中的无意义字节,计算剩余样本中各种字节的词向量,生成字节词向量矩阵;将反汇编处理生成的对应的asm文件按函数和跳转指令进行分割,移除其中的固定参数,得到的汇编指令序列,计算中每个汇编指令的词向量,生成汇编指令词向量矩阵;将每个样本对应的二进制文件矩阵、字节词向量矩阵和汇编指令词向量矩阵分别作为可视化的三个通道,拼接生成可视化RGB三通道彩色图片样本;
S3:对所有彩色图片样本进行自适应直方图均衡化处理,然后进行深度神经网络模型训练,训练过程中对输出的模型性能评价指标结果进行超参数调优,训练出正常软件&恶意软件二分类的检测模型,及恶意软件家族九分类的检测模型,实现恶意软件的检测及分类。
2.根据权利要求1所述的基于深度神经网络的可视化恶意软件检测方法,其特征在于,所述步骤S1的具体过程如下:
S11:人工下载多个选定的应用程序安装包,安装后获取其中包含的所有可执行文件,将其作为正常软件数据集的候选;
S12:用在线查毒网站VirusTotal对所有可执行文件进行检测,若超过90%的杀毒引擎判定某一个可执行文件是良性的,则标记该样本为正常软件;
S13:保存所有最终得到的正常软件,将其整理为正常软件数据集,将其他可执行文件认定为恶意软件并进行移除。
3.根据权利要求1所述的基于深度神经网络的可视化恶意软件检测方法,其特征在于,所述步骤S2的具体过程如下:
S21:使用IDAPro工具对正常软件数据集内的可执行文件进行反汇编分析,分析完成后执行预先编写好的IDAPython脚本,生成对应的asm文件与bytes文件;
S22:将每个软件样本均可视为一串的字节序列,设置数据分割阈值为具体数值mKB;
S23:对于大于等于数据分割阈值mKB的bytes文件,截取前mKB数据,对于小于数据分割阈值mKB的bytes文件,采取填充0x00的方法使得其大小变为mKB;将每个16进制字节数据转化成10进制整数的形式,其值域为[0, 255],再将其重塑成256×256的二维矩阵,得到二进制文件矩阵;
S24:删除每个bytes文件中连续5个及以上重复的用于填充或分隔的无意义字节;计算样本中256种字节的词向量,将词向量的维度设为256,并从0x00到0xFF按升序进行排列;若某种字节不存在则填充一个256维的0向量,使得每个样本转换为256×256的矩阵;进行矩阵的标准化,进而将矩阵的元素转化为[0, 255]之间的整数,得到字节词向量矩阵;
S25:依照自然语言处理技术中文字分割的方式,将每个asm文件按函数分割为多个“句子”,再将每个函数按跳转指令分割为多个“短语”,把汇编指令的固定参数移除,仅保留汇编指令序列,将每个汇编指令视为一个“单词”,统计汇编指令的种类,计算每个汇编指令的256维词向量;若某种指令不存在则填充一个256维的0向量,再在尾部追加22个256维的0向量,使得每个样本转换为256×256的矩阵;进行矩阵的标准化,进而将矩阵的元素转化为[0, 255]之间的整数,得到汇编指令词向量矩阵;
S26:将每个样本对应的二进制文件矩阵作为可视化第一通道,字节词向量矩阵作为可视化第二通道,汇编指令词向量矩阵作为可视化第三通道,拼接为256×256×3的可视化RGB三通道彩色图片样本。
4.根据权利要求1所述的基于深度神经网络的可视化恶意软件检测方法,其特征在于,所述步骤S3的具体过程如下:
S31:用CLAHE数据增强算法对所有彩色图片样本进行自适应直方图均衡化处理,以增加不同图片样本之间的可视化特征差异;
S32:对上述处理后的图片样本集进行深度神经网络模型训练,打印每一轮训练的准确率与损失函数值,观察模型训练过程;输出模型性能评价指标结果,包括准确率、精确率、召回率和F1值,对其进行超参数调优;在对恶意软件数据集中的家族进行九分类时,以包含恶意软件数目最多的家族作为参考标准,对其他家族进行随机过采样处理,使得所有家族中包含的恶意软件数目一致;
S33:训练出两个用于恶意软件检测的模型,一个用于正常软件&恶意软件二分类,另一个用于恶意软件家族九分类;得到训练完成的最终模型后,依据可视化处理的方法对可执行文件进行检测。
5.根据权利要求1所述的基于深度神经网络的可视化恶意软件检测方法,其特征在于,所述步骤S3中深度神经网络模型运行过程,包括以下步骤:
步骤A:在输入层通过可执行文件生成对应的bytes和asm文件,然后对bytes和asm文件进行处理得到三个不同的通道矩阵,生成数据增强后的RGB三通道图像;
步骤B:采用ResNet50和SENet结合生成SEResNet50层,每个ResNet残差网络的基本单元增加一个直接到达输出前的连线,即将深层特征和浅层特征结合在一起进行判断,并引入SENet的机制;
将输入层导出的RGB三通道图片导入到SEResNet50层中,生成n维特征向量R,如式(1)、(2)所示:
其中,n维特征向量R的前两维batch size和time step被作为模型连接的标识;b s 代表batch size、t s 代表time step,f t 代表SEResNet50层的输出特征向量,t=1, 2, …… , n-2;
步骤C:在Bi-LSTM层,用两个长短期记忆网络共同训练,其中一个训练序列从前开始,另一个训练序列从后开始,且这两个训练序列都连接同一个输出层,以综合每一个点的过去和将来的信息;
C1:通过Bi-LSTM层的第一个结构单元dropout对SEResNet50层的输出结果进行dropout操作,以防止过拟合;
C2:将dropout操作得到的结果R D 输入到Bi-LSTM网络中,如式(3)所示:
C3:在Bi-LSTM网络主体中,在前向层从时刻1到时刻t正向计算一遍,得到并保存每个时刻向前隐含层的输出;在后向层沿着时刻t到时刻1反向计算一遍,得到并保存每个时刻向后隐含层的输出;最后在每个时刻结合前向层和后向层的相应时刻输出的结果得到最终输出的特征向量H;所述前向层为靠近SEResNet50层的一排,所述后向层靠为近下一层Attention层的一排,且前向层和后向层共同连接着输入和输出层;
式(4)-(7)为t时刻Bi-LSTM层所进行的操作:
步骤D:用Attention层对每个特征赋予不同的权重:
D1:对Bi-LSTM的输出结果进行dropout操作,如式(8)所示:
其中,H D 为dropout操后得到的结果;
步骤E:将分配权重后的特征输入到输出层的sigmoid函数中,得到该软件是恶意软件的概率,从而得到软件最终的分类结果,如式(12)所示:
6.根据权利要求5所述的基于深度神经网络的可视化恶意软件检测方法,其特征在于,所述步骤A的具体过程如下:
A1:构建第一通道矩阵:根据bytes文件的大小,通过截取或填充使其变为64KB,将bytes文件中的每一个16进制字节数据化为值域为[0, 255]的10进制整数形式,再将其重塑成256×256的二维矩阵,得到二进制文件矩阵,即第一通道矩阵M 1 ;具体如式(13)、(14)、(15)所示:
其中,b代表bytes文件,a代表asm文件;
A2:构建第二通道矩阵:删除bytes文件中用于填充或分隔的无意义字节,然后计算样本中256种字节的词向量;将256维的词向量按升序进行排列,若某种字节不存在则填充0向量,使得每个样本转换为256×256的矩阵;再将矩阵的元素转化为[0, 255]之间的整数,得到字节词向量矩阵,即第二矩阵M 2 ;具体如式(16)、(17)、(18)所示,
其中,W 1 为bytes文件的字节词向量;
A3:构建第三通道矩阵:将每个asm文件按函数和跳转指令进行分割,移除其中的固定参数;利用CBOW模型来计算每个汇编指令的256维词向量,若某种指令不存在则填充0向量,再在尾部追加0向量使得每个样本转换为256×256的矩阵;再将矩阵的元素转化为[0,255]之间的整数,得到汇编指令词向量矩阵,即第三通道矩阵M 3 ;具体如式(19)、(20)、(21)所示:
其中,W 2 为asm的汇编指令词向量,a代表asm文件;
A4:将三个通道矩阵进行拼接,得到256×256×3的可视化RGB三通道彩色图像,并将其进行数据增强作为模型的输入图像P,如式(22)所示:
7.根据权利要求5所述的基于深度神经网络的可视化恶意软件检测方法,其特征在于,所述步骤B中引入SENet的机制具体包括:
B1:使用全局池化层进行squeeze操作;
B2:紧接着两个全连接层组成一个瓶颈结构去建模通道间的相关性,并输出和输入特征同样数目的权重;再将特征维度降低到输入的1/16,然后经过ReLU激活后再通过一个全连接层升回到原来的维度;
B3:通过一个sigmoid门获得0~1之间归一化后的权重;
B4:使用scale操作来将归一化后的权重加权到每个通道的特征上。
8.一种基于深度神经网络的可视化恶意软件检测装置,其特征在于,包括数据收集与标记模块、可视化处理模块和模型检测模块;
所述数据收集与标记模块收集可执行文件并对其检测,标记出正常软件,并将其作为正常软件数据集;
所述可视化处理模块将正常软件数据集的可执行文件进行反汇编处理;将反汇编处理生成的对应的bytes文件根据数据分割阈值进行截取或填充,再将bytes文件中的每一个16进制字节数据转化成10进制整数的形式,生成二进制文件矩阵;删除bytes文件中的无意义字节,计算剩余样本中各种字节的词向量,生成字节词向量矩阵;将反汇编处理生成的对应的asm文件按函数和跳转指令进行分割,移除其中的固定参数,得到的汇编指令序列,计算中每个汇编指令的词向量,生成汇编指令词向量矩阵;将每个样本对应的二进制文件矩阵、字节词向量矩阵和汇编指令词向量矩阵分别作为可视化的三个通道,拼接生成可视化RGB三通道彩色图片样本;
所述模型检测模块对所有彩色图片样本进行自适应直方图均衡化处理,然后进行深度神经网络模型训练,训练过程中对输出的模型性能评价指标结果进行超参数调优,训练出正常软件&恶意软件二分类的检测模型,及恶意软件家族九分类的检测模型。
9.根据权利要求8所述的基于深度神经网络的可视化恶意软件检测装置,其特征在于,所述深度神经网络模型包括:输入层、SEResNet50层、Bi-LSTM层、Attention层和输出层;
所述输入层用于将可执行文件生成对应的bytes和asm文件,然后对bytes和asm文件进行处理得到三个不同的通道矩阵,生成数据增强后的RGB三通道图像;
所述SEResNet50层由ResNet50和SENet结合而成,用于将输入层导出的RGB三通道图片生成Bi-LSTM可接受的特性向量;
所述Bi-LSTM层的第一个结构单元是dropout,用于对SEResNet50层的输出结果进行dropout操作;其网络主体中靠近SEResNet50层的一排为前向层,靠近Attention层的一排为后向层;前向层和后向层共同连接着输入和输出层;在前向层从时刻1到时刻t正向计算一遍,得到并保存每个时刻向前隐含层的输出;在后向层沿着时刻t到时刻1反向计算一遍,得到并保存每个时刻向后隐含层的输出;并在每个时刻结合前向层和后向层的相应时刻输出的结果得到最终输出的特性向量;
所述Attention层用于对Bi-LSTM的输出结果进行dropout操作,然后对每个特征赋予不同的权重;
所述输出层用于输入分配权重后的特征,并输出该软件是恶意软件的概率,从而得到软件最终的分类结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011626582.6A CN112329016B (zh) | 2020-12-31 | 2020-12-31 | 一种基于深度神经网络的可视化恶意软件检测装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011626582.6A CN112329016B (zh) | 2020-12-31 | 2020-12-31 | 一种基于深度神经网络的可视化恶意软件检测装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112329016A true CN112329016A (zh) | 2021-02-05 |
CN112329016B CN112329016B (zh) | 2021-03-23 |
Family
ID=74301897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011626582.6A Active CN112329016B (zh) | 2020-12-31 | 2020-12-31 | 一种基于深度神经网络的可视化恶意软件检测装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112329016B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113221115A (zh) * | 2021-07-09 | 2021-08-06 | 四川大学 | 基于协同学习的可视化恶意软件检测方法 |
CN113282926A (zh) * | 2021-05-25 | 2021-08-20 | 贵州师范大学 | 一种基于三通道图像的恶意软件分类方法 |
CN113282917A (zh) * | 2021-06-25 | 2021-08-20 | 深圳市联软科技股份有限公司 | 基于机器指令结构的安全进程识别方法及系统 |
CN113344562A (zh) * | 2021-08-09 | 2021-09-03 | 四川大学 | 基于深度神经网络的以太坊钓鱼诈骗账户检测方法与装置 |
CN113420294A (zh) * | 2021-06-25 | 2021-09-21 | 杭州电子科技大学 | 基于多尺度卷积神经网络的恶意代码检测方法 |
CN113434858A (zh) * | 2021-05-25 | 2021-09-24 | 天津大学 | 基于反汇编代码结构和语义特征的恶意软件家族分类方法 |
CN113596012A (zh) * | 2021-07-26 | 2021-11-02 | 工银科技有限公司 | 攻击行为的识别方法、装置、设备、介质及程序产品 |
CN113868660A (zh) * | 2021-12-01 | 2021-12-31 | 北京华云安信息技术有限公司 | 恶意软件检测模型的训练方法、装置以及设备 |
CN113935033A (zh) * | 2021-09-13 | 2022-01-14 | 北京邮电大学 | 特征融合的恶意代码家族分类方法、装置和存储介质 |
CN114896597A (zh) * | 2022-05-09 | 2022-08-12 | 南开大学 | 基于可执行文件线性序列表示的计算机恶意代码检测方法 |
CN114896598A (zh) * | 2022-05-11 | 2022-08-12 | 武汉科技大学 | 一种基于卷积神经网络的恶意代码检测方法 |
CN114926680A (zh) * | 2022-05-13 | 2022-08-19 | 山东省计算中心(国家超级计算济南中心) | 一种基于AlexNet网络模型的恶意软件分类方法及系统 |
CN115296856A (zh) * | 2022-07-12 | 2022-11-04 | 四川大学 | 基于ResNet-AIS的加密流量网络威胁检测器进化学习方法 |
WO2022237365A1 (en) * | 2021-05-14 | 2022-11-17 | Huawei Technologies Co.,Ltd. | Multivariate malware detection methods and systems |
CN116611067A (zh) * | 2023-07-19 | 2023-08-18 | 中国电信股份有限公司江西分公司 | 一种基于IPv6的app检测和加固方法 |
CN117560177A (zh) * | 2023-11-02 | 2024-02-13 | 广东技术师范大学 | 一种恶意代码可视化分类方法、系统、设备及介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
CN108062478A (zh) * | 2018-01-04 | 2018-05-22 | 北京理工大学 | 全局特征可视化与局部特征相结合的恶意代码分类方法 |
CN108280348A (zh) * | 2018-01-09 | 2018-07-13 | 上海大学 | 基于rgb图像映射的安卓恶意软件识别方法 |
CN108399335A (zh) * | 2018-01-30 | 2018-08-14 | 东华大学 | 一种基于局部熵的恶意代码可视化分析方法 |
CN108446558A (zh) * | 2018-02-08 | 2018-08-24 | 东华大学 | 一种基于空间填充曲线的恶意代码可视化分析方法 |
US20180285740A1 (en) * | 2017-04-03 | 2018-10-04 | Royal Bank Of Canada | Systems and methods for malicious code detection |
CN108804919A (zh) * | 2018-05-03 | 2018-11-13 | 上海交通大学 | 基于深度学习的恶意代码同源判定方法 |
CN108846284A (zh) * | 2018-06-29 | 2018-11-20 | 浙江工业大学 | 一种基于字节码图像和深度学习的Android恶意应用检测方法 |
CN110427756A (zh) * | 2019-06-20 | 2019-11-08 | 中国人民解放军战略支援部队信息工程大学 | 基于胶囊网络的安卓恶意软件检测方法及装置 |
CN110647745A (zh) * | 2019-07-24 | 2020-01-03 | 浙江工业大学 | 基于深度学习的恶意软件汇编格式的检测方法 |
CN111382438A (zh) * | 2020-03-27 | 2020-07-07 | 玉溪师范学院 | 基于多尺度卷积神经网络的恶意软件检测方法 |
CN111428116A (zh) * | 2020-06-08 | 2020-07-17 | 四川大学 | 一种基于深度神经网络的微博社交机器人检测方法 |
CN111552966A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于信息融合的恶意软件同源性检测方法 |
US20200280543A1 (en) * | 2016-09-02 | 2020-09-03 | Scenera, Inc. | Security for Scene-Based Sensor Networks, with Privacy Management System |
-
2020
- 2020-12-31 CN CN202011626582.6A patent/CN112329016B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200280543A1 (en) * | 2016-09-02 | 2020-09-03 | Scenera, Inc. | Security for Scene-Based Sensor Networks, with Privacy Management System |
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
US20180285740A1 (en) * | 2017-04-03 | 2018-10-04 | Royal Bank Of Canada | Systems and methods for malicious code detection |
CN108062478A (zh) * | 2018-01-04 | 2018-05-22 | 北京理工大学 | 全局特征可视化与局部特征相结合的恶意代码分类方法 |
CN108280348A (zh) * | 2018-01-09 | 2018-07-13 | 上海大学 | 基于rgb图像映射的安卓恶意软件识别方法 |
CN108399335A (zh) * | 2018-01-30 | 2018-08-14 | 东华大学 | 一种基于局部熵的恶意代码可视化分析方法 |
CN108446558A (zh) * | 2018-02-08 | 2018-08-24 | 东华大学 | 一种基于空间填充曲线的恶意代码可视化分析方法 |
CN108804919A (zh) * | 2018-05-03 | 2018-11-13 | 上海交通大学 | 基于深度学习的恶意代码同源判定方法 |
CN108846284A (zh) * | 2018-06-29 | 2018-11-20 | 浙江工业大学 | 一种基于字节码图像和深度学习的Android恶意应用检测方法 |
CN110427756A (zh) * | 2019-06-20 | 2019-11-08 | 中国人民解放军战略支援部队信息工程大学 | 基于胶囊网络的安卓恶意软件检测方法及装置 |
CN110647745A (zh) * | 2019-07-24 | 2020-01-03 | 浙江工业大学 | 基于深度学习的恶意软件汇编格式的检测方法 |
CN111382438A (zh) * | 2020-03-27 | 2020-07-07 | 玉溪师范学院 | 基于多尺度卷积神经网络的恶意软件检测方法 |
CN111552966A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于信息融合的恶意软件同源性检测方法 |
CN111428116A (zh) * | 2020-06-08 | 2020-07-17 | 四川大学 | 一种基于深度神经网络的微博社交机器人检测方法 |
Non-Patent Citations (5)
Title |
---|
HOUSSEM HOSOI: "Machine learning approach for malware multiclass classification", 《HTTPS:/ / HAL.ARCHIVES-OUVERTES.FR/HAL-02075139》 * |
JIANWEN FU, ET AL.: "Malware Visualization for Fine-Grained", 《HTTPS://IEEEXPLORE.IEEE.ORG/STAMP/STAMP.JSP?ARNUMBER=8290767》 * |
XIANWEI GAO,ET AL.: "Malware classification for the cloud via semi-supervised transfer learning", 《HTTPS://DOI.ORG/10.1016/J.JISA.2020.102661》 * |
张景莲 等: "基于特征融合的恶意代码分类研究", 《计算机工程》 * |
薄波: "基于机器学习的可视化恶意代码分类技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022237365A1 (en) * | 2021-05-14 | 2022-11-17 | Huawei Technologies Co.,Ltd. | Multivariate malware detection methods and systems |
CN113282926A (zh) * | 2021-05-25 | 2021-08-20 | 贵州师范大学 | 一种基于三通道图像的恶意软件分类方法 |
CN113434858A (zh) * | 2021-05-25 | 2021-09-24 | 天津大学 | 基于反汇编代码结构和语义特征的恶意软件家族分类方法 |
CN113282917A (zh) * | 2021-06-25 | 2021-08-20 | 深圳市联软科技股份有限公司 | 基于机器指令结构的安全进程识别方法及系统 |
CN113420294A (zh) * | 2021-06-25 | 2021-09-21 | 杭州电子科技大学 | 基于多尺度卷积神经网络的恶意代码检测方法 |
CN113221115A (zh) * | 2021-07-09 | 2021-08-06 | 四川大学 | 基于协同学习的可视化恶意软件检测方法 |
CN113221115B (zh) * | 2021-07-09 | 2021-09-17 | 四川大学 | 基于协同学习的可视化恶意软件检测方法 |
CN113596012A (zh) * | 2021-07-26 | 2021-11-02 | 工银科技有限公司 | 攻击行为的识别方法、装置、设备、介质及程序产品 |
CN113344562A (zh) * | 2021-08-09 | 2021-09-03 | 四川大学 | 基于深度神经网络的以太坊钓鱼诈骗账户检测方法与装置 |
CN113344562B (zh) * | 2021-08-09 | 2021-11-02 | 四川大学 | 基于深度神经网络的以太坊钓鱼诈骗账户检测方法与装置 |
CN113935033A (zh) * | 2021-09-13 | 2022-01-14 | 北京邮电大学 | 特征融合的恶意代码家族分类方法、装置和存储介质 |
CN113868660A (zh) * | 2021-12-01 | 2021-12-31 | 北京华云安信息技术有限公司 | 恶意软件检测模型的训练方法、装置以及设备 |
CN114896597A (zh) * | 2022-05-09 | 2022-08-12 | 南开大学 | 基于可执行文件线性序列表示的计算机恶意代码检测方法 |
CN114896597B (zh) * | 2022-05-09 | 2022-11-15 | 南开大学 | 基于可执行文件线性序列表示的计算机恶意代码检测方法 |
CN114896598A (zh) * | 2022-05-11 | 2022-08-12 | 武汉科技大学 | 一种基于卷积神经网络的恶意代码检测方法 |
CN114926680A (zh) * | 2022-05-13 | 2022-08-19 | 山东省计算中心(国家超级计算济南中心) | 一种基于AlexNet网络模型的恶意软件分类方法及系统 |
CN114926680B (zh) * | 2022-05-13 | 2022-11-11 | 山东省计算中心(国家超级计算济南中心) | 一种基于AlexNet网络模型的恶意软件分类方法及系统 |
CN115296856A (zh) * | 2022-07-12 | 2022-11-04 | 四川大学 | 基于ResNet-AIS的加密流量网络威胁检测器进化学习方法 |
CN115296856B (zh) * | 2022-07-12 | 2024-04-19 | 四川大学 | 基于ResNet-AIS的加密流量网络威胁检测器进化学习方法 |
CN116611067A (zh) * | 2023-07-19 | 2023-08-18 | 中国电信股份有限公司江西分公司 | 一种基于IPv6的app检测和加固方法 |
CN117560177A (zh) * | 2023-11-02 | 2024-02-13 | 广东技术师范大学 | 一种恶意代码可视化分类方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112329016B (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112329016B (zh) | 一种基于深度神经网络的可视化恶意软件检测装置及方法 | |
Qin et al. | Meta-teacher for face anti-spoofing | |
WO2021096649A1 (en) | Detecting unknown malicious content in computer systems | |
Sinha et al. | Class-wise difficulty-balanced loss for solving class-imbalance | |
CN104715194B (zh) | 恶意软件检测方法和装置 | |
Burks et al. | Data augmentation with generative models for improved malware detection: A comparative study | |
CN111866004B (zh) | 安全评估方法、装置、计算机系统和介质 | |
Han et al. | Dancelets mining for video recommendation based on dance styles | |
CN115443490A (zh) | 影像审核方法及装置、设备、存储介质 | |
CN114443858A (zh) | 一种基于图神经网络的多模态知识图谱表示学习方法 | |
CN112464234A (zh) | 一种云平台上基于svm的恶意软件检测方法 | |
CN111400713A (zh) | 基于操作码邻接图特征的恶意软件族群分类方法 | |
Shen et al. | Feature fusion-based malicious code detection with dual attention mechanism and BiLSTM | |
Gao et al. | Malware detection using attributed cfg generated by pre-trained language model with graph isomorphism network | |
CN112818774A (zh) | 一种活体检测方法及装置 | |
Narvaez et al. | Painting authorship and forgery detection challenges with AI image generation algorithms: Rembrandt and 17th century Dutch painters as a case study | |
Han et al. | FCD-Net: Learning to detect multiple types of homologous deepfake face images | |
Wang et al. | Extended research on the security of visual reasoning captcha | |
Kawa et al. | Verify It Yourself: A Note on Activation Functions' Influence on Fast DeepFake Detection. | |
CN114139153A (zh) | 基于图表示学习的恶意软件可解释性分类方法 | |
CN113259369A (zh) | 一种基于机器学习成员推断攻击的数据集认证方法及系统 | |
Yaseen et al. | A Deep Learning-based Approach for Malware Classification using Machine Code to Image Conversion | |
Li et al. | A Malware Detection Method Based on Machine Learning and Ensemble of Regression Trees | |
Abu-Jamie et al. | Classification of Sign-Language Using Deep Learning by ResNet | |
Wen et al. | DCN: detector-corrector network against evasion attacks on deep neural networks |
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 |