CN114861178A - 一种基于改进b2m算法的恶意代码检测引擎设计方法 - Google Patents
一种基于改进b2m算法的恶意代码检测引擎设计方法 Download PDFInfo
- Publication number
- CN114861178A CN114861178A CN202210440338.3A CN202210440338A CN114861178A CN 114861178 A CN114861178 A CN 114861178A CN 202210440338 A CN202210440338 A CN 202210440338A CN 114861178 A CN114861178 A CN 114861178A
- Authority
- CN
- China
- Prior art keywords
- image
- detection engine
- training
- sample
- algorithm
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 114
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013461 design Methods 0.000 title claims abstract description 19
- 238000013528 artificial neural network Methods 0.000 claims abstract description 31
- 238000010801 machine learning Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000007635 classification algorithm Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims description 68
- 238000013256 Gubra-Amylin NASH model Methods 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 230000003321 amplification Effects 0.000 claims description 3
- 230000006872 improvement Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 238000013135 deep learning Methods 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 230000000007 visual effect Effects 0.000 abstract description 2
- 238000012800 visualization Methods 0.000 description 8
- 238000011160 research Methods 0.000 description 5
- 238000012706 support-vector machine Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000013526 transfer learning 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Virology (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于改进B2M算法的恶意代码检测引擎设计方法,属于信息安全技术领域。本发明结合了深度学习和机器学习的优势,设计了基于残差神经网络和基于传统机器学习分类算法共两种恶意代码检测引擎,并提出了改进的B2M算法实现了可视化处理,有利于主动检测和防御未知的恶意代码及其家族变种,拥有快速检测、高精度等优点;通过使用优化的生成对抗网络生成补充的代码图像样本对检测引擎进行再训练,有利于解决小样本问题,并帮助检测引擎提前学习到数据样本的分布特征,有利于提高检测引擎的性能指标。
Description
技术领域
本发明属于信息安全技术领域,具体涉及一种基于改进B2M算法的恶意代码检测引擎设计方法。
背景技术
在信息化时代,随着网络攻击技术的不断发展,信息安全领域的战略地位和重要性受到了越来越显著的关注,而在诸多网络安全事件中,恶意软件入侵和攻击的局势尤为险峻。
目前常用的恶意代码检测方法主要是基于静态分析和动态分析实现的,前者不需要实际执行程序,而是通过分析软件的语法语义特征或者反汇编二进制文件来寻找关键的代码,从而实现对恶意软件的静态特征和功能模块的分析检查,后者通常在真实设备或沙箱环境中实际运行被分析的程序,通过工具监控程序的运行状态并收集有效的数据和行为信息从而达到检测的目的。静态分析方法虽然具有不受环境限制、简单易实现、资源消耗低等优点,但是其分析不够准确、误报率比较高,动态分析方法虽然能够提高检测的安全性,但是消耗的时间和资源较高。伴随着恶意软件数量及其变种的快速发展,仅靠传统的检测方法已经不足以适应恶意代码在进化或传播过程中被修改或变形的情况,所以急需寻求并发展新的应对途径,来实现对于新的恶意代码及其未知变种的主动检测和防御。
近年来,智能化技术的发展十分迅速,出现了许多基于深度学习的恶意软件分类方法,与传统的检测方法相比,使用深度学习进行检测不需要太多的限制条件和领域知识,同时也有学者将计算机视觉技术应用到恶意代码的研究中,并分析了恶意代码家族可视化后图像纹理特征之间的异同。因此,结合深度学习和可视化技术的研究,基于图像纹理的恶意代码检测方法被提出,但是就目前的研究而言,该方法还面临着训练样本数据集不足、分类准确率不高的问题,所以探寻更加合适的方案来解决上述问题成为需要研究和思考的重要方向之一。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种恶意代码检测引擎设计方法,来实现对未知恶意代码及其变种的主动检测和防御,以及减轻恶意代码分析人员的专业领域知识的学习压力,并解决检测引擎训练过程中训练样本数据集不足的问题,尽可能提高检测引擎的分类准确率。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于改进B2M算法的恶意代码检测引擎设计方法,包括以下步骤:
S1、分别获取良性和恶意的二进制文件;
S2、使用改进的B2M算法把良性和恶意的二进制文件分别映射为等长、等宽的正方形代码灰度图像,然后分别对转换后得到的正方形代码灰度图像数据集进行预处理;
S3、将预处理得到的两种正方形代码灰度图像数据集分别进行如下处理:划分为训练集和测试集,将良性二进制文件生成的训练集作为输入,训练基于机器学习分类算法设计的检测引擎,将恶意二进制文件生成的训练集作为输入,训练基于残差神经网络设计的检测引擎;
S4、使用同一测试集评估两种检测引擎的性能指标;
S5、基于恶意的二进制文件生成的正方形代码灰度图像数据集,利用优化后的生成对抗网络GAN模型生成补充的图像样本;
S6、对两种检测引擎进行再训练;
S7、再次使用同一测试集评估使用优化后的生成对抗网络模型丰富图像样本前、后的两种检测引擎的性能指标,观察是否对检测引擎的性能起到了增强效果。
优选地,步骤S1包括:采集恶意的二进制文件,以及利用爬虫技术获取良性二进制文件,然后利用分析技术对获取的二进制文件样本进行筛选和过滤,最终得到符合条件的二进制文件。
优选地,步骤S2包括:
将输入的恶意和良性的两种二进制文件的内容分别进行如下的处理:
按字节分割转化为十六进制字节串;
对所述十六进制字节串进行转化,得到一维数组;
将所述一维数组转化为长宽相等的二维数组,其中,对于转换过程中长度不足的文件末尾用0填充;
把得到的二维数组转化为uint8类型,并存储为图像,然后使用图像插值算法将图像统一为固定的尺寸大小,最终得到符合训练要求的正方形代码灰度图像数据集。
优选地,所述使用图像插值算法将图像统一为固定的尺寸大小,具体为:
给定要输出的尺寸大小,然后批量输入图像的样本,当图像的样本的尺寸大于给定尺寸时,使用区域插值算法对其进行缩小处理,当图像的样本的尺寸小于给定尺寸时,使用三线性插值算法对其进行放大处理,最后对统一尺寸的图像进行随机旋转处理。
优选地,步骤S3中,所述训练基于机器学习分类算法设计的检测引擎,具体为:
使用灰度共生矩阵算法GLCM提取良性代码图像样本的纹理特征,然后将提取得到的纹理特征向量作为分类神经网络的输入,训练得到可以进行分类的检测引擎;
步骤S3中,所述训练基于残差神经网络设计的检测引擎,具体为:
利用残差神经网络自适应学习的特点来对恶意代码图像样本进行纹理特征提取,并将提取得到的纹理特征向量作为输入完成检测引擎的训练。
优选地,步骤S5具体为:借鉴CGAN、DCGAN和ACGAN对GAN模型的改进思路,使用步骤S3提取的两种纹理特征向量作为约束条件来控制GAN模型的生成方向,并利用神经网络来设计生成器和判别器,经过反复地迭代训练,最终获得所需的图像样本作为补充的图像样本。
优选地,步骤S6具体为:把步骤S5中生成的补充的图像样本添加到训练集中,然后分别对基于传统机器学习分类算法设计的检测引擎和基于残差神经网络设计的检测引擎重新进行训练。
优选地,步骤S3在基于机器学习分类算法设计的检测引擎的训练过程中,首先使用图像纹理特征提取算法,来提取图像数据集的纹理特征并保存为pkl文件,然后将从测试集中提取的特征和相应的分类属性标签作为输入分别训练SVM、MLP、RF、KNN、ET、NB共六种分类器,最后把从测试集中提取的特征作为输入,使用训练好的分类器作为检测引擎对其进行分类,并获得评估检测引擎的性能指标。
优选地,步骤S5中生成的补充的图像样本是接近真实恶意图像样本的补充图像样本,其过程为:首先选取恶意代码图像样本作为原始的真实样本,然后使用随机噪声和约束条件作为生成器的输入,来生成接近真实样本的生成样本,将生成样本和真实样本同时送入判别器中来获取损失函数值,最后通过生成器和判别器之间的博弈对抗训练迭代多次,得到最终的补充图像样本数据集。
优选地,步骤S6中,把GAN模型生成的接近真实恶意样本图像的补充样本图像添加到训练集中,对分类器SVM、MLP、RF、KNN、ET、NB,基于残差神经网络的检测引擎共七个检测引擎使用同样的方式进行再训练,并获取相关性能指标。
(三)有益效果
本发明提供的基于改进B2M算法的恶意代码检测引擎设计方法,结合了深度学习和机器学习的优势,设计了基于残差神经网络和基于传统机器学习分类算法共两种恶意代码检测引擎,并提出了改进的B2M算法实现了可视化处理,有利于主动检测和防御未知的恶意代码及其家族变种,拥有快速检测、高精度等优点;通过使用优化的生成对抗网络生成补充的代码图像样本对检测引擎进行再训练,有利于解决小样本问题,并帮助检测引擎提前学习到数据样本的分布特征,有利于提高检测引擎的性能指标。
附图说明
图1为本发明提供的基于改进B2M算法的恶意代码检测引擎设计方法的流程图;
图2为本发明提供的基于改进B2M算法的恶意代码检测模型整体框架设计图;
图3为本发明提供的改进B2M算法的原理图;
图4为本发明提供的优化的生成对抗网络模型的结构图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提供了一种基于改进B2M算法的恶意代码检测引擎设计方法,以图像处理和深度学习技术作为理论基础,设计了可视化、检测引擎、生成对抗网络在内的技术处理方案,其基本思想是:首先使用改进的B2M算法对二进制文件进行代码可视化以及图像预处理操作,得到合适的代码图像数据集,然后分别使用基于传统机器学习分类算法和基于残差神经网络的检测引擎进行训练和分类检测,最后为了解决检测模型训练过程中需要大量数据样本的问题,使用生成对抗网络去生成接近真实恶意样本图像的补充样本数据集,对检测引擎进行再训练,并预期能提高检测引擎的性能指标,实现对检测模型的增强效果。
参考图1,本发明的技术方案具体包括如下步骤:
S1、分别获取良性和恶意的二进制文件;
S2、使用改进的B2M算法把良性和恶意的二进制文件分别映射为等长、等宽的正方形代码灰度图像,然后分别对转换后得到的正方形代码灰度图像数据集进行预处理;
S3、将预处理得到的两种正方形代码灰度图像数据集分别进行如下处理:划分为训练集和测试集,将良性二进制文件生成的训练集作为输入,训练基于机器学习分类算法设计的检测引擎,将恶意二进制文件生成的训练集作为输入,训练基于残差神经网络设计的检测引擎;
S4、使用同一测试集评估两种检测引擎的性能指标;
S5、基于恶意的二进制文件生成的正方形代码灰度图像数据集,利用优化后的生成对抗网络模型(GAN模型)生成补充的图像样本;
S6、对两种检测引擎进行再训练;
S7、再次使用同一测试集评估使用GAN模型丰富图像样本前、后的两种检测引擎的性能指标,观察是否对检测引擎的性能起到了增强效果。
其中,步骤S1包括:
采集恶意的二进制文件,以及利用爬虫技术获取良性二进制文件,然后结合一些分析技术(如脱壳、数据清洗等)对获取的二进制文件样本进行筛选和过滤,最终得到符合条件的二进制文件;
其中,步骤S2包括:
将输入的恶意和良性的两种二进制文件的内容分别进行如下的处理:
按字节分割转化为十六进制字节串;
对所述十六进制字节串进行转化,得到一维数组;
将所述一维数组转化为长宽相等的二维数组,其中,对于转换过程中长度不足的文件末尾用0填充;为了训练分类器(作为检测引擎),需要对输入进行批量处理,因此在此处对B2M算法进行了改进,即,对转化后图像不足的部分采用末尾添0法填充;
把得到的二维数组转化为uint8类型,并存储为图像,然后使用图像插值算法将图像统一为固定的尺寸大小,最终得到符合训练要求的正方形代码灰度图像数据集。
进一步地,所述使用图像插值算法将图像统一为固定的尺寸大小,具体为:
给定要输出的尺寸大小,然后批量输入图像的样本,当图像的样本的尺寸大于给定尺寸时,使用区域插值算法对其进行缩小处理,当图像的样本的尺寸小于给定尺寸时,使用三线性插值算法对其进行放大处理,最后对统一尺寸的图像进行随机旋转等处理。此处,对B2M算法的改进之处还在于使用区域插值与三线性插值结合的算法对图像进行缩放处理。
其中,步骤S3中,所述训练基于机器学习分类算法设计的检测引擎,具体为:
使用灰度共生矩阵算法GLCM提取经过可视化和预处理后的良性代码图像样本的纹理特征,然后将提取得到的纹理特征向量作为分类神经网络的输入,训练得到可以进行分类的检测引擎;
其中,步骤S3中,所述训练基于残差神经网络设计的检测引擎,具体为:
利用残差神经网络自适应学习的特点来对恶意代码图像样本进行纹理特征提取,并将提取得到的纹理特征向量作为输入完成检测引擎的训练。
其中,步骤S5具体为:
借鉴CGAN、DCGAN和ACGAN对GAN模型的改进思路,使用步骤S3提取的两种纹理特征向量作为约束条件来控制GAN模型的生成方向,并利用神经网络来设计生成器和判别器,经过反复地迭代训练,最终获得所需的图像样本作为补充的图像样本。其中,借鉴CGAN设计了控制模型生成图像的方向,借鉴DCGAN使用了神经网络的设计来提高模型学习和生成的效率,借鉴ACGAN设计了模型的整体结构。
其中,步骤S6具体为:
把步骤S5中生成的补充的图像样本添加到训练集中,然后分别对基于传统机器学习分类算法设计的检测引擎和基于残差神经网络设计的检测引擎重新进行训练。
其中,步骤S7具体为:
对比使用GAN模型丰富图像样本前、后的两种检测引擎的性能指标的变化情况,包含混淆矩阵、准确率、精确率、召回率、F1值等,验证能否使用GAN模型生成的补充图像样本来实现对检测引擎性能的增强。
本发明提出的一种基于改进B2M算法的恶意代码检测引擎设计方法,其模型整体框架设计如图2所示,基本思想是:首先使用改进的B2M算法将二进制文件可视化为等长等宽的正方形代码灰度图像,然后对转换后获得的图像数据集进行预处理操作,将其调整为统一的合适大小并对其进行增强,最后得到由256×256个像素点组成的代码图像数据集,这样就完成了可视化处理。接着,将良性和恶意的代码图像数据集按照预期比例4:1划分为训练集和测试集,对检测引擎进行训练,并评估初次检测器的性能指标。其中本模型中的检测引擎设计分为两部分,分别是基于传统机器学习分类算法的检测引擎和基于残差神经网络的检测引擎,利用神经网络分类器的自学习能力,可以极大地节约人工成本,无需大量的专业分析人员,只需要训练好的检测引擎即可,同时还能通过同一恶意代码家族之间纹理的相似性发现该家族未知的代码变种。最后,为了解决检测模型训练过程中需要大量的数据样本的难题,利用生成对抗网络去生成接近真实恶意样本图像的生成样本数据集,将其作为补充样本加入到训练集合中对检测引擎进行再训练,一方面期望解决小样本问题,提高检测引擎的性能指标,另一方面借助GAN的对抗生成能力有可能得到与某个未知恶意代码图像类似的图像纹理特征,从而有助于发现未知的恶意代码,预期得到对整个模型的增强效果。
本发明提供的一种基于改进B2M算法的恶意代码检测引擎设计模型共包含六个实验阶段,分别是数据准确阶段、可视化阶段、检测引擎训练阶段、GAN模型训练阶段、再训练阶段、验证评估阶段,下面对每个阶段的功能及实现方法进行详细描述。
(1)数据准备阶段(步骤S1)
数据准备阶段主要是采集实验所需的数据样本集用于模型的训练和验证,考虑到恶意代码的类型多种多样,每种类型又可以划分为不同的格式,而目前网上提供的恶意代码数据集获取难、数量有限,所以恶意代码数据集预计选取目前公开的供科学研究的可获取的数据集,良性代码数据集的选取则预期应用爬虫技术,并结合各大网站信息进行收集、选取、过滤,从而得到所需的良性样本集合。
(2)步骤S2中的可视化阶段
可视化阶段使用改进的B2M算法进行实现,其原理如图3所示,具体来说,首先将输入的文件内容按字节分割读作一个八位无符号整数的向量(十六进制字节串),然后将其转化为一维数组,接着考虑到后续模型的训练问题,为了减少网络的学习成本,方便每一批次的训练,将一维数组转化为长宽相等的二维数组,其中对于转换过程中长度不足的文件末尾用0填充,然后将得到的二维数组转化为uint8类型,存储图像,最后使用图像插值算法将其统一为固定的尺寸大小。
(3)检测引擎训练阶段(步骤S3)
在基于机器学习分类算法设计的检测引擎的训练过程中,首先使用图像纹理特征提取算法如GLCM等,来提取图像数据集的纹理特征并保存为pkl文件,然后将从测试集中提取的特征和相应的分类属性标签作为输入分别训练SVM、MLP、RF、KNN、ET、NB共六种分类器,最后把从测试集中提取的特征作为输入,使用训练好的分类器作为检测引擎对其进行分类,并获得混淆矩阵、准确率、精确率、召回率、F1值等评估检测引擎的性能指标。
在基于残差神经网络设计的检测引擎的训练中,利用神经网络训练学习的特点来实现对图像特征的提取,同时为了解决训练样本不够多的问题,可以考虑使用迁移学习的方式对检测引擎进行预训练,然后将图像样本训练集作为分类器的输入,并迭代训练多次直到获取准确率较高的检测引擎,最后使用训练好的检测引擎对测试集进行分类检测,并获取相关性能指标。
(4)GAN模型训练阶段(步骤S5)
GAN模型训练阶段主要是用于生成接近真实恶意样本图像的补充样本图像,其结构如图4所示,基本过程为:首先需要选取恶意代码图像样本作为原始的真实样本,然后使用随机噪声和约束条件作为生成器的输入,来生成接近真实样本的生成样本,将生成样本和真实样本同时送入判别器中来获取损失函数值,最后通过生成器和判别器之间的博弈对抗训练迭代多次,得到最终的补充图像样本数据集。
(5)再训练阶段(步骤S6)
再训练阶段用于验证GAN模型生成的补充图像样本是否能够帮助解决小样本问题,以及是否能够对检测器的性能起到增强的作用。把GAN模型生成的接近真实恶意样本图像的补充样本图像添加到训练集中,对上述的SVM、MLP、RF、KNN、ET、NB、基于残差神经网络的检测引擎共七个检测引擎使用同样的方式进行再训练,并获取相关性能指标。
(6)验证评估阶段(步骤S7)
验证评估阶段主要是根据实验获得的检测引擎性能指标等数据来进行对比分析,其中指标对比主要包括以下四个部分:
比较本发明中的检测引擎与常见的扫描引擎之间的性能指标;
比较基于残差神经网络设计的检测引擎与基于机器学习分类算法设计的检测引擎之间的性能指标;
比较基于残差神经网络设计的检测引擎在添加用GAN模型生成的补充图像样本前后的性能指标;
比较基于机器学习分类算法设计的检测引擎在添加用GAN模型生成的补充图像样本前后的性能指标。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于改进B2M算法的恶意代码检测引擎设计方法,其特征在于,包括以下步骤:
S1、分别获取良性和恶意的二进制文件;
S2、使用改进的B2M算法把良性和恶意的二进制文件分别映射为等长、等宽的正方形代码灰度图像,然后分别对转换后得到的正方形代码灰度图像数据集进行预处理;
S3、将预处理得到的两种正方形代码灰度图像数据集分别进行如下处理:划分为训练集和测试集,将良性二进制文件生成的训练集作为输入,训练基于机器学习分类算法设计的检测引擎,将恶意二进制文件生成的训练集作为输入,训练基于残差神经网络设计的检测引擎;
S4、使用同一测试集评估两种检测引擎的性能指标;
S5、基于恶意的二进制文件生成的正方形代码灰度图像数据集,利用优化后的生成对抗网络GAN模型生成补充的图像样本;
S6、对两种检测引擎进行再训练;
S7、再次使用同一测试集评估使用优化后的生成对抗网络模型丰富图像样本前、后的两种检测引擎的性能指标,观察是否对检测引擎的性能起到了增强效果。
2.如权利要求1所述的方法,其特征在于,步骤S1包括:采集恶意的二进制文件,以及利用爬虫技术获取良性二进制文件,然后利用分析技术对获取的二进制文件样本进行筛选和过滤,最终得到符合条件的二进制文件。
3.如权利要求2所述的方法,其特征在于,步骤S2包括:
将输入的恶意和良性的两种二进制文件的内容分别进行如下的处理:
按字节分割转化为十六进制字节串;
对所述十六进制字节串进行转化,得到一维数组;
将所述一维数组转化为长宽相等的二维数组,其中,对于转换过程中长度不足的文件末尾用0填充;
把得到的二维数组转化为uint8类型,并存储为图像,然后使用图像插值算法将图像统一为固定的尺寸大小,最终得到符合训练要求的正方形代码灰度图像数据集。
4.如权利要求3所述的方法,其特征在于,所述使用图像插值算法将图像统一为固定的尺寸大小,具体为:
给定要输出的尺寸大小,然后批量输入图像的样本,当图像的样本的尺寸大于给定尺寸时,使用区域插值算法对其进行缩小处理,当图像的样本的尺寸小于给定尺寸时,使用三线性插值算法对其进行放大处理,最后对统一尺寸的图像进行随机旋转处理。
5.如权利要求4所述的方法,其特征在于,步骤S3中,所述训练基于机器学习分类算法设计的检测引擎,具体为:
使用灰度共生矩阵算法GLCM提取良性代码图像样本的纹理特征,然后将提取得到的纹理特征向量作为分类神经网络的输入,训练得到可以进行分类的检测引擎;
步骤S3中,所述训练基于残差神经网络设计的检测引擎,具体为:
利用残差神经网络自适应学习的特点来对恶意代码图像样本进行纹理特征提取,并将提取得到的纹理特征向量作为输入完成检测引擎的训练。
6.如权利要求5所述的方法,其特征在于,步骤S5具体为:借鉴CGAN、DCGAN和ACGAN对GAN模型的改进思路,使用步骤S3提取的两种纹理特征向量作为约束条件来控制GAN模型的生成方向,并利用神经网络来设计生成器和判别器,经过反复地迭代训练,最终获得所需的图像样本作为补充的图像样本。
7.如权利要求6所述的方法,其特征在于,步骤S6具体为:把步骤S5中生成的补充的图像样本添加到训练集中,然后分别对基于传统机器学习分类算法设计的检测引擎和基于残差神经网络设计的检测引擎重新进行训练。
8.如权利要求7所述的方法,其特征在于,步骤S3在基于机器学习分类算法设计的检测引擎的训练过程中,首先使用图像纹理特征提取算法,来提取图像数据集的纹理特征并保存为pkl文件,然后将从测试集中提取的特征和相应的分类属性标签作为输入分别训练SVM、MLP、RF、KNN、ET、NB共六种分类器,最后把从测试集中提取的特征作为输入,使用训练好的分类器作为检测引擎对其进行分类,并获得评估检测引擎的性能指标。
9.如权利要求8所述的方法,其特征在于,步骤S5中生成的补充的图像样本是接近真实恶意图像样本的补充图像样本,其过程为:首先选取恶意代码图像样本作为原始的真实样本,然后使用随机噪声和约束条件作为生成器的输入,来生成接近真实样本的生成样本,将生成样本和真实样本同时送入判别器中来获取损失函数值,最后通过生成器和判别器之间的博弈对抗训练迭代多次,得到最终的补充图像样本数据集。
10.如权利要求9所述的方法,其特征在于,步骤S6中,把GAN模型生成的接近真实恶意样本图像的补充样本图像添加到训练集中,对分类器SVM、MLP、RF、KNN、ET、NB,基于残差神经网络的检测引擎共七个检测引擎使用同样的方式进行再训练,并获取相关性能指标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210440338.3A CN114861178B (zh) | 2022-04-25 | 2022-04-25 | 一种基于改进b2m算法的恶意代码检测引擎设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210440338.3A CN114861178B (zh) | 2022-04-25 | 2022-04-25 | 一种基于改进b2m算法的恶意代码检测引擎设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114861178A true CN114861178A (zh) | 2022-08-05 |
CN114861178B CN114861178B (zh) | 2024-03-29 |
Family
ID=82633934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210440338.3A Active CN114861178B (zh) | 2022-04-25 | 2022-04-25 | 一种基于改进b2m算法的恶意代码检测引擎设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861178B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272303A (zh) * | 2023-09-27 | 2023-12-22 | 四川大学 | 一种基于遗传对抗的恶意代码样本变体生成方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609399A (zh) * | 2017-09-09 | 2018-01-19 | 北京工业大学 | 基于nin神经网络的恶意代码变种检测方法 |
CN107908963A (zh) * | 2018-01-08 | 2018-04-13 | 北京工业大学 | 一种自动化检测恶意代码核心特征方法 |
KR20190040755A (ko) * | 2017-10-11 | 2019-04-19 | 한국전자통신연구원 | 파일 이미지를 이용한 악성코드 탐지 방법 및 이를 위한 장치 |
KR20190072074A (ko) * | 2017-12-15 | 2019-06-25 | 서강대학교산학협력단 | 악성 코드 검출 방법 및 시스템 |
CN110704842A (zh) * | 2019-09-27 | 2020-01-17 | 山东理工大学 | 一种恶意代码家族分类检测方法 |
US20200285893A1 (en) * | 2019-03-05 | 2020-09-10 | Sga Solutions Co., Ltd. | Exploit kit detection system based on the neural network using image |
CN111832019A (zh) * | 2020-06-10 | 2020-10-27 | 国家计算机网络与信息安全管理中心 | 基于生成对抗网络的恶意代码检测方法 |
CN112182577A (zh) * | 2020-10-14 | 2021-01-05 | 哈尔滨工程大学 | 一种基于深度学习的安卓恶意代码检测方法 |
CN112989339A (zh) * | 2021-02-24 | 2021-06-18 | 西安理工大学 | 一种基于机器学习的gcc编译器恶意代码入侵检测方法 |
-
2022
- 2022-04-25 CN CN202210440338.3A patent/CN114861178B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609399A (zh) * | 2017-09-09 | 2018-01-19 | 北京工业大学 | 基于nin神经网络的恶意代码变种检测方法 |
KR20190040755A (ko) * | 2017-10-11 | 2019-04-19 | 한국전자통신연구원 | 파일 이미지를 이용한 악성코드 탐지 방법 및 이를 위한 장치 |
KR20190072074A (ko) * | 2017-12-15 | 2019-06-25 | 서강대학교산학협력단 | 악성 코드 검출 방법 및 시스템 |
CN107908963A (zh) * | 2018-01-08 | 2018-04-13 | 北京工业大学 | 一种自动化检测恶意代码核心特征方法 |
US20200285893A1 (en) * | 2019-03-05 | 2020-09-10 | Sga Solutions Co., Ltd. | Exploit kit detection system based on the neural network using image |
CN110704842A (zh) * | 2019-09-27 | 2020-01-17 | 山东理工大学 | 一种恶意代码家族分类检测方法 |
CN111832019A (zh) * | 2020-06-10 | 2020-10-27 | 国家计算机网络与信息安全管理中心 | 基于生成对抗网络的恶意代码检测方法 |
CN112182577A (zh) * | 2020-10-14 | 2021-01-05 | 哈尔滨工程大学 | 一种基于深度学习的安卓恶意代码检测方法 |
CN112989339A (zh) * | 2021-02-24 | 2021-06-18 | 西安理工大学 | 一种基于机器学习的gcc编译器恶意代码入侵检测方法 |
Non-Patent Citations (2)
Title |
---|
闫佳;闫佳;聂楚江;苏璞睿;: "基于遗传算法的恶意代码对抗样本生成方法", 电子与信息学报, no. 09, 15 September 2020 (2020-09-15) * |
龚子超;邹福泰;: "基于生成对抗网络的恶意样本识别模型", 通信技术, no. 06, 10 June 2020 (2020-06-10) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272303A (zh) * | 2023-09-27 | 2023-12-22 | 四川大学 | 一种基于遗传对抗的恶意代码样本变体生成方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114861178B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhong et al. | An end-to-end dense-inceptionnet for image copy-move forgery detection | |
Liu et al. | Two-stage copy-move forgery detection with self deep matching and proposal superglue | |
Chaganti et al. | Image-based malware representation approach with EfficientNet convolutional neural networks for effective malware classification | |
CN113806746B (zh) | 基于改进cnn网络的恶意代码检测方法 | |
CN107908963A (zh) | 一种自动化检测恶意代码核心特征方法 | |
CN109241741B (zh) | 一种基于图像纹理指纹的恶意代码分类方法 | |
CN111143838B (zh) | 数据库用户异常行为检测方法 | |
CN111259397B (zh) | 一种基于马尔科夫图和深度学习的恶意软件分类方法 | |
EP4237977B1 (en) | Method for detection of malware | |
Messay-Kebede et al. | Combination of traditional and deep learning based architectures to overcome class imbalance and its application to malware classification | |
CN113194094A (zh) | 一种基于神经网络的异常流量检测方法 | |
Han et al. | Hashing for localization (HfL): A baseline for fast localizing objects in a large-scale scene | |
Acharya et al. | EfficientNet-based convolutional neural networks for malware classification | |
CN114861178B (zh) | 一种基于改进b2m算法的恶意代码检测引擎设计方法 | |
CN117557843B (zh) | 一种基于半监督学习的流量识别方法及系统 | |
CN116258917B (zh) | 一种基于tf-idf转移熵的恶意软件分类方法及装置 | |
Du et al. | Large-scale signature matching using multi-stage hashing | |
Wei et al. | Efficient distribution-based feature search in multi-field datasets | |
CN111581640A (zh) | 一种恶意软件检测方法、装置及设备、存储介质 | |
Nassar et al. | Throttling malware families in 2d | |
Zhang et al. | Improving hyperspectral image classification with unsupervised knowledge learning | |
CN115479769A (zh) | 基于目标域倾斜对抗网络的行星齿轮箱开放集故障诊断方法 | |
CN111079143B (zh) | 一种基于多维特征图的木马检测方法 | |
Gao et al. | Feature extraction and classification of hyperspectral images using hierarchical network | |
Zhijun et al. | A hybrid intrusion detection method based on convolutional neural network and AdaBoost |
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 |