CN113282926B - 一种基于三通道图像的恶意软件分类方法 - Google Patents
一种基于三通道图像的恶意软件分类方法 Download PDFInfo
- Publication number
- CN113282926B CN113282926B CN202110569369.4A CN202110569369A CN113282926B CN 113282926 B CN113282926 B CN 113282926B CN 202110569369 A CN202110569369 A CN 202110569369A CN 113282926 B CN113282926 B CN 113282926B
- Authority
- CN
- China
- Prior art keywords
- byte stream
- sample
- channel
- lst
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012549 training Methods 0.000 claims abstract description 36
- 238000012360 testing method Methods 0.000 claims abstract description 14
- 238000010606 normalization Methods 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 claims description 2
- 238000013480 data collection Methods 0.000 abstract description 4
- 230000004927 fusion Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- 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/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于三通道图像的恶意软件分类方法,包括以下步骤:(1)提取样本的字节流;(2)提取字节流的Bigram序列;(3)提取样本的反编译Lst文件并提取Lst文件的字节流。(4)将样本字节流、标准化后的Bigram序列、Lst字节流转化成三种灰度图像;(5)使用加载了ImageNet权重的EfficientNetB0微调模型对恶意软件三通道图像数据训练和测试。本发明使用三种类型灰度图像合成三通道彩色图像,增加特征的有效性,同时采用微调的方式将ImageNet图片领域的分类权重用于本发明的模型的微调,通过微调不仅增加了模型训练的收敛速度,同时提高了测试准确率,减少调参、海量数据收集以及训练的时间开销。
Description
技术领域
本发明涉及网络空间安全中的系统安全领域,具体涉及一种基于三通道图像的恶意软件分类方法。
背景技术
针对传统恶意软件分类采用单通道图像分类准确率不高、抗混淆能力弱的缺点,我们对恶意软件图像表示方法做一定的改进,将恶意软件、Bigram、Lst三种文件的灰度图像组合成三通道彩色图像进行分类,三通道彩色图像相比单通道图像包含更多信息。并使用微调的EfficientNetB0模型对恶意软件的图像进行分类,微调使用的权重有ImageNet和Noisy Student两种权重。本发明提出的架构具有准确率高,收敛快,参数量少的特点。
随着GPU并行计算的发展,深度学习已经被广泛应用于恶意软件分类领域。L.Nataraj,S.Karthikeyan,G.Jacob,B.S.Manjunath首先提出了使用Bin2Pixel算法将恶意软件转化成灰度图像,通过恶意软件独特的纹理提取其Gist特征,并使用KNN对灰度图像的Gist纹理特征进行分类。Mingxing Tan,Quoc V.Le提出了一种EfficientNetB0深度卷积神经网络结构,该网络在ImageNet上取得最高的84.4%的准确率,根据深度和宽度以及分辨率的不同可以将该模型分为EfficientNetB0~B7版本。Qizhe Xie,Minh-Thang Luong,Eduard Hovy,Quoc V.Le提出了Noisy Student Training训练方式对模型进行训练,然后通过增大EfficientNetB7模型结构对ImageNet分类进一步达到了88.4%的准确率,但是模型过于庞大,时间开销太长,不适宜落地应用,通过这种方式能够得到EfficientNetB0~B7版本对应的Noisy Student权重。本发明所提出的架构的关键部分是使用三种灰度图像合成三通道彩色图像,并对EfficientNetB0采用微调方式进行训练。微调是迁移学习实现的一种手段,通过微调能够运用相似领域的知识到新的领域中并提高模型对新领域的学习能力。所提出的架构的另一关键是将ImageNet图像分类领域的知识迁移到本发明的恶意软件数据集上来,实现的具体方式是在EfficientNetB0模型中加载ImageNet权重。
发明内容
本发明的目的在于提供一种基于三通道图像的恶意软件分类方法,使用三种恶意软件灰度图像合成恶意软件三通道彩色图像,将EfficientNetB0模型用于恶意软件三通道图像分类,并采用微调的方式提高模型的训练速度和测试准确率。本发明充分考虑了单通道图像对于恶意软件分类的限制,提出使用三种类型灰度图像合成三通道彩色图像,增加特征的有效性,同时采用微调的方式将ImageNet图片领域的分类权重用于本发明的模型的微调,通过微调不仅增加了模型训练的收敛速度,同时提高了测试准确率,减少调参、海量数据收集以及训练的时间开销。设计出的efficientnet0-imagenetfusion能够达到最高97.22%的分类准确率,分类效果不仅高于单通道图像和Noisy Student微调的准确率,且相比较预训练收敛速度大幅加快。
本发明的技术方案是:
一种基于三通道图像的恶意软件分类方法,通过三种恶意软件灰度图像合成恶意软件的三通道彩色图像,并将EfficientNetB0模型使用ImageNet权重进行微调用于恶意软件三通道彩色图像训练和测试,设置训练Epoch为20,包括以下步骤:
步骤1、提取样本的字节流;
步骤2、提取字节流的Bigram序列;
步骤3、提取样本的反编译Lst文件并提取Lst文件的字节流;
步骤4、将样本字节流、标准化后的Bigram序列、Lst字节流转化成三种灰度图像,并生成恶意软件的三通道彩色图像;
步骤5、使用EfficientNetB0微调模型对恶意软件三通道图像训练和测试。
具体地:步骤1、将目标样本以二进制形式打开,获得恶意软件样本的二进制流,再将二进制流八位为一个字节转化为字节流。
步骤2、将N-gram算法的N值设置为2,提取样本字节流的Bigram序列,并将Bigram标准化到[0,255]范围内;标准化公式如下:X是一个样本的Bigram特征,首先分别使用(1)式、(2)式找出X的最小值min和最大值max,再使用(3)式计算出系数k,最后通过(4)式将X标准化后取整,使其范围落到[0,255]。
min=find_min(X) (1)
max=find_max(X)(2)
Xnew=k×(X-min) (4)
步骤3、使用IDA_Pro工具提取样本的反编译Lst文件,Lst文件比传统的Asm文件包含了更多的信息,该文件的内容包含了每一行汇编代码的段信息;再用步骤1的方式将反编译文件转化成字节流。
步骤4、使用Bin2Pixel算法将恶意软件,Lst文件的字节流以及标准化过后的Bigram序列转化成灰度图像,该算法伪代码如下,并将三种文件的灰度图像合并成三通道彩色图像。
步骤5、修改EfficientNetB0的全连接层输出为20,然后使用该模型加载不含全连接层的ImageNet权重,并在恶意软件三通道图像上进行训练和测试。
本发明具有以下特点:
1、本发明对传统的单通道恶意软件图像做改进和创新,使用三种不同类型的灰度图像合成三通道彩色图像,使恶意软件的图像包含多种类型的特征,提高模型对恶意软件图像的学习性能。
2、对EfficientNetB0模型做改造,使其能够应用于本发明的恶意软件数据集,并加载在海量数据上训练得来的ImageNet权重到模型中,使模型能够运用基于海量数据学习到的“知识”。
3、本发明改进了恶意软件灰度图像的表示方式,使恶意软件图像具有更多的信息量,能够提高模型的鲁棒性。并通过微调的训练方式迁移了已有领域的知识从而加快了训练的收敛,并提高最后的分类准确率,大幅降低调参、收集数据产生的开销。
附图说明
图1是恶意软件Lst文件内容图。
图2是Virustotal恶意软件数据集恶意软件分布图。
图3是本发明使用的网络结构图。
图4是恶意软件的灰度图像。
图5是Lst文件的灰度图像。
图6是Bigram特征的灰度图像。
图7是恶意软件三通道彩色图。
图8是三种训练方式下准确率最高的模型的训练准确率对比图。
图9是三种训练方式下准确率最高的模型的训练损失对比图。
图10是三种训练方式下准确率最高的模型对20种恶意软件家族分类的精确率。
图11是三种训练方式下准确率最高的模型对20种恶意软件家族分类的召回率。
图12是三种训练方式下准确率最高的模型对20种恶意软件家族分类的F1-score。
具体实施方式
下面通过附图和实施例对本发明作进一步描述。
一种基于三通道图像的恶意软件分类方法,通过三种灰度图像合成恶意软件的三通道彩色图像,使用Virustotal恶意软件数据集中的20种恶意软件家族的16439个样本进行分类,恶意软件的数量分布如图2所示,并将EfficientNetB0模型进行微调用于恶意软件三通道彩色图像训练和测试。包括以下步骤:
步骤1、提取样本的字节流;
步骤2、提取字节流的Bigram序列;
步骤3、提取样本的反编译Lst文件并提取Lst文件的字节流;
步骤4、将样本字节流、标准化后的Bigram序列、Lst字节流转化成三种灰度图像,并生成恶意软件的三通道彩色图像;
步骤5、使用EfficientNetB0微调模型对恶意软件三通道图像训练和测试。
具体地:
步骤1、将目标样本以二进制形式打开,获得恶意软件样本的二进制流,再将二进制流八位为一个字节转化为字节流。
步骤2、将N-gram算法的N值设置为2,提取样本字节流的Bigram序列,并将Bigram标准化到[0,255]范围内。标准化公式如下。X是一个样本的Bigram特征,首先分别使用(1)、(2)找出X的最小值min和最大值max,再使用(3)计算出系数k,最后通过(4)将X标准化后取整,使其范围落到[0,255]。
min=find_min(X) (1)
max=find_max(X) (2)
Xnew=k×(X-min) (4)
步骤3、使用IDA_Pro工具提取样本的反编译Lst文件,Lst文件比传统的Asm文件包含了更多的信息,该文件的内容如图1所示,包含了每一行汇编代码的段信息。再用步骤1的方式将反编译文件转化成字节流。
步骤4、使用Bin2Pixel算法将恶意软件,Lst文件的字节流以及标准化过后的Bigram序列转化成灰度图像,该算法伪代码如下。三种文件的灰度图像如图4、图5、图6所示,并将三种灰度图像合并成三通道彩色图像,合成彩色图像效果如图7所示;
步骤5、修改EfficientNetB0的全连接层输出为20,然后使用该模型加载不含全连接层的ImageNet权重,并在恶意软件三通道图像上进行训练和测试。
本发明使用的结构取自EfficientNetB0结构,该网络结构如图3所示。该网络结构的图像输入分辨率为224×224×3,输出为20维,表示样本属于二十种恶意软件的概率。该网络由大量的MBConv模块组成。表1中是预训练在各个数据集上的分类准确率和各项指标,表1中EfficientNetB0对Lst图像的分类准确率达到最高的94.36%。表2中是ImageNet微调在各个数据集上的分类准确率和各项指标,表2中EfficientNetB0对三通道图像的分类准确率达到最高的97.22%。表3中是Noisy Student微调在各个数据集上的分类准确率和各项指标,表3中EfficientNetB3对三通道图像的分类准确率达到最高的97.20%。ImageNet微调对四种特征分类的平均准确率相比较预训练分别提高了4.37%、3.02%、19.33%(Bigram提升最高)、5.46%。Noisy Student微调对四种特征的平均分类准确率相比较预训练分别提高了4.51%、3.09%、19.61%(Bigram提升最高)、5.42%,在前三种特征下的平均准确率增幅大于ImageNet微调的增幅。在ImageNet微调采用EfficientNetB0模型的情况下达到了最高的97.22%的准确率。
从图8和图9是预训练、ImageNet微调、Noisy Student微调三种训练方式下测试准确率最好的模型和对应的数据集的训练过程。可以看出微调曲线在3个Epoch后都趋于平滑,而预训练则至少在5个Epoch后曲线才趋于平滑。
通过表1、表2、表3可知三种训练方式下最好的三种模型是ef ficientnet0-lst、efficientnet0-imagenetfusion、efficientnet3-studentfusion,这三个模型在Lst、Fusion、Fusion数据集上分别达到了94.36%、97.22%、97.20%的准确率。
图10、11、12是这三种模型的Precision,Recall,F1-score对比。可以看出在每一种指标下,微调的曲线都位于预训练曲线的上方,微调对大多数恶意软件家族分类的效果均优于预训练条件下的分类效果。预训练的efficientnet0-lst精确率和召回率达到100%的家族数分别是6个和4个。微调的efficientnet0-imagenetfusion精确率和召回率达到100%的家族数都有7个。efficientnet3-stude ntfusion分别是5个和7个,但是该模型的参数量大于efficientn et0-imagenetfusion。efficientnet0-imagenetfusion和efficien tnet3-studentfusion微调模型的训练时间分别是1628s和3248s,两者对比,efficientnet0-imagenetfusion节省了将近一半的时间。所以,efficientnet0-imagenetfusion模型效果最好。可见,微调能够很好的利用已有的图像分类“知识”,使模型快速适应新的图像数据集,达到最佳效果。
表1:
表2:
表3:
本发明在改进恶意软件图像表达方式的同时,采用微调方式迁移ImageNet图像分类领域的知识,加快模型收敛的速度,并提高分类的测试准确率,大幅节省调参和收集海量数据的开销。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,任何未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (2)
1.一种基于三通道图像的恶意软件分类方法,其特征在于:使用三种恶意软件灰度图像合成三通道彩色图像,将EfficientNetB0微调模型用于恶意软件三通道图像训练和测试,包括以下步骤:
步骤1、提取样本的字节流;
步骤2、提取字节流的Bigram序列;
步骤3、提取样本的反编译Lst文件并提取Lst文件的字节流;
步骤4、将样本字节流、标准化后的Bigram序列、Lst字节流转化成三种灰度图像,并生成恶意软件的三通道彩色图像;
步骤5、使用EfficientNetB0微调模型对恶意软件三通道图像训练和测试。
2.如权利要求1所述的一种基于三通道图像的恶意软件分类方法,其特征在于:具体步骤为:
步骤1、将目标样本以二进制形式打开,获得恶意软件样本的二进制流,再将二进制流八位为一个字节转化为字节流;
步骤2、将N-gram算法的N值设置为2,提取样本字节流的Bigram序列,并将Bigram标准化到[0,255]范围内;标准化公式如下:X是一个样本的Bigram特征,首先分别使用(1)式、(2)式找出X的最小值min和最大值max,再使用(3)式计算出系数k,最后通过(4)式将X标准化后取整,使其范围落到[0,255];
步骤3、使用IDA_Pro工具提取样本的反编译Lst文件,Lst文件比传统的Asm文件包含了更多的信息,该文件的内容包含了每一行汇编代码的段信息;再用步骤1的方式将反编译文件转化成字节流;
步骤4、将恶意软件, Lst文件的字节流以及标准化过后的Bigram序列转化成灰度图像,将三种文件的灰度图像合并成三通道彩色图像;
步骤5、修改EfficientNetB0的全连接层输出为20,然后使用该模型加载不含全连接层的ImageNet权重,并在恶意软件三通道图像上进行训练和测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110569369.4A CN113282926B (zh) | 2021-05-25 | 2021-05-25 | 一种基于三通道图像的恶意软件分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110569369.4A CN113282926B (zh) | 2021-05-25 | 2021-05-25 | 一种基于三通道图像的恶意软件分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282926A CN113282926A (zh) | 2021-08-20 |
CN113282926B true CN113282926B (zh) | 2021-11-09 |
Family
ID=77281286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110569369.4A Active CN113282926B (zh) | 2021-05-25 | 2021-05-25 | 一种基于三通道图像的恶意软件分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282926B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080969B (zh) * | 2022-06-14 | 2023-03-10 | 贵州师范大学 | 一种基于三通道马尔可夫图的恶意文档检测方法 |
CN116910758B (zh) * | 2023-09-13 | 2023-12-08 | 中移(苏州)软件技术有限公司 | 恶意软件检测方法、装置、电子设备、芯片及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180183815A1 (en) * | 2016-10-17 | 2018-06-28 | Kerry Wayne Enfinger | System and method for detecting malware |
CN108460277A (zh) * | 2018-02-10 | 2018-08-28 | 北京工业大学 | 一种自动化恶意代码变种检测方法 |
CN110572393A (zh) * | 2019-09-09 | 2019-12-13 | 河南戎磐网络科技有限公司 | 一种基于卷积神经网络的恶意软件流量分类方法 |
CN111127360B (zh) * | 2019-12-20 | 2023-08-29 | 东南大学 | 一种基于自动编码器的灰度图像迁移学习方法 |
CN111260035A (zh) * | 2020-01-19 | 2020-06-09 | 苏州浪潮智能科技有限公司 | 一种EfficientNet的结构参数的搜索方法、系统、设备以及介质 |
CN112182577A (zh) * | 2020-10-14 | 2021-01-05 | 哈尔滨工程大学 | 一种基于深度学习的安卓恶意代码检测方法 |
CN112380535B (zh) * | 2020-11-13 | 2022-04-19 | 重庆科技学院 | 一种基于cbow的恶意代码三通道可视化识别方法 |
CN112329016B (zh) * | 2020-12-31 | 2021-03-23 | 四川大学 | 一种基于深度神经网络的可视化恶意软件检测装置及方法 |
-
2021
- 2021-05-25 CN CN202110569369.4A patent/CN113282926B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113282926A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108898180B (zh) | 一种面向单颗粒冷冻电镜图像的深度聚类方法 | |
WO2021134871A1 (zh) | 基于局部二值模式和深度学习的合成人脸图像取证方法 | |
CN108564129B (zh) | 一种基于生成对抗网络的轨迹数据分类方法 | |
CN113282926B (zh) | 一种基于三通道图像的恶意软件分类方法 | |
CN107220641B (zh) | 一种基于深度学习的多语言文本分类方法 | |
CN110109060A (zh) | 一种基于深度学习网络的雷达辐射源信号分选方法及系统 | |
CN114842267A (zh) | 基于标签噪声域自适应的图像分类方法及系统 | |
CN112016674A (zh) | 一种基于知识蒸馏的卷积神经网络的量化方法 | |
CN113657491A (zh) | 一种用于信号调制类型识别的神经网络设计方法 | |
CN111696046A (zh) | 一种基于生成式对抗网络的水印去除方法和装置 | |
CN112884061A (zh) | 一种基于参数优化元学习的恶意软件家族分类方法 | |
CN111694977A (zh) | 一种基于数据增强的车辆图像检索方法 | |
CN113159045A (zh) | 一种结合图像预处理与卷积神经网络的验证码识别方法 | |
CN114241564A (zh) | 一种基于类间差异强化网络的人脸表情识别方法 | |
CN111523483A (zh) | 中餐菜品图像识别方法及装置 | |
CN113420291B (zh) | 基于权重集成的入侵检测特征选择方法 | |
CN113033345B (zh) | 基于公共特征子空间的v2v视频人脸识别方法 | |
CN111737688B (zh) | 基于用户画像的攻击防御系统 | |
CN113989256A (zh) | 遥感图像建筑物的检测模型优化方法及检测方法、装置 | |
CN111191027B (zh) | 一种基于高斯混合分布vae的广义零样本识别方法 | |
CN109543571B (zh) | 一种面向复杂产品异形加工特征的智能识别与检索方法 | |
CN115239943A (zh) | 图像矫正模型的训练方法及切片图像的色彩矫正方法 | |
CN114299586A (zh) | 一种基于卷积神经网络的智能化深度学习系统 | |
CN113705647A (zh) | 一种基于动态间隔的双重语义特征提取方法 | |
CN113743593A (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 |