CN117034274A - 基于特征融合的恶意软件分类方法、装置、设备及介质 - Google Patents
基于特征融合的恶意软件分类方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117034274A CN117034274A CN202311289964.8A CN202311289964A CN117034274A CN 117034274 A CN117034274 A CN 117034274A CN 202311289964 A CN202311289964 A CN 202311289964A CN 117034274 A CN117034274 A CN 117034274A
- Authority
- CN
- China
- Prior art keywords
- idf
- malicious software
- dimensional matrix
- image
- coordinate
- 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 48
- 230000004927 fusion Effects 0.000 title claims abstract description 47
- 238000012546 transfer Methods 0.000 claims abstract description 93
- 238000010586 diagram Methods 0.000 claims abstract description 71
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000012360 testing method Methods 0.000 claims abstract description 21
- 239000011159 matrix material Substances 0.000 claims description 129
- 230000007704 transition Effects 0.000 claims description 41
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 12
- 241000700605 Viruses Species 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 7
- 239000010410 layer Substances 0.000 description 39
- 238000013527 convolutional neural network Methods 0.000 description 36
- 238000004458 analytical method Methods 0.000 description 12
- 230000003068 static effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- NFGXHKASABOEEW-UHFFFAOYSA-N 1-methylethyl 11-methoxy-3,7,11-trimethyl-2,4-dodecadienoate Chemical compound COC(C)(C)CCCC(C)CC=CC(C)=CC(=O)OC(C)C NFGXHKASABOEEW-UHFFFAOYSA-N 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process 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
- 238000005259 measurement Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 239000002344 surface layer Substances 0.000 description 1
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
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请属于网络信息安全的技术领域,公开了一种基于特征融合的恶意软件分类方法、装置、设备及介质,该方法包括:基于预设数据集中各恶意软件样本对应.asm文件中的操作码以及.byte文件中的字节码,分别生成各样本对应的TF‑IDF转移熵图图像以及字节码图像;将全部样本对应的TF‑IDF转移熵图图像和字节码图像按比例划分为测试集和训练集;将训练集中各样本的TF‑IDF转移熵图图像与字节码图像融合后输入至CNN分类器进行训练:将测试集中各样本的转移熵图图像和字节码图像融合后输入至训练好的CNN分类器进行恶意软件分类,输出各样本的恶意软件类型。本申请降低了对恶意软件分类操作难度,提高了分类效率与准确度。
Description
技术领域
本申请涉及网络信息安全的技术领域,尤其涉及一种基于特征融合的恶意软件分类方法、装置、设备及介质。
背景技术
随着信息技术的高速发展,恶意软件的数量迅速增长,严重威胁着网络安全。据2021年卡巴斯基安全公告称:2021年,卡巴斯基检测系统平均每天发现380,000个恶意软件,较2020年增长5.7%,其中木马,蠕虫和病毒同比增长了2.24%,9%和10%。因此,及时,快速地对恶意软件进行分类识别尤为重要。
目前,对恶意软件分类可概括为两种分析方式:静态分析和动态分析,两者的区别在于是否运行恶意软件进行特征提取。
静态分析一般无需运行恶意软件提取静态特征,如2-gram序列,API调用频率,特征码等。2012年Salehi等人将恶意软件中调用的API和API参数作为特征,使用降维方法和多分类器对恶意软件进行分类。2018年Andrii等人采用不同的机器学习方法提取并分析了32位恶意PE文件的各种静态特征,如PE头,操作码n-gram,API序列等静态特征,之后采用机器学习进行恶意软件分类。
动态分析是在恶意软件运行期间提取动态特征,如系统函数调用,程序行为或修改注册表操作等。2015年Canzanese等人利用n-gram语言模型和TF-IDF来跟踪恶意进程的系统调用序列。2015年Naval等人利用与程序语义相关的恶意软件执行路径来辨别程序行为,并将恶意软件执行的API调用顺序抽象为图节点,使用马尔科夫链计算顶点之间的概率,并在节点路径上采用ALBF方法构造特征空间进行机器学习模型的训练以达到对良性软件,恶意软件家族和部分变种病毒进行分类。
上述提及的恶意软件分类方式,尽管以多视角的方式对静态特征和动态特征进行处理以达到分类识别恶意软件家族目的,但仍存在如下问题:(1)在面对最新的恶意软件变种,或采用加密、加壳的恶意软件时,应用静态分析常用的2-gram序列或特征码来对恶意软件进行分类时,会出现分类误报或漏报的情况。(2)在样本数量较多情况下,静态分析的分类准确率和鲁棒性会出现大幅度下降。(3)采用动态分析可以对部分变种或加壳恶意软件进行分类,但是在收集恶意软件的动态特征上需要人工运用程序进行分析,其操作过程费时费力,且降低了恶意软件分类识别的效率。(4)静态与动态分析方式需要操作人员具备恶意软件领域相关知识,这使得这两种分类方式低效率且高耗时,不适用于实际的运用场景。因此,研究一种分类准确度高,鲁棒性强,时效高的恶意软件分类方法具有重要的科研理论价值和实际应用意义。
发明内容
本申请提供了一种基于特征融合的恶意软件分类方法、装置、设备及介质,降低了对恶意软件分类操作难度,提高了分类效率与准确度。
第一方面,本申请实施例提供了一种基于特征融合的恶意软件分类方法,该方法包括:
基于预设数据集中各个恶意软件样本对应.asm文件中的操作码,生成各个恶意软件样本对应的TF-IDF转移熵图图像;
基于预设数据集中各个恶意软件样本对应.byte文件中的字节码,生成各个恶意软件样本对应的字节码图像;
将预设数据集中全部恶意软件样本对应的TF-IDF转移熵图图像和字节码图像按比例划分为测试集和训练集;
将训练集中各个恶意软件样本对应的TF-IDF转移熵图图像与字节码图像融合后输入至CNN分类器进行恶意软件分类的训练:
将测试集中各个恶意软件样本对应的TF-IDF转移熵图图像和字节码图像融合后输入至训练完成的CNN分类器进行恶意软件分类,输出各个恶意软件样本对应的恶意软件类型。
进一步的,所述基于预设数据集中各个恶意软件样本对应.asm文件中的操作码,生成各个恶意软件样本对应的TF-IDF转移熵图图像的步骤包括:
计算确定各个操作码在IDF语料库中的IDF权重;
基于各个操作码在各个恶意软件样本.asm文件中的频数之和、所有操作码在各个恶意软件样本.asm文件中的频数之和,计算确定各个操作码在各个恶意软件样本.asm文件中的概率;
以各个操作码在各个恶意软件样本.asm文件中的概率与各个操作码在IDF语料库中的IDF权重的乘积,作为各个操作码的TF-IDF权重;
选取各个恶意软件样本中从大到小排序中前n个TF-IDF权重对应的操作码,并根据前n个操作码的TF-IDF权重由大到小递增组成各个恶意软件样本对应的n×n的二维矩阵,二维矩阵中每个坐标对应一个2-garm操作码序列;
基于预设数据集各个恶意软件样本.asm文件中的2-garm操作码序列的频数之和,确定二维矩阵每个坐标对应2-garm操作码序列的频数值;
基于二维矩阵每个坐标对应2-garm操作码序列的频数值,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率;
基于每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值,并基于二维矩阵中每个坐标处的TF-IDF转移熵值进行灰度图像转换,生成各个恶意软件样本对应的TF-IDF转移熵图图像。
进一步的,所述计算确定各个操作码在IDF语料库中的IDF权重的步骤包括:
确定预设数据集中各个恶意软件样本对应.asm文件中的操作码;
基于第一公式计算确定各个操作码在IDF语料库中的IDF权重,所述第一公式为:
其中,为单个操作码在IDF语料库中的IDF权重,/>为全部良性软件对应.asm文件中所有操作码的全部频数之和,/>为全部良性软件对应.asm文件中单个操作码的全部频数之和。
进一步的,所述基于二维矩阵每个坐标对应2-garm操作码序列的频数值,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率的步骤包括:
将二维矩阵每个坐标对应2-garm操作码序列的频数值输入至第二公式,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率,所述第二公式为:
其中,为二维矩阵中每个坐标对应2-garm操作码序列的转移概率,/>为二维矩阵每个坐标对应2-garm操作码序列的频数值,/>为二维矩阵第x行所有列的各个坐标对应2-garm操作码序列的频数值之和,n是二维矩阵第x行对应的列总数,I = 1为二维矩阵的第一列。
进一步的,所述基于二维矩阵中每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值,并基于二维矩阵中每个坐标处的TF-IDF转移熵值进行灰度图像转换,生成各个恶意软件样本对应的TF-IDF转移熵图图像的步骤包括:
将二维矩阵中每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重输入至第三公式中,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值以及灰度图像转换后的二维矩阵中各个坐标处的图像像素值,生成各个恶意软件样本对应的TF-IDF转移熵图图像,所述第三公式为:
其中,为灰度图像转换后的二维矩阵中各个坐标处的图像像素值,为二维矩阵中每个坐标处的TF-IDF转移熵值,/>为二维矩阵中每个坐标对应2-garm操作码序列的转移概率,/>为二维矩阵中每行各个坐标对应2-garm操作码序列中的起始操作码的TF-IDF权重。
进一步的,所述基于预设数据集中各个恶意软件样本对应.byte文件中的字节码,生成各个恶意软件样本对应的字节码图像的步骤包括:
读取预设数据集中各个恶意软件.byte文件每一行对应的字节码序列;
以空格分割字节码序列中的每个字节码,并将每个字节码由十六进制代码换为十进制整数,存入预设列表中,生成字节码图像;
采用双插值算法将字节码图像尺寸缩小或放大至与TF-IDF转移熵图图像尺寸相同,得到各个恶意软件样本对应的字节码图像。
进一步的,CNN分类器对应卷积神经网络中包括三层卷积层、三层池化层、一层全连接层以及一层softmax分类器,其中,三层卷积层的卷积核尺寸为3*3,卷积核数量分别为20、50、100,并采用relu作为激活函数;三层池化层尺寸均为2*2;通过softmax分类器进行分类确定的恶意软件类型包括蠕虫、木马以及病毒。
第二方面,本发明还提供一种基于特征融合的恶意软件分类装置,所述装置包括:
第一图像生成模块,用于基于预设数据集中各个恶意软件样本对应.asm文件中的操作码,生成各个恶意软件样本对应的TF-IDF转移熵图图像;
第二图像生成模块,用于基于预设数据集中各个恶意软件样本对应.byte文件中的字节码,生成各个恶意软件样本对应的字节码图像;
数据集划分模块,用于将预设数据集中全部恶意软件样本对应的TF-IDF转移熵图图像和字节码图像按比例划分为测试集和训练集;
训练模块,用于将训练集中各个恶意软件样本对应的TF-IDF转移熵图图像与字节码图像融合后输入至CNN分类器进行恶意软件分类的训练:
测试模块,用于将测试集中各个恶意软件样本对应的TF-IDF转移熵图图像和字节码图像融合后输入至训练完成的CNN分类器进行恶意软件分类,输出各个恶意软件样本对应的恶意软件类型。
进一步的,所述第一图像生成模块,具体用于:
计算确定各个操作码在IDF语料库中的IDF权重;
基于各个操作码在各个恶意软件样本.asm文件中的频数之和、所有操作码在各个恶意软件样本.asm文件中的频数之和,计算确定各个操作码在各个恶意软件样本.asm文件中的概率;
以各个操作码在各个恶意软件样本.asm文件中的概率与各个操作码在IDF语料库中的IDF权重的乘积,作为各个操作码的TF-IDF权重;
选取各个恶意软件样本中从大到小排序中前n个TF-IDF权重对应的操作码,并根据前n个操作码的TF-IDF权重由大到小递增组成各个恶意软件样本对应的n×n的二维矩阵,二维矩阵中每个坐标对应一个2-garm操作码序列;
基于预设数据集各个恶意软件样本.asm文件中的2-garm操作码序列的频数之和,确定二维矩阵每个坐标对应2-garm操作码序列的频数值;
基于二维矩阵每个坐标对应2-garm操作码序列的频数值,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率;
基于每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值,并基于二维矩阵中每个坐标处的TF-IDF转移熵值进行灰度图像转换,生成各个恶意软件样本对应的TF-IDF转移熵图图像。
进一步的,所述第一图像生成模块,还具体用于:
确定预设数据集中各个恶意软件样本对应.asm文件中的操作码;
基于第一公式计算确定各个操作码在IDF语料库中的IDF权重,所述第一公式为:
其中,为单个操作码在IDF语料库中的IDF权重,/>为全部良性软件对应.asm文件中所有操作码的全部频数之和,/>为全部良性软件对应.asm文件中单个操作码的全部频数之和。
进一步的,所述第一图像生成模块,还具体用于:
将二维矩阵每个坐标对应2-garm操作码序列的频数值输入至第二公式,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率,所述第二公式为:
其中,为二维矩阵中每个坐标对应2-garm操作码序列的转移概率,/>为二维矩阵每个坐标对应2-garm操作码序列的频数值,/>为二维矩阵第x行所有列的各个坐标对应2-garm操作码序列的频数值之和,n是二维矩阵第x行对应的列总数,I = 1为二维矩阵的第一列。
进一步的,所述第一图像生成模块,还具体用于:
将二维矩阵中每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重输入至第三公式中,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值以及灰度图像转换后的二维矩阵中各个坐标处的图像像素值,生成各个恶意软件样本对应的TF-IDF转移熵图图像,所述第三公式为:
其中,为灰度图像转换后的二维矩阵中各个坐标处的图像像素值,为二维矩阵中每个坐标处的TF-IDF转移熵值,/>为二维矩阵中每个坐标对应2-garm操作码序列的转移概率,/>为二维矩阵中每行各个坐标对应2-garm操作码序列中的起始操作码的TF-IDF权重。
进一步的,所述第二图像生成模块,具体用于:
读取预设数据集中各个恶意软件.byte文件每一行对应的字节码序列;
以空格分割字节码序列中的每个字节码,并将每个字节码由十六进制代码换为十进制整数,存入预设列表中,生成字节码图像;
采用双插值算法将字节码图像尺寸缩小或放大至与TF-IDF转移熵图图像尺寸相同,得到各个恶意软件样本对应的字节码图像。
进一步的,CNN分类器对应卷积神经网络中包括三层卷积层、三层池化层、一层全连接层以及一层softmax分类器,其中,三层卷积层的卷积核尺寸为3*3,卷积核数量分别为20、50、100,并采用relu作为激活函数;三层池化层尺寸均为2*2;通过softmax分类器进行分类确定的恶意软件类型包括蠕虫、木马以及病毒。
第三方面,本申请实施例还提供一种基于特征融合的恶意软件分类设备,所述基于特征融合的恶意软件分类设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于特征融合的恶意软件分类程序,其中所述基于特征融合的恶意软件分类程序被所述处理器执行时,实现如上述所述的基于特征融合的恶意软件分类方法的步骤。
第四方面,本本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于特征融合的恶意软件分类程序,其中所述基于特征融合的恶意软件分类程序被处理器执行时,实现如上述所述的基于特征融合的恶意软件分类方法的步骤。
综上,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的一种基于特征融合的恶意软件分类方法、装置、设备及可读存储介质,本申请中通过可视化图像分类识别的方式,不需要操作者具备恶意软件领域相关知识,训练好CNN分类器后输入可视化转换后的图像特征即可进行恶意软件的分类,极大地降低了分类操作过程的难度,同时提高了分类效率;且本申请在分类识别时将单通道TF-IDF转移熵图图像以及单通道的字节码图像融合变为双通道图像输入对CNN分类器进行恶意软件分类的训练,这种方式下CNN分类器可以学习到更多的图像纹理特征,而这些图像纹理特征能够使得恶意软件样本具有更多的区分性,训练后的CNN分类器的恶意软件分类准确度也更高。
附图说明
图1为本申请一个实施例提供的基于特征融合的恶意软件分类方法的流程示意图;
图2为本申请一个实施例提供的基于特征融合的恶意软件分类方法的分类准确度图;
图3为本申请一个实施例提供的基于特征融合的恶意软件分类方法的其他衡量指标图;
图4为本申请一个实施例提供的基于特征融合的恶意软件分类方法生成TF-IDF转移熵图图像的流程示意图;
图5为本申请一个实施例提供的基于特征融合的恶意软件分类方法的CNN分类器对应的卷积神经网络架构图;
图6为本申请一个实施例提供的基于特征融合的恶意软件分类方法的恶意软件类型以及对应数量图;
图7为本申请一个实施例提供的基于特征融合的恶意软件分类装置的功能模块示意图;
图8为本申请一个实施例方案中涉及的基于特征融合的恶意软件分类设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,本申请实施例针对传统的静态分析、动态分析来分类确定恶意软件的方式,会存在分类误报或漏报、分类准确度不高、低效且耗时的不足之处,提供了一种分类准确度高、时效性高以及操作过程简易的基于特征融合的恶意软件分类方法,该方法具体包括:
步骤S10,基于预设数据集中各个恶意软件样本对应.asm文件中的操作码,生成各个恶意软件样本对应的TF-IDF转移熵图图像;
步骤S20,基于预设数据集中各个恶意软件样本对应.byte文件中的字节码,生成各个恶意软件样本对应的字节码图像;
步骤S30,将预设数据集中全部恶意软件样本对应的TF-IDF转移熵图图像和字节码图像按比例划分为测试集和训练集;
步骤S40,将训练集中各个恶意软件样本对应的TF-IDF转移熵图图像与字节码图像融合后输入至CNN分类器进行恶意软件分类的训练:
步骤S50,将测试集中各个恶意软件样本对应的TF-IDF转移熵图图像和字节码图像融合后输入至训练完成的CNN分类器进行恶意软件分类,输出各个恶意软件样本对应的恶意软件类型。
本实施例中,以恶意软件家族同源性(大部分的新型恶意软件都是在某个原有恶意软件族的基础上增加少量功能模块的变种,两者之间存在大量的复用代码,而这种代码的结构和内容的复用经过恶意软件可视化后呈现出同类恶意软件家族之间具有相似的图像纹理,不同恶意软件家族之间的图像纹理具有差异性)为原理,将恶意软件通过可视化的方式转换为图像,并通过CNN分类器提取识别可视化转换后的图像特征来对恶意软件进行家族分类,从而确定恶意软件的类型。这种可视化的方式与静态分析、动态分析不同,不需要操作者具备恶意软件领域相关知识,训练好CNN分类器后输入可视化转换后的图像特征即可进行恶意软件的分类,极大地降低了分类操作过程的难度,同时提高了分类效率。
本实施例中,对CNN分类器进行训练和分类的预设数据集采用微软2015年在Kaggle发布的竞赛数据集Big2015,包括蠕虫,木马,病毒等9个家族,分为10868个恶意软件样本.bytes文件和.asm文件。在恶意软件样本进行可视化时,会将预设数据集中全部恶意软件样本.asm文件可视化转换为TF-IDF转移熵图图像,将.bytes文件可视化转换为字节码图像。其中,字节码图像是通过恶意软件样本.bytes文件全局字节码转换而来,其表示的是恶意软件的全局结构。但文件的全局结构中,具有实际功能的代码段及函数只是占据整个字节码图像的一小部分,其忽略了恶意软件特定的语义特征,因而导致具有类似全局结构的恶意软件常常被错误地分类到同一家族,而实际上却是不同的家族。TF-IDF转移熵图图像是通过提取恶意软件样本.asm文件代码段信息,利用特征工程转换而来,其表示的是恶意软件的语义特征,代表一个恶意软件最重要的基础特征。
考虑到采用单一图像的图像纹理特征进行恶意软件分类时,其分类准确度不高,在得到预设数据集中全部恶意软件样本的TF-IDF转移熵图图像以及其字节图像后,会将预设数据集中全部恶意软件样本对应的TF-IDF转移熵图图像和字节码图像按8:2的比例对应划分为训练集和测试集。在对CNN分类器进行训练时,再将训练集中各恶意软件样本对应的单通道TF-IDF转移熵图图像以及单通道的字节码图像融合变为双通道图像输入对CNN分类器进行恶意软件分类的训练,这种方式下CNN分类器可以学习到更多的图像纹理特征,而这些图像纹理特征能够使得恶意软件样本具有更多的区分性,训练后的CNN分类器的恶意软件分类准确度也更高。
将测试集中各个恶意软件样本对应的转移熵图图像和字节码图像融合后输入至训练完成的CNN分类器进行恶意软件分类,即可输出各个恶意软件样本对应的恶意软件类型。训练好后的CNN分类器经测试集测试比对可以确定其输出的恶意软件样本类型的预测精准度,可达到98.8%的精准度,其预测的结果由图2所示,模型的其它衡量指标由图3所示。
进一步地,一实施例中,参照图4,所述步骤S10包括:
步骤S101,计算确定各个操作码在IDF语料库中的IDF权重;
步骤S102,基于各个操作码在各个恶意软件样本.asm文件中的频数之和、所有操作码在各个恶意软件样本.asm文件中的频数之和,计算确定各个操作码在各个恶意软件样本.asm文件中的概率;
步骤S103,以各个操作码在各个恶意软件样本.asm文件中的概率与各个操作码在IDF语料库中的IDF权重的乘积,作为各个操作码的TF-IDF权重;
步骤S104,选取各个恶意软件样本中从大到小排序中前n个TF-IDF权重对应的操作码,并根据前n个操作码的TF-IDF权重由大到小递增组成各个恶意软件样本对应的n×n的二维矩阵,二维矩阵中每个坐标对应一个2-garm操作码序列;
步骤S105,基于预设数据集各个恶意软件样本.asm文件中的2-garm操作码序列的频数之和,确定二维矩阵每个坐标对应2-garm操作码序列的频数值;
步骤S106,基于二维矩阵每个坐标对应2-garm操作码序列的频数值,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率;
步骤S107,基于每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值,并基于二维矩阵中每个坐标处的TF-IDF转移熵值进行灰度图像转换,生成各个恶意软件样本对应的TF-IDF转移熵图图像。
本实施例中,对恶意软件,尤其是最新的变种,加密和加壳等恶意软件,虽然其具有恶意软件家族的相似纹理,但是变种后的恶意软件中在相似纹理之外还存在一些不关键的信息,为了突出关键的恶意软件的.asm文件操作码特征信息的重要程度,降低不关键信息的干扰,方便后续使用CNN分类器进行恶意软件分类,本实施例方案会在基于预设数据集中各个恶意软件样本对应.asm文件中的操作码,可视化生成各个恶意软件样本对应的TF-IDF转移熵图图像时,结合信息熵及其TF-IDF权重降低恶意软件加密及其加壳等技术带来的干扰。
具体地,计算确定预设数据集各个恶意软件样本中各个操作码在IDF语料库中的IDF权重,此处使用的良性软件.asm文件计算各个操作码的IDF权重。此外,基于各个操作码在各个恶意软件样本.asm文件中的频数之和、所有操作码在各个恶意软件样本.asm文件中的频数之和,可以计算确定各个操作码在各个恶意软件样本.asm文件中的概率,此处使用的是恶意软件.asm文件。如操作码MOV,在单个恶意软件1.asm文件中操作码MOV出现的频数为2333,而全部的恶意软件中操作码MOV出现的频数为5232332,则MOV在单个恶意软件1.asm文件中的概率就为:2333 / 5232332。
以各个操作码在各个恶意软件样本.asm文件中的概率与各个操作码在IDF语料库中的IDF权重的乘积,作为各个操作码的TF-IDF权重。通过确定各个操作码的IDF权重以及各个操作码在各个恶意软件样本.asm文件中的概率的区别,结合确定的各个操作码的TF-IDF权重可以用于选择确定恶意软件样本.asm文件中更加关键更能代表恶意软件特征的操作码。即在得到各个操作码的TF-IDF权重之后,会选取各个恶意软件样本中从大到小排序中前n个TF-IDF权重对应的操作码,并根据前n个操作码的TF-IDF权重由大到小递增组成各个恶意软件样本对应的n×n的二维矩阵,二维矩阵中每个坐标对应一个2-garm操作码序列,2-garm操作码序列如(Mov, Mov)、(Mov, Push)、(Push, Mov)、(Push, Push)。
基于预设数据集各个恶意软件样本.asm文件中的2-garm操作码序列的频数之和,可以确定二维矩阵每个坐标对应2-garm操作码序列的频数值,再基于二维矩阵每个坐标对应2-garm操作码序列的频数值,可以计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率,如(Mov, Mov)即对应.asm文件中操作码Mov转移到Mov的转移概率。在确定每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重,即可计算得到二维矩阵中每个坐标处的TF-IDF转移熵值,并基于二维矩阵中每个坐标处的TF-IDF转移熵值进行灰度图像转换,生成各个恶意软件样本对应的TF-IDF转移熵图图像。这样生成的TF-IDF转移熵图图像中每个坐标位置的像素值均包含了当前图像坐标位置像素值的信息量(对应基于2-garm操作码序列的转移概率的计算)以及信息量的重要程度信息(对应基于各个操作码的TF-IDF权重),通过图像像素值即可区分突出恶意软件中的关键信息,抗干扰性强,即使针对最新的变种,加密和加壳等恶意软件也有较佳的分类准确度效果。
更进一步地,一实施例中,所述步骤S101包括:
确定预设数据集中各个恶意软件样本对应.asm文件中的操作码;
基于第一公式计算确定各个操作码在IDF语料库中的IDF权重,所述第一公式为:
其中,为单个操作码在IDF语料库中的IDF权重,/>为全部良性软件对应.asm文件中所有操作码的全部频数之和,/>为全部良性软件对应.asm文件中单个操作码的全部频数之和。
本实施例中,选择预设数据集中各个恶意软件样本对应.asm文件.text节中的操作码,计算确定各个操作码在IDF语料库中的IDF权重。如MOV为.asm文件.text节中的一个操作码,MOV操作码在全部的良性.asm文件中出现的频数为4222,而全部的良性.asm文件中所有操作码的总频数(也包括MOV的频数在内)为522222,则MOV操作码的IDF权重/>为522222 / 4222。
更进一步地,一实施例中,所述步骤S106包括:
将二维矩阵每个坐标对应2-garm操作码序列的频数值输入至第二公式,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率,所述第二公式为:
其中,为二维矩阵中每个坐标对应2-garm操作码序列的转移概率,/>为二维矩阵每个坐标对应2-garm操作码序列的频数值,/>为二维矩阵第x行所有列的各个坐标对应2-garm操作码序列的频数值之和,n是二维矩阵第x行对应的列总数,I = 1为二维矩阵的第一列。
本实施例中,基于二维矩阵每个坐标对应2-garm操作码序列的频数值,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率。例如,假设n(TF-IDF权重排第一和第二的操作码)为2(实际上更大),则可以组成2 * 2的矩阵,如:
[ Mov Push
Mov 1(Mov, Mov), 2 (Mov, Push)
Push 3(Push, Mov), 4 (Push, Push) ]
其中,当前二维2 * 2矩阵的坐标(1,1)位置对应的2-garm操作码序列(Mov, Mov)的频数值为1,坐标(1,2)位置对应的2-garm操作码序列(Mov, Push)的频数值为2,坐标(2,1)位置对应的2-garm操作码序列(Push, Mov)的频数值为3,坐标(2,2)位置对应的2-garm操作码序列(Push, Push)的频数值为4,则当前二维2 * 2矩阵中2-garm操作码序列(Mov,Mov)的转移概率为1 / 3,2-garm操作码序列(Mov, Push)的转移概率为2 / 3,2-garm操作码序列(Push, Mov)的转移概率为3 / 7,2-garm操作码序列(Push, Push)的转移概率为4/ 7。
更进一步地,一实施例中,所述步骤S107包括:
将二维矩阵中每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重输入至第三公式中,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值以及灰度图像转换后的二维矩阵中各个坐标处的图像像素值,生成各个恶意软件样本对应的TF-IDF转移熵图图像,所述第三公式为:
其中,为灰度图像转换后的二维矩阵中各个坐标处的图像像素值,为二维矩阵中每个坐标处的TF-IDF转移熵值,/>为二维矩阵中每个坐标对应2-garm操作码序列的转移概率,/>为二维矩阵中每行各个坐标对应2-garm操作码序列中的起始操作码的TF-IDF权重。
本实施例中,TF-IDF转移熵图图像坐标处Pix可以拆成两部分trans *(log(trans) + log(OPw) ), log(trans)表示当前像素值的信息量,log(OPw)表示当前像素值的信息量的重要程度,对应log(trans.OPw)为当前操作码的TF-IDF权重及其信息熵。其中,为二维矩阵中每行各个坐标对应2-garm操作码序列中的起始操作码的TF-IDF权重,即当前二维2 * 2矩阵中2-garm操作码序列(Mov, Mov),(Mov, Push)对应的/>取的是二维矩阵中这一行2-garm操作码序列中的起始操作码Mov的tf-idf权重用于第三公式中计算坐标(1,1),(1, 2)处的Pix图像像素值。将灰度图像中每个像素值TF-IDF转移熵值按第三公式即可转换得到0-255的图像像素值,生成可视化灰度图像。通过图像像素值即可区分突出恶意软件中的关键信息,抗干扰性强,即使针对最新的变种,加密和加壳等恶意软件也有较佳的分类准确度效果。
进一步地,一实施例中,所述步骤S20包括:
读取预设数据集中各个恶意软件.byte文件每一行对应的字节码序列;
以空格分割字节码序列中的每个字节码,并将每个字节码由十六进制代码换为十进制整数,存入预设列表中,生成字节码图像;
采用双插值算法将字节码图像尺寸缩小或放大至与TF-IDF转移熵图图像尺寸相同,得到各个恶意软件样本对应的字节码图像。
本实施例中,在基于预设数据集中各个恶意软件样本对应.byte文件中的字节码,生成各个恶意软件样本对应的字节码图像时采用B2M图片生成算法。具体地,在生成字节码图像前,会定义存放图像像素值的列表,再读取预设数据集中各个恶意软件样本对应.byte文件中每一行对应的字节码序列,以空格分割字节码序列中的每个字节码,并将将每个字节码由十六进制代码换为十进制整数,由于一个字节是由8位bit构成,因此转换为十进制整数的范围在[0,255]之间,可以直接为灰度像素值,将对应转换后的十进制整数存入预设存放图像像素值的列表中,生成字节码图像。而由于预设数据集中各个恶意软件.bytes文件大小不同,生成的字节码图像的尺寸也不同,因此本实施例方案中采用双插值算法的方式将字节码图像的尺寸缩小或放大至与TF-IDF转移熵图图像相同尺寸范围内,方便后续CNN分类器融合相同尺寸的TF-IDF转移熵图图像与字节码图像进行软件分类,进一步提高恶意软件分类的分类效率。
进一步地,一实施例中,CNN分类器对应卷积神经网络中包括三层卷积层、三层池化层、一层全连接层以及一层softmax分类器,其中,三层卷积层的卷积核尺寸为3*3,卷积核数量分别为20、50、100,并采用relu作为激活函数;三层池化层尺寸均为2*2;通过softmax分类器进行分类确定的恶意软件类型包括蠕虫、木马以及病毒在内的9种。
本实施例中,CNN分类器采用卷积神经网络来处理融合后的TF-IDF转移熵图图像与字节码图像,提取融合后的TF-IDF转移熵图图像与字节码图像的图像纹理特征。基于CNN分类器对恶意软件分类的分类效率和分类准确度需求、数据集规模和可用的计算资源的综合考虑,本实施例方案中CNN分类器采用的卷积神经网络如图5所示,包含:卷积层,池化层,激活层,全连接层。卷积层通过设置不同的卷积核可以对图像的表层,深层图像纹理特征进行提取,因此本发明中采用三层卷积层,卷积核尺寸都为3*3,卷积核数量为20,50,100,并采用Relu作为激活函数。之后通过2 *2池化层对数据进行降维,进一步筛选特征的同时,减少模型计算量,最后通过全连接层进入softmax分类器进行分类。其中,通过softmax分类器进行分类确定的恶意软件类型包括蠕虫、木马以及病毒在内的9种,具体地,采用本发明提出的可视化方式生成的图像类型及数量由图6所示。
本申请实施例还提供一种基于特征融合的恶意软件分类装置。
参照图7,基于特征融合的恶意软件分类装置第一实施例的功能模块示意图。
本实施例中,所述基于特征融合的恶意软件分类装置包括:
第一图像生成模块10,用于基于预设数据集中各个恶意软件样本对应.asm文件中的操作码,生成各个恶意软件样本对应的TF-IDF转移熵图图像;
第二图像生成模块20,用于基于预设数据集中各个恶意软件样本对应.byte文件中的字节码,生成各个恶意软件样本对应的字节码图像;
数据集划分模块30,用于将预设数据集中全部恶意软件样本对应的TF-IDF转移熵图图像和字节码图像按比例划分为测试集和训练集;
训练模块40,用于将训练集中各个恶意软件样本对应的TF-IDF转移熵图图像与字节码图像融合后输入至CNN分类器进行恶意软件分类的训练:
测试模块50,用于将测试集中各个恶意软件样本对应的TF-IDF转移熵图图像和字节码图像融合后输入至训练完成的CNN分类器进行恶意软件分类,输出各个恶意软件样本对应的恶意软件类型。
进一步地,一实施例中,所述第一图像生成模块10,具体用于:
计算确定各个操作码在IDF语料库中的IDF权重;
基于各个操作码在各个恶意软件样本.asm文件中的频数之和、所有操作码在各个恶意软件样本.asm文件中的频数之和,计算确定各个操作码在各个恶意软件样本.asm文件中的概率;
以各个操作码在各个恶意软件样本.asm文件中的概率与各个操作码在IDF语料库中的IDF权重的乘积,作为各个操作码的TF-IDF权重;
选取各个恶意软件样本中从大到小排序中前n个TF-IDF权重对应的操作码,并根据前n个操作码的TF-IDF权重由大到小递增组成各个恶意软件样本对应的n×n的二维矩阵,二维矩阵中每个坐标对应一个2-garm操作码序列;
基于预设数据集各个恶意软件样本.asm文件中的2-garm操作码序列的频数之和,确定二维矩阵每个坐标对应2-garm操作码序列的频数值;
基于二维矩阵每个坐标对应2-garm操作码序列的频数值,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率;
基于每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值,并基于二维矩阵中每个坐标处的TF-IDF转移熵值进行灰度图像转换,生成各个恶意软件样本对应的TF-IDF转移熵图图像。
进一步地,一实施例中,所述第一图像生成模块10,还具体用于:
确定预设数据集中各个恶意软件样本对应.asm文件中的操作码;
基于第一公式计算确定各个操作码在IDF语料库中的IDF权重,所述第一公式为:
其中,为单个操作码在IDF语料库中的IDF权重,/>为全部良性软件对应.asm文件中所有操作码的全部频数之和,/>为全部良性软件对应.asm文件中单个操作码的全部频数之和。
进一步地,一实施例中,所述第一图像生成模块10,还具体用于:
将二维矩阵每个坐标对应2-garm操作码序列的频数值输入至第二公式,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率,所述第二公式为:
其中,为二维矩阵中每个坐标对应2-garm操作码序列的转移概率,/>为二维矩阵每个坐标对应2-garm操作码序列的频数值,/>为二维矩阵第x行所有列的各个坐标对应2-garm操作码序列的频数值之和,n是二维矩阵第x行对应的列总数,I = 1为二维矩阵的第一列。
进一步地,一实施例中,所述第一图像生成模块10,还具体用于:
将二维矩阵中每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重输入至第三公式中,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值以及灰度图像转换后的二维矩阵中各个坐标处的图像像素值,生成各个恶意软件样本对应的TF-IDF转移熵图图像,所述第三公式为:
其中,为灰度图像转换后的二维矩阵中各个坐标处的图像像素值,为二维矩阵中每个坐标处的TF-IDF转移熵值,/>为二维矩阵中每个坐标对应2-garm操作码序列的转移概率,/>为二维矩阵中每行各个坐标对应2-garm操作码序列中的起始操作码的TF-IDF权重。
进一步地,一实施例中,所述第二图像生成模块20,具体用于:
读取预设数据集中各个恶意软件.byte文件每一行对应的字节码序列;
以空格分割字节码序列中的每个字节码,并将每个字节码由十六进制代码换为十进制整数,存入预设列表中,生成字节码图像;
采用双插值算法将字节码图像尺寸缩小或放大至与TF-IDF转移熵图图像尺寸相同,得到各个恶意软件样本对应的字节码图像。
进一步的,CNN分类器对应卷积神经网络中包括三层卷积层、三层池化层、一层全连接层以及一层softmax分类器,其中,三层卷积层的卷积核尺寸为3*3,卷积核数量分别为20、50、100,并采用relu作为激活函数;三层池化层尺寸均为2*2;通过softmax分类器进行分类确定的恶意软件类型包括蠕虫、木马以及病毒在内的9种。
其中,上述基于特征融合的恶意软件分类装置中各个模块的功能实现与上述基于特征融合的恶意软件分类方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本申请实施例提供一种基于特征融合的恶意软件分类设备,该基于特征融合的恶意软件分类设备可以是个人计算机(personal computer,PC)、笔记本电脑、服务器等具有数据处理功能的设备。
参照图8,图8为本申请实施例方案中涉及的基于特征融合的恶意软件分类设备的硬件结构示意图。本申请实施例中,基于特征融合的恶意软件分类设备可以包括处理器1001(例如中央处理器Central Processing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图8中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图8,图8中作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于特征融合的恶意软件分类程序。其中,处理器1001可以调用存储器1005中存储的基于特征融合的恶意软件分类程序,并执行本申请实施例提供的基于特征融合的恶意软件分类方法的步骤。
其中,基于特征融合的恶意软件分类程序被执行时所实现的方法可参照本申请基于特征融合的恶意软件分类方法的各个实施例,此处不再赘述。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于特征融合的恶意软件分类方法,其特征在于,所述方法包括:
基于预设数据集中各个恶意软件样本对应.asm文件中的操作码,生成各个恶意软件样本对应的TF-IDF转移熵图图像;
基于预设数据集中各个恶意软件样本对应.byte文件中的字节码,生成各个恶意软件样本对应的字节码图像;
将预设数据集中全部恶意软件样本对应的TF-IDF转移熵图图像和字节码图像按比例划分为测试集和训练集;
将训练集中各个恶意软件样本对应的TF-IDF转移熵图图像与字节码图像融合后输入至CNN分类器进行恶意软件分类的训练:
将测试集中各个恶意软件样本对应的TF-IDF转移熵图图像和字节码图像融合后输入至训练完成的CNN分类器进行恶意软件分类,输出各个恶意软件样本对应的恶意软件类型。
2.根据权利要求1所述的方法,其特征在于,所述基于预设数据集中各个恶意软件样本对应.asm文件中的操作码,生成各个恶意软件样本对应的TF-IDF转移熵图图像的步骤包括:
计算确定各个操作码在IDF语料库中的IDF权重;
基于各个操作码在各个恶意软件样本.asm文件中的频数之和、所有操作码在各个恶意软件样本.asm文件中的频数之和,计算确定各个操作码在各个恶意软件样本.asm文件中的概率;
以各个操作码在各个恶意软件样本.asm文件中的概率与各个操作码在IDF语料库中的IDF权重的乘积,作为各个操作码的TF-IDF权重;
选取各个恶意软件样本中从大到小排序中前n个TF-IDF权重对应的操作码,并根据前n个操作码的TF-IDF权重由大到小递增组成各个恶意软件样本对应的n×n的二维矩阵,二维矩阵中每个坐标对应一个2-garm操作码序列;
基于预设数据集各个恶意软件样本.asm文件中的2-garm操作码序列的频数之和,确定二维矩阵每个坐标对应2-garm操作码序列的频数值;
基于二维矩阵每个坐标对应2-garm操作码序列的频数值,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率;
基于每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值,并基于二维矩阵中每个坐标处的TF-IDF转移熵值进行灰度图像转换,生成各个恶意软件样本对应的TF-IDF转移熵图图像。
3.根据权利要求2所述的方法,其特征在于,所述计算确定各个操作码在IDF语料库中的IDF权重的步骤包括:
确定预设数据集中各个恶意软件样本对应.asm文件中的操作码;
基于第一公式计算确定各个操作码在IDF语料库中的IDF权重,所述第一公式为:
其中,为单个操作码在IDF语料库中的IDF权重,/>为全部良性软件对应.asm文件中所有操作码的全部频数之和,/>为全部良性软件对应.asm文件中单个操作码的全部频数之和。
4.根据权利要求2所述的方法,其特征在于,所述基于二维矩阵每个坐标对应2-garm操作码序列的频数值,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率的步骤包括:
将二维矩阵每个坐标对应2-garm操作码序列的频数值输入至第二公式,计算确定二维矩阵中每个坐标对应2-garm操作码序列的转移概率,所述第二公式为:
其中,为二维矩阵中每个坐标对应2-garm操作码序列的转移概率,/>为二维矩阵每个坐标对应2-garm操作码序列的频数值,/>为二维矩阵第x行所有列的各个坐标对应2-garm操作码序列的频数值之和,n是二维矩阵第x行对应的列总数,I = 1为二维矩阵的第一列。
5.根据权利要求2所述的方法,其特征在于,所述基于二维矩阵中每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值,并基于二维矩阵中每个坐标处的TF-IDF转移熵值进行灰度图像转换,生成各个恶意软件样本对应的TF-IDF转移熵图图像的步骤包括:
将二维矩阵中每个坐标对应2-garm操作码序列的转移概率以及各个操作码的TF-IDF权重输入至第三公式中,计算得到二维矩阵中每个坐标处的TF-IDF转移熵值以及灰度图像转换后的二维矩阵中各个坐标处的图像像素值,生成各个恶意软件样本对应的TF-IDF转移熵图图像,所述第三公式为:
其中,为灰度图像转换后的二维矩阵中各个坐标处的图像像素值,为二维矩阵中每个坐标处的TF-IDF转移熵值,/>为二维矩阵中每个坐标对应2-garm操作码序列的转移概率,/>为二维矩阵中每行各个坐标对应2-garm操作码序列中的起始操作码的TF-IDF权重。
6.根据权利要求1所述的方法,其特征在于,所述基于预设数据集中各个恶意软件样本对应.byte文件中的字节码,生成各个恶意软件样本对应的字节码图像的步骤包括:
读取预设数据集中各个恶意软件.byte文件每一行对应的字节码序列;
以空格分割字节码序列中的每个字节码,并将每个字节码由十六进制代码换为十进制整数,存入预设列表中,生成字节码图像;
采用双插值算法将字节码图像尺寸缩小或放大至与TF-IDF转移熵图图像尺寸相同,得到各个恶意软件样本对应的字节码图像。
7.根据权利要求1所述的方法,其特征在于:CNN分类器对应卷积神经网络中包括三层卷积层、三层池化层、一层全连接层以及一层softmax分类器,其中,三层卷积层的卷积核尺寸为3*3,卷积核数量分别为20、50、100,并采用relu作为激活函数;三层池化层尺寸均为2*2;通过softmax分类器进行分类确定的恶意软件类型包括蠕虫、木马以及病毒。
8.一种基于特征融合的恶意软件分类装置,其特征在于,所述装置包括:
第一图像生成模块,用于基于预设数据集中各个恶意软件样本对应.asm文件中的操作码,生成各个恶意软件样本对应的TF-IDF转移熵图图像;
第二图像生成模块,用于基于预设数据集中各个恶意软件样本对应.byte文件中的字节码,生成各个恶意软件样本对应的字节码图像;
数据集划分模块,用于将预设数据集中全部恶意软件样本对应的TF-IDF转移熵图图像和字节码图像按比例划分为测试集和训练集;
训练模块,用于将训练集中各个恶意软件样本对应的TF-IDF转移熵图图像与字节码图像融合后输入至CNN分类器进行恶意软件分类的训练:
测试模块,用于将测试集中各个恶意软件样本对应的TF-IDF转移熵图图像和字节码图像融合后输入至训练完成的CNN分类器进行恶意软件分类,输出各个恶意软件样本对应的恶意软件类型。
9.一种基于特征融合的恶意软件分类设备,其特征在于,所述基于特征融合的恶意软件分类设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于特征融合的恶意软件分类程序,其中所述基于特征融合的恶意软件分类程序被所述处理器执行时,实现如权利要求1至7中任一项所述的基于特征融合的恶意软件分类方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于特征融合的恶意软件分类程序,其中所述基于特征融合的恶意软件分类程序被处理器执行时,实现如权利要求1至7中任一项所述的基于特征融合的恶意软件分类方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311289964.8A CN117034274A (zh) | 2023-10-08 | 2023-10-08 | 基于特征融合的恶意软件分类方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311289964.8A CN117034274A (zh) | 2023-10-08 | 2023-10-08 | 基于特征融合的恶意软件分类方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117034274A true CN117034274A (zh) | 2023-11-10 |
Family
ID=88641536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311289964.8A Pending CN117034274A (zh) | 2023-10-08 | 2023-10-08 | 基于特征融合的恶意软件分类方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117034274A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138913A (zh) * | 2015-07-24 | 2015-12-09 | 四川大学 | 一种基于多视集成学习的恶意软件检测方法 |
CN115630358A (zh) * | 2022-07-20 | 2023-01-20 | 哈尔滨工业大学(深圳) | 一种恶意软件分类方法、装置、计算机设备及存储介质 |
CN116258917A (zh) * | 2023-05-16 | 2023-06-13 | 广东技术师范大学 | 一种基于tf-idf转移熵的恶意软件分类方法及装置 |
CN116340944A (zh) * | 2023-05-29 | 2023-06-27 | 山东省计算中心(国家超级计算济南中心) | 基于rgb图像和轻量化模型的恶意代码分类方法及系统 |
-
2023
- 2023-10-08 CN CN202311289964.8A patent/CN117034274A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138913A (zh) * | 2015-07-24 | 2015-12-09 | 四川大学 | 一种基于多视集成学习的恶意软件检测方法 |
CN115630358A (zh) * | 2022-07-20 | 2023-01-20 | 哈尔滨工业大学(深圳) | 一种恶意软件分类方法、装置、计算机设备及存储介质 |
CN116258917A (zh) * | 2023-05-16 | 2023-06-13 | 广东技术师范大学 | 一种基于tf-idf转移熵的恶意软件分类方法及装置 |
CN116340944A (zh) * | 2023-05-29 | 2023-06-27 | 山东省计算中心(国家超级计算济南中心) | 基于rgb图像和轻量化模型的恶意代码分类方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Venkatraman et al. | A hybrid deep learning image-based analysis for effective malware detection | |
CN109359439B (zh) | 软件检测方法、装置、设备及存储介质 | |
US8621626B2 (en) | Detection of code execution exploits | |
CN110765458A (zh) | 一种基于深度学习的恶意软件检测方法及其装置 | |
Obaidat et al. | Jadeite: a novel image-behavior-based approach for java malware detection using deep learning | |
CN114936371B (zh) | 基于三通道可视化和深度学习的恶意软件分类方法及系统 | |
CN112148305A (zh) | 一种应用检测方法、装置、计算机设备和可读存储介质 | |
CN112329012A (zh) | 针对包含JavaScript的恶意PDF文档的检测方法及电子设备 | |
CN112241530A (zh) | 恶意pdf文档的检测方法及电子设备 | |
Okane et al. | Malware detection: program run length against detection rate | |
Arslan et al. | AMD‐CNN: Android malware detection via feature graph and convolutional neural networks | |
EP3087527B1 (en) | System and method of detecting malicious multimedia files | |
JP2019204246A (ja) | 学習データ作成方法及び学習データ作成装置 | |
Zhu et al. | Malware homology determination using visualized images and feature fusion | |
CN108229168B (zh) | 一种嵌套类文件的启发式检测方法、系统及存储介质 | |
Vashishtha et al. | An Ensemble approach for advance malware memory analysis using Image classification techniques | |
CN111488574B (zh) | 恶意软件分类方法、系统、计算机设备和存储介质 | |
CN112257062A (zh) | 一种基于频繁项集挖掘的沙箱知识库生成方法和装置 | |
CN113762294A (zh) | 一种特征向量维度压缩方法、装置、设备、介质 | |
CN116702143A (zh) | 基于api特征的恶意软件智能检测方法 | |
CN108491718B (zh) | 一种实现信息分类的方法及装置 | |
CN111191238A (zh) | 一种webshell检测方法、终端设备及存储介质 | |
CN117034274A (zh) | 基于特征融合的恶意软件分类方法、装置、设备及介质 | |
Vahedi et al. | Cloud based malware detection through behavioral entropy | |
CN113032780A (zh) | 一种基于图像分析的Webshell检测方法、终端设备及存储介质 |
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 |