CN116258917B - 一种基于tf-idf转移熵的恶意软件分类方法及装置 - Google Patents
一种基于tf-idf转移熵的恶意软件分类方法及装置 Download PDFInfo
- Publication number
- CN116258917B CN116258917B CN202310546253.8A CN202310546253A CN116258917B CN 116258917 B CN116258917 B CN 116258917B CN 202310546253 A CN202310546253 A CN 202310546253A CN 116258917 B CN116258917 B CN 116258917B
- Authority
- CN
- China
- Prior art keywords
- malicious software
- square matrix
- coordinate
- idf
- classified
- 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
- 238000012546 transfer Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000011159 matrix material Substances 0.000 claims abstract description 107
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 230000007704 transition Effects 0.000 claims abstract description 24
- 238000012549 training Methods 0.000 claims description 25
- 238000000605 extraction Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 238000013522 software testing Methods 0.000 claims description 4
- 239000010410 layer Substances 0.000 description 19
- 238000004458 analytical method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000011176 pooling Methods 0.000 description 4
- 241000700605 Viruses Species 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 235000011475 lollipops Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002344 surface layer Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- 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/10004—Still image; Photographic image
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及网络信息安全技术领域,公开了一种基于TF‑IDF转移熵的恶意软件分类方法及装置。该方法根据良性软件数据集生成IDF语料库,对待分类恶意软件进行分类时,计算待分类恶意软件中所有操作码的权重,并选取若干个权重高的操作码为第一操作码,形成第一方阵,结合第一方阵中每个坐标的转移概率和第一操作码的权重,利用转移熵的计算方式,生成每个坐标对应的像素值,根据像素值生成待分类恶意软件对应的第一灰度图像,并利用预先训练好的恶意软件分类器,在其输入第一灰度图像,可以得到待分类恶意软件的类别。本发明可以减少信息冗余、提高图像的清晰度,在降低分类难度的同时提高了恶意软件分类的准确性和快捷性。
Description
技术领域
本发明涉及网络信息安全技术领域,特别是涉及一种基于TF-IDF转移熵的恶意软件分类方法及装置。
背景技术
随着经济社会的网络化、数字化、智能化,以恶意软件为载体的网络攻击持续增长,网络空间安全堪忧,对恶意软件的进行分类识别尤为重要。
目前,对恶意软件分类可概况分为两种方式:静态和动态,其区别在于是否运行恶意软件进行特征提取。静态方式一般无需运行恶意软件直接提取其静态特征,如二进制代码片段,操作码字符串等。但静态方式无法对0-day漏洞和变种病毒进行精准分类,且易受到混淆技术的干扰,导致分类识别率欠佳。
针对静态方式的不足,动态方式提取恶意软件运行期间产生的动态特征,如API调用序列,API调用参数或程序语义等,提升了对0-day漏洞和部分变种病毒进行分类的识别率。但动态方式的特征提取时间成本高,且无法检测到恶意软件的所有动态特征执行路径,从而导致分类准确度下降。
针对静态和动态方式对恶意软件分类的不足,可以通过恶意软件可视化方法,将恶意软件分类问题转化为图像分类问题,并借助人工智能模型对恶意软件图像纹理和图形轮廓进行溯源和同源性分析,以达到分类识别恶意软件的目的。但是相似性计算方法因其计算量大,耗时长而逐渐被当下研究人员所放弃。
现如今,结合深度学习和恶意软件图像进行分类逐渐成为恶意软件研究领域的研究热点。尽管恶意软件可视化可以将恶意软件的分类问题转化为图像的分类问题,在分类准确度上也优于传统静态方式,且能够对最新的变种病毒和0-day漏洞进行分类,在分类速度上也远远超过传统的动态方式。但是,恶意软件可视化的方法也有其不足之处:(1)采用全局熵将特征转化为像素值的方法会导致信息冗余,分类鲁棒性不好等问题,且同家族转化的图像纹理之间有差异性,影响分类准确度。(2)对恶意软件图像进行裁剪,缩小等方法生成的图像可能会导致图像信息丢失,或导致不同恶意软件家族图像纹理或图像轮廓相似性过高,进而可能导致模型过拟合等问题出现。
发明内容
本发明提供了一种基于TF-IDF转移熵的恶意软件分类方法及装置,可以减少信息冗余、提高图像的清晰度,降低分类难度,并提高了恶意软件分类的准确性和快捷性。
为了解决上述技术问题,本发明提供了一种基于TF-IDF转移熵的恶意软件分类方法,包括:
在预设的良性软件数据集中提取所有操作码,构建IDF语料库;其中,所述操作码与汇编文件中包含的程序运行中执行的指令对应;
分别计算待分类恶意软件中每个操作码在待分类恶意软件中出现的概率,记为第一词频;
结合所述IDF语料库,计算每个操作码的第一文档频率;
将待分类恶意软件中每个操作码对应的第一词频和第一文档频率相乘,得到待分类恶意软件中每个操作码的权重;
选择待分类恶意软件中权重最高的若干个操作码,形成第一操作码,并选择权重排名前n个操作码生成n*n矩阵,将所述n*n矩阵记为第一方阵;
计算所述第一方阵中每个坐标对应的转移概率,
采用如下计算公式:
其中,是第一方阵中每个坐标对应的转移概率;/>是第x行第y列的频数;/>表示第一方阵的第/>行;/>表示第一方阵的第/>列;/>是第x行的列数;/>是第x行对应所有列的频数之和;
参考信息熵的计算方式,形成转移熵公式;
利用所述转移熵公式,根据第一方阵中每个坐标对应的转移概率和第一操作码的权重,计算第一方阵中每个坐标对应的像素值;
其中,所述计算第一方阵中每个坐标对应的像素值的具体公式为:
其中,是第一方阵中每个坐标对应的像素值;/>是第一方阵中每个坐标对应的转移概率;/>是构成第一操作码的权重;
根据所述第一方阵中每个坐标对应的像素值,将第一方阵转换为第一灰度图像;
将所述第一灰度图像输入至预设的恶意软件分类器,确定所述待分类恶意软件的类别。
本发明在分类恶意软件前,根据良性软件数据集生成IDF语料库,可以提高恶意软件操作码的权重,以使恶意软件的特征更明显,从而提高分类恶意软件的简易性;对待分类恶意软件进行分类时,计算待分类恶意软件中所有操作码的权重,并选取若干个权重高的操作码为第一操作码,形成第一方阵,结合第一方阵中每个坐标的转移概率和第一操作码的权重,生成每个坐标对应的像素值,根据该方法求取的像素值可以生成图像纹理更清晰的灰度图像;根据像素值生成待分类恶意软件对应的第一灰度图像,并利用预先训练好的恶意软件分类器,在其输入第一灰度图像,可以得到待分类恶意软件的类别,降低了分析难度,也提高了分析的快捷性。
进一步地,所述在预设的良性软件数据集中提取所有操作码,构建IDF语料库,具体为:
在预设的良性软件数据集中提取所有操作码;
根据逆文档频率公式,计算所述良性软件数据集中每个操作码的IDF值,生成IDF语料库。
本发明在预设的良性软件数据集中提取所有操作码,并计算每个操作码的IDF值,可以生成IDF语料库,以便计算待分类恶意软件操作码的权重,使用良性软件数据集而不是混合良性软件和恶意软件的数据集,可以提高恶意软件操作码的权重,从而更容易分类出恶意软件。
本发明计算待分类恶意软件操作码权重的方法是利用TF-IDF算法,先计算操作码在待分类恶意软件的词频,再根据IDF语料库计算该操作码的第一文档频率,将第一词频和第一文档频率相乘即可得到待分类恶意软件操作码的权重,利用TF-IDF算法可以简单快捷地反映出操作码在整个语料库中的重要程度和相关性,提高权重计算的准确性。
本发明生成像素值的方法是在计算第一方阵中坐标对应的转移概率后,结合第一操作码权重,利用转移熵公式计算像素值。利用转移熵的计算方式生成像素值,相比于现有技术中采用全局熵的方法,可以避免出现信息冗余,分类鲁棒性不好等问题,便于后续模型训练中能提取更加完整,关键的图像特征,从而提高分类的准确度。
进一步地,根据所述第一方阵中每个坐标对应的像素值,将第一方阵转换为第一灰度图像,具体为:
根据第一方阵的大小确定第一灰度图像的图片尺寸;
根据第一方阵中每个坐标对应的像素值,确定第一灰度图像的颜色分配;
在确定第一灰度图像的图片尺寸和颜色分配后,将第一方阵转换为第一灰度图像。
本发明在生成第一方阵中各坐标的像素值后,可以根据第一方阵的大小确定灰度图像的尺寸,根据像素值确定灰度图像的颜色分布,从而将第一方阵转换为第一灰度图像,利用灰度图像对恶意软件进行分类,可以提高分类的便捷性和准确性。
进一步地,预设的恶意软件分类器,具体为:
获取预设的恶意软件数据集中的所有恶意软件样本;
将所述所有恶意软件样本都转化为对应的灰度图像;
将所有灰度图像划分为恶意软件训练集和恶意软件测试集;
利用恶意软件训练集训练分类器模型,形成恶意软件分类器;
将恶意软件测试集输入至恶意软件分类器,验证恶意软件分类器的分类结果。
本发明生成恶意软件分类器可以通过获取恶意软件数据集中的所有样本,将样本都转换成灰度图像,从而将数据集分为训练集和验证集,充分训练后形成恶意软件分类器,利用灰度图像训练分类器,可以降低分类难度,同时也提高了分类的快捷性。
进一步地,利用恶意软件训练集训练分类器模型,形成恶意软件分类器,具体为:
提取恶意软件训练集中的若干种特征;
根据所述若干种特征形成若干个类别,并将所述若干种特征记录在恶意软件分类器中。
进一步地,将所述第一灰度图像输入至预设的恶意软件分类器,确定所述待分类恶意软件的类别,具体为:
提取第一灰度图像的第一特征;
在所述恶意软件分类器中搜寻与所述第一特征匹配的第一类别;
将第一类别确定为待识别恶意软件的类别。
本发明利用训练好的恶意软件分类器对待分类恶意软件进行分类,得出待分类恶意软件的类别,无需操作者具备恶意软件领域的相关知识,仅需在恶意软件分类器导入第一灰度图像即可进行分类,极大地降低了分类难度,同时也提高了恶意软件分类的准确性和快捷性。
本发明提供了一种基于TF-IDF转移熵的恶意软件分类方法,根据良性软件数据集生成IDF语料库,对待分类恶意软件进行分类时,计算待分类恶意软件中所有操作码的权重,并选取若干个权重高的操作码为第一操作码,形成第一方阵,结合第一方阵中每个坐标的转移概率和第一操作码的权重,利用转移熵的计算方式,生成每个坐标对应的像素值,根据像素值生成待分类恶意软件对应的第一灰度图像,并利用预先训练好的恶意软件分类器,在其输入第一灰度图像,可以得到待分类恶意软件的类别,降低了分析难度,也提高了分析的快捷性。
相应的,本发明提供了一种基于TF-IDF转移熵的恶意软件分类装置,包括:提取模块、生成模块、构建模块、计算模块、转换模块和确定模块;
所述提取模块用于在预设的良性软件数据集中提取所有操作码,构建IDF语料库;其中,所述操作码与汇编文件中包含的程序运行中执行的指令对应;
所述生成模块用于分别计算待分类恶意软件中每个操作码在待分类恶意软件中出现的概率,记为第一词频;结合所述IDF语料库,计算每个操作码的第一文档频率;将待分类恶意软件中每个操作码对应的第一词频和第一文档频率相乘,得到待分类恶意软件中每个操作码的权重;
所述构建模块用于选择待分类恶意软件中权重最高的若干个操作码,形成第一操作码,并选择权重排名前n个操作码生成n*n矩阵,将所述n*n矩阵记为第一方阵;
所述计算模块用于计算所述第一方阵中每个坐标对应的转移概率,
采用如下计算公式:
其中,是第一方阵中每个坐标对应的转移概率;/>是第x行第y列的频数;/>表示第一方阵的第/>行;/>表示第一方阵的第/>列;/>是第x行的列数;/>是第x行对应所有列的频数之和;
参考信息熵的计算方式,形成转移熵公式;
利用所述转移熵公式,根据第一方阵中每个坐标对应的转移概率和第一操作码的权重,计算第一方阵中每个坐标对应的像素值;
其中,所述计算第一方阵中每个坐标对应的像素值的具体公式为:
其中,是第一方阵中每个坐标对应的像素值;/>是第一方阵中每个坐标对应的转移概率;/>是构成第一操作码的权重;
所述转换模块用于根据所述第一方阵中每个坐标对应的像素值,将第一方阵转换为第一灰度图像;
所述确定模块用于将所述第一灰度图像输入至预设的恶意软件分类器,确定所述待分类恶意软件的类别。
本发明提供了一种基于TF-IDF转移熵的恶意软件分类装置,以模块间的有机结合为基础,可以减少信息冗余、提高图像的清晰度,降低分类难度,并提高了恶意软件分类的准确性和快捷性。
附图说明
图1为本发明提供的基于TF-IDF转移熵的恶意软件分类方法的一种实施例的流程示意图;
图2为本发明提供的恶意软件分类器的一种示意图;
图3为本发明提供的训练恶意软件分类器的一种实施例的示意图;
图4为本发明提供的基于TF-IDF转移熵的恶意软件分类方法的另一种实施例的流程示意图;
图5为本发明提供的基于TF-IDF转移熵的恶意软件分类装置的一种实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的基于TF-IDF转移熵的恶意软件分类方法的一种实施例的流程示意图,该方法包括步骤101至步骤106,各步骤具体如下:
步骤101:在预设的良性软件数据集中提取所有操作码,构建IDF语料库。
在本发明第一实施例中,进一步地,在预设的良性软件数据集中提取所有操作码,构建IDF语料库,具体为:
在预设的良性软件数据集中提取所有操作码;
根据逆文档频率公式,计算所述良性软件数据集中每个操作码的IDF值,生成IDF语料库。
在本发明第一实施例中,操作码可以在软件的.asm文件中提取,其中,.asm文件又称为汇编文件,汇编文件由多个节组成,如CODE,.text等。在汇编文件的.text节中包含的是程序运行中执行的指令,从该指令中可以提取指令对应的操作码。在获取了操作码后,可以根据IDF(逆文档频率)公式,计算全部良性汇编文件操作码的IDF值。其中,IDF语料库中每个操作码的IDF值通过如下公式计算:
其中,是操作码的IDF值;N是全部良性软件汇编文件中所有操作码的全部频数之和;/>是所有的良性软件汇编文件中该操作码的全部频数之和。
根据上述公式计算出全部良性汇编文件操作码的IDF值后,构建出IDF语料库。使用良性软件数据集而不是混合良性软件和恶意软件的数据集来构建语料库,可以提高恶意软件操作码的权重,从而更容易分类出恶意软件。
步骤102:结合所述IDF语料库,生成待分类恶意软件中每个操作码的权重。
在本发明第一实施例中,进一步地,结合所述IDF语料库,生成待分类恶意软件中每个操作码的权重,具体为:
分别计算待分类恶意软件中每个操作码在待分类恶意软件中出现的概率,记为第一词频;
结合所述IDF语料库,计算每个操作码的第一文档频率;
将待分类恶意软件中每个操作码对应的第一词频和第一文档频率相乘,得到待分类恶意软件中每个操作码的权重。
在本发明实施例中,计算待分类恶意软件中每个操作码在待分类恶意软件中出现的概率,可以通过如下公式计算:
其中,是操作码在待分类恶意软件中出现的概率;/>是待分类恶意软件汇编文件中所有操作码的频数之和;/>是该操作码在待分类恶意软件中出现的频数。
计算待分类恶意软件中每个操作码的第一文档频率,可以结合IDF语料库,根据下述公式进行计算:
其中,是待分类恶意软件操作码的文档频率;N是全部良性软件汇编文件中所有操作码的全部频数之和;/>是所有的良性软件汇编文件中该操作码的全部频数之和。
在确定了待分类恶意软件操作码对应的第一词频和第一文档频率后,将两者相乘即可得到待分类恶意软件操作码的权重,具体公式为:
其中,是待分类恶意软件操作码的权重;/>是待分类恶意软件操作码的文档频率;/>是操作码在待分类恶意软件中出现的概率。
在本发明第一实施例中,是待分类恶意软件操作码的权重,由文档频率和词频相乘计算可以得到逆文档频率,将其表示为待分类恶意软件操作码的权重
步骤103:选择待分类恶意软件中权重最高的若干个操作码,形成第一操作码,并根据所述第一操作码构成第一方阵。
在本发明第一实施例中,在确定了待分类恶意软件各操作码的权重后,将各操作码按权重大小进行排列,选择权重排名前n个操作码生成n*n矩阵,将该n*n矩阵记为第一方阵,第一方阵的大小可以用于确定对应的灰度图像的大小。
步骤104:计算所述第一方阵中每个坐标对应的转移概率,并结合第一操作码的权重,生成第一方阵中每个坐标对应的像素值。
在本发明第一实施例中,进一步地,计算所述第一方阵中每个坐标对应的转移概率,具体为:
其中,是第一方阵中每个坐标对应的转移概率;/>是第x行第y列的频数;/>表示第一方阵的第/>行;/>表示第一方阵的第/>列;/>是第x行的列数;/>是第x行对应所有列的频数之和。
在本发明第一实施例中,进一步地,计算所述第一方阵中每个坐标对应的转移概率,并结合第一操作码的权重,生成第一方阵中每个坐标对应的像素值,具体为:
参考信息熵的计算方式,形成转移熵公式;
利用所述转移熵公式,根据第一方阵中每个坐标对应的转移概率和第一操作码的权重,计算第一方阵中每个坐标对应的像素值;
其中,所述计算第一方阵中每个坐标对应的像素值的具体公式为:
其中,是第一方阵中每个坐标对应的像素值;/>是第一方阵中每个坐标对应的转移概率;/>是构成第一操作码的权重。
在本发明第一实施例中,信息熵的公式为:Entropy = p * log(p),参考信息熵的计算公式,将转移概率(trans)替代信息熵公式中的p,并在信息熵公式的log内再乘以op(idf),可以形成转移熵公式。利用转移熵计算像素值可以在对信息进行保留的同时,添加了TF-IDF权重进行加权,能保留更多的像素值信息,并减少信息冗余的情况出现,便于后续模型训练中提取更加完整,关键的图像特征。
步骤105:根据所述第一方阵中每个坐标对应的像素值,将第一方阵转换为第一灰度图像。
在本发明第一实施例中,进一步地,根据所述第一方阵中每个坐标对应的像素值,将第一方阵转换为第一灰度图像,具体为:
根据第一方阵的大小确定第一灰度图像的图片尺寸;
根据第一方阵中每个坐标对应的像素值,确定第一灰度图像的颜色分配;
在确定第一灰度图像的图片尺寸和颜色分配后,将第一方阵转换为第一灰度图像。
在本发明第一实施例中,在生成第一方阵中各坐标的像素值后,可以根据第一方阵的大小确定灰度图像的尺寸,根据像素值确定灰度图像的颜色分布,从而将第一方阵转换为第一灰度图像,利用灰度图像对恶意软件进行分类,可以提高分类的便捷性和准确性。
步骤106:将所述第一灰度图像输入至预设的恶意软件分类器,确定所述待分类恶意软件的类别。
在本发明第一实施例中,进一步地,预设的恶意软件分类器,具体为:
获取预设的恶意软件数据集中的所有恶意软件样本;
将所述所有恶意软件样本都转化为对应的灰度图像;
将所有灰度图像划分为恶意软件训练集和恶意软件测试集;
利用恶意软件训练集训练分类器模型,形成恶意软件分类器;
将恶意软件测试集输入至恶意软件分类器,验证恶意软件分类器的分类结果。
在本发明第一实施例中,进一步地,利用恶意软件训练集训练分类器模型,形成恶意软件分类器,具体为:
提取恶意软件训练集中的若干种特征;
根据所述若干种特征形成若干个类别,并将所述若干种特征记录在恶意软件分类器中。
在本发明第一实施例中,生成恶意软件分类器可以通过获取恶意软件数据集中的所有样本,将样本都转换成灰度图像,从而将数据集分为训练集和验证集,充分训练后形成恶意软件分类器,利用灰度图像训练分类器,可以降低分类难度,同时也提高了分类的快捷性。
作为本发明第一实施例的一种举例,参见图2,是本发明提供的恶意软件分类器的一种示意图,恶意软件分类器采用的卷积神经网络结构包括三层卷积层,三层池化层及其两层全连接层。其中,卷积层是卷积神经网络的核心,它主要用于提取图像的表层和深层特征,可以采用第一层卷积层的卷积核数量和大小分别为20,3*3,第二层卷积层的卷积核数量和大小分别为50,3*3,第三层卷积层的卷积核数量和大小分别为100,3*3。池化层主要是用来进行特征选择和对图片进行下采样,可以采用池化层的大小为2*2,步长为2。通过卷积层和池化层的特征抽取和特征选择后将特征送入全连接层,全连接层的作用主要是减少图片的空间位置对特征的影响和对样本进行分类,两层全连接层的大小分别为1*256,1*9。最后采用softmax输出图片的类别。此外,卷积神经网络结构中每一层的输出都会通过Relu函数进行非线性转化。
作为本发明第一实施例的一种举例,参见图3,是本发明提供的训练恶意软件分类器的一种实施例的示意图,使用训练集训练恶意软件分类器,可以采用Kaggle上发布的竞赛数据集Big2015,里面含9类不同家族10868个恶意软件,其恶意软件家族类型及其数量如图3所示,横坐标是9类不同的家族,分别是Gatak、Kelihos_ver1、Kelihos_ver3、Lollipop、Obfuscator_ACY、Ramnit、Simda、Tracur和Vundo,纵坐标是数据集中这9类不同家族各自对应的数量。将恶意软件转换成灰度图像后可以得到10260张TF-IDF转移熵图,其中,图像的尺寸大小包括32×32、64×64和128×128,之后以8:2的比例将其划分为训练集和测试集,对卷积神经网络进行训练,以形成恶意软件分类器。
在本发明第一实施例中,进一步地,将所述第一灰度图像输入至预设的恶意软件分类器,确定所述待分类恶意软件的类别,具体为:
提取第一灰度图像的第一特征;
在所述恶意软件分类器中搜寻与所述第一特征匹配的第一类别;
将第一类别确定为待识别恶意软件的类别。
在本发明第一实施例中,利用训练好的恶意软件分类器对待分类恶意软件进行分类,得出待分类恶意软件的类别,无需操作者具备恶意软件领域的相关知识,仅需在恶意软件分类器导入第一灰度图像即可进行分类,极大地降低了分类难度,同时也提高了恶意软件分类的准确性和快捷性。
作为本发明第一实施例的一种举例,参见图4,是本发明提供的基于TF-IDF转移熵的恶意软件分类方法的另一种实施例的流程示意图,包括以下步骤:
步骤1:提取良性数据集全部操作码,构建IDF语料库;
步骤2:从数据集中选择样本,计算每个操作码TF(频率)值;
步骤3:生成所有样本操作码的TF-IDF权重,提取权重排名前n 个操作码生成n*n矩阵;
步骤4: 计算n*n矩阵中每个坐标的转移熵值;
步骤5:结合TF-IDF权重和转移熵值生成每个坐标对应灰度像素值;
步骤6:将n*n矩阵转换为灰度图像;
步骤7:若数据集中所有的样本均转化为灰度图像,则执行步骤8;否则,返回步骤2;
步骤8:将数据集划分为训练集和测试集,用训练集训练CNN模型,得到CNN分类器;
步骤9:将测试集输入到CNN分类器中,得到分类结果。
与现有技术相比,本发明具有以下的优点:
(1)在图像视觉分析上,通过TF-IDF算法,选取了每个样本中排名前n个的关键的操作码,以此生成的灰度图像在图像纹理上更加清晰,且家族之间的图像轮廓区异性更大。
(2)在特征提取上,采用转移熵的方法生成像素值更加能够保留样本特征信息,并减少信息冗余的情况出现,便于后续模型训练中提取更加完整,关键的图像特征。
(3)在实际操作上,本发明提供的恶意软件分类方法不需要操作者具备恶意软件领域相关知识,只需模型训练完毕后,导入样本进行分类即可,极大的降低了分析难度,同时又提高了分析的快捷性。
综上,本发明第一实施例提供了一种基于TF-IDF转移熵的恶意软件分类方法,根据良性软件数据集生成IDF语料库,对待分类恶意软件进行分类时,计算待分类恶意软件中所有操作码的权重,并选取若干个权重高的操作码为第一操作码,形成第一方阵,结合第一方阵中每个坐标的转移概率和第一操作码的权重,利用转移熵的计算方式,生成每个坐标对应的像素值,根据像素值生成待分类恶意软件对应的第一灰度图像,并利用预先训练好的恶意软件分类器,在其输入第一灰度图像,可以得到待分类恶意软件的类别。本发明可以减少信息冗余、提高图像的清晰度,在降低分类难度的同时提高了恶意软件分类的准确性和快捷性。
实施例2
参见图5,是本发明提供的基于TF-IDF转移熵的恶意软件分类装置的一种实施例的结构示意图,该装置包括提取模块201、生成模块202、构建模块203、计算模块204、转换模块205和确定模块206;
提取模块201用于在预设的良性软件数据集中提取所有操作码,构建IDF语料库;
生成模块202用于结合所述IDF语料库,生成待分类恶意软件中每个操作码的权重;
构建模块203用于选择待分类恶意软件中权重最高的若干个操作码,形成第一操作码,并根据所述第一操作码构成第一方阵;
计算模块204用于计算所述第一方阵中每个坐标对应的转移概率,并结合第一操作码的权重,生成第一方阵中每个坐标对应的像素值;
转换模块205用于根据所述第一方阵中每个坐标对应的像素值,将第一方阵转换为第一灰度图像;
确定模块206用于将所述第一灰度图像输入至预设的恶意软件分类器,确定所述待分类恶意软件的类别。
在本发明第二实施例中,进一步地,提取模块201,包括:提取单元和生成单元;
提取单元用于在预设的良性软件数据集中提取所有操作码;
生成单元用于根据逆文档频率公式,计算所述良性软件数据集中每个操作码的IDF值,生成IDF语料库。
在本发明第二实施例中,进一步地,生成模块202,包括:概率计算单元、频率计算单元和权重计算单元;
概率计算单元用于分别计算待分类恶意软件中每个操作码在待分类恶意软件中出现的概率,记为第一词频;
频率计算单元用于结合所述IDF语料库,计算每个操作码的第一文档频率;
权重计算单元用于将待分类恶意软件中每个操作码对应的第一词频和第一文档频率相乘,得到待分类恶意软件中每个操作码的权重。
在本发明第二实施例中,进一步地,转换模块205,包括:第一确定单元、第二确定单元和转换单元;
第一确定单元用于根据第一方阵的大小确定第一灰度图像的图片尺寸;
第二确定单元用于根据第一方阵中每个坐标对应的像素值,确定第一灰度图像的颜色分配;
转换单元用于在确定第一灰度图像的图片尺寸和颜色分配后,将第一方阵转换为第一灰度图像。
在本发明第二实施例中,进一步地,确定模块206,包括预设的恶意软件分类器,具体为:
获取预设的恶意软件数据集中的所有恶意软件样本;
将所述所有恶意软件样本都转化为对应的灰度图像;
将所有灰度图像划分为恶意软件训练集和恶意软件测试集;
利用恶意软件训练集训练分类器模型,形成恶意软件分类器;
将恶意软件测试集输入至恶意软件分类器,验证恶意软件分类器的分类结果。
在本发明第二实施例中,进一步地,利用恶意软件训练集训练分类器模型,形成恶意软件分类器,具体为:
提取恶意软件训练集中的若干种特征;
根据所述若干种特征形成若干个类别,并将所述若干种特征记录在恶意软件分类器中。
在本发明第二实施例中,进一步地,确定模块206,包括:特征提取单元、搜寻单元和类别确定单元;
提取单元用于提取第一灰度图像的第一特征;
搜寻单元用于在所述恶意软件分类器中搜寻与所述第一特征匹配的第一类别;
确定单元用于将第一类别确定为待识别恶意软件的类别。
综上,本发明第二实施例提供了一种基于TF-IDF转移熵的恶意软件分类装置,以模块间的有机结合为基础,根据良性软件数据集生成IDF语料库,对待分类恶意软件进行分类时,计算待分类恶意软件中所有操作码的权重,并选取若干个权重高的操作码为第一操作码,形成第一方阵,结合第一方阵中每个坐标的转移概率和第一操作码的权重,利用转移熵的计算方式,生成每个坐标对应的像素值,根据像素值生成待分类恶意软件对应的第一灰度图像,并利用预先训练好的恶意软件分类器,在其输入第一灰度图像,可以得到待分类恶意软件的类别。本发明可以减少信息冗余、提高图像的清晰度,在降低分类难度的同时提高了恶意软件分类的准确性和快捷性。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于TF-IDF转移熵的恶意软件分类方法,其特征在于,包括:
在预设的良性软件数据集中提取所有操作码,构建IDF语料库;其中,所述操作码与汇编文件中包含的程序运行中执行的指令对应;
分别计算待分类恶意软件中每个操作码在待分类恶意软件中出现的概率,记为第一词频;
结合所述IDF语料库,计算每个操作码的第一文档频率;
将待分类恶意软件中每个操作码对应的第一词频和第一文档频率相乘,得到待分类恶意软件中每个操作码的权重;
选择待分类恶意软件中权重最高的若干个操作码,形成第一操作码,并选择权重排名前n个操作码生成n*n矩阵,将所述n*n矩阵记为第一方阵;
计算所述第一方阵中每个坐标对应的转移概率,采用如下计算公式:
其中,是第一方阵中每个坐标对应的转移概率;/>是第x行第y列的频数;/>表示第一方阵的第/>行;/>表示第一方阵的第/>列;/>是第x行的列数;/>是第x行对应所有列的频数之和;
参考信息熵的计算方式,形成转移熵公式;
利用所述转移熵公式,根据第一方阵中每个坐标对应的转移概率和第一操作码的权重,计算第一方阵中每个坐标对应的像素值;
其中,所述计算第一方阵中每个坐标对应的像素值的具体公式为:
其中,是第一方阵中每个坐标对应的像素值;/>是第一方阵中每个坐标对应的转移概率;/>是构成第一操作码的权重;
根据所述第一方阵中每个坐标对应的像素值,将第一方阵转换为第一灰度图像;
将所述第一灰度图像输入至预设的恶意软件分类器,确定所述待分类恶意软件的类别。
2.根据权利要求1所述的基于TF-IDF转移熵的恶意软件分类方法,其特征在于,所述在预设的良性软件数据集中提取所有操作码,构建IDF语料库,具体为:
在预设的良性软件数据集中提取所有操作码;
根据逆文档频率公式,计算所述良性软件数据集中每个操作码的IDF值,生成IDF语料库。
3.根据权利要求1所述的基于TF-IDF转移熵的恶意软件分类方法,其特征在于,所述根据所述第一方阵中每个坐标对应的像素值,将第一方阵转换为第一灰度图像,具体为:
根据第一方阵的大小确定第一灰度图像的图片尺寸;
根据第一方阵中每个坐标对应的像素值,确定第一灰度图像的颜色分配;
在确定第一灰度图像的图片尺寸和颜色分配后,将第一方阵转换为第一灰度图像。
4.根据权利要求1所述的基于TF-IDF转移熵的恶意软件分类方法,其特征在于,所述预设的恶意软件分类器,具体为:
获取预设的恶意软件数据集中的所有恶意软件样本;
将所述所有恶意软件样本都转化为对应的灰度图像;
将所有灰度图像划分为恶意软件训练集和恶意软件测试集;
利用恶意软件训练集训练分类器模型,形成恶意软件分类器;
将恶意软件测试集输入至恶意软件分类器,验证恶意软件分类器的分类结果。
5.根据权利要求4所述的基于TF-IDF转移熵的恶意软件分类方法,其特征在于,所述利用恶意软件训练集训练分类器模型,形成恶意软件分类器,具体为:
提取恶意软件训练集中的若干种特征;
根据所述若干种特征形成若干个类别,并将所述若干种特征记录在恶意软件分类器中。
6.根据权利要求5所述的基于TF-IDF转移熵的恶意软件分类方法,其特征在于,所述将所述第一灰度图像输入至预设的恶意软件分类器,确定所述待分类恶意软件的类别,具体为:
提取第一灰度图像的第一特征;
在所述恶意软件分类器中搜寻与所述第一特征匹配的第一类别;
将第一类别确定为待识别恶意软件的类别。
7.一种基于TF-IDF转移熵的恶意软件分类装置,其特征在于,包括:提取模块、生成模块、构建模块、计算模块、转换模块和确定模块;
所述提取模块用于在预设的良性软件数据集中提取所有操作码,构建IDF语料库;其中,所述操作码与汇编文件中包含的程序运行中执行的指令对应;
所述生成模块用于分别计算待分类恶意软件中每个操作码在待分类恶意软件中出现的概率,记为第一词频;结合所述IDF语料库,计算每个操作码的第一文档频率;将待分类恶意软件中每个操作码对应的第一词频和第一文档频率相乘,得到待分类恶意软件中每个操作码的权重;
所述构建模块用于选择待分类恶意软件中权重最高的若干个操作码,形成第一操作码,并选择权重排名前n个操作码生成n*n矩阵,将所述n*n矩阵记为第一方阵;
所述计算模块用于计算所述第一方阵中每个坐标对应的转移概率,采用如下计算公式:
其中,是第一方阵中每个坐标对应的转移概率;/>是第x行第y列的频数;/>表示第一方阵的第/>行;/>表示第一方阵的第/>列;/>是第x行的列数;/>是第x行对应所有列的频数之和;
参考信息熵的计算方式,形成转移熵公式;
利用所述转移熵公式,根据第一方阵中每个坐标对应的转移概率和第一操作码的权重,计算第一方阵中每个坐标对应的像素值;
其中,所述计算第一方阵中每个坐标对应的像素值的具体公式为:
其中,是第一方阵中每个坐标对应的像素值;/>是第一方阵中每个坐标对应的转移概率;/>是构成第一操作码的权重;
所述转换模块用于根据所述第一方阵中每个坐标对应的像素值,将第一方阵转换为第一灰度图像;
所述确定模块用于将所述第一灰度图像输入至预设的恶意软件分类器,确定所述待分类恶意软件的类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310546253.8A CN116258917B (zh) | 2023-05-16 | 2023-05-16 | 一种基于tf-idf转移熵的恶意软件分类方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310546253.8A CN116258917B (zh) | 2023-05-16 | 2023-05-16 | 一种基于tf-idf转移熵的恶意软件分类方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116258917A CN116258917A (zh) | 2023-06-13 |
CN116258917B true CN116258917B (zh) | 2023-08-04 |
Family
ID=86686541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310546253.8A Active CN116258917B (zh) | 2023-05-16 | 2023-05-16 | 一种基于tf-idf转移熵的恶意软件分类方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116258917B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117034274A (zh) * | 2023-10-08 | 2023-11-10 | 广东技术师范大学 | 基于特征融合的恶意软件分类方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832020A (zh) * | 2020-06-22 | 2020-10-27 | 华中科技大学 | 一种安卓应用恶意性、恶意种族检测模型构建方法及应用 |
CN112214767A (zh) * | 2020-10-13 | 2021-01-12 | 北京理工大学 | 一种基于操作码序列的恶意软件家族分类方法 |
CN114926680A (zh) * | 2022-05-13 | 2022-08-19 | 山东省计算中心(国家超级计算济南中心) | 一种基于AlexNet网络模型的恶意软件分类方法及系统 |
CN114936371A (zh) * | 2022-05-05 | 2022-08-23 | 贵州大学 | 基于三通道可视化和深度学习的恶意软件分类方法及系统 |
-
2023
- 2023-05-16 CN CN202310546253.8A patent/CN116258917B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832020A (zh) * | 2020-06-22 | 2020-10-27 | 华中科技大学 | 一种安卓应用恶意性、恶意种族检测模型构建方法及应用 |
CN112214767A (zh) * | 2020-10-13 | 2021-01-12 | 北京理工大学 | 一种基于操作码序列的恶意软件家族分类方法 |
CN114936371A (zh) * | 2022-05-05 | 2022-08-23 | 贵州大学 | 基于三通道可视化和深度学习的恶意软件分类方法及系统 |
CN114926680A (zh) * | 2022-05-13 | 2022-08-19 | 山东省计算中心(国家超级计算济南中心) | 一种基于AlexNet网络模型的恶意软件分类方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116258917A (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108052911B (zh) | 基于深度学习的多模态遥感影像高层特征融合分类方法 | |
CN110765458A (zh) | 一种基于深度学习的恶意软件检测方法及其装置 | |
CN107908963A (zh) | 一种自动化检测恶意代码核心特征方法 | |
CN107609399A (zh) | 基于nin神经网络的恶意代码变种检测方法 | |
CN108959474B (zh) | 实体关系提取方法 | |
CN110991549A (zh) | 一种针对图像数据的对抗样本生成方法及系统 | |
CN116258917B (zh) | 一种基于tf-idf转移熵的恶意软件分类方法及装置 | |
Li et al. | Towards photo-realistic visible watermark removal with conditional generative adversarial networks | |
CN111680506A (zh) | 数据库表的外键映射方法、装置、电子设备和存储介质 | |
CN110826056A (zh) | 一种基于注意力卷积自编码器的推荐系统攻击检测方法 | |
CN110580458A (zh) | 结合多尺度残差式cnn和sru的乐谱图像识别方法 | |
CN112214623A (zh) | 一种面向图文样本的高效监督图嵌入跨媒体哈希检索方法 | |
CN114881698A (zh) | 广告合规审核方法、装置、电子设备及存储介质 | |
CN111833310A (zh) | 一种基于神经网络架构搜索的表面缺陷分类方法 | |
CN115329120A (zh) | 一种知识图谱嵌入注意力机制的弱标注哈希图像检索架构 | |
CN112884061A (zh) | 一种基于参数优化元学习的恶意软件家族分类方法 | |
CN116975864A (zh) | 恶意代码检测方法、装置、电子设备及存储介质 | |
CN113836297B (zh) | 文本情感分析模型的训练方法及装置 | |
CN105205487A (zh) | 一种图片处理方法及装置 | |
CN115331004A (zh) | 一种基于有意义学习的零样本语义分割方法及装置 | |
CN111598075A (zh) | 图片生成方法、设备及可读存储介质 | |
CN114861178B (zh) | 一种基于改进b2m算法的恶意代码检测引擎设计方法 | |
Luo et al. | ICDAR 2023 Competition on Detecting Tampered Text in Images | |
CN115828248B (zh) | 基于可解释性深度学习的恶意代码检测方法及装置 | |
CN115146596B (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 |