融合生成式神经网络和深度神经网络的流量异常检测

来源:优秀文章 发布时间:2023-02-16 点击:

顾健华,文成江,高泽芳

(中国移动通信集团终端有限公司,北京 100053)

网络已经渗透到人们生活的方方面面,网络给人们带来各种便利的同时,也由于各种安全问题给人们带来烦恼。例如,网络环境充斥着各种病毒、漏洞,人们的隐私数据被频频泄漏,网络安全成为现在最大的挑战。网络安全防护的重要基准之一就是检测网络流量异常的能力。引起网络流量异常的原因有性能原因和安全原因,性能原因指由于网络结构不合理或者设备故障等原因造成流量异常;
而安全原因是由于DDoS 攻击等原因造成流量异常,本文主要关注安全方面的原因。目前基于端口和基于DPI 的网络流量异常检测方法需要人工制定固定的规则进行匹配,这种方法能够应对常规的攻击行为,但难以检测新攻击行为所造成的流量异常。因此,本文关注的是新攻击行为造成的流量异常检测方法。很多学者对新流量攻击行为造成的流量异常进行了一些研究,包括:Hwang 等人[1]提出了一种有效的异常流量检测机制,通过卷积神经网络(CNN)和无监督的深度学习模型(如自动编码器)自动分析流量模式和过滤异常流量,从而实现异常流量自动检测;
Du 等人[2]提出了一种基于小波分析的网络流量异常检测方法,该方法首先利用小波分析提取波形特征,然后利用支持向量机进行分类,最终实现流量异常预测;
Shi 等人[3]提出基于长短记忆网络(LSTM)建立新攻击行为造成流量异常的检测模型,有效均衡流量检测的检测延迟和检测精度;
Hoang 等人[4]提出一种基于PCA 的物联网流量异常检测方法,该方法通过主成分分析法来识别影响网络流量异常的主要因素,有效应对维度灾难问题;
Kromkowski 等人[5]提出一种网络流量数据异常检测方法的分析框架,该框架通过整合SARIMA 和LSTM 自动编码器来实现流量异常检测,并通过实验证明了该方法的有效性。

由此可知,大多数学者仅仅对流量数据时间特征进行特征提取,从而在时间维度上检测数据的异常特征,并没有考虑流量数据的空间特征。

在大规模复杂网络环境中,采用时间序列的网络流量特征提取来识别异常行为,容易受到流量的突发性和随机性的干扰;
相反,采用网络流交互行为去刻画网络流时序的交互关系,建立基于时间局部性的网络流交互特征模型,则能够有效表达网络流量的状态[6-9]。但是,网络流量异常行为检测需要大量的数据为支撑,进行多轮迭代与训练,才能学习到网络流量异常行为的特征。但是现有的网络流量难以获得海量的异常行为数据,因此,非平衡小样本的网络流量异常行为数据在特征提取过程中存在数据缺失的问题。

基于上述的观点,本文针对新流量攻击造成的网络流量异常检测模型数据缺失的问题,提出一种强化生成式对抗网络样本数据增强技术,该技术可以在样本不足的情况下,采用生成式对抗网络的方法实现异常行为样本量的扩充,提升模型识别的性能。在此基础上,采用深度神经网络挖掘时间序列网络流量的多尺度特征,以解决由于特征工程带来的人为主观因素的干扰以及维度灾难问题,从而实现网络流量异常检测。

1.1 生成式对抗网络

生成式对抗网络是Goodfell 于2014 年提出来的一种生成模型[10],该生成模型需要假设样本数据的分布,算法通过调整数据分布的参数来拟合真实数据,然后再从假设的数据分布中采样获取生成的数据,这种通过隐式学习数据的规律,实现了样本数据的重新生成。根据上面的描述可知,生成模型需要拟合真实数据和采样获取生成数据的过程,这个过程分别衍生了生成器和判别器。生成器通过学习数据的规律,模拟真实数据分布并生成样本数据,而辨别器作为一个分类器,用来判断输入的样本是真实样本还是虚假样本,如此,通过多次交叉训练,生成器和判别器达到纳什均衡后,生成器生成的样本数据与真实的样本数据达到高度相似,从而实现“以假换真”的目的。

自生成模型被推出以来,各种生成对抗网络的衍生模型被提出来,随着时间的推进,研究者发现,生成网络在训练过程中极其容易发生梯度消失的现象,使得生成样本的质量十分不稳定。除此之外,由于原始的数据具有一定的随机性,因此,生成样本的多样性也随之提升,导致生成器和判别器的收敛速度太慢,训练过程容易发生机器崩溃的现象。

1.2 深度神经网络

本文所阐述的深度神经网络是指深度卷积神经网络,该网络是基于卷积核结构进行特征抽取的神经网络,通过参数共享的方式有效降低全连接深度网络的参数规律,进而提升网络特征提取的效率[11-12]。深度神经网络包括两种类型,分别是前馈神经网络和循环式神经网络。一般来说,前馈式神经网络适用于实现空间数据的特征提取,比如图像数据;
前馈神经网络通常采用反向传播的方式来计算代价函数对网络各个参数的梯度变化,结合梯度下降法实现对网络参数的自动更新,最终实现有限样本训练的情况下确定网络中各个参数的权重,从而实现前馈神经网络学习的过程。在确定网络参数后,深度神经网络的层次结构使得模型具有不同层次的特征表达,不同层次的特征表达是有差异的,一般来说,低层次的特征拥有更高的分辨率,包括更多的细节信息,因此对局部细节的感知能力更强;
而高层次的特征拥有较低的分辨率,但是对整体的感知更佳,具有较强的语义信息。而循环式神经网络则在处理时间序列上具有优异的表现,比如在处理文本数据上。循环神经网络(Recurrent Neural Network,RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接从而形成递归神经网络(Recursive Neural Network),其中双向循环神经网络(Bidirectional RNN,Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的循环神经网络。

1.3 网络异常流量

网络异常流量是指与正常流量的流量特征存在不同的流量类型,在真实的网络环境中有多种类型的异常流量,不同的异常流量都有其独特的特点[13]。一般来说,只有对各种异常流量特征进行提取后,才能设计出合理的流量异常检测算法,然后进行异常流量识别。近年来,随着云计算、大数据、移动互联网技术的发展,传统的基于匹配特征的异常流量监测算法难以处理复杂高维度的异常流量数据,因此容易出现大量误报和漏报的情况。针对该问题,很多研究者采用有监督的异常流量监测模型,通过采用机器学习[14]、深度学习[15]的方法实现异常流量检测。但上述方法忽略了网络流量存在前后关联的时序性,因此,研究者通过多层次特征融合来实现前后时序特征关联从而实现流量异常检测,比如采用多尺度残差记忆网络[16]实现多层次时空特征的融合;
采用时间序列分析法[17]挖掘网络流量数据之间的变化关系,建立网络流量异常检测模型;
采用融合卷积神经网络和长短记忆网络[18]实现多层次的时空学习构建网络流量的前后时序特征关联关系,实现网络流量异常检测。

1.4 不平衡样本

不平衡样本数据是指样本数据类别间分布明显不平衡的数据[19],其中,样本数量较多的类别称为多数类,而样本较少的类别称为少数类。不平衡样本存在于工业领域的故障检测、通信领域的攻击类型识别、银行领域信用卡欺诈检测等。本文重点讨论通信领域的攻击类型识别中的异常流量检测。由于网络中的异常流量样本较少而正常流量样本较多,因此采用机器学习方法训练出的分类器对正常类样本检测的准确率较高,而少数类样本检测率降低,从而导致出现较大的误检率现象。针对上述的问题,通常采用数据补充[20]和算法优化[21]两种方法解决不平衡样本的问题。数据补充包括过采样和下采样两种方法,过采样通常对少数类样本进行复制,但是这种方法往往增大机器学习对训练样本过拟合的可能性;
而下采样的方法较过采样方法计算复杂度高,而且容易丢失大量的有用信息从而导致分类器能力下降。算法优化的方法主要引入损失函数和提升分类器健壮性来提升不平衡样本的分类能力,包括代价敏感学习[22]、集成学习[23]等。代价敏感学习认为分类错误产生代价相同的,但在实际网络攻击识别中如果将合法用户判别为非法用户,那么给用户带来很大不便,相反,如果将非法用户判别为合法用户,那么会给网络带来严重的损失,因此,这种情况下分类错误的代价相对高。而集成学习中每一个分类器在不同场景中影响权重难以精确衡量,因此,该方法通常导致识别性能不稳定的现象。

考虑到本文异常流量存在的不平衡问题以及攻击行为分类所造成代价不一致问题,本文采用数据补充的方式实现数据扩充,考虑到过采样和欠采样存在的问题,本文提出一种强化生成式对抗网络样本数据增强技术,该技术通过强化学习有效鉴别生成样本的质量,提升生成模型的收敛速度;
通过梯度学习来不断校正生成器生成样本的质量,提高样本生成的可靠性。在此基础上,考虑到本文需要处理流量时序交互关系,本文提出多层的特征融合加强深度神经网络特征传递的思路,通过构建层间的跳跃链接,递归优化高层次特征表达,实现通道间高低层特征的融合[24-28],实现流量异常行为识别。

2.1 基于生成式神经网络的样本生成方法

生成式对抗网络(GAN,Generative Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)2 个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的对抗学习生成接近真实样本分布的样本。生成式神经网络的样本生成过程如图1 所示。

图1 生成式神经网络的样本生成过程

从图1 可知,基于样本特征和随机噪音输入生成模型将生成假样本,然后将假样本输入到判别模型,如果判别模型判断该样本为假,那么就要微调生成模型和判别模型的参数,如果生成为真,则将生成的样本放进去真实样本库中,如此迭代,便能扩充真实样本库。

针对异常流量数据样本少的问题,本文采用生成式神经网络在少量训练数据上进行快速学习,生成大量的数据解决样本稀缺的问题;
应对数据不平衡问题,本文在采用生成式神经网络+强化学习以保证系统实现模型的快速收敛。采用强化学习在学习过程中通过学习样本的迭代优化不断提升真实经验样本池质量和数量。样本分布规律则利用历史样本的特征分布不断提高生成模型G 的性能,让生成器尽可能学习到真实的数据分布。样本的生成过程如图2 所示。

图2 基于生成式神经网络的样本生成框架图

本文采用随机抽样的方式获取真实样本,然后将真实样本加入真实经验样本池X中。利用随机噪音+Z(样本特征)训练生成式神经网络得到生成模型G。

利用样本特征分布概率不断改进生成模型G,提高生成模型G所生成样本的质量。

其中,G(z)表示生成器基于真实样本特征生成的样本。真实样本以(状态sz,动作az)出现,基于当前真实样本的状态和动作,生成器生成(状sz’,动作az’),生成器的目标是让G1(z)与G2(z)具有较高的相似度,以此达到“以假乱真”的目的,因此,本文采用KL 散度来表示两者的相似度。

然后利用判别模型对生成样本的质量进行判别,结合真实样本和生成样本,采用强化学习的算法来选择高质量的样本供深度神经网络学习。

强化学习过程中真实样本是以(状态s,动作a),(后续状态s’,动作a’)成对出现的,上一时刻状态s对应相应的动作a,下一时刻将判断为真的生成样本纳入真实经验样本池后,由于真实经验样本池样本数量增多,其样本状态迁移至后续状态s’,并获得奖赏r。因此,真实经验样本池包括为两部分:

奖励r表示为:

其中表示在到达状态的奖励值。

为了寻找最优策略,避免判断模型对生成样本鉴别的能力“时好时坏”,本文将样本选择的最优策略定义为:

2.2 基于深度神经网络实现样本多层次特征提取

为了挖掘网络流量数据的多维度时空特征,本文将各个节点获取的流量数据序列进行重构,构成能够反映网络流量拓扑结构的网络流量数据。每一个观测周期的流量数据序列按照时间进行排序,多个观察周期的流量数据序列形成一个二维矩阵数据,本文采用二维数组定义流量样本数据库,定义二维数组a[m][n],其中m为观察周期所获取,n为每个观察周期流量样本量,一般取一个设定的值。二维数组排列的顺序按照地理位置顺序存放流量样本,即内存中按照顺序存放第1 个地理位置在m个观察周期所采集的流量样本,再放3 个地理位置在m个观察周期所采集的流量样本,依次存放。为了方便后续的特征提取,本文对每一个样本的流量数据转化成字符串填充到每一行中,由于人口分布是不均匀的,因此流量采集器在地理位置上分布也是不均匀的,因此对于没有流量采集器地理位置的数据用用0 进行填充,从而构成特定尺寸的流量样本数据库。图3 是对m个观察周期的流量数据进行重构的示意图。

图3 流量数据重构示意图

重构后的数据通过填充0 的方式,形成了N×M尺寸的样本数据,然后采用DenseNet(Dense Convolutional Network)来实现网络流量多层次特征的提取。DenseNet通过加强了特征之间的传递,更有效实现了多层次特征的提取。DenseNet 算法流程图如图4 所示。

图4 基于DenseNet的多层次特征提取过程示意图

图4 展示了基于DenseNet 的多层次特征提取过程,输入的是118×118 的样本,采用卷积层1(7×7 卷积核,步长为1)对数据进行卷积,获得输出是112×112 的特征向量,然后采用池化层1(3×3 卷积核,步长为2)进行池化,输出为56×56 的特征向量,最后将其输入到dense block 层(每一个dense block 层包含4 个1*1 的卷积操作层和3*3 的卷积操作层),得到融合各通道的、56×56 的特征向量。经过卷积层、池化层以及dense block 层的处理,不仅能降维减少计算量,又能融合各个通道的特征,形成多层次特征提取,最终达到减少feature map 数量的目的。重复2 次同样操作,最终得到14×14 的特征向量。

由此可知,采用DenseNet 对重构后的流量数据进行多层次特征提取后,获取正常流量的多层次特征和异常流量的多层次特征后,采用Softmax 函数实现异常流量识别。

为了验证本文方法的有效性,设计该实验,在一个SDN网络中部署一个流量异常监测的小工具。该工具包含了流量收集、异常样本生成、多层次特征提取、流量表示、异常识别、异常处理这些模块。完成流量异常监测示意图如图5 所示。

图5 基于DenseNet的多层次特征提取过程示意图

本文的流量数据集的相关信息如表1 所示:

表1 流量数据集相关信息

本文算法主要是基于TensorFlow 平台实现,为了加速生成式神经网络的训练,使用NVIDIA-1060 GPU 显卡。在训练的过程中,本次实验分别随机抽取了50 个传统攻击流量数据和20 个新型攻击流量数据作为训练集,另分别抽取20 个传统攻击流量数据和10 个新型攻击流量数据作为验证集。训练的回合次数本文设置为200,生成每一个回合的循环次数为50,批次大小为10。通过多次训练,获得生成式网络的参数。然后随机分别抽取200 个传统攻击流量数据和50 个新型攻击流量数据放进生成式神经网络生成对应的流量数据,参考文献[29],计算原始流量数据与生成新流量数据之间的相似度。表2 展示了传统攻击和新型攻击生成数据与原始数据的相似度对比情况。

表2 相似度对比

由表2 可知,两种数据集生成数据与原始数据的相似度大于90%,能够在一定程度上解决流量异常检测过程中由于训练数据不足,无法得到足够的流量数据的情况下,实现对异常流量的监测。

在此基础上,本实验通过模拟真实SDN 网络环境的流量产生及攻击行为,实现网络流量异常检测。通过模拟普通的SDN 流量、攻击行为(主要测试DDoS、DoS、端口扫描3 种行为)、攻击监测以及攻击反馈等一系列的操作流程,采用不同的算法对流量异常检测的准确性进行对比。

为了展现本文算法的有效性,本文将传统的长短期记忆网络(Long Short Term Memory,LSTM)、卷积神经网络(Convolutional Neural Networks,CNN)和本文的算法进行对,具体的操作流程是将上述的算法对流量特征提取后再进行分,对比各种算法的准确率。精准率表示: 预测正确的样本的数量与所有被预测样本数量的比值,具体如图6 所示。

图6 3种算法的准确率对比图

实验结果的准确率如图6 所示,从图中可以看出,由于攻击行为存在随机性、多样化的特征,3 种算法在5次的模拟攻击过程中准确率都存在一定的波动,这归因于网络攻击行为特征获取能力不足和数据存在一定的过拟合现象。在应对网络攻击特征获取能力上,本文通过DenseNet 对网络流量进行多层次特征提取,这种方法通过构建层间的跳跃链接,递归优化高层次特征表达,以通道间高低层特征的语义来定义攻击行为的特征,不仅能够有效获取局部细节感知,还能更有效获取攻击行为的整体感知,因此在一定程度上提升网络流量的特征提取能力,较CNN 单一的空间特征和LSTM 单一的时间特征提取效果好。应对数据的过拟合问题,本文采用生成式神经网络来生成异常流量数据,引入强化学习不断提升异常流量样本库的数量和质量,从而有效应对现实网络中异常流量数据偏少的问题,提升模型对异常流量的识别率。

为了进一步对比不同算法的性能,本文通过计算3种算法的召回率来衡量不同算法在数据不平衡的条件下对异常流量识别的能力,召回率表示的是数据正样本中有多少被预测正确,其反映了分类器检测网络攻击的能力。

3 种算法的召回率对比如图7 所示。

图7 3种算法的召回率对比图

实验结果的召回率如图7 所示,从图中可以看出,本文算法的表现最好。其次是CNN,最后是LSTM。这是因为本文采用DenseNet 对重构后的流量数据进行多层次特征提取,从而有效提升新型攻击类型流量特征提取的能力。CNN 算法虽然在一定程度上刻画了网络流量时序的交互关系,但是其不擅长提取时间序列特征,因此无法很好反映网络受到攻击时流量在时间维度的变化情况。表现最差的是LSTM,这是因为该算法通常用来提取时间序列流量特征,并不擅长刻画网络流量时序的交互关系,而恰恰这种交互关系在刻画网络攻击行为时至关重要。由此可知,本文算法的召回率表现相较于CNN 和LSTM算法好。

另外,本文还对比了3 种算法的漏检率,漏检率表示未发现异常流量的数量占总数量的比例,3 种算法的漏检率对比如图8 所示。

图8 3种算法的漏检率对比图

从图8 可知,其余两种算法的漏检率几乎是本文算法的2 倍。在流量异常检测中,误判正常类不会造成很严重的后果,相反,漏检网络异常流量可能会造成很严重的后果。本文由于采用生成式神经网络对新型攻击的样本进行扩充后,采用DenseNet 对重构后的流量数据进行多层次特征提取,从而有效提升新型攻击类型流量特征提取的能力,进而降低了网络异常流量的漏检率。

最后,本文还对比了3 种算法的平均处理时间,3 种算法的平均处理时间对比如图9 所示。

图9 3种算法的平均处理时间对比图

从图9 可知,其余两种算法的平均处理时间远远大于本文算法,这是因为本文采用多个dense block 层实现降维大大减少了模型的计算量,从而在很多程度上提升算法的处理速度。

本文针对特征提取和异常流量识别问题,提出了融合生成式神经网络和深度神经网络的流量异常检测方法。在特征提取方面,利用DenseNet 方法构建神经网络层间的跳跃链接,采用递归优化高层次特征表达方法融合通道间高低层特征的语义特征,实现多层次特征提取。在流量识别方面,利用生成式神经网络的优势,生成异常流量数据,避免数据不平衡给流量分类带来的不准确问题。实验表明,本文提出的融合生成式神经网络和深度神经网络的流量异常检测方法在准确率、召回率、漏检率以及平均处理时间均优于传统深度学习的方法,由此可知,本文的算法对网络异常流量检测有不错的效果,可用在日常网络异常流量检测。

猜你喜欢 网络流量特征提取神经网络 基于多元高斯分布的网络流量异常识别方法淮阴师范学院学报(自然科学版)(2022年3期)2022-09-22大数据驱动和分析的舰船通信网络流量智能估计舰船科学技术(2022年10期)2022-06-17神经网络抑制无线通信干扰探究电子制作(2019年19期)2019-11-23基于Gazebo仿真环境的ORB特征提取与比对的研究电子制作(2019年15期)2019-08-27基于神经网络的中小学生情感分析电子制作(2019年24期)2019-02-23基于Daubechies(dbN)的飞行器音频特征提取电子制作(2018年19期)2018-11-14AVB网络流量整形帧模型端到端延迟计算北京航空航天大学学报(2017年7期)2017-11-24Bagging RCSP脑电特征提取算法自动化学报(2017年11期)2017-04-04基于神经网络的拉矫机控制模型建立重型机械(2016年1期)2016-03-01基于支持向量机回归和RBF神经网络的PID整定海军航空大学学报(2015年4期)2015-02-27推荐访问:神经网络 深度 融合
上一篇:面向大峰谷差系统的储能参与分时段中长期交易技术研究
下一篇:AI,中式梦核

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有