CN116522341A - 一种基于像素注意力机制的恶意软件对抗样本生成方法 - Google Patents
一种基于像素注意力机制的恶意软件对抗样本生成方法 Download PDFInfo
- Publication number
- CN116522341A CN116522341A CN202310507631.1A CN202310507631A CN116522341A CN 116522341 A CN116522341 A CN 116522341A CN 202310507631 A CN202310507631 A CN 202310507631A CN 116522341 A CN116522341 A CN 116522341A
- Authority
- CN
- China
- Prior art keywords
- malicious software
- attention mechanism
- pixel
- sample
- model
- 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
- 230000007246 mechanism Effects 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012512 characterization method Methods 0.000 claims abstract description 9
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 230000000007 visual effect Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 22
- 238000004458 analytical method Methods 0.000 claims description 21
- 230000004913 activation Effects 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 14
- 244000035744 Hura crepitans Species 0.000 claims description 12
- 238000010586 diagram Methods 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 12
- 238000013527 convolutional neural network Methods 0.000 claims description 10
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 6
- 238000005215 recombination Methods 0.000 claims description 6
- 230000006798 recombination Effects 0.000 claims description 6
- 230000017105 transposition Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000035945 sensitivity Effects 0.000 claims description 4
- 241000700605 Viruses Species 0.000 claims description 3
- 230000002155 anti-virotic effect Effects 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000013135 deep learning Methods 0.000 abstract description 5
- 238000013461 design Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 35
- 230000006399 behavior Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 241000544061 Cuculus canorus Species 0.000 description 3
- 238000011160 research Methods 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 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
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012800 visualization Methods 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/561—Virus type analysis
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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
- 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/0475—Generative 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
- G06N3/094—Adversarial learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明设计一种基于像素注意力机制的恶意软件对抗样本生成方法,针对目前所存在的生成方法所产生的样本具有质量不高、生成模型不稳定等问题;首先分析了恶意代码与生成对抗网络结合的相关技术,在理论上基本掌握了恶意软件可视化表征方法;在像素注意力机制的基础上,结合深度卷积生成对抗网络DCGAN的特点,构建一种基于像素注意力机制的深度卷积生成对抗网络模型;并完成了恶意软件对抗样本的生成;能够有效的保证恶意软件对抗样本的质量,并且所提出的对抗网络模型具有更强的稳定性;本发明不仅可以促进深度学习方法在恶意软件检测领域的发展,而且还可以提高恶意软件检测器抵御对抗样本的能力,提高检测模型的鲁棒性。
Description
技术领域
本发明涉及网络安全和人工智能领域,尤其涉及到一种基于像素注意力机制的恶意软件对抗样本生成方法。
背景技术
目前,随着物联网、云计算和5G等技术的不断普及和发展,网络信息交互越来越多,一些恶意软件制造者会编写隐藏性更好、攻击范围更广和攻击效率更高的恶意软件来攻击网络,以达到窃取个人隐私、信息以及破坏网络等非法目的,因此导致变种恶意软件的数量逐年攀升。据Trellix于2021年第二季度所做的数据调查显示,针对国家的网络安全攻击事件较2021年第一季度相比增加了52%;其中新增的变种恶意软件、恶意脚本攻击事件较第一季度分别增加47%和125%。以上数据结果表明,变种恶意软件已成为威胁网络空间安全性的最重要因素之一,这给网络安全领域带来前所未有的压力。
面对不断出现的变种恶意软件,传统的恶意软件检测算法显得力不从心。因此,网络安全厂商开始使用深度学习来检测恶意软件。基于深度学习的检测器可以有效的检测出大量的恶意软件并且可以达到较高的准确率,因此大多数的网络安全研究人员将研究重点放在了恶意软件检测算法和分类上,从而忽略了深度学习算法极易受到对抗样本的攻击。所谓的对抗样本攻击就是在原始样本的基础上添加轻微的扰动,生成的对抗样本就能以较高的概率逃避模型的检测,使模型产生错误的分类。
现有的恶意软件对抗样本的生成方法主要有5种:1、Fast Gradient Sign Method(FGSM):FGSM是一种基于梯度的对抗样本生成方法,它利用输入样本的梯度信息来生成对抗样本。该方法通过将输入数据的梯度方向与损失函数的符号相乘,生成一些小的扰动,从而使模型产生错误的预测结果。2、Projected Gradient Descent(PGD):PGD是FGSM的扩展版本,它对FGSM进行了改进,加入了投影操作。该方法通过对输入样本进行多次扰动,每次都将扰动投影到一定的范围内,从而生成更难以攻击的对抗样本。3、DeepFool:DeepFool是一种线性攻击方法,它基于一个简单的想法:让输入数据尽可能靠近决策边界,以便最小化扰动的大小。该方法计算决策边界和输入数据之间的距离,然后在距离最小的方向上生成扰动。4、Carlini-Wagner Attack(C&W Attack):C&W Attack是一种基于优化的对抗样本生成方法,它通过最小化扰动的大小和分类器的置信度之间的平衡来生成对抗样本。该方法可用于不同的模型和数据集,并且可以生成很小的扰动,以欺骗模型。5、Boundary Attack:Boundary Attack是一种基于随机搜索的对抗样本生成方法,它通过在输入数据的边界上进行搜索来生成对抗样本。该方法通过计算模型分类器在输入数据周围的梯度和模型中的决策边界来进行搜索。但是目前所存在的对抗样本生成方法所产生的样本具有质量不高、模型不稳定等问题,导致难以逃避恶意软件检测器。
发明内容
针对现有技术的不足,本发明提供一种基于像素注意力机制的恶意软件对抗样本生成方法,从恶意软件可视化表征以及恶意软件对抗样本生成角度出发,将恶意软件API序列词向量化,并将词向量转化为十进制整数作为灰度图的像素点,利用转化后的灰度图有利于提高灰度图的纹理特征;恶意代码对抗样本生成采用的是深度卷积生成对抗网络(DCGAN)框架,在原始的DCGAN框架中进行研究与改进,提高生成对抗样本的质量以及生成模型的稳定性,能够有效的保证恶意软件对抗样本的逃逸率,促进深度学习方法在恶意软件检测领域的发展,另一方面可以提高恶意软件检测器抵御对抗样本的能力,提高检测模型的鲁棒性。
一种基于像素注意力机制的恶意软件对抗样本生成方法,包括以下内容:
步骤1:建立恶意软件数据集,并定义其序列和名称模块;
所述恶意软件数据集以CSV文件形式存在;该数据集是在沙箱环境下分析的,其中每一行都是恶意软件API调用的有序序列;
步骤1.1:准备沙箱环境;首先在分析机上安装操作系统以及沙箱应用程序;关闭操作系统的防火墙以及系统更新功能;
步骤1.2:提取恶意软件API调用序列;恶意软件被依次运行在沙箱中;沙箱将每个恶意软件的分析信息写入数据库;通过分析这些信息,获取恶意软件在分析机上的行为数据,这些行为数据中包含所有恶意软件API调用序列;
步骤1.3:处理恶意软件API调用序列;将所有恶意软件API调用序列使用编号进行处理,筛选出不同类型的恶意软件API调用序列;
步骤1.4:分析恶意软件API调用序列;使用Virus Total网站提供的API分析服务;每个恶意软件都会经过防病毒应用程序的扫描,从而获得更加全面的恶意软件分析结果;
步骤1.5:根据分析结果,确定每个恶意软件API调用序列所属的恶意软件家族名称;
步骤1.6:基于步骤1.3和步骤1.5,建立恶意软件数据集,数据集包含恶意软件API调用序列以及恶意软件家族名称;
步骤2:将恶意软件数据集的API调用序列进行可视化表征,生成具有纹理特征的图像;
步骤2.1:将恶意软件API调用序列使用FastText模型进行词向量化处理形成词向量矩阵,词向量矩阵是一种用于表示自然语言中单词的向量空间模型,通常由一个大型的矩阵组成;每行对应一个单词,在该行中的每个元素表示该单词在某个向量维度上的取值,其中v表示词汇表的大小,n表示每个单词向量的维度,词向量化处理的结果如下所示;
步骤2.2:将词向量转化为整数数组;首先,需要确定灰度级数,然后将所有的整数存储在一个数组中;
步骤2.3:生成灰度图;为将整数数组转化为灰度图,使用编程库进行处理;将整数数组中的每个值作为每个像素点的灰度值,并将其与图像中的相应像素点进行对应,最终通过将词向量矩阵转化为整数矩阵,并利用Python库中的Image.fromarray()方法,将整数矩阵转化为灰度图;
步骤3:基于步骤2,构建基于像素注意力机制的生成对抗网络模型PixGAN;
所述对抗网络模型PixGAN采用DCGAN网络模型,在其网络架构的基础上进行了改进,引入了对比敏感性强的像素注意力机制;
步骤3.1:基于DCGAN模型构建像素注意力机制模块,该模块由特征提取、通道压缩、像素注意力机制权重计算和特征重组四部分构成;首先,输入的灰度图像通过卷积神经网络进行特征提取,得到一个特征图;然后,对该特征图进行通道压缩,通过比较输入的灰度图和DCGAN模型生成的对抗样本(灰度图)的梯度差值,来衡量每个像素点的关键程度,差值越大则该像素点越关键,利用激活函数将差值转换为注意力权重,对图像进行加权,使DCGAN模型的生成器更加关注重要的特征,从而生成质量更高的对抗样本(灰度图);
步骤3.2:构建PixGAN网络模型;
步骤3.2.1:构建PixGAN的生成器,PixGAN的生成器是在DCGAN生成器的基础上引入了步骤3.1构建的像素注意力机制模块,该生成器包含了三个部分:main1、main2、main3,每个部分都由多个转置卷积层,批量归一化层和激活函数层组成;生成器的输入为灰度图和随机噪声,通过像素注意力机制模块和转置卷积层进行特征处理和加权处理,再通过批量归一化层和激活函数层进行特征重组,最终通过Tanh函数进行激活,将像素值限制在[-1,1]之间生成对抗样本(灰度图);
步骤3.2.2:构建PixGAN的判别器,PixGAN的判别器是在DCGAN判别器的基础上引入了步骤3.1构建的像素注意力机制模块,该判别器包含了三个部分:main1、main2、main3,每个部分都由多个卷积层,批量归一化层和激活函数层组成;首先将PixGAN模型的生成器生成的灰度图作为卷积层的输入,得到一个特征图,这个特征图被传递给像素注意力机制模块,该模块会对特征图进行加权以强调重要区域并抑制无用区域;经过像素注意力机制处理后特征图被传递到main2中进行卷积、批量归一化和激活函数层处理,最终通过main3输出表示真实概率的特征图;
步骤4:训练PixGAN模型,生成恶意软件对抗样本;
PixGAN通过判别器网络D和生成器网络G相互靠拢;D用于区分真实数据和G生成的数据,而G的目标是学习实际数据的分布;为能够学习生成器在数据x的分布Pg,定义了输入噪音z的先验变量Pz(z),其中,E表示关于下标中指定分布的期望,D(x)表示真实数据的概率分布,G(z)表示生成器生成的假数据的概率分布,训练D从而最大化分配给训练样本以及生成新样本的正确标签的概率,训练G使log(1-D(G(z)))最小化,则D和G的训练均为有关值函数V(D,G)的极小化极大化的博弈过程,表示为:
GAN包含两个网络部分,需要进行交替训练,即Pdata(x)=Pg(x),因此在训练过程中,先固定生成器G,最优判别器D表示为:
在给定生成器G的情况下,判别器D的最大化目标函数表示为:
步骤5:为了评估恶意软件对抗样本的质量,使用得到的对抗样本对检测模型进行攻击,观察攻击效果,根据逃逸率来评估恶意软件对抗样本的质量。
本发明有益技术效果:
本发明首先仔细研读和分析了恶意软件可视化表征和恶意软件对抗样本生成的相关的文档,在理论上基本掌握了不同恶意软件可视化表征的方法;实现了一种基于模型的恶意软件可视化表征方法。其次,分析和比较现存的恶意软件对抗样本生成方面的相关研究,提出了一种深度卷积生成对抗网络模型;在该模型的基础上,结合对比敏感度较强的像素注意力机制,提出基于像素注意力机制的深度卷积生成对抗网络模型,并完成了基于像素注意力机制的恶意软件对抗样本的生成方法设计与实现,所产生的恶意软件对抗样本质量较高,所设计的基于像素注意力机制的生成对抗网络具有较强的稳定性。
附图说明
图1本发明实施例恶意软件可视化表征示意图;
图2本发明实施例像素注意力机制框架示意图;
图3本发明实施例基于像素注意力机制的生成对抗网络模型示意图;
图4本发明实施例基于像素注意力机制的恶意软件对抗样本生成方法的流程图;
图5本发明实施例恶意软件数据集建立示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明;
一种基于像素注意力机制的恶意软件对抗样本生成方法,整体流程图如图4所示,包括以下内容:
步骤1:建立Windows恶意软件数据集,并定义其序列和名称模块;如附图5所示;
所述恶意软件数据集以CSV文件形式存在,提高互操作性,而且不需要特定的软件和库来读取;该数据集是在沙箱环境下分析的,其中每一行都是恶意软件API调用的有序序列;
步骤1.1:准备Cuckoo沙箱环境;首先在分析机上安装Ubuntu操作系统,随后安装Cuckoo沙箱应用程序;该分析机作为虚拟服务器,用于运行和分析恶意软件;并且在该服务器上安装Windows操作系统,关闭防火墙以及操作系统更新功能,以防止在恶意软件操作期间出现任何干扰或限制;
步骤1.2:提取恶意软件API调用序列;恶意软件被依次运行在Cuckoo沙箱中;沙箱将每个恶意软件的分析信息写入MongoDB数据库;通过分析这些信息,可以获取恶意软件在分析机上的行为数据,这些行为数据中包含所有Windows恶意软件API调用序列;
步骤1.3:处理Windows恶意软件API调用序列;将所有Windows恶意软件API调用序列使用编号进行处理,筛选出不同类型的恶意软件API调用序列;
步骤1.4:分析恶意软件API调用序列;使用Virus Total网站提供的API分析服务;通过这种方式,每个恶意软件都会经过防病毒应用程序的扫描,从而获得更加全面的恶意软件分析结果;
步骤1.5:根据分析结果,确定每个Windows恶意软件API调用序列所属的恶意软件家族名称;
步骤1.6:基于步骤1.3和步骤1.5,建立Windows恶意软件数据集,数据集包含恶意软件API调用序列以及恶意软件家族名称;
步骤2:将Windows恶意软件数据集API调用序列进行可视化表征,生成具有纹理特征的灰度图,如图1所示;
步骤2.1:将Windows API调用序列使用FastText模型进行词向量化处理形成词向量矩阵,词向量化处理的结果如下所示;
步骤2.2:词向量转化为整数数组;首先,需要确定灰度级数,通常情况下灰度级数为256,它可以表示所有可能的8位二进制数值,对于每个词向量,将其标准化到0~255的范围内,将所有的整数存储在一个数组中,作为步骤2.3的输入数据;
步骤2.3:生成灰度图;为将整数数组转化为灰度图,通常需要使用编程库进行处理,在此过程中,将整数数组中的每个值作为每个像素点的灰度值,并将其与图像中的相应像素点进行对应,从而确保生成的灰度图像能够准确地呈现所表示的词向量内容,最终,通过将词向量矩阵转化为整数矩阵,并利用Python库中的Image.fromarray()方法,可将整数矩阵转化为灰度图;
步骤3:基于步骤2,构建基于像素注意力机制的生成对抗网络模型PixGAN;
所述对抗网络模型PixGAN采用DCGAN网络模型,在其网络架构的基础上进行了改进,引入了对比敏感性强的像素注意力机制;像素注意力机制可以帮助对抗网络更加关注输入灰度图中的关键纹理特征,使对抗网络生成质量更高、迁移性更好的对抗样本(灰度图);
步骤3.1:基于DCGAN模型构建像素注意力机制模块,如附图2所示,目的是提高DCGAN模型生成对抗样本(灰度图)的质量,该模块主要由特征提取、通道压缩、像素注意力机制权重计算、特征重组四部分构成,首先,输入的灰度图像通过卷积神经网络进行特征提取,得到一个特征图,然后,对该特征图进行通道压缩,以降低计算复杂度,同时保留关键信息,接下来,通过比较输入的灰度图和DCGAN模型生成的对抗样本(灰度图)的梯度差值,来衡量每个像素点的关键程度,差值越大则该像素点越关键,利用激活函数将差值转换为注意力权重,对图像进行加权,使DCGAN模型的生成器更加关注重要的特征,从而生成质量更高的对抗样本(灰度图);基于像素注意力机制的生成对抗网络模型示意图如附图3所示;
步骤3.2:构建PixGAN网络模型;
步骤3.2.1:构建PixGAN的生成器,PixGAN的生成器是在DCGAN生成器的基础上引入了步骤3.1构建的像素注意力机制模块,该生成器包含了三个部分:main1、main2、main3,每个部分都由多个转置卷积层,批量归一化层和激活函数层组成;生成器的输入为灰度图和随机噪声,通过像素注意力机制模块和转置卷积层进行特征处理和加权处理,再通过批量归一化层和激活函数层进行特征重组,最终通过Tanh函数进行激活,将像素值限制在[-1,1]之间生成对抗样本(灰度图);设计生成器的目的在于通过向图像添加噪声扰动来产生高质量的对抗样本,从而使判别器产生错误分类;由于损失函数的非平滑性质,生成对抗网络的训练往往是一个上下波动的过程;随着迭代次数的增加,生成器逐渐得到优化,生成的对抗样本逐渐欺骗判别器,同时损失函数值逐渐减小,最终趋于平稳。损失函数图像呈现由低到高,再从高到低的趋势;
这是因为在模型训练初期,对抗样本与原始样本差异较大,判别器的性能逐渐增强,对抗样本难以迷惑判别器,使得生成器的损失函数值逐渐增大;当迭代到4000-6000次之后,生成器逐渐优化,使得生成器的损失函数值逐渐下降,最终达到相对平稳的状态,产生高质量的对抗样本;
在数据集相同的情况下,引入了MalGAN、DCGAN两种不同的生成对抗网络进行对比,通过对比发现PixGAN的生成器损失函数值随着迭代次数的增加最终收敛并稳定在0.0~0.2之间;DCGAN和MalGAN的生成器损失函数值随着迭代次数的增加最终收敛并稳定在0.2~0.4之间,通过比较损失函数值收敛速度,在相同的迭代次数下,PixGAN模型的收敛速度要优于MalGAN和DCGAN,在生成器收敛稳定的状态下,PixGAN的损失函数值小于MalGAN和DCGAN。由此可知,PixGAN模型的生成器性能优于MalGAN和DCGAN;
步骤3.2.2:构建PixGAN的判别器,PixGAN的判别器是在DCGAN判别器的基础上引入了步骤3.1构建的像素注意力机制模块,该生成器包含了三个部分:main1、main2、main3,每个部分都由多个卷积层,批量归一化层和激活函数层组成;,首先将PixGAN模型的生成器生成的灰度图作为卷积层的输入,得到一个特征图,这个特征图被传递给像素注意力机制模块,该模块会对特征图进行加权以强调重要区域并抑制无用区域;经过像素注意力机制处理后特征图被传递到main2中进行卷积、批量归一化和激活函数层处理,最终通过main3输出表示真实概率的特征图;设计判别器的目的在于区分真实样本与对抗样本,随着迭代次数的增加,判别器的损失函数值呈现出由大到小的变化趋势,这是由于模型训练初期,判别器具有较强的区分能力,随着迭代次数的增加,高质量对抗样本的产生使得判别器的损失函数逐渐下降,最终达到稳定状态;
在数据集相同的情况下,PixGAN判别器的损失函数值随着迭代次数的增加最终收敛并稳定在0~2之间;DCGAN判别器的损失函数值随着迭代次数的增加最终收敛并稳定在2~2.4之间;MalGAN判别器的损失函数值随着迭代次数的增加最终收敛并稳定在2.5~4之间,通过比较损失函数值收敛速度,在相同的迭代次数下,PixGAN模型的收敛速度要优于MalGAN和DCGAN,在判别器收敛稳定的状态下,PixGAN的损失函数值小于MalGAN和DCGAN,由此可知,PixGAN模型的判别器性能优于MalGAN和DCGAN;
步骤4:训练PixGAN模型,生成恶意软件对抗样本;
PixGAN通过判别器网络D和生成器网络G相互靠拢;D用于区分真实数据和G生成的数据,而G的目标是学习实际数据的分布;为能够学习生成器在数据x的分布Pg,定义了输入噪音z的先验变量Pz(z),其中,E表示关于下标中指定分布的期望,D(x)表示真实数据的概率分布,G(z)表示生成器生成的假数据的概率分布,训练D从而最大化分配给训练样本以及生成新样本的正确标签的概率,训练G使log(1-D(G(z)))最小化,则D和G的训练均为有关值函数V(D,G)的极小化极大化的博弈过程,表示为:
GAN包含两个网络部分,所以需要进行交替训练,使生成器获得真实数据的分布,即Pdata(x)=Pg(x),因此在训练过程中,通常先固定生成器G,最优判别器D可表示为:
在给定生成器G的情况下,判别器D的最大化目标函数可以表示为:
步骤5:为了评估恶意软件对抗样本的质量,使用对抗样本对基于SVM、RF、CNN等检测模型进行攻击,均获得了良好的效果,逃逸率用来评估恶意软件对抗样本的质量。将生成的对抗样本输入到CNN+LSTM模型中检测,其逃逸率达到了43%;在逃逸的对抗样本中Trojan所占比例最大,DownLoader所占的比例最小;随后,分别将对抗样本送入基于CNN+RNN、CNN、RF、SVM四种检测算法的检测器中进行预测,验证对抗样本逃逸效果以及迁移性;
从对抗样本在不同检测器的逃逸效果分析可知,随着迭代次数的增加,对抗样本在CNN+LSTM模型检测器上的逃逸率达到了43%;对抗样本在CNN+RNN模型检测器上的逃逸率达到了39%;对抗样本在CNN模型检测器上的逃逸率达到了35%;对抗样本在RF模型检测器上的逃逸率达到了89%;对抗样本在SVM模型检测器的逃逸率达到了96%;
通过分析,PixGAN模型具有更强的训练稳定性,并且生成的对抗样本质量更高、迁移性更好。
Claims (5)
1.一种基于像素注意力机制的恶意软件对抗样本生成方法,其特征在于,包括以下内容:
步骤1:建立恶意软件数据集,并定义其序列和名称模块;
所述恶意软件数据集以CSV文件形式存在;该数据集是在沙箱环境下分析的,其中每一行都是恶意软件API调用的有序序列;
步骤2:将恶意软件数据集的API调用序列进行可视化表征,生成具有纹理特征的图像;
步骤3:基于步骤2,构建基于像素注意力机制的生成对抗网络模型PixGAN;
所述对抗网络模型PixGAN采用DCGAN网络模型,在其网络架构的基础上进行了改进,引入了对比敏感性强的像素注意力机制;
步骤4:训练PixGAN模型,生成恶意软件对抗样本;
步骤5:为了评估恶意软件对抗样本的质量,使用得到的对抗样本对检测模型进行攻击,观察攻击效果,根据逃逸率来评估恶意软件对抗样本的质量。
2.根据权利要求1所述的一种基于像素注意力机制的恶意软件对抗样本生成方法,其特征在于,步骤1具体为:
步骤1.1:准备沙箱环境;首先在分析机上安装操作系统以及沙箱应用程序;关闭操作系统的防火墙以及系统更新功能;
步骤1.2:提取恶意软件API调用序列;恶意软件被依次运行在沙箱中;沙箱将每个恶意软件的分析信息写入数据库;通过分析这些信息,获取恶意软件在分析机上的行为数据,这些行为数据中包含所有恶意软件API调用序列;
步骤1.3:处理恶意软件API调用序列;将所有恶意软件API调用序列使用编号进行处理,筛选出不同类型的恶意软件API调用序列;
步骤1.4:分析恶意软件API调用序列;使用Virus Total网站提供的API分析服务;每个恶意软件都会经过防病毒应用程序的扫描,从而获得更加全面的恶意软件分析结果;
步骤1.5:根据分析结果,确定每个恶意软件API调用序列所属的恶意软件家族名称;
步骤1.6:基于步骤1.3和步骤1.5,建立恶意软件数据集,数据集包含恶意软件API调用序列以及恶意软件家族名称。
3.根据权利要求1所述的一种基于像素注意力机制的恶意软件对抗样本生成方法,其特征在于,步骤2具体为:
步骤2.1:将恶意软件API调用序列使用FastText模型进行词向量化处理形成词向量矩阵,每行对应一个单词,在该行中的每个元素表示该单词在某个向量维度上的取值,其中v表示词汇表的大小,n表示每个单词向量的维度,词向量化处理的结果如下所示;
步骤2.2:将词向量转化为整数数组;首先,需要确定灰度级数,然后将所有的整数存储在一个数组中;
步骤2.3:生成灰度图;将整数数组中的每个值作为每个像素点的灰度值,并将其与图像中的相应像素点进行对应,最终通过将词向量矩阵转化为整数矩阵,并利用Python库中的Image.fromarray()方法,将整数矩阵转化为灰度图。
4.根据权利要求1所述的一种基于像素注意力机制的恶意软件对抗样本生成方法,其特征在于,步骤3具体为:
步骤3.1:基于DCGAN模型构建像素注意力机制模块,该模块由特征提取、通道压缩、像素注意力机制权重计算和特征重组四部分构成;
首先,输入的灰度图像通过卷积神经网络进行特征提取,得到一个特征图;然后,对该特征图进行通道压缩,通过比较输入的灰度图和DCGAN模型生成的对抗样本即灰度图的梯度差值,来衡量每个像素点的关键程度,差值越大则该像素点越关键,利用激活函数将差值转换为注意力权重,对图像进行加权,使DCGAN模型的生成器更加关注重要的特征,从而生成质量更高的对抗样本即灰度图;
步骤3.2:构建PixGAN网络模型。
5.根据权利要求4所述的一种基于像素注意力机制的恶意软件对抗样本生成方法,其特征在于,步骤3.2具体为:
步骤3.2.1:构建PixGAN的生成器,PixGAN的生成器是在DCGAN生成器的基础上引入了步骤3.1构建的像素注意力机制模块,该生成器包含了三个部分:main1、main2、main3,每个部分都由多个转置卷积层,批量归一化层和激活函数层组成;生成器的输入为灰度图和随机噪声,通过像素注意力机制模块和转置卷积层进行特征处理和加权处理,再通过批量归一化层和激活函数层进行特征重组,最终通过Tanh函数进行激活,将像素值限制在[-1,1]之间生成对抗样本(灰度图);
步骤3.2.2:构建PixGAN的判别器,PixGAN的判别器是在DCGAN判别器的基础上引入了步骤3.1构建的像素注意力机制模块,该判别器包含了三个部分:main1、main2、main3,每个部分都由多个卷积层,批量归一化层和激活函数层组成;首先将PixGAN模型的生成器生成的灰度图作为卷积层的输入,得到一个特征图,这个特征图被传递给像素注意力机制模块,该模块会对特征图进行加权以强调重要区域并抑制无用区域;经过像素注意力机制处理后特征图被传递到main2中进行卷积、批量归一化和激活函数层处理,最终通过main3输出表示真实概率的特征图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310507631.1A CN116522341A (zh) | 2023-05-08 | 2023-05-08 | 一种基于像素注意力机制的恶意软件对抗样本生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310507631.1A CN116522341A (zh) | 2023-05-08 | 2023-05-08 | 一种基于像素注意力机制的恶意软件对抗样本生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116522341A true CN116522341A (zh) | 2023-08-01 |
Family
ID=87397276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310507631.1A Pending CN116522341A (zh) | 2023-05-08 | 2023-05-08 | 一种基于像素注意力机制的恶意软件对抗样本生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116522341A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117828601A (zh) * | 2024-01-24 | 2024-04-05 | 中国科学院软件研究所 | 基于对抗性恶意软件的恶意软件检测工具推荐方法和系统 |
-
2023
- 2023-05-08 CN CN202310507631.1A patent/CN116522341A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117828601A (zh) * | 2024-01-24 | 2024-04-05 | 中国科学院软件研究所 | 基于对抗性恶意软件的恶意软件检测工具推荐方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | ATMPA: attacking machine learning-based malware visualization detection methods via adversarial examples | |
CN110704840A (zh) | 一种基于卷积神经网络cnn的恶意软件检测方法 | |
CN111382438B (zh) | 基于多尺度卷积神经网络的恶意软件检测方法 | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
CN111259397A (zh) | 一种基于马尔科夫图和深度学习的恶意软件分类方法 | |
Li et al. | An adversarial machine learning method based on OpCode N-grams feature in malware detection | |
Won et al. | PlausMal-GAN: Plausible malware training based on generative adversarial networks for analogous zero-day malware detection | |
CN116522341A (zh) | 一种基于像素注意力机制的恶意软件对抗样本生成方法 | |
CN111400713B (zh) | 基于操作码邻接图特征的恶意软件族群分类方法 | |
Yuste et al. | Optimization of code caves in malware binaries to evade machine learning detectors | |
Huang et al. | Research on malware detection and classification based on artificial intelligence | |
CN108959930A (zh) | 恶意pdf检测方法、系统、数据存储设备和检测程序 | |
CN116010950A (zh) | 一种基于ViT孪生神经网络的恶意软件检测方法及系统 | |
Gu et al. | From image to code: executable adversarial examples of android applications | |
CN112907431B (zh) | 一种对对抗隐写鲁棒的隐写分析方法 | |
Ravi et al. | Attention‐based convolutional neural network deep learning approach for robust malware classification | |
Wang et al. | Attention‐guided black‐box adversarial attacks with large‐scale multiobjective evolutionary optimization | |
Sharif et al. | A deep learning based technique for the classification of malware images | |
Khoda et al. | Selective adversarial learning for mobile malware | |
CN113783852A (zh) | 一种基于神经网络的智能合约庞氏骗局检测算法 | |
Naqvi et al. | Adversarial attacks on visual objects using the fast gradient sign method | |
Nahhas et al. | Android Malware Detection Using ResNet-50 Stacking. | |
CN116702143A (zh) | 基于api特征的恶意软件智能检测方法 | |
CN112507338B (zh) | 一种基于深度学习语义分割算法的改进系统 | |
CN111079143B (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 |