掌桥专利:专业的专利平台
掌桥专利
首页

一种基于生成对抗网络的网络流量生成方法

文献发布时间:2023-06-19 19:30:30


一种基于生成对抗网络的网络流量生成方法

技术领域

本发明涉及网络流量生成技术领域,特别是一种基于生成对抗网络的网络流量生成方法。

背景技术

随着网络技术的快速发展,网络空间中的流量数据种类和数量日益增多,机器学习方法的进步也为恶意行为者提供了新的网络攻击工具,导致了大量新型且复杂的恶意攻击。抵御这些攻击的第一道防线是网络入侵检测系统(NIDS),它可以通过监控流量来了解网络活动模式,并在遇到恶意流量时发出警报。近年来,大量的研究致力于开发基于机器学习的网络入侵检测系统,而这需要使用大量高质量的训练数据。

网络流量数据对于测试网络设备、网络服务和安全产品具有重要的现实意义,但由于存在缺乏标签、真实性以及涉及用户隐私信息安全等问题而缺乏数量和质量保证,因此流量生成问题一直是国内外学术界、企业界广泛关注的问题,是如今网络管理和安全领域的一个重要研究课题。网络流量的生成方法可以分成三类:基于统计模型的网络流量生成方法、基于自回归模型的网络流量生成方法和基于生成对抗网络的网络流量生成方法。

基于统计模型的方法适用于网络性能测试,但是由于其有限的表示能力而不能生成高保真的互联网流量数据集;基于自回归模型实现的合成数据相较于真实数据,并没有使得异常检测模型的准确性有所提高。由于生成对抗网络在许多生成任务中取得了显著的效果,包括视频、音频和图像生成,因此基于生成对抗网络的模型在网络流量生成中成为主流方法。作为一个生成式深度学习模型,生成对抗网络模型避免了一些传统生成模型在实际应用中的缺陷,生成对抗网络的学习过程不需要近似推理,它巧妙地通过博弈理论即对抗学习来近似一些不可解的损失函数,这是其最大的创新之处。但是,生成对抗网络也并非完美,它在解决已有问题的同时也会产生新的一些困难,比如使用原始生成对抗网络进行训练会遭受模式崩溃问题,即生成器倾向于生成一些有把握但相似的数据,而不敢轻易地尝试去生成没把握的新数据,从而导致样本缺乏多样性的情况,此外,在网络流量生成问题上,还需要考虑网络流量数据的真实有效性和时间相关性问题,这是当前现有方法未能捕获并解决的要点问题。

发明内容

本发明的目的在于提供一种能够为网络入侵检测系统生成大批量、高质量标记数据的网络流量生成方法。

实现本发明目的的技术解决方案为:一种基于生成对抗网络的网络流量生成方法,包括以下步骤:

步骤1、对数据集进行预处理,包括属性特征评估、文本转化为数值、缺失值处理、特征数据归一化;

步骤2、设计面向网络流量生成的生成对抗网络模型架构,包括生成器模块、鉴别器模块和网络奖励机制;

步骤3、训练网络模型,分为模型预训练和正式训练两个阶段;

步骤4、对生成的流量数据进行数据评估和筛选,包括质量评估、相似性评估和标记评估,筛选合格样本形成标记流量集。

进一步地,步骤1所述的对数据集进行预处理,包括属性特征评估、文本转化为数值、缺失值处理、特征数据归一化,具体为:

使用当前公开可用的数据集和真实网络流量进行预处理,包括流量数据的属性特征评估、文本转化为数值、缺失值处理和特征数据归一化。

进一步地,步骤1所述的对数据集进行预处理,包括属性特征评估、文本转化为数值、缺失值处理、特征数据归一化,步骤如下:

步骤1.1、属性特征评估:使用公开流量数据集和真实网络流量进行流量数据生成实验,数据集一包含超过200万个具有49个属性的网络流和9种攻击类别,数据集二包含超过280万个具有80个特征的网络流量,首先剔除时间戳不适合机器学习的属性列,设置dataset_features字典;

步骤1.2、将文本转化为数值,将源文件中的攻击类型转换成数字标识;

步骤1.3、删除源数据中缺失值所在的行;

步骤1.4、对特征数据进行归一化处理。

进一步地,步骤2所述的设计面向网络流量生成的生成对抗网络模型架构,包括生成器模块、鉴别器模块和网络奖励机制,具体为:

生成对抗网络GAN包括生成器模块和鉴别器模块,通过两个神经网络的不断博弈学习,从而生成鉴别器难以区分的合成数据;

方法模型使用带梯度惩罚的Wasserstein GAN,即WGAN-GP,结合长短期记忆网络LSTM捕获网络流量序列中的时间相关性,分别设计生成器和鉴别器,并使用网络奖励机制提高生成质量。

进一步地,步骤2所述的设计面向网络流量生成的生成对抗网络模型架构,包括生成器模块、鉴别器模块和网络奖励机制,步骤如下:

步骤2.1、网络模型使用生成对抗网络的一种变体—带梯度惩罚的WassersteinGAN,即WGAN-GP,与经典生成对抗网络相比,WGAN从损失函数的角度进行了改进;

通过计算Wasserstein距离来衡量数据分布和真实数据分布之间的距离,公式如下:

其中inf指代最大下界;π(P

步骤2.2、修改原始生成对抗网络的目标函数,在WGAN基础上改进Lipschitz连续性限制条件,将权重修剪策略改为梯度约束的方式,从而提高模型建模能力,解决梯度消失或梯度爆炸问题;改进后W生成对抗网络-GP的目标函数计算如下:

/>

其中,前半部分为原W生成对抗网络的critic损失,后半部分增加了一个正则项,这个正则项就是梯度约束GP;

步骤2.3、为了能够捕获流量序列中的时间相关性,将长短期记忆网络LSTM结合到生成器模型,在G中引入Attention-LSTM结构用于提取样本数据的时间特性;

步骤2.4、考虑到G、D和网络流的特定模式之间的对立目标,设计一种奖励机制来提高数据生成的质量,奖励值分为两部分,即鉴别奖励和检查奖励,计算方式分别是:

鉴别奖励:

其中D为鉴别器,

检查奖励:

所以,最终的网络奖励计算公式如下:

进一步地,步骤2.3中的LSTM结构各位置计算公式如下:

输入门:i

遗忘门:f

输出门:o

长记忆:

短记忆:h

进一步地,步骤3所述的训练网络模型,分为模型预训练和正式训练两个阶段,具体为:

预先训练生成器G和鉴别器D,接着设置batch_size为64,批量训练网络,训练设置为100轮迭代次数,对于每个数据集,分别生成20000个样本。

进一步地,步骤3所述的训练网络模型,分为模型预训练和正式训练两个阶段,步骤如下:

步骤3.1、使用最大似然估计MLE算法,预训练生成器G;然后预训练鉴别器D,和生成器G保持平衡;

步骤3.2、正式训练生成模型,设置G和D的学习率分别为0.005和0.01,且训练G的次数多于D;正式训练设置100轮次,G和D的步长分别为1和5;

步骤3.3、反馈网络奖励给生成器G进一步指导训练,根据设计的鉴别奖励公式进行计算,同时检查生成流是否通过领域知识检查来计算检查奖励,然后将Reward反馈回生成器,指导下一轮次的生成训练;

步骤3.4、保存正式训练的网络参数,生成的流量数据样本,最后保存每一轮次G和D的损失值,用以后续的结果评估。

进一步地,步骤4所述的对生成的流量数据进行数据评估和筛选,包括质量评估、相似性评估和标记评估,筛选合格样本形成标记流量集,具体为:

对于生成的数据结果,使用领域知识检查评估数据的有效性;通过内核密度估计kde来可视化特征分布,同时通过计算实际流量分布和合成流量分布的Wasserstein距离来评估相似性;通过对数据标签进行偏差率计算来评估数据标记;最后筛选评估合格的样本,整合形成新的高质量标记流量集。

进一步地,步骤4中对生成的流量数据进行数据评估和筛选,包括质量评估、相似性评估和标记评估,筛选合格样本形成标记流量集,具体如下:

步骤4.1、质量评估,对生成的数据流进行领域知识检查;

步骤4.2、相似性评估,通过内核密度估计、计算实际流量分布和合成流量分布的Wasserstein距离来评估相似性;

步骤4.3、标记评估,通过对数据标签进行偏差率计算来评估数据标记;

步骤4.4、合成标记流量集,通过对生成数据的逐条检查筛选合格的样本,形成新的标记流量集。

本发明与现有技术相比,其显著优点为:(1)选用了当前网络安全入侵检测领域较为完整和可靠的两个数据集进行模型训练和评估,具有代表性和可靠性;(2)训练的WGAN-GP模型能够解决传统模型模式崩溃问题,提升了样本质量;(3)创新性地在生成器模块引入LSTM网络,用于捕获流量序列的时间相关性,增加了样本真实性;(4)设计了针对性地网络奖励机制,从而进一步提高了模型的生成质量。

附图说明

图1是本发明一种基于生成对抗网络的网络流量生成方法的流程示意图。

图2是本发明实施例中数据集预处理的流程示意图。

图3是本发明实施例中网络模型架构的结构示意图。

具体实施方式

下面结合附图和具体实施例,对本发明做进一步的详细说明。

结合图1,本发明一种基于生成对抗网络的网络流量生成方法,包括以下步骤:

步骤1、对数据集进行预处理,包括属性特征评估、文本转化为数值、缺失值处理、特征数据归一化;

步骤2、设计面向网络流量生成的生成对抗网络模型架构,包括生成器模块、鉴别器模块和网络奖励机制;

步骤3、训练网络模型,分为模型预训练和正式训练两个阶段;

步骤4、对生成的流量数据进行数据评估和筛选,包括质量评估、相似性评估和标记评估,筛选合格样本形成标记流量集。

作为一种具体示例,步骤1中,使用当前公开可用的数据集和真实网络流量进行预处理。包括流量数据的属性特征评估、文本转化为数值、缺失值处理和特征数据归一化,具体如下:

步骤1.1、属性特征评估:方法使用公开流量数据集和真实网络流量进行流量数据生成实验,数据集一包含超过200万个具有49个属性的网络流和9种攻击类别,数据集二包含超过280万个具有80个特征的网络流量,首先需要剔除时间戳不适合机器学习的属性列,设置dataset_features字典;

步骤1.2、将文本转化为数值,将源文件中的攻击类型转换成数字标识;

步骤1.3、删除源数据中缺失值所在的行;

步骤1.4、对特征数据进行归一化处理;

步骤1.5、将数据集划分为训练集和测试集,并预设置模型输出20000个样本作为评估的生成集。

作为一种具体示例,步骤2中,方法模型使用带梯度惩罚的Wasserstein GAN,即WGAN-GP,结合长短期记忆网络LSTM捕获网络流量序列中的时间相关性,分别实现生成器和鉴别器,并使用网络奖励机制提高生成质量;所述的网络模型架构设计,具体如下:

步骤2.1、网络模型使用生成对抗网络的一种变体——带梯度惩罚的WassersteinGAN,即WGAN-GP,与经典生成对抗网络相比,WGAN主要从损失函数的角度进行了改进,这种改进即使在全连接层也能得到很好的表现结果;

方法通过计算Wasserstein距离来衡量数据分布和真实数据分布之间的距离,计算公式如下:

其中inf指代最大下界,π(P

步骤2.2、修改原始生成对抗网络的目标函数,在WGAN基础上改进Lipschitz连续性限制条件,将权重修剪策略改为梯度约束的方式,从而提高模型建模能力,解决梯度消失或梯度爆炸问题。改进后W生成对抗网络-GP的目标函数计算如下:

其中,前半部分为原W生成对抗网络的critic损失,后半部分增加了一个正则项,这个正则项就是梯度约束GP;

步骤2.3、为了能够捕获流量序列中的时间相关性,将长短期记忆网络LSTM地结合到生成器模型,在G中引入Attention-LSTM结构提取样本数据的主要特征;

所述的LSTM结构各位置计算公式如下:

输入门:i

遗忘门:f

输出门:o

长记忆:

短记忆:h

步骤2.4、考虑到G、D和网络流的特地模式之间的对立目标,方法设计了一种新颖的奖励机制来提高数据生成的质量,奖励值分为两部分,即鉴别奖励和检查奖励,计算方式分别是:

鉴别奖励:

其中D为鉴别器,

检查奖励:

所以,最终的网络奖励计算公式如下:

作为一种具体示例,步骤3中,为了使模型能够更好的指导进一步训练,本方法预先训练了生成器G和鉴别器D,而不是随机初始化参数;接着进行模型的正式训练,设置各模块训练参数,根据计算的网络奖励反馈给生成器,指导进一步的生成训练,具体如下:

步骤3.1、使用最大似然估计MLE算法,预训练生成器G;然后预训练鉴别器D,和生成器G保持平衡;

步骤3.2、正式训练生成模型,设置G和D的学习率分别为0.005和0.01,且训练G的次数多于D,从而增加稳定性;正式训练设置100轮次,G和D的步长分别为1和5;

步骤3.3、反馈网络奖励给生成器G进一步指导训练,根据设计的鉴别奖励公式进行计算,同时检查生成流是否通过领域知识检查来计算检查奖励,然后将Reward反馈回生成器,指导下一轮次的生成训练;

步骤3.4、保存正式训练的网络参数,生成的流量数据样本,最后保存每一轮次G和D的损失值,用以后续的结果评估。

作为一种具体示例,步骤4中,对于生成的数据结果,使用领域知识检查评估数据的有效性;通过内核密度估计(kde)来可视化特征分布,同时通过计算实际流量分布和合成流量分布的Wasserstein距离来评估相似性。此外还通过对数据标签进行偏差率计算来评估数据标记,最后筛选评估合格的样本整合形成新的高质量标记流量集,具体如下:

步骤4.1、质量评估,对生成的数据流进行领域知识检查;

步骤4.2、相似性评估,通过内核密度估计、计算实际流量分布和合成流量分布的Wasserstein距离来评估相似性;

步骤4.3、标记评估,通过对数据标签进行偏差率计算来评估数据标记;

步骤4.4、合成标记流量集,通过对生成数据的逐条检查筛选合格的样本,形成新的标记流量集。

下面结合附图及具体实施例对本发明做进一步详细描述。

实施例

结合图1,本实施例一种基于生成对抗网络的网络流量生成方法,包括以下步骤:

步骤1、使用当前公开可用的数据集和真实网络流进行预处理使用当前公开可用的数据集和真实网络流量进行预处理,包括流量数据的属性特征评估、文本转化为数值、缺失值处理和特征数据归一化,结合图2,具体如下:

步骤1.1、属性特征评估,方法使用两个公开流量数据集和真实网络流量进行流量数据生成实验,数据集一包含超过200万个具有49个属性的网络流和9种攻击类别,数据集二包含超过280万个具有80个特征的网络流量,首先需要剔除IP和时间戳等不适合机器学习的属性列,设置好dataset_features字典;

步骤1.2、将文本转化为数值,将源文件行中的协议类型、攻击类型等转换成数字标识;

步骤1.3、删除源数据中缺失值所在的行,例如在数据集二中的第15列和第16列存在NaN和Infinity脏数据,需要剔除;

步骤1.4、对特征数据进行归一化处理;

步骤1.5、将数据集划分为训练集和测试集,并预设置模型输出20000个样本作为评估的生成集。

步骤2、方法模型使用带梯度惩罚的Wasserstein GAN(WGAN-GP),引入长短期记忆网络LSTM捕获网络流量序列中的时间相关性,分别实现生成器和鉴别器,并使用网络奖励机制提高生成质量,结合图3,具体如下:

步骤2.1、网络模型使用生成对抗网络的一种变体——带梯度惩罚的WassersteinGAN(WGAN-GP),与经典生成对抗网络相比,WGAN主要从损失函数的角度进行了改进,这种改进即使在全连接层也能得到很好的表现结果;

方法通过计算Wasserstein距离来衡量数据分布和真实数据分布之间的距离,计算公式如下:

其中inf指代最大下界,π(P

步骤2.2、修改原始生成对抗网络的目标函数,在WGAN基础上改进Lipschitz连续性限制条件,将权重修剪策略改为梯度约束的方式,从而提高模型建模能力,解决梯度消失或梯度爆炸问题;改进后W生成对抗网络-GP的目标函数计算如下:

其中,前半部分为原W生成对抗网络的critic损失,后半部分增加了一个正则项,这个正则项就是梯度约束GP;

步骤2.3、为了能够捕获流量序列中的时间相关性,将长短期记忆网络LSTM创新性地结合到生成器模型,在G中引入Attention-LSTM结构提取样本数据的主要特征;

所述的LSTM结构各位置计算公式如下:

输入门:i

遗忘门:f

输出门:o

长记忆:

短记忆:h

步骤2.4、考虑到G、D和网络流的特地模式之间的对立目标,方法设计了一种新颖的奖励机制来提高数据生成的质量,奖励值分为两部分,即鉴别奖励和检查奖励,计算方式分别是:

鉴别奖励:

其中D为鉴别器,

检查奖励:

所以,最终的网络奖励计算公式如下:

步骤3、为了使模型能够更好的指导进一步训练,本方法预先训练了生成器G和鉴别器D,而不是随机初始化参数;接着进行模型的正式训练,设置各模块训练参数,根据计算的网络奖励反馈给生成器,指导进一步的生成训练,方法如下:

步骤3.1、预训练生成器G和鉴别器D,采用极大似然估计MLE算法,设置预训练迭代100轮次,每批量大小64,分别保存预训练的G和D的网络参数为pre_g.pth和pre_d.pth文件到conf文件目录下;

步骤3.2、加载预训练得到的网络参数,进行正式训练。其中,生成器模块采用两个子生成器,即多层感知器(MLP)和长短期记忆网络(LSTM)相结合,其中MLP使用sigmoid激活函数,使用pytorch机器学习库的Linear函数定义神经网络线性层,用于生成流量序列,LSTM则关注流量序列的长期和短期时间模式,捕获时序特征进一步指导流量序列生成。鉴别器的训练过程和生成器是交替进行和对立的,由于本发明的主要目的在于生成模块,因此MLP对于网络流量中的鉴别模块是足够的,所以D采用该结构设计。正式训练迭代100轮次,G和D的步长分别为1和5,使用Adam优化器,设置学习率为0.01和0.005,生成20000个样本;

步骤3.3、反馈网络奖励给生成器G进一步指导训练,根据设计的鉴别奖励公式进行计算,同时检查生成流是否通过领域知识检查来计算检查奖励,然后将Reward反馈回生成器,指导下一轮次的生成训练;

步骤3.4、保存正式训练的网络参数为g.pth和d.pth到conf目录下,保存生成的流量数据样本traffic.csv到target目录下,最后保存每一轮次G和D的损失值g_losses.csv和d_losses.csv到target目录下,用以后续的结果评估。

步骤4、对于生成的数据结果,使用领域知识检查评估数据的有效性;通过内核密度估计(kde)来可视化特征分布,同时通过计算实际流量分布和合成流量分布的Wasserstein距离来评估相似性,此外还通过对数据标签进行偏差率计算来评估数据标记,最后筛选评估合格的样本整合形成新的标记流量集,具体如下:

步骤4.1、质量评估,对生成的数据流进行领域知识检查;

步骤4.2、相似性评估,通过内核密度估计、计算实际流量分布和合成流量分布的Wasserstein距离来评估相似性;

步骤4.3、标记评估,通过对数据标签进行偏差率计算来评估数据标记;

步骤4.4、合成标记流量集,通过对生成数据的逐条检查筛选合格的样本,形成新的标记流量集。

综上所述,本发明第一、选用了当前网络安全入侵检测领域较为完整和可靠的两个数据集进行模型训练和评估,具有代表性和可靠性;第二、训练的WGAN-GP模型能够解决传统模型模式崩溃问题,提升了样本质量;第三、创新性地在生成器模块引入LSTM网络,用于捕获流量序列的时间相关性,增加了样本真实性;第四、设计了针对性地网络奖励机制,从而进一步提高了模型的生成质量。

技术分类

06120115931035