As a reader --> SynGAN: Towards Generating Synthetic Network Attacks using GANs

SynGAN: Towards Generating Synthetic Network Attacks using GANs

引:NIDS就像黑箱一样工作,假阳率高,且没有可衡量的有效性。我们需要通过模拟真实的网络攻击突变来不断测试和改进系统。本文提出了SynGAN,一个使用GAN 生成对抗网络攻击的框架。SynGAN利用真实的攻击流量产生恶意报文流(packet flow)突变,提高入侵检测率。实验在NSL-KDD和CICIDS2017两个公共数据集上进行,以生成合成的DDoS网络攻击。我们使用梯度增强分类器评估攻击质量(real & synthetic)。

一、NIDS自身的缺陷

NIDS可以通过监控流量来了解网络的活动模式,并在遇到恶意流量时发出警报。这些系统通常依赖于静态攻击特征和使用数据和时间变化的动态行为学习方法。然而,(1)这些检测方法可能会被攻击突变/复杂的学习算法所逃逸;(2)它们也可能有很高的假阳率,但缺乏可测量的有效性。因此,有必要使用真实网络不断测试、改进和发展NIDS模型,以增强攻击模式检测的准确率和复杂性。

目前,DNN已经被用于改进NIDS系统。最新的梯度惩罚- wasserstein生成对抗网络(GP-WGAN)可以解决合成网络流量生成的复杂性和高质量问题。在本研究中,使用公开可用的数据集并利用GP-WGAN算法专门生成合成网络攻击——SynGAN框架,它由三个组件组成:生成器、鉴别器和评估器。生成的包根据质量基准进行度量,质量基准是由生成的合成包和真实包之间的相似性定义的。我们比较了两个真实网络数据集NSL-KDD和CICIDS2017的合成网络攻击生成。其中,虽然NSL-KDD是知名的网络安全数据集,它在评估NIDS方面尚存在不足,但为最初的框架开发和评估提供了一个很好的起始参考点。实验以DDoS系列攻击(有复杂的时间变化)评估了这个框架。

二、相关方法

1.GP-WGAN的理论系统阐述

 Gradient Penalty Wasserstein GAN的损失函数如下:

f:(X,d)上的1-Lipschitz函数集,PX为原始数据分布,PG为X^= G(Z),Z ~ p(Z)隐式定义的生成模型分布。G的输入Z是从噪声分布采样,如均匀分布。PX^定义了在数据分布PX与生成分布PG的点对之间沿直线的均匀采样。对随机样本X^~ PX^进行梯度范数惩罚。

传统GAN为两个神经网络之间的竞争博弈,其中生成器网络必须根据博弈理论场景与对手竞争。生成器从噪声分布中生成样本,它的对手——鉴别器则试图从生成的样本中区分真实的样本。真实样本继承自训练数据,生成样本继承自生成器。而Wasserstein GAN (WGAN)利用最优传输度量促进了GAN训练的收敛。GP-WGAN通过使用梯度惩罚方法进一步优化了WGAN,以生成更高质量的对抗性样本。使用Wasserstein距离和梯度惩罚,生成器和鉴别器能够以相同的速度改进,避免了模式崩溃的特点(未优化的神经网络权值导致训练效果不佳)。

2.DDoS

当多台机器向网络主机发送大量流量,直到主机无法响应或崩溃,从而阻止用户访问时,就会发生DDoS攻击。这些攻击利用网络、传输和/或应用程序层上的协议。常见的DDoS攻击包括Teardrop、Smurf、UDP flooding、SYN flooding、NTP flooding、DNS Amplification和应用层HTTP攻击,如GoldenEye、Slowloris等。本研究专注于为Smurf和GoldenEye攻击生成合成网络流量。

在Smurf攻击中,攻击者依赖于大量使用在网络中广播的被攻击者欺骗的源IP地址ICMP 应答请求包。

在GoldenEye攻击中,攻击者通过HTTP请求保持连接打开,来攻击web服务器,导致服务器无法处理任何其他请求。

由于它们固有的分布式特性,GoldenEye攻击和其他类似的应用层DDoS被认为是特别棘手的。

3.SynGAN框架和合成DDoS的生成

SynGAN框架利用真实攻击流量 突变 生成合成的网络攻击报文。它使用GP-WGAN公式来保证误差最小化函数更好的收敛性。

(1)最初,在GAN的训练过程中,采用均匀随机分布对人工样本进行初始化。然后G对人工样本进行突变,使之与真实攻击相似。

(2)随后,合成攻击被输入到D。D试图区分真实的攻击和合成的攻击。它向G提供反馈,以递归地提高生成的对抗样本的质量。在GAN训练结束时,G被用来生成合成DDoS攻击。

(3)最后,梯度增强分类器,即E,尝试使用基于RMSE的质量基准来区分真实的和生成的攻击包。选择使用梯度增强算法,是因为它可以方便地识别用于流量分类的相关特征,如图2所示。

下面进行分析:

NSL-KDD数据集包含两类网络攻击,DoS和Probe,以及两类基于主机的攻击,R2L和U2R。首先从DDoS攻击子集开始评估我们的方法,该子集包括简单的Smurf攻击,具有41个网络fow特性。

CICIDS2017数据集包含infiltration、heart-bleed、GoldenEye等多种攻击,具有80个网络流量特征。然后,我们把合成攻击实验集中在更复杂的GoldenEye攻击模式上。

三、实验部分

1.环境:keras包 实现神经网络

             GP-WGAN 5层(256,128,128,128,78个神经元) 每层使用ReLu激活函数 

             RMSProp梯度下降对模型训练 lr=0.001 ρ=0.9 ε=10^-6 

             经验获得最低的重建误差梯度罚λ=10

             16GB of RAM

             Intel i7 CPU

             Tesla K80 GPU

2.实验结果

通过对NSL-KDD数据集的Smurf攻击分析,E识别出的前15个重要的合成参数如图2所示。最大的加权参数Dst_host_count表示具有相同目的主机IP地址的连接数。然而,NSL-KDD数据集只包含2000个Smurf攻击,统计相关性很弱,生成的包并不可靠。

因此,实验将重点放在CICIDS2017数据集上,该数据集拥有超过10,000个DDoS攻击样本,包括GoldenEye攻击。SynGAN框架能够生成RMSE=0.10的对抗性攻击,这意味着人工生成的合成攻击与原始攻击非常相似。在图3中,给出了packet length mean, the flow bytes per sec., the flow duration 和 the forward Inter Arrival Time (IAT) 在合成攻击与原始攻击的分布差异情况,结果证明非常相近。

其他特性也有相同的分布模式。我们在合成攻击与原始攻击下,计算了E的ROC曲线下的AUC。初步的AUC得分是75%,这表明E在一定程度上无法区分两种类型的攻击。这些结果重申了SynGAN框架能够产生高质量对抗性攻击的能力。

四、结论

本研究引入SynGAN框架,利用真实的攻击流量数据生成合成的网络攻击。我们评估了NSL-KDD和CICIDS2017数据集,作为DDoS网络攻击的子集。其中,CICIDS2017数据集有统计上更重要的DDoS攻击样本。

最终,SynGAN框架应用于生成GoldenEye攻击数据,实验结果显示了真实数据和合成数据的足够收敛性。虽然目前的框架仅使用GP-WGAN进行DDoS网络攻击,但效果良好。

未来的工作将探索生成具有更复杂状态机的模型,使之适合不同的网络攻击类型。

最终的目标是通过生成高质量的不同类型的合成攻击流量来评估商业NIDS的有效性,并将该框架集成到网络安全自动化管道中。

To see I can not see, to know I do not know.
原文地址:https://www.cnblogs.com/aluomengmengda/p/15264794.html