CN118072093A - 一种恶意代码可视化分类方法 - Google Patents
一种恶意代码可视化分类方法 Download PDFInfo
- Publication number
- CN118072093A CN118072093A CN202410232847.6A CN202410232847A CN118072093A CN 118072093 A CN118072093 A CN 118072093A CN 202410232847 A CN202410232847 A CN 202410232847A CN 118072093 A CN118072093 A CN 118072093A
- Authority
- CN
- China
- Prior art keywords
- module
- malicious code
- residual
- feature map
- layer
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000000007 visual effect Effects 0.000 title abstract description 11
- 238000010586 diagram Methods 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims abstract description 8
- 238000002360 preparation method Methods 0.000 claims abstract description 3
- 238000013527 convolutional neural network Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 238000011176 pooling Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000009795 derivation Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000007637 random forest analysis Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 238000012706 support-vector machine Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 2
- 241000700605 Viruses Species 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 238000012800 visualization Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003211 malignant effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及恶意代码分类技术领域,尤其涉及一种恶意代码可视化分类方法。其技术方案包括以下步骤:步骤S1,数据准备:获取恶意代码数据集,并将二进制文件转换为灰度图的形式,步骤S2,特征提取:使用基于Resnet的主干网络提取图像特征,步骤S3,MA模块:采用多尺度卷积操作的MA模块,对特征图进行降维,减少计算量,并提取局部特征,步骤S4,CA模块:采用注意力通道模块对特征图通道进行权重分配,步骤S5,分类器训练与预测。本发明在BODMAS数据集基础上构建了一个新的恶意代码可视化的数据集,为后续的研究人员提供了良好的数据基础,同时关注局部和全局的特征信息,提升了分类的准确率。
Description
技术领域
本发明涉及恶意代码分类技术领域,尤其涉及一种恶意代码可视化分类方法。
背景技术
随着互联网技术的快速发展,计算机病毒已成为全球范围内的严重威胁,给政府、企业和个人用户的信息安全带来了巨大风险。而且,不断涌现的新型恶意代码,特别是能规避杀毒软件的变种,对防范恶意代码的工作提出了极大挑战。研究对恶意代码家族进行分类归纳,快速、准确地辨识已知恶意代码家族及其衍生变种,将极大地加强应对恶意代码的防范能力。
恶意软件可视化与深度学习相结合,已成为恶意代码分类和检测的主流方法。当前,深度学习技术如卷积神经网络和循环神经网络等已成为广泛研究的焦点。这些技术能够自动学习数据集中的特征,并实现高效的恶意软件分类和检测。因此,基于深度学习的恶意代码检测迅速发展。主要方法包括将恶意代码转换为灰度图或彩色图,并输入深度学习模型进行特征学习和分类。
在现有的恶意代码可视化分类方法中,在恶意软件分类方面表现出良好效果,例如:
通过使用反汇编的机器码生成灰度图,每行代表一条机器码,展现了良好的可解释性;
改进了CNN方法,利用RGB图像特征表示恶意软件,增强了语义关系,应对了混淆问题,并改进了CNN模型以避免信息损失;
通过填充不同颜色区分字符、使用空间填充曲线进行可视化,并利用VGG19卷积神经网络进行学习和分类,提出了基于恶意软件二进制序列的可视化分析方法;
利用汇编代码,通过Word2Vec算法获得词向量,并将其转换为灰度图像,用CNN进行恶意软件分类;
通过带有注意力机制的CNN,提取有代表性的恶意家族字节序列,有助于恶意软件分析;
采用基于灰度图像和纹理分割的恶意代码分类框架,并采用专门设计的CNN进行学习和分类;
然后,以上方法对恶意代码在识别和分类过程中,效率和准确率一般,综上所述,本申请提出一种恶意代码可视化分类方法。
发明内容
本发明的目的是针对背景技术中存在恶意代码可视化分类的准确率一般的问题,提出一种恶意代码可视化分类方法。
本发明的技术方案:一种恶意代码可视化分类方法,包括以下步骤:
步骤S1,数据准备:获取恶意代码数据集,并将二进制文件转换为灰度图的形式;
步骤S2,特征提取:使用基于Resnet的主干网络提取图像特征;
步骤S3,MA模块:采用多尺度卷积操作的MA模块,对特征图进行降维,减少计算量,并提取局部特征;
步骤S4,CA模块:采用注意力通道模块对特征图通道进行权重分配;
步骤S5,分类器训练与预测:利用提取的特征图作为输入,使用分类器模型进行训练和预测。
可选的,所述步骤S1中,包括读取二进制文件,将其转换为无符号整型变量表示像素灰度值,并对灰度值进行映射转换为灰度图并保存。
可选的,步骤S2中,利用Resnet的残差学习模块,通过多层结构来学习输入图像的残差,并得到从第l层到第L层的学习特征表示。
可选的,步骤S4中,具体包括以下步骤:
步骤S401,通过全局池化和平均池化获取两个通道权重向量,并进行softmax归一化;
步骤S402,然后将通道权重与之前的特征图相乘并叠加,得到最终加权的特征图。
可选的,所述步骤S5中,所述分类器包括支持向量机(SVM)、随机森林(RandomForest)、卷积神经网络(CNN)。
可选的,所述残差学习模块包括残差网络结构,其公式如下:
h(xl)=F(xl,Wl) (1)
xl+1=f(yl) (2)
其中xl和xl+1分别表示的是第l个残差单元的输入和输出,每个残差单元包含多层结构,F(xl,Wl)是残差函数,表示学习到的残差,即对输入f(yl)的一个微调,而h(xl)表示xl的恒等映射,f(yl)是ReLU激活函数,基于公式(1)和公式(2),得到从第l层到l层的学习特征为:
对公式(3)利用链式规则对其进行反向求导;
可选的,所述MA模块中,包括GC模块,GC模块先对输入的特征图X进行多尺度卷积降维得到xi=[x1,x2,...,xd],之后将xi通过一个全连接层扩充其维度后并拼接:
与现有技术相比,本发明具有如下有益的技术效果:
本发明针对现有可视化恶意代码数据集已无法为算法提供新型恶意代码特征的学习和训练,本发明在BODMAS数据集基础上构建了一个新的恶意代码可视化的数据集,为后续的研究人员提供了良好的数据基础。
本发明针对现有模型只关注其全局特征,提出了一个CA模块(通道级局部特征关注模块)和一个MA模块(多尺度局部特征关注模块),同时关注局部和全局的特征信息,提升了分类的准确率。
附图说明
图1为本发明恶意病毒代码可视化的分类模型总览图;
图2为backdoo病毒代码灰度图;
图3为downloader病毒代码灰度图;
图4为残差网络结构图;
图5为MA模块图;
图6为CA模块图。
具体实施方式
下文结合附图和具体实施例对本发明的技术方案做进一步说明。
实施例
1.1模型概述
为了实现恶意病毒代码可视化的分类模型。本实施例基于Resnet架构设计了如图1所示的baseline模型结构,主要包含预处理层、Resnet主干层、neck层和输出层。在主干层中,本实施例加入CA模块(通道级局部特征关注模块)和一个MA模块(多尺度局部特征关注模块),有效的利用全局和局部特征。
1.2数据分析及预处理
通过对BODMAS数据集分析发现,大多数同种类恶意代码变体都是利用自动化技术或者重用关键模块生成的,导致二进制代码之间存在着显著的相似性。因此,生成的灰度图呈现出高度相似的特征。同时,本实施例所研究的数据集样本是PE恶意代码。PE文件具备清晰的结构,蕴含着丰富的信息,其生成的灰度图具有结构性,能够有效地提取本地特征。另外,对该数据集样本进行反汇编后发现,平均每个样本的反汇编代码长度达到两万行左右,并夹杂着攻击者可能利用以迷惑分析者的代码。而且该数据集作者通过life平台对样本特征进行抽取,然而这一过程十分耗时耗力。基于上述原因,本实施例尝试对该数据集样本进行可视化利用深度学习模型进行分类。
本实施例通过下述步骤将其转换为灰度图:读取二进制文件,将其以8个比特(bits)作为一个基本单元转换为一个无符号整型变量,其范围为[0,255]。这个整型变量代表图像中一个像素的灰度值。映射规则为:255表示纯白,0表示纯黑。之后将其映射为灰度图并保存为png格式。
根据图2和图3观察的结果,本实施例发现不同病毒代码其灰度图具有比较明显的差异。相同家族的灰度图具有相似性,因此基于上述发现本实施例在此基础上构建了一个新的可视化的恶意代码数据集。
1.3基于Resnet的特征提取的主干网络
Resnet为了解决了传统卷积神经网络中模型过深而导致的梯度消失或者爆炸,提出了残差网络。残差网络结构如图4所示,其公式如下:
h(xl)=F(xl,Wl) (1)
xl+1=f(yl) (2)
其中xl和xl+1分别表示的是第l个残差单元的输入和输出,注意每个残差单元一般包含多层结构。F(xl,Wl)是残差函数,表示学习到的残差,即可以看成对输入f(yl)的一个微调,而h(xl)表示xl的恒等映射,f(yl)是ReLU激活函数。基于公式(1)和公式(2),可以得到从第l层到l层的学习特征为:
对公式(3)利用链式规则对其进行反向求导;
公式(4)可以保证该机制可以无损的传播梯度,因此模型可以不断加深网络层次。
1.4MA模块
恶意代码可视化图分类属于图像分类中的细粒度分类问题。因此,使模型关注局部特征显得十分重要。本实施例发现将卷积操作分解为多个小的卷积操作,每个小卷积操作仅关注部分特征。因此本实施例设计了一个GC模块。如图5所示,该模块即先对输入的特征图X进行多尺度卷积降维得到xi=[x1,x2,...,xd],之后将xi通过一个全连接层扩充其维度后并拼接:
这样不仅减少了计算量,也进一步提取了图像的局部特征信息。
1.5 CA模块
本实施例的发现表明,并非所有特征通道都是等价的,一些特征通道更注重于关键的局部信息。
因此本实施例设计了一个注意力通道模块。如图6所示:首先对特征图通道进行全局池化和平均池化得到两个1xC的通道权重向量fmax和favg,之后对其进行softmax。得到每一个通道不同的权重。之后将fmax和favg与之前的特征图进行相乘,将得到的两个特征图进行叠加。
为了验证本发明的技术效果,对本技术方案进行实验和分析。
2.1数据集设计
实验数据集分为训练数据和预测数据集,本实施例采用的BODMAS数据集,该数据集总样本为134435个,其中良性样本为77142个,恶性样本为57293个。因为要研究恶意病毒分类,所以本实施例着重研究恶性样本。这些样本分为14个类别,最常见的类别是木马(29972个样本)、蠕虫(16697个样本)、后门(7331个样本)、下载程序(1031个样本)和勒索软件(821个样本),具体信息如表格1所示。
表格1恶意病毒种类信息
同时这些类别又可以细分为581个家族,很多家族的样本只有一到两个,不具有代表性。因此本实施例选取样本数量大于100的家族(共57个家族)制作成为新的一个数据集。部分家族信息如表格2所示:
表格2部分恶意病毒家族信息
本实施例按照通用数据集的规则,将样本按照8:2划分为训练集和测试集。分别训练病毒种类和家族。
2.2实验环境
本实验运行在Linux操作系统下,编程语言选择Python3.8版本,代码以PyTorch2.0.1模块作为深度学习框架,GPU是NVIDIA RTX 3090,GPU驱动是CUDA11.7。
2.3实验结果及分析
2.3.1模型评价指标
本实施例的最终目标是在创建的数据集上,更深入提取图像特征,因此本实验主要评价指标为精确度Accuracy、F1指标,计算方法如公式(6)-公式(8)所示,其中TP和TN代表真正例和真负例的数量,FP和FN代表伪正例和伪负例的数量。
2.3.2实验配置及参数设置
在实验中,本实施例具体介绍ResNet50模型使用的超参数,如表3所示。
表格3模型参数
2.3.3实验结果
BODMAS论文方法通过安全软件去提取恶意代码特征,之后利用GBDT来进行分类。该过程耗时耗力。与之相比较,本实施例通过对恶意代码可视化后在其基础上设计了两个新的模型对该数据集进行分类。从表4可以观察到,ResNet50在BODMAS数据集上的分类性能较好,种类准确率达到87.42%,家族准确率达到81.98%,与论文提供的Baseline结果接近。这验证了利用恶意代码的视觉特征进行分类的有效性。
表格4不同深度模型结果
在此基础上,本研究分别引入MA和CA模块,以捕捉不同尺度的特征并加强对有效特征的注意力。结果显示,MA模块将种类和家族准确率分别提升到89.22%和86.49%,CA模块则将其提高到91.07%和87.70%。另外,F1 score也得到明显改善,种类和家族的均衡F1score分别达到91.30%和87.71%。这意味着基于CA模块的新模型对不同类型和家族恶意代码的识别与分类能力更加均衡,错误识别率也有所下降。总体来说,实验充分验证了本实施例方法的有效性。通过可视化与深度学习技术的结合,以及MA和CA模块的加入,模型对恶意代码家族的识别和分类能力显著改善。这为快速自动化分析未知恶意代码奠定了基础。
上述具体实施例仅仅是本发明的几种可选的实施例,基于本发明的技术方案和上述实施例的相关启示,本领域技术人员可以对上述具体实施例做出多种替代性的改进和组合。
Claims (7)
1.一种恶意代码可视化分类方法,其特征在于,包括以下步骤:
步骤S1,数据准备:获取恶意代码数据集,并将二进制文件转换为灰度图的形式;
步骤S2,特征提取:使用基于Resnet的主干网络提取图像特征;
步骤S3,MA模块:采用多尺度卷积操作的MA模块,对特征图进行降维,减少计算量,并提取局部特征;
步骤S4,CA模块:采用注意力通道模块对特征图通道进行权重分配;
步骤S5,分类器训练与预测:利用提取的特征图作为输入,使用分类器模型进行训练和预测。
2.根据权利要求1所述的一种恶意代码可视化分类方法,其特征在于,所述步骤S1中,包括读取二进制文件,将其转换为无符号整型变量表示像素灰度值,并对灰度值进行映射转换为灰度图并保存。
3.根据权利要求1所述的一种恶意代码可视化分类方法,其特征在于,步骤S2中,利用Resnet的残差学习模块,通过多层结构来学习输入图像的残差,并得到从第l层到第L层的学习特征表示。
4.根据权利要求1所述的一种恶意代码可视化分类方法,其特征在于,步骤S4中,具体包括以下步骤:
步骤S401,通过全局池化和平均池化获取两个通道权重向量,并进行softmax归一化;
步骤S402,然后将通道权重与之前的特征图相乘并叠加,得到最终加权的特征图。
5.根据权利要求1所述的一种恶意代码可视化分类方法,其特征在于,所述步骤S5中,所述分类器包括支持向量机、随机森林、卷积神经网络。
6.根据权利要求1所述的一种恶意代码可视化分类方法,其特征在于,所述残差学习模块包括残差网络结构,其公式如下:
h(xl)=F(xl,Wl) (1)
xl+1=f(yl) (2)
其中xl和xl+1分别表示的是第l个残差单元的输入和输出,每个残差单元包含多层结构,F(xl,Wl)是残差函数,表示学习到的残差,即对输入f(yl)的一个微调,而h(xl)表示xl的恒等映射,f(yl)是ReLU激活函数,基于公式(1)和公式(2),得到从第l层到l层的学习特征为:
对公式(3)利用链式规则对其进行反向求导;
7.根据权利要求1所述的一种恶意代码可视化分类方法,其特征在于,所述MA模块中,包括GC模块,GC模块对输入的特征图X进行多尺度卷积降维得到xi=[x1,x2,...,xd],之后将xi通过一个全连接层扩充其维度后并拼接:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410232847.6A CN118072093A (zh) | 2024-03-01 | 2024-03-01 | 一种恶意代码可视化分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410232847.6A CN118072093A (zh) | 2024-03-01 | 2024-03-01 | 一种恶意代码可视化分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118072093A true CN118072093A (zh) | 2024-05-24 |
Family
ID=91110487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410232847.6A Pending CN118072093A (zh) | 2024-03-01 | 2024-03-01 | 一种恶意代码可视化分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118072093A (zh) |
-
2024
- 2024-03-01 CN CN202410232847.6A patent/CN118072093A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vu et al. | A convolutional transformation network for malware classification | |
Naeem et al. | Identification of malicious code variants based on image visualization | |
Liu et al. | Two-stage copy-move forgery detection with self deep matching and proposal superglue | |
Liu et al. | A new learning approach to malware classification using discriminative feature extraction | |
Naeem | Detection of malicious activities in internet of things environment based on binary visualization and machine intelligence | |
CN111651762A (zh) | 一种基于卷积神经网络的pe恶意软件检测方法 | |
CN111259397B (zh) | 一种基于马尔科夫图和深度学习的恶意软件分类方法 | |
Prima et al. | Using transfer learning for malware classification | |
AU2021100392A4 (en) | A method for malware detection and classification using multi-level resnet paradigm on pe binary images | |
CN116258917B (zh) | 一种基于tf-idf转移熵的恶意软件分类方法及装置 | |
Nahhas et al. | Android Malware Detection Using ResNet-50 Stacking. | |
US5671293A (en) | Pattern recognizing method and apparatus | |
CN116935411A (zh) | 一种基于字符分解和重构的部首级古文字识别方法 | |
Oh et al. | Scribble-supervised cell segmentation using multiscale contrastive regularization | |
CN118072093A (zh) | 一种恶意代码可视化分类方法 | |
CN111797395A (zh) | 恶意代码可视化及变种检测方法、装置、设备及存储介质 | |
CN114861178B (zh) | 一种基于改进b2m算法的恶意代码检测引擎设计方法 | |
CN113836297B (zh) | 文本情感分析模型的训练方法及装置 | |
CN116030076A (zh) | 基于因果推理的隧道点云多目标分割集成方法及系统 | |
Nassar et al. | Throttling malware families in 2d | |
CN117237688A (zh) | 一种基于融合特征的apt恶意样本攻击组织溯源方法 | |
Goyal et al. | IVMCT: Image visualization based multiclass malware classification using transfer learning | |
Ujwala et al. | A novel approach towards implementation of optical character recognition using LSTM and adaptive classifier | |
Anandababu et al. | An effective content based image retrieval model using improved memetic algorithm | |
Fadlil et al. | Butterfly Image Identification Using Multilevel Thresholding Segmentasi and Convolution Neural Network Classification with Alexnet Architecture |
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 |