通过GAN绕过基于机器学习的IDS检测系统,IDSGAN(也是对IDS ML检测算法进行绕过,数据集使用NSL-KDD,DoS、U2R、R2L三种攻击)——也有最新防御的方法
SIGMA : Strengthening IDS with GAN and Metaheuristics Attacks
入侵检测系统(IDS)是网络管理员识别恶意流量和网络攻击的重要网络安全工具。随着深度学习等机器学习技术的发展,越来越多的入侵检测系统采用机器学习算法来快速检测攻击。然而,这些系统在面对以前看不到的攻击类型时缺乏健壮性。随着新攻击的不断增多,特别是针对物联网设备的攻击,拥有一个能够发现异常和新攻击的健壮的入侵检测系统变得非常必要。本文探讨了利用生成对抗模型提高基于机器学习的入侵检测系统鲁棒性的可能性。更具体地说,我们提出了一种名为SIGMA的新方法,该方法利用对抗性示例来增强IDS抵御新类型攻击的能力。SIGMA使用生成性对抗网络(GAN)和元启发式算法,迭代生成对抗性示例,并使用它重新训练基于机器学习的入侵检测系统,直到检测率收敛(即直到检测系统不再改进)。一轮改进包括一个生成阶段,在这个阶段中,我们使用GANs和元启发式来生成实例;在评估阶段,我们计算这些新生成的攻击的检测率;在训练阶段,我们用这些攻击来训练身份证。我们评估了四种标准机器学习分类算法作为入侵检测系统的SIGMA方法,将GAN与混合局部搜索和遗传算法相结合,生成新的攻击数据集。结果表明,SIGMA能够成功地对不同的基于机器学习的入侵检测系统产生对抗性攻击。另外,使用SIGMA,我们可以在仅仅经过两轮改进之后,将IDS的性能提高到100%。
https://arxiv.org/pdf/1912.09303.pdf
这个是2020的文章,防御的!
下面这个攻击的!
Generative Adversarial Networks For Launching and Thwarting Adversarial Attacks on NIDS论文阅读
参考文献:Generative Adversarial Networks For Launching and Thwarting Adversarial Attacks on Network Intrusion Detection Systems
1、摘要
提出了一种使用生成对抗网络(GAN)的对抗式ML攻击,该攻击可以成功规避基于ML的IDS。另外还证明了GAN可用于强化IDS增强鲁棒性。
本文的主要贡献是: •我们建议并验证对黑盒IDS的基于GAN的对抗式ML攻击。我们提出的基于GAN的攻击是第一种可以成功避开IDS并确保保留网络流量功能行为的对抗性攻击。 •我们提出了基于GAN的防御机制训练机制,该机制可提高IDS抵抗对抗性扰动的鲁棒性;在攻击和防御过程中,仅通过更改网络流量的非功能特性来确保网络流量的功能行为。 本文的其余部分安排如下。在下一部分中,我们将简要介绍相关研究,重点是使用GAN为IDS生成对抗性示例。我们在第三部分中讨论了一些预备知识,其中提供了问题表述,假定的威胁模型,考虑的数据集,以及在发起对抗性攻击时保留功能行为的约束。第四节介绍了我们基于GAN的对抗攻击方法,并介绍了我们的攻击技术的结果。第五节描述了针对对抗示例的防御机制的详细信息,并着重指出,针对防御的防御机制提高了IDS对抗对抗性干扰的鲁棒性。最后,得出结论。
2、研究内容
A.问题定义
假设X是具有n个特征的特征集,且(xi,yi)是一个样本,其中xi∈X是合法的网络流量样本,而yi∈Y是真实的类别标签,其中Y表示类别的数量。 IDS旨在学习分类器f:X-→Y,它是传入网络流量的真实表示。对手的目标是生成不易察觉的对抗性扰动δ,当将其添加到合法样本xi中时会构成一个对抗性示例x *,并被分类为f(xi +δ)̸= yi。我们通过使用GAN构造x *来成功逃避黑匣子IDS,从而提供了一个框架。我们还提出了基于GAN的防御措施,以提高IDS中针对对抗示例使用的ML / DL技术的鲁棒性。
B.威胁模型
1)对抗能力:在本文中,我们假设黑匣子设置,其中对手只能向IDS查询相关标签。我们进一步假设对手通过同时查询IDS来准备一个预言机。对手无法访问有关IDS的其余信息。
2)对抗目标:对抗目标是生成可以逃避IDS检测的对抗样本
C.数据集
我们已经在广泛用于基准IDS性能的KDD99数据集上评估了基于GAN的对抗性示例。数据集由五类组成,即:正常,探测,DoS,U2R和R2L,代表IDS评估的不同类型的入侵流量。数据集中的每个记录包含41个要素,其中34个是连续要素,7个是分类要素。一键表示用于对分类特征进行编码。下表中提供了数据集功能的详细信息及其与攻击类型的关系。
![](https://pic3.zhimg.com/80/v2-281007f57ff01f7956defa110f9b55e6_720w.jpg)
D.保持功能行为的约束
对抗性ML实例的一个非常重要的约束是保留受干扰实例的功能行为。对于计算机视觉,对手必须保持对抗示例的外观,对于语言处理示例,对手必须在创建对抗文本示例时保留语义含义,对于恶意软件和PE对手,必须确保对抗干扰不会更改恶意软件或PE的可执行性。对于网络流量功能,对手必须确保对抗干扰不会使网络流量功能无效。
为了完全理解网络流量功能(尤其是网络攻击流量)功能行为的保留,我们需要退后一步,了解tcpdump记录中的特征提取方法。从tcpdump记录中对IDS进行特征提取是一种四层特征提取方案。该方案基于网络流量中攻击的性质。 特征提取的四个步骤如下: 1)首先,从网络流量中提取内在特征(intrinsic features)。这些特征对于任何网络流量有效性都是必需的。这些特征的任何更改都将使网络流量无效。 2)其次,提取基于时间的特征。这些特征提供了正常和恶意流量的基于时间的特征。这些特征以及固有功能对于识别嗅探和DoS攻击是必需的。 U2R和R2L攻击不需要基于时间的网络流量统计,因为这些攻击嵌入在数据包的内容中。因此,网络流量特征中基于时间的特征的任何更改都将使网络流量特征无效。 3)第三,从网络流量中提取了固有的和基于时间的特征之后,需要从流量中提取内容特征,以检测U2R和R2L攻击。探测和DoS攻击检测不需要内容功能。这些特征的任何更改都不会使探测和DoS攻击无效。在本文中,我们使用了内容特征来生成对抗样本。 4)最后,提取基于主机的流量特征,这些特征以及固有和基于时间的特征对于慢速探针攻击检测是必需的。这些功能的任何更改不仅会更改基于主机的信息,还会使流量无效。
我们在下表中提供了特征集的分类法及其与攻击流量的功能行为的关系。
![](https://pic2.zhimg.com/80/v2-0079559aee7b8f4145fff82723b946f5_720w.jpg)
我们基于GAN的对抗性攻击只会对内容特征增加干扰,以确保功能行为得以保留。这也突出表明,要进行对抗性攻击,攻击者必须具有完整的领域知识。这也是许多对抗性攻击(例如FGSM,BIM,JSMA)不适用于网络流量的原因,因为这些攻击无法确保保留网络流量功能的功能行为。 下图以嗅探攻击为例显示了如何保留网络流量的功能,只改变了基于内容的特征。
![](https://pic1.zhimg.com/80/v2-777bf8e840e011eb80898bbae6ab414c_720w.jpg)
3、基于GAN的攻击方法
A.使用GAN的对抗攻击
GAN由两个神经网络组成,即:生成器G和鉴别器D。提供输入示例X = {x1,x2,...,xn},G在分布p(x)下生成伪造示例来欺骗D,同时D要鉴别X的正常示例和G的伪造示例。此学习过程被表述为G之间的极大极小博弈和D。描述此对抗过程的优化函数是:
![](https://pic4.zhimg.com/80/v2-e055110d1359c998d0d2ffd759e087eb_720w.png)
其中p(z)是潜在随机变量z的分布,通常定义为已知的简单分布,例如N(0,I)或U(a,b)。通过采取其他渐变步骤来执行G和D训练,以确保G可以学会欺骗D和D可以学会检测假冒示例。
x是正样本,z是输入,g(z)是生成样本,D是分类器,g是生成器,E(p(x))log(D(x))是说,分类器把真样本分为正例的期望;E(p(z))log(1-g(z))是说分类器把生成样本分为负例的期望。 现在分类器希望把这个期望足够高,也就是分类器希望能够分开生成样本和真样本。 而生成器希望在分类器最高的情况下使这个期望最低。
下图描绘了用于生成对抗样本的总体架构。
![](https://pic3.zhimg.com/80/v2-27edce6187ec5f1580b5117c183c299e_720w.jpg)
GAN框架由三个组件组成,即:生成器网络G,鉴别器网络D和基于黑盒ML / DL的分类器f。输入xi∈X分为两部分;即功能和非功能属性。该划分是基于对网络流量功能行为的贡献而进行的。 G将数据的非功能属性作为输入,生成输入的非功能属性大小的扰动δ。然后,我们将原始流量x的功能部分与生成的δ进行级联,该级联表示为x∥G(x)。合并后的样本将被馈送到D,后者负责对原始样本和伪造样本进行分类。 D被训练来模仿IDS的行为。通过向IDS和鉴别器同时提供恶意流量和正常流量来实现此目的,并将IDS的预测用作D训练的标签。与D相反,G专门针对恶意数据M进行训练来欺骗D(IDS的代理)。下面两个等式提供了G和D的对抗损失:
![](https://pic4.zhimg.com/80/v2-47bfd140b1d6cbc145c77ed5f7528127_720w.jpg)
G的目标是生成与正常流量x不能区分的已知为恶意的伪造示例,而D的目标是区分合法和伪造的示例。在训练G时,D被认为是固定且可逆的。提议的GAN框架中使用的完整损失函数为:
![](https://pic4.zhimg.com/80/v2-8d7af0487bbaa3178d69b9271931a257_720w.png)
GAN的训练过程为:
![](https://pic3.zhimg.com/80/v2-0d33454d354a6b82ef96187e0d3881ea_720w.jpg)
所用GAN架构及其超参数的详细信息在下表中表示:
![](https://pic1.zhimg.com/80/v2-df971e737560a107d261052b5919c1b8_720w.jpg)
B.基于GAN的对抗攻击的结果
所提出的基于GAN的对抗攻击用于构造Probe类的对抗样本。这些样本可以欺骗基于ML / DL的黑盒IDS,他们认为将Probe攻击流量视为Normal类流量。我们仅考虑了普通和探测类网络流量之间的分类,但是提供的框架也适用于其他网络流量类。
为了证明基于GAN的对抗攻击的有效性,我们选择执行一系列实验,其中我们使用了DNN,逻辑回归(LR),支持向量机(SVM),k最近邻(KNN) ,朴素贝叶斯(NB),随机森林(RF),决策树(DT)和梯度增强(GB)技术作为黑盒IDS。由于提出的GAN框架一次只生成一个类的对抗性示例,因此我们仅使用GAN框架来生成Probe类的对抗性示例。我们使用准确性,准确性,召回率和F1分数作为逃避攻击的评估参数。 下图比较了攻击前和攻击后基于黑盒ML / DL的IDS的准确性,(以前的攻击方法未显示为比较的基准,因为它们不适用于我们的环境,与我们的方法不同,它们无法确保保留网络功能行为)结果突出显示了基于GAN的对抗攻击在确保功能的同时能绕过NIDS的分类。分类器的性能下降表明,对抗性示例正在增加误报的数量,并迫使ML / DL分类器学习错误的决策边界。
![](https://pic2.zhimg.com/80/v2-12595f2f028e90dcd8add0f71bf6728d_720w.jpg)
4、基于GAN的防御方法
在本节中,我们讨论IDS如何通过使用生成型ML模型选择对抗训练来防御对抗攻击。
A.在IDS中使用生成模型进行对抗训练
对抗训练是一种在训练数据中注入对抗样本的方法,以确保ML / DL模型学习可能的对抗扰动。这种训练ML / DL模型的新方法将通过训练原始和对抗性的示例来提高ML / DL模型的鲁棒性和通用性。据我们所知,尚未在基于ML / DL的IDS中探索对抗训练来对抗对抗示例。对抗训练方法的一个缺点是,有一定的针对性,NIDS仍将被未知的对抗扰动所规避。 为了克服这个缺点,我们提出了一种基于GAN的对抗训练方法,如下图所示,用于在黑盒IDS中对ML / DL模型进行对抗性训练,以防御对抗性ML攻击。
![](https://pic3.zhimg.com/80/v2-b7f89bc933a1d0bcf1b732e663e8e156_720w.jpg)
我们提出的基于GAN的对抗性防御工作包括在基于ML / DL的IDS管道中包括一个生成模型,而IDS模型不仅针对输入数据进行训练,而且还针对生成模型所生成的对抗样本进行训练。尽管此过程类似于对抗训练,但我们的方法有所不同,因为在IDS中使用GAN等生成模型会引入针对已知和未知对抗扰动的鲁棒性。
B.基于GAN的对抗训练的结果
下表在DNN,RF,LR,NB,DT,KNN,SVM和GB方案上基于GAN的拟议攻击性和防御框架的性能评估(评估参数均为4%),表中的结果突出表明,针对对抗性网络流量的防御措施已提高了基于ML / DL的IDS的鲁棒性。表IV中的准确性,召回率和F1分数有了明显改善,表明与基于ML / DL的IDS相关的误报问题也已通过利用针对网络流量特征的对抗性干扰的拟议GAN对抗性防御来解决。
![](https://pic4.zhimg.com/80/v2-024c2625fac03dfe76dfda467e220f8f_720w.jpg)
下图提供了在对抗性ML攻击之前,攻击之后,对抗性训练之后以及基于GAN的对抗性训练之后,不同ML / DL技术的准确性之间的比较。从图中可以很明显地看出,所提出的基于GAN的对抗训练比简单的对抗训练过程要好。通过仔细选择IDS中GAN的超参数,可以进一步提高基于GAN的对抗训练的鲁棒性。我们还注意到了一个独特的结果,即一旦我们进行了基于GAN的对抗训练,NB就能显着改善对抗对抗的干扰。将GAN纳入其培训渠道后,黑盒IDS性能的准确性有了明显提高,也加强了我们使用GAN抵御对抗性干扰的决策。
![](https://pic1.zhimg.com/80/v2-a2ca44e1e95695645e92f5e380a6f844_720w.jpg)
5、论文总结
1、对抗样本生成 核心思路是根据攻击类型,选出可变特征和不可变特征,使用GAN生成可变特征的部分对抗特征,然后和不可变特征拼接作为最终的对抗特征。在KDD99数据集上进行了实验,以嗅探攻击类型为例,生成了嗅探对抗样本,在8种ML-NIDS上进行了实验,实验结果表明可以降低ML-NIDS的分类准确度。
2、提高NIDS鲁棒性 将生成器生成的对抗样本也放入IDS的训练过程中。