一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于生成对抗网络GAN的网络背景流量生成方法与流程

2021-10-24 07:05:00 来源:中国专利 TAG:生成 网络 流量 背景 方法
基于生成对抗网络gan的网络背景流量生成方法
技术领域
1.本发明属于网络安全技术领域,涉及一种网络背景流量生成方法,具体涉及一种基于生成对抗网络gan的网络背景流量生成方法,可用于生成网络背景流量。


背景技术:

2.互联网中的通信节点在使用网络应用进行通信时需要进行流量数据包的交互,通信节点发送的一条网络流量中含有一组包序列其中表示通信节点需要发送的第a
i
个流量数据包。
3.提供网络应用服务的运营商在进行网络安全分析、网络压力测试等需要大量的网络流量数据包样本,网络流量生成技术也在不断发展。网络流量生成方法主要包括基于统计模型的网络流量生成方法和基于流量特征的网络流量生成方法两种。
4.基于统计模型的网络流量生成方法主要借助概率模型如马尔可夫模型、泊松分布模型等搭配流量生成工具进行流量生成,这种网络流量生成方法主要在互联网压力测试时进行背景网络流量生成,缺点是基于简单的概率模型很难在现今网络流量数量庞大的条件下模拟流量数据包之间的关系,而复杂概率模型的建立非常困难。
5.基于流量数据包特征的网络流量生成方法主要借助机器学习技术对流量数据包进行特征提取作为神经网络的训练样本集,然后搭建神经网络进行迭代训练,最终对网络流量特征进行预测输出,再使用流量生成工具根据预测得到的网络流量特征生成初始数据包序列,并将用户需要发送的数据加密后嵌入至初始数据包序列生成一条网络流量。
6.生成对抗网络能够对流量数据包特征进行预测,使得生成器网络预测得到的流量数据包特征的概率分布在统计特性上与训练样本集非常相近,因此生成对抗网络在网络流量生成方面的应用具有重要意义,如申请公布号为cn109889452a,名称为“基于条件生成式对抗网络的网络背景流量生成方法和系统”的专利申请,公开了一种基于条件生成式对抗网络(cgan)的背景流量生成方法,该方法将所有预先收集的流量数据包样本固定填充为m维向量,搭建一个条件式生成对抗网络,并对条件式生成对抗网络进行迭代训练,通过训练好的条件式生成对抗网络的生成器网络生成模拟背景流量,然后进行发送。但其存在的不足在于,训练样本集的每一个流量数据包样本向量化后都要填充至固定的1518个特征,把所有不同类型的流量数据包作为一个条件式生成对抗网络的训练样本集,在获取网络背景流量生成结果的过程中,通过多个不同类型的流量数据包对一个条件式生成对抗网络进行迭代训练,收敛速度较慢,导致网络背景流量生成的效率较低。


技术实现要素:

7.本发明的目的在于克服上述现有技术存在的缺陷,提出了一种基于生成对抗网络gan的网络背景流量生成方法,旨在保证通信安全性的前提下,提高网络背景流量生成的效率。
8.为实现上述目的,本发明采取的技术方案包括如下步骤:
9.(1)获取训练样本集x
train

10.(1a)使用wireshark工具抓取通信节点在互联网通信时包括m种网络应用的s个流量数据包b={b1,b2,...,b
s
,...,b
s
},每种网络应用至少对应一个流量数据包,每个流量数据包对应一种网络应用,每个流量数据包b
s
包括w个特征,并对每种网络应用类别进行标注,得到m种网络应用对应的类别标签集合r
class
={r1,r2,...,r
m
,...,r
m
},其中,m≥2,s≥5000,b
s
表示第s个流量数据包,1≤s≤s,w≥2,r
m
表示第m种网络应用对应的类别标签,1≤m≤m;
11.(1b)对每个流量数据包b
s
的非数字特征进行独热编码,并对经过独热编码的每个流量数据包进行归一化,得到经过预处理的流量数据包集合其中表示b
s
的预处理结果;
12.(1c)通过r
class
中的网络应用类别标签对每个经过预处理的流量数据包进行标记,得到对应的网络应用类别标签集合y={y1,y2,...,y
s
,...y
s
},并将经过预处理的流量数据包集合及对应的网络应用类别标签集合y组合成训练样本集其中y
s
表示与经过预处理的流量数据包相对应的网络应用类别标签,x
rm
表示x
train
中网络应用类别标签为r
m
的样本集合,表示网络应用类别标签为r
m
的第v个样本,v表示x
train
中网络应用类别标签为r
m
的样本总数,0<v<s,0≤v≤v;
13.(2)构建生成对抗网络模型库:
14.构建包括与网络应用种类相同的m个生成对抗网络的模型库每个生成对抗网络包括依次级联的生成器网络和判别器网络其中,生成器网络包括输入层、第一全连接模块与输出层;判别器网络包括输入层、第二全连接模块与输出层,表示第m种网络应用对应的生成对抗网络;
15.(3)对生成对抗网络模型库进行迭代训练:
16.(3a)初始化第m个生成对抗网络包含的生成器网络的参数为判别器网络的参数为迭代次数为q1,最大迭代次数为q1,q1≥2000,并令q1=0;
17.(3b)从网络应用类别标签为r
m
的样本集合中随机选取k个样本作为生成对抗网络的输入,生成器网络对每个样本的预处理流量数据包特征进行预测,得到预测流量数据包特征集合判别器网络分别计算每个与每个来源于样本集合的概率,得到概率集合与概率集合d2={d1,d2,...,d
k
,...,d
k
},其中,1≤k≤50,1≤k≤k,表示第k个随机选取的样本,表示经过生成器网络预测得到的流量数据包特征,表示判别器网络计算来源于样本集合的概率,d
k
表示判别器网络计算
来源于样本集合的概率;
18.(3c)采用交叉熵损失函数,通过计算生成器网络的损失同时通过与d
k
计算判决器网络的损失并采用反向传播方法,通过计算生成器网络的网络参数梯度,通过计算判别器网络的网络参数梯度;然后采用梯度下降算法,通过的网络参数梯度对的网络参数进行更新,通过的网络参数梯度对的参数进行更新;
19.(3d)判断q1=q1是否成立,若是,得到训练好的m个生成对抗网络否则,令q1=q1 1,并执行步骤(3b);
20.(4)获取训练好的生成器网络预测流量数据包特征:
21.将训练样本集x
train
作为每个训练好的生成器网络的输入,对每个应用类别标签为r
m
的样本集合中的每个样本进行预处理流量数据包特征预测,得到预测流量数据包特征集合其中表示网络应用标签为r
m
的样本集合中的v个样本经过预测得到的预测流量数据包特征集合,表示训练样本集x
train
中网络应用类别标签为r
m
的样本集合中的第v个样本经过训练好的生成器网络预测得到的流量数据包特征;
22.(5)网络流量生成结果:
23.从预测流量数据包特征集合a中随机选取一个应用类别标签为r
w
的预测流量数据包特征集合并从中随机选取l个预测流量数据包特征流量生成器根据预测流量数据包特征集合生成初始流量数据包序列c={c1,c2,...c
l
,...c
l
},并将通信节点需要发送的数据加密后嵌入到每一个初始流量数据包c
l
中,得到包含l个经过加密数据嵌入的流量数据包的网络流量c

={c
′1,c
′2,...c

l
,...c

l
},其中为从预测流量数据包特征集合中随机选取的第l个预测流量数据包特征,c
l
表示流量生成器根据第l个预测流量数据包特征生成的初始流量数据包,c

l
表示第l个初始流量数据包经过加密数据嵌入的流量数据包,1≤l≤l,l≤v,1≤r
w
≤r
m

24.本发明与现有技术相比,具有如下优点:
25.1.本发明通过包含多种网络应用的网络流量数据包特征的训练样本集,对包含与网络应用种类相同的多个生成对抗网络组成的模型库进行迭代训练,一种网络应用对应一个生成对抗网络,避免了现有技术中通过多个不同类型的流量数据包对一个条件式生成对抗网络进行迭代训练导致的收敛速度较慢的缺陷,在保证通信安全性的前提下,有效提高了网络背景流量生成的效率。
26.2.本发明所构建的生成对抗网络模型库,其中所包含的每个生成对抗网络由依次级联的生成器网络和判别器网络,结构简单,能够提高训练的收敛速度,进一步提高了网络
背景流量生成的效率。
附图说明
27.图1是本发明的实现流程图。
具体实施方式
28.以下结合附图和具体实施例,对本发明作进一步详细描述。
29.参照图1,本发明包括如下步骤:
30.步骤1)获取训练样本集x
train

31.步骤1a)本实施例使用wireshark工具抓取通信节点在互联网通信时包括m种网络应用的s个流量数据包b={b1,b2,...,b
s
,...,b
s
},每种网络应用至少对应一个流量数据包,每个流量数据包对应一种网络应用,每个流量数据包b
s
包括w个特征,并对每种网络应用类别进行标注,得到m种网络应用对应的类别标签集合r
class
={r1,r2,...,r
m
,...,r
m
},其中b
s
表示第s个流量数据包,r
m
表示第m种网络应用对应的类别标签,1≤m≤m,在本实施例中s=7553,m=5,w=8,5种网络应用包括http网页请求、wechat、onenote、163邮箱和有道词典,每个流量数据包包括的8个特征分别为源端口、目的端口、目标主机的网络服务类型、协议类型、数据包长度、数据包到达时间、数据包到达时间间隔和滑动窗口长度。
32.步骤1b)对每个流量数据包b
s
的非数字特征进行独热编码,并对经过独热编码的每个流量数据包进行归一化,得到经过预处理的流量数据包集合其中表示b
s
的预处理结果,在本实施例中对协议类型与目标主机的网络服务类型两个特征进行独热编码;
33.独热编码使用状态寄存器对状态进行编码,使用独热编码可以将生成对抗网络模型难以学习的非数字特征转换为生成对抗网络模型易于学习的数字特征,降低了生成对抗网络模型的训练难度。
34.数据归一化技术能够简化数据运算,通过数据归一化技术能够解决生成对抗网络在根据梯度下降算法调整网络参数时出现梯度爆炸的问题,进而加快生成对抗网络模型的收敛速度。
35.步骤1c)通过r
class
中的网络应用类别标签对每个经过预处理的流量数据包进行标记,得到对应的网络应用类别标签集合y={y1,y2,...,y
s
,...y
s
},并将经过预处理的流量数据包集合及对应的网络应用类别标签集合y组合成训练样本集其中y
s
表示与经过预处理的流量数据包相对应的网络应用类别标签,表示x
train
中网络应用类别标签为r
m
的样本集合,表示网络应用类别标签为r
m
的第v个样本,v表示x
train
中网络应用类别标签为r
m
的样本总数,0<v<s,0≤v≤v,在本实施例中中包含的样本总数为3067,中包含的样本总数为2368,中包含的样本总数为903,中包含的样本总
数为453,x
r5
中包含的样本总数为762。
36.步骤2)构建生成对抗网络模型库:
37.构建包括与网络应用种类相同的m个生成对抗网络的模型库每个生成对抗网络包括依次级联的生成器网络和判别器网络其中,生成器网络包括输入层、第一全连接模块与输出层;判别器网络包括输入层、第二全连接模块与输出层,表示第m种网络应用对应的生成对抗网络;
38.其中生成器网络中的第一全连接模块,包括激活函数均为leaky

relu,神经元个数分别为50、30、30的三个依次层叠的全连接层;输出层包含8个神经元,激活函数为tanh;
39.判别器网络中的第二全连接模块,包括激活函数均为leaky

relu,神经元个数分别为100、60、30,输出层包含了5个神经元,激活函数为softmax。
40.使用leaky

relu激活函数,解决了反向传播过程中网络梯度消失的问题。普通的神经网络学习的激活函数为f(x)=x,其导数恒为1,这会导致反向传播过程中的梯度消失。在生成对抗网络中使用leaky

relu激活函数能够加快生成对抗网络的学习速度,进一步缩短了生成对抗网络的训练时间。
41.步骤3)对生成对抗网络模型库进行迭代训练:
42.步骤3a)初始化第m个生成对抗网络包含的生成器网络的参数为判别器网络的参数为迭代次数为q1,最大迭代次数为q1,q1=12000,并令q1=0;
43.步骤3b)从网络应用类别标签为r
m
的样本集合中随机选取k个样本作为生成对抗网络的输入,生成器网络对每个样本的预处理流量数据包特征进行预测,得到预测流量数据包特征集合判别器网络分别计算每个与每个来源于样本集合的概率,得到概率集合与概率集合d2={d1,d2,...,d
k
,...,d
k
},在本实施例中k=10,1≤k≤k,表示第k个随机选取的样本,表示经过生成器网络预测得到的流量数据包特征,表示判别器网络计算来源于样本集合的概率,d
k
表示判别器网络计算来源于样本集合的概率;
44.步骤3c)采用交叉熵损失函数,通过计算生成器网络的损失同时通过与d
k
计算判决器网络的损失并采用adam优化器内置的反向传播方法,通过计算生成器网络的网络参数梯度,通过计算判别器网络的网络参数梯度;然后adam优化器使用梯度下降算法,通过的网络参数梯度对的网络参数进行更新,通过的网络参数梯度对的参数进行更新;
45.其中损失与的计算公式分别为:
[0046][0047][0048]
步骤3d)判断q1=q1是否成立,若是,得到训练好的m个生成对抗网络否则,令q1=q1 1,并执行步骤(3b);
[0049]
建立网络应用种类相同的多个生成对抗网络组成的模型库,通过包含多种网络应用的网络流量数据包特征的训练样本集对模型库中的生成对抗网络模型并行地进行迭代训练,通过这种方式构建的模型库中的生成对抗网络模型结构简单,提高了训练的收敛速度。避免了现有技术中通过多个不同类型的流量数据包对一个条件式生成对抗网络进行迭代训练导致的收敛速度较慢的缺陷。
[0050]
步骤4)获取训练好的生成器网络预测流量数据包特征:
[0051]
将训练样本集x
train
作为每个训练好的生成器网络的输入,对每个应用类别标签为r
m
的样本集合中的每个样本进行预处理流量数据包特征预测,得到预测流量数据包特征集合其中表示网络应用标签为r
m
的样本集合中的v个样本经过预测得到的预测流量数据包特征集合,表示训练样本集x
train
中网络应用类别标签为r
m
的样本集合x
rm
中的第v个样本经过训练好的生成器网络预测得到的流量数据包特征;
[0052]
步骤5)网络流量生成结果:
[0053]
从预测流量数据包特征集合a中随机选取一个应用类别标签为r
w
的预测流量数据包特征集合并从中随机选取l个预测流量数据包特征使用tarfen等流量生成器脚本根据预测流量数据包特征集合编写配置文件,流量生成器根据配置文件生成初始流量数据包序列c={c1,c2,...c
l
,...c
l
},并将通信节点需要发送的数据加密后依次嵌入到每一个初始流量数据包c
l
中,得到包含l个经过加密数据嵌入的流量数据包的网络流量c

={c
′1,c
′2,...c

l
,...c

l
},其中为从预测流量数据包特征集合中随机选取的第l个预测流量数据包特征,c
l
表示流量生成器根据第l个预测流量数据包特征生成的初始流量数据包,c

l
表示第l个初始流量数据包经过加密数据嵌入的流量数据包,1≤l≤l,l≤v,1≤r
w
≤r
m
,本实施例中l=10。
[0054]
以上描述仅是本发明的实施例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜