一种基于生成对抗网络的抵御网络流量侦察方法、系统、终端和存储介质与流程

文档序号:30745402发布日期:2022-07-13 07:30阅读:224来源:国知局
一种基于生成对抗网络的抵御网络流量侦察方法、系统、终端和存储介质与流程

1.本发明涉及网络安全技术领域、数据隐私保护领域,尤其涉及一种基于生成对抗网络的抵御网络流量侦察方法、系统、终端和存储介质。


背景技术:

2.软件定义网络(software defined networking,sdn)是由美国斯坦福大学nickmckeown教授团队提出的一种有别于传统网络的新型网络架构,其主要特点是将控制功能从网络设备中提取出来,实现了控制层与数据转发层的解耦。sdn 网络的一大优点就是,摆脱了硬件对网络架构的限制,可以像升级、安装软件一样对网络进行修改,sdn的本质是网络软件化,提升网络可编程能力,是一次网络架构的重构,更快、更简单的实现各种功能特性。
3.网络侦察是网络攻击的一个重要步骤,攻击者在发动攻击前通常需要执行网络侦察来确定可供利用的目标,网络侦察攻击者对目标网络的路由关系、流量矩阵、网络时延、抖动、丢包等信息进行测量。是为了了解、掌握和管理网络等目的,对网络行为进行特征化、具像化,对网络各项指标进行量化的最基础的技术手段。
4.因此,针对网络侦察的防御方法在应对网络攻击的过程中就显得尤为重要,研究人员将主动防御的思想引入到对网络侦察的防护中。通过在网络中添加大量虚假节点、快速变化节点的ip地址等方式动态改变系统的侦察面,为攻击者提供一个欺骗性的网络视图,以有效地降低攻击者的侦察效率,但现有的网络特征混淆欺骗防御技术部署和运行成本过高。


技术实现要素:

5.为了克服现有的网络特征混淆欺骗防御技术部署和运行成本过高的问题,本发明提供了一种基于生成对抗网络的抵御网络流量侦察方法、系统、终端和存储介质,通过在我方的网络拓扑中增设扰动流量生成器,用于对流量信息增加扰动,以此来迷惑网络侦查阶段的攻击者,并使得他们的预测模型发生错误的估计,达到抵御网络侦察的目的。
6.本发明实现上述发明目的所采用的技术方案如下:
7.一种基于生成对抗网络的抵御网络流量侦察方法,包括以下步骤:
8.步骤1:获取网络流量预测模型和数据集,将数据集划分为训练集和测试集,设定评价指标;
9.步骤2:利用训练集对网络流量预测模型进行训练,在训练过程中,将t时刻的网络流量矩阵样本作为输入,将t+1时刻的网络流量矩阵样本作为标签;
10.步骤3:建立由生成器g和判别器d组成的生成对抗网络,其中判别器d 为步骤2训练好的网络流量预测模型;利用测试集对生成对抗网络进行训练;
11.步骤4:将步骤3训练好的生成对抗网络中的生成器g部署到实际的网络中,通过生
成器在网络中发送微小的流量数据包,在实时网络流量矩阵中添加扰动信息,抵御进行网络侦查的攻击者。
12.进一步的,所述的网络流量预测模型采用arima模型,数据集采用geant 数据集。
13.进一步的,以均方误差作为评价指标,对网络流量预测模型进行训练;
14.所述的均方误差计算公式为:
[0015][0016]
其中,m为测试集中的样本总数,ym为第m个测试样本的真实值,为第 m个测试样本的预测值。
[0017]
进一步的,步骤3中的生成对抗网络的训练过程为:
[0018]
3.1)将测试集中的网络流量矩阵c作为生成器g的输入,利用生成器g对网络流量矩阵c添加扰动,得到添加扰动后的网络流量矩阵c’;
[0019]
计算生成器损失l1:
[0020][0021]
其中,l1为生成器g损失,越小越好;m为测试集中的样本总数,ym为第 m个测试样本的真实值,即网络流量矩阵c中的元素;y
′m为添加扰动后的第m 个测试样本的值,即网络流量矩阵c’中的元素;
[0022]
3.2)将添加扰动后的矩阵样本c’作为判别器d的输入,得到判别结果;
[0023]
计算判别器损失:
[0024]
l2=max|j
′‑
j|
[0025]
其中,l2表示判别器d损失值,越大越好;j

表示判别器d对加入扰动后的网络流量矩阵c’的预测结果,j表示判别器d对原始网络流量矩阵c的预测结果;
[0026]
3.3)结合生成器损失和判别器损失,对生成对抗网络进行训练。
[0027]
进一步的,所述的生成器采用卷积神经网络或者全连接神经网络。
[0028]
一种基于生成对抗网络的抵御网络流量侦察系统,用于实现上述的抵御网络流量侦察方法。
[0029]
一种终端,包括存储器和处理器;
[0030]
所述存储器,用于存储计算机程序;
[0031]
所述处理器,用于当执行所述计算机程序时,实现上述的抵御网络流量侦察方法。
[0032]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的抵御网络流量侦察方法。
[0033]
本发明的技术构思为:通过在网络中添加细微的扰动流量,使攻击者在侦察己方网络的时候,会将这些扰动流量当成是正常的流量输入到流量预测模型中,从而对模型的预测值产生巨大的影响。
[0034]
本发明的有益效果主要表现在:本发明仅在网络中添加少量的扰动流量,这些扰动流量不会对网络本身的用户产生任何的影响,但却能够被攻击者所侦察出来,欺骗攻击
者的流量预测模型,产生错误的预测。相较与传统的网络欺骗防御方法,无论是部署成本还是方法复杂度上,都有较大的降低。
附图说明
[0035]
图1是geant网络示意图。
[0036]
图2是本发明的实施例中整体的方法流程图。
具体实施方式
[0037]
下面结合附图对本发明作进一步描述。
[0038]
本发明实施例提供了一种基于生成对抗网络的抵御网络流量侦察方法和系统,包括以下步骤:
[0039]
1)数据预处理
[0040]
1.1)数据集
[0041]
本发明的数据集采用了24节点、37条链路的geant网络,geant网络示意图如图1所示,该数据集包含有一种网络的拓扑结构信息以及大量的路由表及流量信息。路由信息由geant网络的bgp路由组成,从2005年1月1日00: 30采集到2005年4月21日15:30,每15分钟一次。所有路由器id和绝对时间信息都在公开可用的数据集中被匿名化了,数据集的属性为时间(以15分钟为间隔的时间点)和流量值(单位是:kbps(千比特每秒)),以网络流量矩阵的数据形态存储。
[0042]
1.2)网络流量预测模型
[0043]
本发明中用到的网络流量预测模型为一种基于差分整合移动平均自回归模型(autoregressive integrated moving average model,arima)的流量预测模型,模型的输入为网络流量矩阵,通过对连续时刻的网络流量矩阵提取特征信息,达到预测下一时刻流量变化的目的。网络侦察的攻击者也正是通过这一流量预测模型分析侦察到的目标网络的流量信息来预测接下来目标网络的流量分布,从而制定更具针对性的攻击方法,造成更加严重的网络破坏。
[0044]
1.3)划分训练集与测试集。
[0045]
本发明训练网络流量预测模型y用到geant数据集,将数据集中不同的时刻流量信息以7:3的比例划分为训练集x与测试集t,训练集用于训练网络流量预测模型y,测试集用于测试网络流量预测模型y的预测性能。
[0046]
1.4)评价指标
[0047]
本发明采用均方误差(mean squared error,mse)作为评价指标,均方误差是反映估计量与被估计量之间差异程度的一种度量,预测准确率越高则均方误差越小,反之则越大。mse的计算式如下式所示:
[0048][0049]
其中,m为测试集t中的测试样本总数,ym为第m个测试样本的真实值,为第m个测试样本的预测值。mse越大,表明预测效果越差。
[0050]
2)训练模型
[0051]
2.1)将步骤1)中划分好的geant训练集x作为网络流量预测模型的输入,对网络流量预测模型进行训练得到一个能够对网络流量分布准确预测的模型 y。
[0052]
3)网络防测绘
[0053]
本发明的技术方案流程如下。
[0054]
3.1)训练生成对抗网络
[0055]
本发明对网络流量矩阵的修改用到了生成对抗网络(generative adversarialnets,gan),gan是由一个生成器和一个判别器构成。生成器用于捕捉真实数据样本的潜在分布,并由潜在分布生成新的数据样本;判别器是一个二分类器,判别输入的是真实数据还是生成的样本。
[0056]
本发明中用到的生成对抗网络中,生成器g用于对输入的网络流量矩阵添加扰动,且只能添加正向的扰动,其实际意义就是向己方的网络中发送数据包,让网络侦察的攻击者探查到。且这个扰动要足够小,不能对己方网络中的正常用户产生任何影响,因此本发明将注入扰动后得到的网络流量矩阵与原始网络流量矩阵进行对比,得到一个损失函数l1,并要对这个损失函数l1进行优化,使重构得到的网路流量矩阵尽可能地与原始网络流量矩阵相似。
[0057]
本发明中用到的生成对抗网络中,判别器d使用网络流量预测模型y来代替,模型的输入是此时刻的网路流量矩阵,输出是对网络下一时刻流量分布的估计,本发明的目的是使网络流量预测模型y对网络中下个时刻的流量分布预测出错,从而保护己方网络的关键信息,下面是具体过程。
[0058]
s1.将步骤1)中划分好的geant测试集t输入到本发明中生成对抗网络的生成器g中,g对输入的网络流量矩阵添加扰动,这一步添加扰动的目标是使输出的网络流量矩阵与原始网络流量矩阵尽可能的相似,因为添加的扰动不能够影响正常用户的使用,所以本发明直接采用交叉熵作为损失函数衡量原始网络流量矩阵c和重构出的网络流量矩阵c’就可以了。损失函数的计算公式如下式所示:
[0059][0060]
其中,l1为生成器g损失,越小越好;m为测试集中的样本总数,ym为第 m个测试样本的真实值,即网络流量矩阵c中的元素;y
′m为添加扰动后的第m 个测试样本的值,即网络流量矩阵c’中的元素;
[0061]
l1表示生成器g损失值,越小越好。
[0062]
s2.将步骤s1)中得到的加入扰动后的网络流量矩阵c’作为判别器d的输入,本实施例中的判别器d就是训练好的网络流量预测模型y,其能够根据前一时刻网络中的流量分布预测下一时刻的流量分布。本发明用到的gan网络中将网络流量预测模型作为判别器,目的是对生成器g输出来的加入扰动后的网络流量矩阵进行评估,使加入扰动后的网络流量矩阵对网络流量预测模型的预测结果 j

发生较大的偏离,用到的损失函数如下式所示:
[0063]
l2=max|j
′‑
j|
[0064]
其中,l2表示判别器d损失值,越大越好;j

表示判别器d对加入扰动后的网络流量
矩阵的预测结果,j表示判别器d对原始网络流量矩阵的预测结果。
[0065]
s3.将上述的gan网络训练好之后,就可以得到一个扰动流量生成器g,对输入的原始网络流量矩阵添加微小的扰动,就能使网络流量的测量结果发生较大的偏差。将扰动流量生成器g部署在实际的网络中,通过生成器g在网络中发送微小的数据包,对网络中的真实网络流量数据产生扰动,被网络侦察的攻击者当成是正常的流量输入到流量预测模型中,从而对模型的预测值产生巨大的影响。
[0066]
在本技术的一个实施案中,提供了一种终端和存储介质。
[0067]
终端,它包括存储器和处理器;
[0068]
其中存储器,用于存储计算机程序;
[0069]
处理器,用于当执行所述计算机程序时,实现前述基于生成对抗网络的抵御网络流量侦察方法的功能。
[0070]
需要注意的是,存储器可以包括随机存取存储器(random access memory, ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。上述的处理器为终端的控制中心,利用各种接口和线路连接终端的各个部分,通过执行存储器中的计算机程序来调用存储器中的数据,以执行终端的功能。处理器可以是通用处理器,包括中央处理器(central processing unit, cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digitalsignal processing,dsp)、专用集成电路(application specific integrated circuit, asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。当然,该终端中还应当具有实现程序运行的必要组件,例如电源、通信总线等等。
[0071]
示例性的,所述的计算机程序可以被分割为多个模块,每一个模块均被存储在存储器中,分割开来的每一个模块都可以完成具备特定功能的计算机程序指令段,该指令段用于描述计算机程序的执行过程。例如,可以将计算机程序分割成以下模块:
[0072]
数据获取模块,其用于获取网络流量预测模型和数据集,并将数据集划分为训练集和测试集,设定评价指标;
[0073]
网络流量预测模型训练模块,其用于利用训练集对网络流量预测模型进行训练,在训练过程中,读取数据获取模块中的训练集,将t时刻的网络流量矩阵样本作为输入,将t+1时刻的网络流量矩阵样本作为标签;
[0074]
生成对抗网络训练模块,其用于建立由生成器g和判别器d组成的生成对抗网络,读取数据获取模块中的测试集对生成对抗网络进行训练;
[0075]
防御模块,其用于将训练好的生成对抗网络中的生成器g部署到实际的网络中,通过生成器在网络中发送微小的流量数据包,在实时网络流量矩阵中添加扰动信息,抵御进行网络侦查的攻击者。
[0076]
在一项具体实施中,数据获取模块中的网络流量预测模型采用arima模型,数据集采用geant数据集。
[0077]
在一项具体实施中,所述的生成对抗网络训练模块包括:
[0078]
生成器损失计算模块,其用于将数据获取模块中的测试集中的网络流量矩阵 c作为生成器g的输入,利用生成器g对网络流量矩阵c添加扰动,得到添加扰动后的网络流量矩
阵c’,计算生成器损失;
[0079]
判别器损失计算模块,其用于将添加扰动后的矩阵样本c’作为判别器d的输入,得到判别结果;计算判别器损失;
[0080]
第一训练模块,其用于结合生成器损失和判别器损失,对生成对抗网络进行训练。
[0081]
上述模块可构成基于生成对抗网络的抵御网络流量侦察系统,对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,可以是或者也可以不是物理上分开的。另外,在本发明中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
[0082]
以上模块中的程序在执行时均由处理器进行处理。
[0083]
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。存储器作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的系统对应的程序指令或模块。处理器通过运行存储在存储器中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的功能。例如,u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。此外,上述存储介质以及终端中的多条指令由处理器加载并执行的具体过程在上述中已经详细说明。
[0084]
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1