CN114139155A - 一种恶意软件检测模型及其增强对抗样本的生成方法 - Google Patents

一种恶意软件检测模型及其增强对抗样本的生成方法 Download PDF

Info

Publication number
CN114139155A
CN114139155A CN202111443459.5A CN202111443459A CN114139155A CN 114139155 A CN114139155 A CN 114139155A CN 202111443459 A CN202111443459 A CN 202111443459A CN 114139155 A CN114139155 A CN 114139155A
Authority
CN
China
Prior art keywords
sample
model
samples
countermeasure
neural network
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
Application number
CN202111443459.5A
Other languages
English (en)
Inventor
张云春
姚绍文
周维
李浩瑞
李成杰
王旺旺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yunnan University YNU
Original Assignee
Yunnan University YNU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yunnan University YNU filed Critical Yunnan University YNU
Priority to CN202111443459.5A priority Critical patent/CN114139155A/zh
Publication of CN114139155A publication Critical patent/CN114139155A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Biology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Virology (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种恶意软件检测模型的增强对抗样本的生成方法,其特征在于,包括以下步骤:步骤一:构建恶意软件检测的深度神经网络模型:以原始程序的API调用序列及其相应的标签作为训练集D,在监督学习下完成对构建恶意软件检测的深度神经网络模型的训练;步骤二:使用对抗攻击算法,生成对抗样本;步骤三:在已生成的对抗样本中,使用Filter操作挑选对抗样本,并使用GAN操作对所挑选的对抗样本进行数据增强,得到最终的对抗样本adv4。本发明从增强对抗样本的角度来提高恶意软件检测模型的健壮性,并设计了更好的性能、更高的逃避率、更低的攻击成本的增强对抗样本的生成方法。

Description

一种恶意软件检测模型及其增强对抗样本的生成方法
技术领域
本发明涉及恶意软件检测技术领域,尤其是一种恶意软件检测模型及其增强对抗样本的生成方法。
背景技术
近年来,随着互联网的不断发展和应用范围的不断扩大,大量软件被人们所设计和开发出来,但是软件中很可能包含了病毒、木马、广告软件、勒索软件、蠕虫等不同种类的恶意软件。恶意软件的出现造成严重的安全隐患,导致了勒索病毒攻击、隐私信息泄露、侵犯用户利益和隐私等严重后果。一方面,网络安全技术人员对恶意软件检测技术不断提升和优化;另一方面,恶意软件制作者为了使恶意软件逃避安全检测,也不断的改变和隐藏恶意程序。伴随着庞大的恶意软件数量和多种平台恶意软件的出现,采用传统的基于特征(signature-based)的方式进行检测业已被证明为效率低下。采用机器学习的智能化和自动化技术,实现恶意软件的检测和分类是近年来工业界和学术界的焦点。
网络安全中恶意软件检测的相关技术经过了多次的演变,但随着攻击者技术的不断演变,高效而安全的检测依旧是网络空间安全领域的重要任务。早期阶段,主要是应用基于签名(signature-based)的检测方法。签名(signature)多为程序重要属性的集合,如:程序名、字节操作码、文本字符串等。基于签名的检测方法,对专家的经验依赖程度较高,分析效率低下。随后,通过将程序放入“沙箱(Sandbox)”进行程序运行时异常行为的检测方法被提出。“沙箱”是一种虚拟的系统程序,将可疑程序在“沙箱”中运行,并监控其运行的流程,当运行中的程序出现非正常特征行为时,便可以判断其为恶意软件。如目前主流的Cuckoo沙箱便被广泛用于程序行为分析。
与上述传统的恶意软件检测方法相比,通过采集大量已知标签的恶意软件数据集,实现有监督的机器学习,融合动态和静态特征,建立相应的检测模型,可以实现智能化、自动化和高效率的恶意软件检测。因此,使用机器学习、尤其是深度学习技术的方式检测网络中的恶意行为已经成为了目前研究和应用的焦点。随着硬件技术和算法的不断发展,作为机器学习一部分的深度学习在近年来得到了更多的关注,深度神经网络(Deep NeuralNetwork,DNN)模型与传统的朴素贝叶斯(Naive Bayes)、支持向量机(Support VectorMachine,SVM)、逻辑回归(Logistics Regression)等机器学习算法相比,具有效率高、精确率高、泛化效果好等优点。
虽然基于深度学习的恶意软件检测技术取得了显著成果,但相关研究亦表明:深度学习系统中分类器和特征模块均为自动学习的,神经网络可解释性作为一个灰色区域,目前尚无深入的分析和了解。进而,大量利用深度学习模型漏洞提出的对抗攻击被很快提出,从而严重威胁深度神经网络模型在核心任务中的应用及其安全性。但是,目前很少有从对抗攻击视角,设计和实现健壮、安全的恶意软件检测深度学习模型,并且现有用于模型训练的对抗样本攻击力不足,模型健壮性不好。
发明内容
本发明的发明目的在于:针对上述存在的问题,提供一种恶意软件检测模型及其增强对抗样本的生成方法,以对抗攻击样本和生成对抗网络为基础,通过Filter操作过滤并挑选由FGSM对神经网络模型生成的对抗样本,再由GAN对所挑选的数据进行增强,生成最终的增强对抗样本;并将增强对抗样本用于恶意软件检测模型的对抗训练,提升模型的健壮性。
本发明采用的技术方案如下:
本发明一种恶意软件检测模型的增强对抗样本的生成方法,包括以下步骤:
步骤一:构建恶意软件检测的深度神经网络模型:以原始程序的API调用序列及其相应的标签作为训练集D,在监督学习下完成对构建恶意软件检测的深度神经网络模型的训练;
步骤二:使用对抗攻击算法,生成对抗样本;
步骤三:在已生成的对抗样本中,使用Filter操作挑选对抗样本,并使用GAN操作对所挑选的对抗样本进行数据增强,得到最终的对抗样本adv4。
作为优选,所述步骤一中,恶意软件检测的深度神经网络模型包括输入层、输出层和两层隐藏层,隐藏层中的激活函数为ReLU函数,输出层使用logsoftmax函数,输出层中的神经元分别对应的分类标签为良性软件和恶意软件;激活函数的输入
Figure BDA0003383395780000021
其中,w为权重,b为偏移值;激活函数
Figure BDA0003383395780000022
作为优选,在步骤一中,定义深度神经网络模型的损失函数L(θ,x,y),其中,x是输入,θ是模型参数,y是标签;通过最佳模型参数
Figure BDA0003383395780000023
调整神经网络模型的参数θ∈Rp
作为优选,所述步骤二中,对抗攻击算法包括FGSM算法、DeepFool算法、C&W攻击算法或JSMA攻击算法。
作为优选,在步骤二中,将将对抗攻击算法得到的恶意软件样本增加扰动
Figure BDA0003383395780000031
通过最大化损失函数L(θ,x,y)的方式来扰动已经被检测出的恶意软件的二进制特征向量x生成对抗样本x′,即:
Figure BDA0003383395780000032
S(x)是保留了恶意软件功能的二进制特征数据集,
Figure BDA0003383395780000033
是最大化损失的对抗样本x′的二进制特征数据集。
作为优选,增加约束条件:
Figure BDA0003383395780000034
对抗样本只允许增加特征,但不允许删除。
作为优选,所述步骤三具体包括:
S1:将步骤二生成的对抗样本记作adv1;
S2:将adv1输入到已训练好的恶意软件检测的深度神经网络模型中;提取adv1在模型中L-2层的输出结果,记作adv2;
S3:利用Filter操作对adv2进行筛选,从数据集中挑选出容易“迷惑”分类器的数据,记作adv3;
S4:将adv3作为GAN的模型输入,得到最终对抗样本adv4。
作为优选,所述Filter操作包括:
S10:令L表示神经网络的总层数,aL-1表示神经网络L-1层的输出;
S20:令xadv2=aL-1,并且令所有二级对抗样本的集合为D;
S30:令所有三级对抗样本的集合为D',θ表示超参数;当
Figure BDA0003383395780000035
时,令
Figure BDA0003383395780000036
则有
Figure BDA0003383395780000037
从二级样本中过滤出容易被分类器混淆的恶意样本,作为GAN模型的输入样本。
作为优选,所述S4具体包括:
S100:固定生成器,训练判别器;训练过程中的目标优化函数为:
Figure BDA0003383395780000038
使用梯度上升调整参数θd,使得目标函数最大化;
S200:固定判别器,训练生成器,训练过程中的优化函数为:
Figure BDA0003383395780000039
通过调整θg使得目标函数最大化;
S300:通过整合上述两个过程,可以得到最终产生的“增强”恶意样本
Figure BDA0003383395780000041
D(x)为判别器,G(z)是生成器,生成器输入数据集,过滤后得到的三级对抗样本;判别器的输入数据集,是原始的恶意样本集合。
本发明一种基于对抗样本增强的恶意软件检测模型,恶意软件检测模型的对抗训练中采用恶意软件检测模型的增强对抗样本的生成方法,生成的对抗样本。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明基于GAN算法,在对抗样本中使用数据增强机制实现对干扰噪声的过滤,得到更好的性能、更高的逃避率、更低的攻击成本的增强对抗样本。
2、本发明恶意软件检测模型的增强对抗样本的生成方法,可有效提高对抗恶意软件样本对检测模型的逃避率,进而辅助模型健壮性机制的研究。
3、本发明融合对抗攻击视角,设计和实现健壮、安全的恶意软件检测深度学习模型具有重要的应用价值和研究价值。
4、本发明恶意软件检测模型,能够提高对恶意软件的检测成功率,减少逃避率。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明一种恶意软件检测模型的增强对抗样本的生成方法的具体实施流程图。
图2是本发明中实现的深度神经网络结构示意图。
图3是深度神经网络单个节点的内部实现结构图。
图4是生成对抗网络GAN的结构示意图。
图5是恶意代码样本十六进制表示的.bytes文件实例图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
为了更好地说明本发明的技术方案,首先对生成增强对抗样本的恶意软件检测模型的原理进行简要说明。
为了实现对恶意软件(Malware)的分类与检测。首先要构建出检测恶意软件的深度神经网络模型,深度神经网络模型为全连接网络(Fully Connected Networks),即FCN。使用标记过的原始API调用序列作为深度神经网络模型的训练D,并且定义深度神经网络模型的损失函数L(θ,x,y),来衡量模型的性能,经过对模型的训练会得到最优的模型参数,最优模型参数:
Figure BDA0003383395780000051
其次,由于神经网络的可解释性较差,因此很容易遭到恶意的攻击,使用FGSM算法对已训练好的模型进行攻击,从而得到对给定输入样本增加的扰动量为
Figure BDA0003383395780000052
最后,在已生成的对抗样本中使用过滤(Filter)操作对抗样本进行挑选,并使用GAN操作对所挑选的对抗样本进行数据增强,得到最终的对抗样本adv4。
FGSM(Fast Gradient Sign Method,快速梯度下降法)算法是一种常见的对抗攻击算法,由于多数深度神经网络的线性化本质特征,导致不能抵抗对抗样本的攻击。常见的LSTM(Long-Short Term Memory)、ReLU和maxout网络都趋向于线性表现,而非线性模型sigmod也把大量时间花在非饱和和线性系统中。因此以目标模型为被攻击对象,攻击者希望通过在原始样本上添加扰动,使得损失函数值尽可能的大。通过计算梯度,当扰动的变化量沿着梯度方向变化时,此时损失函数就会增大,对分类结果产生的影响程度也随之增大。令x代表输入,θ代表模型参数,y代表标签,L(θ,x,y)是神经网络的损失函数。基于FGSM算法,对给定输入样本增加的扰动量为
Figure BDA0003383395780000053
基于上述定义,可以使用最大化损失函数L(θ,x,y)的方式将已经被检测出的恶意软件x生成对抗样本x′,即:
Figure BDA0003383395780000054
其中,S(x)是保留了原始恶意软件功能的二进制特征数据集,
Figure BDA0003383395780000055
是最大化损失函数的对抗样本x′所对应的二进制特征数据集。为了让生成的对抗样本仍保留恶意行为,通过
Figure BDA0003383395780000056
对已经被正确分类的恶意软件增加原本不存在的功能,但限制了不能去掉原有的功能。
GAN(Generative Adversarial Network,生成对抗网络)在图像对抗噪声方面的卓越表现,以恶意软件分类深度学习模型为对象,本发明提出改进的恶意软件对抗模型。首先将传统的对抗攻击算法(FGSM)作用于原始的输入样本,生成adv1并输入到已训练好的模型(FCN)中,提取L-2层的输出结果,记作adv2。然后利用Filter操作对adv2进行筛选,挑出容易对分类器造成“迷惑”行为的样本(也即具有最大概率欺骗目标分类模型的样本),记作adv3。最后,将adv3作为GAN的模型输入,得到最终对抗样本adv4。
在上述过程中,通过传统的对抗攻击算法产生对抗样本(Adversarial samples),并基于扰动的过滤和数据增强机制,最终得到对恶意软件检测模型的最终对抗样本adv4,从而用于分析模型的内部工作机制,并提升模型健壮性。
实施例一:
本发明公开一种恶意软件检测模型的增强对抗样本的生成方法,包括以下步骤:
步骤一:构建恶意软件检测的深度神经网络模型:以原始程序的API调用序列及其相应的标签作为训练集D,在监督学习下完成对构建恶意软件检测的深度神经网络模型的训练;
步骤二:使用对抗攻击算法,生成对抗样本;本发明中产生恶意软件对抗样本的算法可以选用FGSM算法,也可以用同类对抗攻击算法替代,包括DeepFool,C&W攻击,JSMA攻击等。
步骤三:在已生成的对抗样本中,使用Filter操作挑选对抗样本,并使用GAN操作对所挑选的对抗样本进行数据增强,得到最终的对抗样本adv4。
实施二:
在实施例中,最终获得的对抗样本adv4采用以下方法计算:
S1.1:根据环境设置初始的输入样本数量batch_size,以及深度神经网络训练循环次数epoch;
S1.2:对模型参数进行随机初始化,构建深度神经网络的模型结构;
S1.3:选择ReLU作为深度神经网络中的激活函数;
S1.4:选择
Figure BDA0003383395780000061
作为梯度的计算公式;
S1.5:从数据集D的训练数据集中选择出一份训练子集D′;
S1.6:使用小的数据集D′进行神经网络的一个训练步骤;
S1.7:神经网络前向传播,
Figure BDA0003383395780000062
S1.8:对损失函数求导,更新神经网络权重和偏置;
S1.9:判断当前训练的神经网络是否达到设定的精度要求,或者最大迭代次数;若没有达到要求,则返回S1.6;
S1.10:训练完成,生成判别模型。
S2.1:使用传统的对抗攻击算法(FGSM);
S2.2:生成不同的对抗攻击样本;
S3.1:将S2.2得到的输出结果记作adv1;
S3.2:将adv1输入到第一步训练完成的恶意软件检测模型(FCN)中;
S3.3:在FCN模型中提取出L-2层的输出,并记作adv2;
S3.4:利用Filter操作对adv2进行筛选,从数据集中挑选出容易“迷惑”分类器的数据,记为adv3,其中Filter操作具体过程为:
为准确描述恶意对抗样本的过滤过程,定义如下变量和参数:
(1)aL-1是神经网络L-1层的输出,其中L是神经网络的总层数;
(2)令xadv2=aL-1
(3)
Figure BDA0003383395780000071
是所有二级对抗样本的集合;
(4)
Figure BDA0003383395780000072
是所有三级对抗样本的集合,其中θ是超参数。
Figure BDA0003383395780000073
Figure BDA0003383395780000074
则有
Figure BDA0003383395780000075
使用上述算法的目的是从二级对抗样本中,过滤出分类器容易混淆的恶意样本adv3,作为本文GAN模型的输入。
S3.5:最终将adv3作为GAN模型的输入,最终得到对抗样本adv4,其中具体过程为:为准确描述过滤恶意对抗样本的过程,首先定义如下变量和参数:
(1)Z生成器输入数据集,过滤后得到的三级对抗样本;
(2)X判别器的输入数据集,原始的恶意样本集合;
(3)生成器G(Z);
(4)判别器D(X);
(5)xadv4就是生成出的恶意样本。
GAN的训练过程可以看成博弈过程。第一步:固定生成器,训练判别器。训练过程中的目标优化函数为:
Figure BDA0003383395780000076
Figure BDA0003383395780000077
使用梯度上升调整参数θd,使得目标函数最大化。
第二步:固定判别器,训练生成器,训练过程中的优化函数如下:
Figure BDA0003383395780000078
Figure BDA0003383395780000079
通过调整θg使得目标函数最大化。
通过整合上述两个过程,可以得到完整的表达形式:
Figure BDA00033833957800000710
实施例三:
本发明还公开一种基于对抗样本增强的恶意软件检测模型,恶意软件检测模型的对抗训练中采用实施例一中恶意软件检测模型的增强对抗样本的生成方法,生成的对抗样本。
实施例四:
本发明以对抗攻击样本和生成对抗网络为基础,通过Filter操作过滤并挑选由FGSM对神经网络模型生成的对抗样本,再由GAN对所挑选的数据进行增强,以提高对抗样本对检测模型的逃避率。
如图1所示,在实施例中,恶意软件检测模型的增强对抗样本的生成方法,具体步骤包括以下:
S101:数据整理:
使用原始程序的API调用序列以及对应的标签作为训练集合D,在监督学习的情况下完成恶意软件的检测分类任务。用x和y分别表示可执行文件的特征表示和标签。由于数据集的特征是二进制,所以每个二进制特征向量的可执行文件均可由x=[x1,...,xm]∈x表示,且x={0,1}m,其中xi是二进制值,表示第i个特征是否存在,并用y∈Y=(0,1)表示分类标签,其中良性软件和恶意软件分别用0和1表示。
S102:全连接神经网络训练:
通过
Figure BDA0003383395780000081
调整神经网络模型的参数θ∈Rp,以便充分学习训练集D中的程序样本。定义损失函数L(θ,x,y)衡量模型性能的优劣,建模恶意软件检测的深度神经网络问题,最终目标是找到最佳模型参数θ*
基于优化目标函数,本发明用于恶意软件分类的深度神经网络结构如图2所示。其中,全连接神经网络模型结构包含了三层(输入层,两层隐藏层,输出层)。其中每一层中的单个节点结构如图3所示。
结构过于复杂的全连接深度神经网络都是由感知机模型所组成的,因此可将
Figure BDA0003383395780000082
作为感知机模型的表示方式。其中,ReLU(Rectified linear unit)激活函数可以定义为:
Figure BDA0003383395780000083
并将z作为激活函数的输入。
在深度神经网络中前向反馈传播过程是将上一层的输入作为下一层的输出,对于L层的神经元j输出可以表示为
Figure BDA0003383395780000091
同样,L层的输出可表示为aL=σ(zL)=σ(wLaL-1+bL)。输出层为了更好的收缩数据的值域,为了使输出结果的概率分布值为0或1,使用log soft max function,并将log soft max function求导后得到的数学表达式用于反向传播。
本发明使用全连接神经网络来构建出恶意软件的分类器,模型包括:输入层,输出层和两层隐藏层。其中,各个隐藏层中有300个神经元。ReLU函数作为隐藏层中的激活函数。输出层使用的是logsoftmax函数,并且输出层中的神经元分别对应的分类标签为良性软件和恶意软件。
为了与全连接的深度神经网络模型形成对比,同样构建出XGBOOST分类器。该算法的核心思想是不断地添加树,为了生长一颗树,需要不断地进行特征分裂。其本质的思想就是在添加一棵树的同时去学习一个新的函数,用来拟合上一次预测的残差。如
Figure BDA0003383395780000092
若训练后得到的模型有k棵树,若要分类给定的样本,就是使样本的特征会在每棵树中都对应一个叶子节点,每个叶子节点都会对应一个分数,最后只需要将每棵树对应的分数加权求和就可以得到该样本的预测值。
XGBoost算法的目标函数
Figure BDA0003383395780000093
由两部分构成,第一部分是用来衡量预测分数与实际分数之间的差距,第二部分则是用于防止过拟合的正则项。
S201:对抗攻击;
在构建好恶意软件检测模型的深度神经网络之后,该模型时刻受到对抗攻击的威胁,主要以FGSM(Fast Gradient Sign Method)为代表。为了实现对深度神经网络模型的攻击,在S102中所提出的误差反向传播技术是让每一次迭代通过反向传播去更新前一层的权重矩阵,使每一次迭代都会让损失函数越来越小。当满足迭代终止条件时,模型就会收敛,进而训练结束。以恶意软件检测模型为被攻击的对象,通过在原始的数据样本上添加一定的扰动,使得损失函数的值尽可能地大。借助梯度的思想,如果在沿着梯度方向增加扰动,那么损失函数就会增大,此时就会对分类的结果产生很大的影响。令x代表输入,θ代表模型参数,y代表标签,L(θ,x,y)是神经网络的损失函数。基于FGSM算法,本发明对给定输入样本增加的扰动为
Figure BDA0003383395780000094
由于S102中训练出的深度神经网络模型并没有考虑健壮性的问题,所以可以对已经被正确分类过的恶意软件添加扰动形成对抗样本,同时保证恶意软件的功能没有被破坏,并且可以通过最大化损失函数L(θ,x,y)的方式来扰动动x生成x′,即:
Figure BDA0003383395780000101
并令S(x)是保留了恶意软件功能的二进制特征数据集,
Figure BDA0003383395780000102
是最大化损失的对抗攻击样本x′的二进制特征数据集。在对抗样本的制作过程中,为了使恶意软件的功能不会被添加的“扰动”破坏,增加约束条件:
Figure BDA0003383395780000103
对已经被正确分类的恶意软件的二进制特征向量x中未设置的比特位进行操作(0→1),即只允许增加特征,但不允许删除。
例如:现有4个四维的可执行恶意软件所对应的二进制特征向量x1=[0,0,0,1],x2=[1,1,0,1],x3=[0,1,1,0],x4=[1,1,1,1]。对于x1保留原程序恶意功能的衍生恶意软件数据集有:S1([0,0,0,1])={[0,0,0,1],[1,1,1,1],[0,1,1,1],[1,0,1,1],[1,1,0,1],[0,0,1,1,],[0,1,0,1],[1,0,0,1]}。对于x2来说保留原程序恶意功能的衍生恶意软件数据集有:S2([1,1,0,1])={[1,1,0,1],[1,1,1,1]}。对于x3有:S3([0,1,1,0])={[0,1,1,0],[1,1,1,1],[0,1,1,1],[1,1,1,0]}。对于x4则不存在衍生数据集。其中可以看出S1,S2,S3,S4集合之间存在冗余,如[1,1,1,1]。这无疑消耗了计算资源,可以通过去重操作对上述方法进行改进。将每个衍生数据集放入到模型中,进而挑选出使得损失函数最大的元素。
S301:输入原始样本到传统对抗样本生成算法(FGSM)中。
S302:将第一步输出记为adv1。
S303:将adv1输入到已经训练好的模型(FCN)中。
S304:提取出adv1在模型中L-2层的输出,记为adv2。
S305:利用Filter操作对adv2进行筛选,从数据集中挑选出容易“迷惑”分类器的数据,记为adv3。
S306:最终将adv3作为GAN模型的输入,得到增强后的对抗样本adv4。
GAN的网络结构如图4所示,由生成器(Generator)和判别器(Discriminator)组成整个模型。生成器和判别器都属于前反馈神经网络,并协同工作以完成恶意样本的过滤工作。因为二进制特征已经被恶意软件检测研究领域广泛使用,并且具有较高的检测精度,因此该模型仅生成二进制特征的对抗样本。此外,该方法与基于灰度图的恶意软件检测相比,其所消耗的计算资源较少,攻击成本较低。
以API特征为例来说明,当模型设计者要求数据集大小是M维,并且每一维度的值代表了一个API是否在此程序中被调用,便可以查看该程序是否使用了该API,若使用了就将该值置为1,反之则为0。该模型与其他算法的主要区别在于,该模型生成器的输入数据是通过过滤器精挑细选的部分原始软件,并不是训练集中的所有原始恶意软件。该数据子集的显著特点是这类样本会被分类器混淆,进而只要在其上添加较小的扰动就可以完成攻击。攻击者可以从中挑选出以较小的干扰代价和成本就可以最大化扰动的样本完成攻击;防御者也可以集中精力研究如何去处理此类样本具有最大概率干扰分类结果的样本,使得防御更具有针对性,从而提高模型的鲁棒性。
生成器的用处是将原始的恶意软件(Malware)包装成对应的恶意对抗样本(Adversarial samples/Adversarial Malware),并且该对抗样本可以成功逃过检测模型的检测。原始恶意软件的特征向量m和噪声(Noise)z是生成器的输入,其中m是1×M维的二元向量,每一个元素都对应该特征是否存在;作为超参数的z是一个1×z的向量,其中每一个元素都是从[0,1]范围内的均匀分布中采样的随机数。z的作用是使得生成器可以通过一个原始恶意软件经过z扰动,从而派生出多个恶意对抗样本。z和m作为输入数据被输入到3层前馈神经网络生成器中。该网络的输出层具有M个神经元,最后一层使用的激活函数为sigmoid函数,因此将输出限制在(0,1)范围内。由于本发明中恶意软件特征值是二进制的,因此根据元素是否大于0.5来对其进行二值化转换。此时,经过GAN作用后的输出有可能造成原始恶意软件失效,即将原始恶意软件特征向量中某个元素的值从1变为0,对此需要进行特殊处理。此发明在进行恶意样本生成时,只考虑为恶意软件添加一些不相关的功能,所谓不相关指添加的扰动不能影响原有软件的功能,在特征向量中表现为将原始的恶意软件特征向量中的元素只能从0变为1。例如,如果将“ReadFile”API从恶意软件程序中删除,则该程序将无法正常执行写入功能,恶意软件的功能也就无法正常实现了。要避开上述错误,可将二进制特征向量非零元素添加到原始恶意软件的无关功能中,使用adv=m XOR M表示最终生成的对抗性实例,其中XOR为异或运算,m是生成的恶意对抗样本的特征向量,M表示为原始恶意软件的特征向量。
判别器在该模型中的作用是在对恶意软件进行检测的同时提供梯度的信息训练生成器,使生成器的生成能力得到相应的提高,最终结果表现为生成器输出的恶意样本可以逃避判别器的检测。判别器为具有3层前馈神经的网络,其将程序的特征向量作为输入。判别器的训练样本包括来自生成器生成的恶意软件(Malware)特征向量,以及来自恶意软件作者收集的其他良性(Benign)程序样本集的良性程序特征向量。
为了更好地说明本发明的技术效果,采用一个具体实例对本发明进行实验验证,并与现有的FGSM算法进行技术效果对比。本次实验采用了两种数据集,第一类数据集是kaggle上由微软提供的恶意软件数据集(如表1所示),该数据集中包含了恶意代码样本测试集和恶意代码样本训练集分类标签。
表1 Microsoft Malware Classification Challenge(Kaggle)数据集
Figure BDA0003383395780000121
如图5所示是恶意代码样本(去除了PE头)的十六进制表示的.bytes文件。原始训练集中每一个恶意软件样本都有相应的分类标签,共有4个分类标签,分别对应着4种恶意软件家族(Family),如表1所示,这4类恶意软件也代表着目前网络中主流的恶意软件。对于种类较少的其他类型,鉴于种类较少,本发明中将其舍弃。
第二类数据集同样是Windows操作系统中PE格式的可执行文件,包括了良性(benign)和恶意(malware)两种类型,PE格式不仅封装了可执行文件包装代码所需要的信息,还包括程序的API调用序列。其中,本数据集中包含了19,000个良性文件和19,000个恶意文件作为本文构建模型的总体数据集。实际训练时,80%的样本用于训练,20%用于测试。每一个可执行文件转化为API调用序列时,调用的API都会由二进制特征向量的每一个索引唯一标识。故每一个PE文件由二进制特征向量表示,其中m=160(特征向量的维度)。
如表2所示本次实验使用了两套数据集,其中第一套数据集是恶意软件分类任务,第二套数据集是恶意软件检测任务。从结果上可以看出分类器在第二套数据集上的效果更佳。这主要是因为第二套数据集质量更高,且第一套数据集的样本分布极度不平衡,各类别之间的差距影响了模型的整体性能。其次,第二套数据集在数量上有着明显的优势,足够训练出一个比较优秀的模型。因此之后的实验都是基于第二套数据集进行。其中由于SVM模型自身的特点,当样本维度不高时往往会取得更佳的表现,因此剩下的实验主要围绕着分类性能较好的两个模型进行的,即XGBOOST和FCN(全连接深度神经网络)。
表2两种不同数据集上不同分类算法的性能结果(其中各数据集上取得最佳结果的算法用黑体表示)
Figure BDA0003383395780000131
从表3中可以看出基于深度学习的模型FCN(全连接神经网络)有着更好的表现。使用的是基于FGSM生成的对抗攻击样本和本发明所提出的基于GAN生成的对抗攻击样本,使用上述FCN和XGBOOST模型对不同的对抗样本进行检测并进行对比,结果如表4所示。
表3两种分类模型下不同指标测试结果对比
模型 Accuracy Precision Recall Specificity F1
FCN 97.31% 98% 96.5% 94.36% 24.31%
XGBOOST 93.89% 94% 91.5% 92.33% 23.18%
表4 FCN和XGBOOST模型对不同的对抗样本进行检测并进行对比
Figure BDA0003383395780000132
从表4可以看出两种攻击算法所生成的对抗样本都起到一定程度的攻击作用,同时也证明了对抗攻击样本具有一定的可迁移性。表4中所示测试结果是与原始模型相比,攻击后的正确率所下降的程度,从中可以看出FCN模型在受到使用过滤器的GAN生成的对抗攻击样本之后下降的幅度是最大的。与之相比,XGBOOST在受到FGSM算法生成的对抗样本攻击时的准确率下降较低。与传统的FGSM及其变种相比,使用GAN的方式生成的对抗攻击样本有着更强的攻击效果。
从表5中可以看出GAN with Filter这一模型在输入原始恶意软件样本数量相同的情况下会产生的对抗攻击样本数量是最少的。
表5不同对抗攻击模型产生的对抗样本数量对比
FGSMr GAN with filter
输入原始恶意软件样本数量 15200 15200
生成的对抗攻击样本数量 3040 1274
成本(Cost) 41.44 37.10
同时,若将成本(cost)指标作为按位比较原始恶意软件API序列与对应的对抗攻击样本的不同,设由0变为1的操作为一个单位的代价。在表5中也可以看出在衡量制作对抗攻击样本所花费的代价时,GAN with Filter也会少于传统的FGMSr算法,其中主要原因是通过筛选出模型容易“混淆”的样本,从而在这些样本上添加扰动。
综上所述,采用本发明生成的增强对抗样本进行恶意软件检测逃避,有着与传统逃避检测方法相比更好的性能、更高的逃避率、更低的攻击成本,显著提高了恶意软件攻击时的成功率。同时增强对抗样本也能辅助模型健壮性机制的研究,训练出更好和更安全的恶意软件检测模型。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

Claims (10)

1.一种恶意软件检测模型的增强对抗样本的生成方法,其特征在于,包括以下步骤:
步骤一:构建恶意软件检测的深度神经网络模型:以原始程序的API调用序列及其相应的标签作为训练集D,在监督学习下完成对构建恶意软件检测的深度神经网络模型的训练;
步骤二:使用对抗攻击算法,生成对抗样本;
步骤三:在已生成的对抗样本中,使用Filter操作挑选对抗样本,并使用GAN操作对所挑选的对抗样本进行数据增强,得到最终的对抗样本adv4。
2.根据权利要求1所述的恶意软件检测模型的增强对抗样本的生成方法,其特征在于,所述步骤一中,恶意软件检测的深度神经网络模型包括输入层、输出层和两层隐藏层,隐藏层中的激活函数为ReLU函数,输出层使用log softmax函数,输出层中的神经元分别对应的分类标签为良性软件和恶意软件;激活函数的输入
Figure FDA0003383395770000011
其中,w为权重,b为偏移值;激活函数
Figure FDA0003383395770000012
3.根据权利要求1或2所述的恶意软件检测模型的增强对抗样本的生成方法,其特征在于,在步骤一中,定义深度神经网络模型的损失函数L(θ,x,y),其中,x是输入,θ是模型参数,y是标签;通过最佳模型参数
Figure FDA0003383395770000013
调整神经网络模型的参数θ∈Rp
4.根据权利要求1所述的恶意软件检测模型的增强对抗样本的生成方法,其特征在于,所述步骤二中,对抗攻击算法包括FGSM算法、DeepFool算法、C&W攻击算法或JSMA攻击算法。
5.根据权利要求1或4所述的恶意软件检测模型的增强对抗样本的生成方法,其特征在于,在步骤二中,将对抗攻击算法得到的恶意软件样本增加扰动
Figure FDA0003383395770000014
通过最大化损失函数L(θ,x,y)的方式来扰动已经被检测出的恶意软件的二进制特征向量x生成对抗样本x′,
Figure FDA0003383395770000015
S(x)是保留了恶意软件功能的二进制特征数据集,
Figure FDA0003383395770000016
是最大化损失函数的对抗样本x′的二进制特征数据集。
6.根据权利要求5所述的恶意软件检测模型的增强对抗样本的生成方法,其特征在于,增加约束条件:
Figure FDA0003383395770000017
对抗样本只允许增加特征,但不允许删除。
7.根据权利要求1所述的恶意软件检测模型的增强对抗样本的生成方法,其特征在于,所述步骤三具体包括:
S1:将步骤二生成的对抗样本记作adv1;
S2:将adv1输入到已训练好的恶意软件检测的深度神经网络模型中;提取adv1在模型中L-2层的输出结果,记作adv2;
S3:利用Filter操作对adv2进行筛选,从数据集中挑选出容易“迷惑”分类器的数据,记作adv3;
S4:将adv3作为GAN的模型输入,得到最终对抗样本adv4。
8.根据权利要求1或7所述的恶意软件检测模型的增强对抗样本的生成方法,其特征在于,所述Filter操作包括:
S10:令L表示神经网络的总层数,aL-1表示神经网络L-1层的输出;
S20:令xadv2=aL-1,并且令所有二级对抗样本的集合为D;
S30:令所有三级对抗样本的集合为D',θ表示超参数;当
Figure FDA0003383395770000021
时,令
Figure FDA0003383395770000022
则有
Figure FDA0003383395770000023
从二级样本中过滤出容易被分类器混淆的恶意样本,作为GAN模型的输入样本。
9.根据权利要求7所述的恶意软件检测模型的增强对抗样本的生成方法,其特征在于,所述S4具体包括:
S100:固定生成器,训练判别器;训练过程中的目标优化函数为:
Figure FDA0003383395770000024
使用梯度上升调整参数θd,使得目标函数最大化;
S200:固定判别器,训练生成器,训练过程中的优化函数为:
Figure FDA0003383395770000025
通过调整θg使得目标函数最大化;
S300:通过整合上述两个过程,可以得到最终产生的“增强”恶意样本
Figure FDA0003383395770000026
D(x)为判别器,G(z)是生成器,生成器输入数据集,过滤后得到的三级对抗样本;判别器的输入数据集,是原始的恶意样本集合。
10.一种基于对抗样本增强的恶意软件检测模型,其特征在于,恶意软件检测模型的对抗训练中采用如权利要求1—9之一所述的恶意软件检测模型的增强对抗样本的生成方法,生成的对抗样本。
CN202111443459.5A 2021-11-30 2021-11-30 一种恶意软件检测模型及其增强对抗样本的生成方法 Pending CN114139155A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111443459.5A CN114139155A (zh) 2021-11-30 2021-11-30 一种恶意软件检测模型及其增强对抗样本的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111443459.5A CN114139155A (zh) 2021-11-30 2021-11-30 一种恶意软件检测模型及其增强对抗样本的生成方法

Publications (1)

Publication Number Publication Date
CN114139155A true CN114139155A (zh) 2022-03-04

Family

ID=80389951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111443459.5A Pending CN114139155A (zh) 2021-11-30 2021-11-30 一种恶意软件检测模型及其增强对抗样本的生成方法

Country Status (1)

Country Link
CN (1) CN114139155A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114266050A (zh) * 2022-03-03 2022-04-01 西南石油大学 一种跨平台恶意软件对抗样本生成方法及系统
CN114615056A (zh) * 2022-03-10 2022-06-10 东南大学 一种基于对抗鲁棒性学习的Tor恶意流量检测方法
CN115065504A (zh) * 2022-05-16 2022-09-16 国家广播电视总局广播电视科学研究院 面向目标检测模型的安全评估方法和系统、电子设备
CN115130098A (zh) * 2022-06-27 2022-09-30 云南大学 一种针对恶意软件检测深度学习模型的动态后门攻击方法
CN115249048A (zh) * 2022-09-16 2022-10-28 西南民族大学 一种对抗样本生成方法
CN117077141A (zh) * 2023-10-13 2023-11-17 国网山东省电力公司鱼台县供电公司 一种智能电网恶意软件检测方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114266050A (zh) * 2022-03-03 2022-04-01 西南石油大学 一种跨平台恶意软件对抗样本生成方法及系统
CN114615056A (zh) * 2022-03-10 2022-06-10 东南大学 一种基于对抗鲁棒性学习的Tor恶意流量检测方法
CN114615056B (zh) * 2022-03-10 2024-04-05 东南大学 一种基于对抗鲁棒性学习的Tor恶意流量检测方法
CN115065504A (zh) * 2022-05-16 2022-09-16 国家广播电视总局广播电视科学研究院 面向目标检测模型的安全评估方法和系统、电子设备
CN115065504B (zh) * 2022-05-16 2024-04-09 国家广播电视总局广播电视科学研究院 面向目标检测模型的安全评估方法和系统、电子设备
CN115130098A (zh) * 2022-06-27 2022-09-30 云南大学 一种针对恶意软件检测深度学习模型的动态后门攻击方法
CN115249048A (zh) * 2022-09-16 2022-10-28 西南民族大学 一种对抗样本生成方法
CN115249048B (zh) * 2022-09-16 2023-01-10 西南民族大学 一种对抗样本生成方法
CN117077141A (zh) * 2023-10-13 2023-11-17 国网山东省电力公司鱼台县供电公司 一种智能电网恶意软件检测方法及系统

Similar Documents

Publication Publication Date Title
Aslan et al. A new malware classification framework based on deep learning algorithms
Wang et al. Cloud intrusion detection method based on stacked contractive auto-encoder and support vector machine
Liu et al. ATMPA: attacking machine learning-based malware visualization detection methods via adversarial examples
CN114139155A (zh) 一种恶意软件检测模型及其增强对抗样本的生成方法
Jian et al. A novel framework for image-based malware detection with a deep neural network
Aryal et al. A survey on adversarial attacks for malware analysis
Liu et al. Malware classification using gray-scale images and ensemble learning
Chowdhury et al. Protecting data from malware threats using machine learning technique
Aryal et al. Analysis of label-flip poisoning attack on machine learning based malware detector
Sundarkumar et al. Malware detection by text and data mining
CN115130098A (zh) 一种针对恶意软件检测深度学习模型的动态后门攻击方法
Roy et al. MalHyStack: a hybrid stacked ensemble learning framework with feature engineering schemes for obfuscated malware analysis
Bountakas et al. Defense strategies for adversarial machine learning: A survey
AU2022215147B2 (en) Machine learning methods and systems for determining file risk using content disarm and reconstruction analysis
John et al. Adversarial attacks and defenses in malware detection classifiers
Tumuluru et al. APMWMM: Approach to Probe Malware on Windows Machine using Machine Learning
Silivery et al. A model for multi-attack classification to improve intrusion detection performance using deep learning approaches
Sharif et al. A deep learning based technique for the classification of malware images
Sharma et al. A GWO-XGBoost machine learning classifier for detecting malware executables
Lu et al. Stealthy malware detection based on deep neural network
Darem A Novel Framework for Windows Malware Detection Using a Deep Learning Approach.
Kamil et al. Adapted CNN-SMOTE-BGMM Deep Learning Framework for Network Intrusion Detection using Unbalanced Dataset.
Mei et al. A hybrid intelligent approach to attribute Advanced Persistent Threat Organization using PSO-MSVM Algorithm
Abid et al. ECMT framework for internet of things: an integrative approach employing in-memory attribute examination and sophisticated neural network architectures in conjunction with hybridized machine learning methodologies
Yılmaz Malware classification with using deep learning

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