一种基于网络流量态势感知的检测方法与流程
未命名
08-26
阅读:133
评论:0
1.本发明涉及网络安全领域,特别涉及一种基于网络流量态势感知的检测方法。
背景技术:
2.近年来,随着云计算、分布式系统、大数据、5g通信、物联网、工控网络等新兴计算机技术的不断发展和广泛应用,接入互联网的用户设备数量急剧增加,计算机网络安全事件频频发生,网络信息安全面临着巨大的挑战,保护了个人和组织机构免受黑客的网络攻击,及时发现入侵者是保证网络安全的重要一步。深度学习赋能的入侵检测技术在处理高维数据、挖掘数据中隐藏信息等方面具有优势,受到学术界和工业界的广泛关注。然而,对网络流量进行准确分类并不是一项简单的任务。
3.基于深度学习的入侵检测系统在处理大规模数据时,往往采用降低数据维度的方法来降低计算复杂度。但是,对网络流量进行数据降维时,很可能会去除其中的重要信息,导致模型的检测精度大幅下降。此外,现有入侵检测系统直接或间接地假设计算资源是富裕的,忽略了检测耗时对系统实用性的影响。随着网络数据规模的激增,现有入侵检测系统已经逐渐无法满足网络流量的低时延要求。目前,入侵检测系统使用的深度学习模型通常使用公开数据集进行训练和测试。这种使用静态数据进行学习的方式导致入侵检测系统对数据集依赖强,模型的泛化性低。随着网络攻击的不断变化,现有入侵检测系统对异常网络攻击流量的识别能力不断下降。
4.近年来,深度学习的普及使得它被广泛用于识别各种类型的网络攻击。由于深度学习克服了浅层学习的缺点,能够自动提取高层次特征,它在网络入侵检测中的应用研究引起了国内外学者的广泛关注。公开文献提出了一种新的混合方法scdnn用于网络入侵检测,scdnn由光谱聚类(sc)和深度神经网络(dnn)组成。首先,sc将原始训练数据集划分为k个训练子集,并利用训练子集训练k个子dnn分类器。接着,用sc将测试数据集划分为子集,用测试数据子集对对应的子dnn进行测试。实验结果表明,在6个kdd-cup99和nsl-kdd数据集上评估scdnn,其检测精度优于svm、bp神经网络、rf和贝叶斯方法。公开文献提出了一种基于条件变分自编码器的无监督网络入侵检测方法id-cvae,该方法设计了一个特定架构,只在解码器层内部集成入侵标记。id-cvae分类器可从不完整的训练数据集中恢复缺失的特征,其在nsl-kdd数据集上的准确率达到80.10%,比其他常用分类器具有更好的分类效果。
5.随着研究的深入,网络安全人员设计和验证了更多深度学习赋能的网络入侵检测方法。如:公开文献提出了一种利用循环神经网络(rnn)进行网络入侵检测的深度学习方法,称为rnn-ids,其研究了具有不同学习率和隐藏层神经元个数的rnn在二分类和多分类实验中的准确率和训练时间,实验结果表明,rnnkddtest+和kddtest-21测试集上的多分类准确率分别为73.28%、68.55%,略低于二分类的88.32%、86.71%。公开文献还提出了一种通过已有的图形转换技术将nsl-kdd数据转换为图片特征,再使用残差卷积神经网络resnet和googlenet进行二分类的网络入侵检测,同时评价入侵检测转换为图像分类的可
行性及检测性能,相比于cnn模型对攻击数据的图像变换非常敏感,理论分析和实验结果都显示resnet和googlenet更适用于图像转换的入侵检测。公开文献还提出了一种新的两阶段深度学习(tsdl)模型,该模型第一阶段利用堆栈式自编码器对网络流量进行正常和异常的分类并输出概率值;第二阶段将概率值作为附加特征添加至原始特征,再使用softmax分类器检测出正常攻击和其他类型攻击,tsdl在kdd99和unsw-nb15数据集上的检测准确率分别达到99.996%和89.134%,显著优于其他基准检测方法。
6.综上可见,上述深度学习方法在网络入侵检测系统中取得了令人满意的效果,但随着网络数据的不断扩大,大量的非线性网络数据给基于深度学习的入侵检测方法带来了新的挑战,使得它们面临着未知攻击和低频率攻击的检测率低以及高效性、泛化性、可靠性难以平衡的问题。因此,急需提供一种基于网络态势感知的实时流量检测方法以解决上述问题。
技术实现要素:
7.为此,需要提供可以快速、高精度辨识出网络流量中的异常数据,并且可以在运行时不断学习新的流量特征,对异常流量具有极强的泛化识别能力的一种基于网络态势感知的实时流量检测方法。
8.为实现上述目的,发明人提供了一种基于网络态势感知的实时流量检测方法,包括:
9.s1:对网络流量数据进行字符类型数字化和归一化处理;
10.s2:根据实际网络态势,算力调度模块判别网络负载情况,并据此multi-class detection net、multi-label detection net与data augmentation net分配算力;
11.s3:预处理的流量数据进入multi-label detection net,在已分配算力的约束下进行二分类检测,判断出正常流量和异常流量;
12.s4:二分类检测出的异常流量进入multi-label detection net,在已分配算力的约束下进行多分类检测,判断出异常流量的攻击类型;
13.s5:data augmentation net收集已正确判别的正常流量和异常流量,并使用gan对异常流量进行数据增广,再使用混合的增广训练数据重新训练multi-class detection net、multi-label detection net,获得更新的参数;
14.s6:重复步骤s1至s5,持续地进行网络态势感知的实时入侵检测。
15.作为本发明的一种优选方式,算力调度模块在分配算力时先将全部算力优先分配给multi-class detection net,再将剩余算力分配给multi-label detection net和data augmentation net。
16.作为本发明的一种优选方式,对于multi-class detection net在网络的最后一层使用sigmoid层,将输出概率值规范到[0,1],并设置正确标注的阈值为0.5,在训练网络时,使用二分类交叉熵损失函数计算每一个标签上的误差,神经网络的误差函数等于所有标签损失函数和。
[0017]
作为本发明的一种优选方式,所述data augmentation net使用泛化学习模型对网络流量进行增广,泛化学习模型在运行过程中持续收集正常流量和异常流量,并使用gan对异常数据进行数据增广,形成异常数据与正常流量混合的增广训练数据,入侵检测过程
中,通过态势感知模块先对网络权重参数进行冗余存储,当生成一定规模的增广训练数据后,对冗余存储的网络进行训练,用于更新参数。
[0018]
作为本发明的一种优选方式,步骤s3中,multi-label detection net在已分配算力的约束下进行二分类检测包括以下两个步骤:
[0019]
s301:提取流量数据特征,以最大限度地从网络流量中捕获时空特征;
[0020]
s302:关键特征学习,使得模型关注有益于分类的重要特征。
[0021]
作为本发明的一种优选方式,在步骤s301中,使用时空连接学习来捕获时空特征,所述时空连接学习包括时空块和过渡块,所述时空块包含两个核心特征提取块conv和长短期记忆层lstm,分别由分组cnn和长短期记忆层lstm实现,其中分组卷积层使用3
×
3的滤波器,输出特征图的通道数是输入通道数的两倍,分组数量为输入模型的数据通道数;所述过渡块用于降低维度,在过渡块中增加不改变维度的长短期记忆层lstm。
[0022]
作为本发明的一种优选方式,在时空块中增加批处理归一化层、maxpooling层和dropout层。
[0023]
作为本发明的一种优选方式,在步骤s302中,multi-label detection net的关键特征学习由1个自我注意力层和3个全连接完成特征提取,atte层根据实际输入通道数计算注意力权重,并与态势感知检测第一阶段输出的特征图进行矩阵乘积,fc1层使用tanh作为激活函数,并加入一个丢弃率为0.5的dropout层,fc2层与fc1层将输入数据维度降低一半,fc3层通过设置阈值标记输入数据的类别,使用sigmoid作为激活函数来输出分类结果。
[0024]
作为本发明的一种优选方式,所述multi-class detection net由3个卷积层和2个自注意力层完成特征提取工作,由3个全连接层和2个dropout层完成分类工作,conv1层接受16通道的图像数据,输出32通道的特征图像,使用3
×
3的卷积核,激活函数tanh,atte1层根据实际输入通道数计算掩码注意力权重,并与conv1层输出的特征图进行矩阵乘积,conv2层和conv3层分别接收32通道、64通道的图像数据0,分别输出64通道、128通道的特征图像,使用2
×
2的卷积核,激活函数tanh,atte2层中fc1层和fc2层分别含有512个、64个神经元,均使用激活函数tanh和一个丢弃率为0.5的dropout层,fc3层含有2个神经元,用于标记输入数据的类别。
[0025]
作为本发明的一种优选方式,所述步骤s5:data augmentation net收集已正确判别的正常流量和异常流量,并使用gan对异常流量进行数据增广包括以下步骤:将自我注意力引入gan框架,使生成器g和判别器d都能够在全局范围内提取数据空域之间的关系,dataaugmentation net首先使用一个3
×
3的滤波器对数据进行卷积计算,随后使用3个1
×
1的滤波器对各个特征图进行卷积计算,将得到的结果分别作为查询、键来计算自我注意力分数,并通过softmax函数得到注意力权重,然后,将注意力权重与值做矩阵乘积得到新的特征图。
[0026]
区别于现有技术,上述技术方案所达到的有益效果有:本方法可以根据机器算力与网络负载情况,切换检测模式,始终以快速、高精度的方法辨识出网络流量中的异常数据,并且可以在运行时不断学习新的流量特征,对异常流量具有极强的泛化识别能力。首先,设计了一种可根据网络态势自适应调节模式的入侵检测方法,可以动态地平衡检测速度与检测精度。然后,提出了针对流式数据的模型优化方法,提高了模型对异常流量的泛化学习能力。最后,针对模式自适应的流量检测,制定了新的评价指标,以更全面地衡量入侵
检测模型在真实网络环境下的性能。实验结果表明,本方法在检测精度、准确率、f1值等指
[0027]
标上优于现有基准算法。
附图说明
[0028]
图1为具体实施方式所述方法的框架模型图。
[0029]
图2为具体实施方式所述多分类任务的模型结构示意图。
[0030]
图3为具体实施方式所述multi-label detection net的功能性结构图。
[0031]
图4为具体实施方式所述时空块的网络结构图。
[0032]
图5为具体实施方式所述关键特征学习阶段的网络结构图。
[0033]
图6为具体实施方式所述nsl-kdd数据集中各特征的自我注意力权重热力图。
[0034]
图7为具体实施方式所述multi-class detection net的网络结构图。
[0035]
图8为具体实施方式所述data augmentation net的网络结构图。
[0036]
图9为具体实施方式所述五种模型的检测速度对比图。
[0037]
图10为具体实施方式所述五种模型真实时间f1分数随网络数据传输率的变化趋势曲线。
[0038]
图11为具体实施方式所述在线学习方式与静态数据方式的训练情况对比图。
具体实施方式
[0039]
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0040]
如图1所示,本实施例提供了一种基于网络态势感知的实时流量检测方法,包括:
[0041]
s1:对网络流量数据进行字符类型数字化和归一化处理;
[0042]
s2:根据实际网络态势,算力调度模块判别网络负载情况,并据此multi-class detection net、multi-label detection net与data augmentation net分配算力;
[0043]
s3:预处理的流量数据进入multi-label detection net,在已分配算力的约束下进行二分类检测,判断出正常流量和异常流量;
[0044]
s4:二分类检测出的异常流量进入multi-label detection net,在已分配算力的约束下进行多分类检测,判断出异常流量的攻击类型;
[0045]
s5:data augmentation net收集已正确判别的正常流量和异常流量,并使用gan对异常流量进行数据增广,再使用混合的增广训练数据重新训练multi-class detection net、multi-label detection net,获得更新的参数;
[0046]
s6:重复步骤s1至s5,持续地进行网络态势感知的实时入侵检测。
[0047]
在上述实施例的具体实施过程中,针对实际网络态势的动态性,本实施例提出了一种联合空间和时间特征的入侵检测方法,其系统结构如图4所示。本实施例特别设计了算力调度模块来调整模型中各个模块的算力持有情况。为了使得模型的检测速度可以根据网络负载和机器算力动态调节,算力调度模块先将全部算力优先分配给多类型检测网络multi-class detection net,再将剩余算力分配给多标签检测网络multi-labeldetection net与数据增广网络data augmentation net。另一方面,multi-label detection net仅可对网络流量进行二分类,无法对异常流量进行细致分类,因此本实施例
引入了multi-class detection net,其可通过提取异常流量的特征对之进行细致的类别划分。
[0048]
已知,构建一个高检测速度和检测精度并且具有较强泛化能力的入侵检测模型是较为困难的,需要合理判断分类任务类型。本实施例将原二分类任务转化为多分类任务,其可以允许输入样本拥有一个或多个标签。具体地,如图2所示,本实施例给出了多分类任务的multi-class detection net结构,该模型在网络的最后一层使用sigmoid层,将输出概率值规范到[0,1],并设置正确标注的阈值为0.5。训练网络时,使用二分类交叉熵损失函数计算每一个标签上的误差,于是神经网络的误差函数等于所有标签损失函数和。为了防止多条流量之间过度影响,检测模型内部使用了一些可以隔离各个通道的网络类型,如:分组卷积层。
[0049]
在以往的研究中,深度学习模型常使用静态数据训练,一旦训练样本出现数据类别不均衡的现象,这些模型的检测精度就会受到影响。此外,静态数据极大的削弱了模型泛化性,导致模型只能识别特征较为单一的入侵数据,而对未来可能出现的恶意攻击毫无办法。
[0050]
针对上述问题,一个通用的方法是使用生成对抗网络(gan)对训练数据进行数据增广,平衡训练样本。大多数gan均在判别器d和生成器g中使用卷积层,但卷积处理的信息仅集中在一个局部邻域,因此只能在经过多个卷积层之后处理空间的长距离特征。通常,可能会因下列原因妨碍卷积gan学习到长距离特征:(1)浅层小型卷积gan模型无法提取出长距离特征;(2)损失函数可能无法通过梯度指导各个滤波器学习来捕获长距离特征;(3)增加滤波器的大小可以增加网络的特征提取能力,但是又会使得卷积网络的计算时间指数上涨。
[0051]
可见,当全面学习流量数据的各种特征时,卷积gan无法进行有效的数据增广任务。因此,本实施例提供了图4中data augmentation net,该模块使用泛化学习模型对网络流进行增广。泛化学习模型在实时流量检测系统运行过程中不断收集正常流量和异常流量,并使用gan对异常数据进行数据增广,形成异常数据与正常流量混合的增广训练数据。入侵检测过程中,态势感知模块先对网络权重参数进行冗余存储,当生成一定规模的增广训练数据后,对冗余存储的网络进行训练,以更新态势感知模型的参数,完成图1中“更新参数”功能。
[0052]
下面详细介绍图1中multi-label detection net,multi-class detection net与data augmentation net模块的结构和功能。
[0053]
如图3所示,multi-label detection net需要同时具有高精度的检测能力(模型质量)和极少的模型执行时间(模型成本)。模型质量与流量数据特征提取以及如何有效地将提取的特征用于最终检测密切相关。本实施例提出了一个两阶段的密集连接网络架构,
[0054]
如图3所示。第一阶段是提取流量数据特征,以最大限度地从网络流量中捕获时空特征;第二阶段是关键特征学习,使得模型更加关注有益于分类的重要特征,进而提高检测能力和效率。模型成本中执行时间与可训练参数的数量有关,可训练参数的数量越小,检测速度越高。因此,需要在设计中防止网络可训练参数过多,导致入侵检测速度下降。对于时空特征提取阶段,具体的:网络流量数据具有空间和时间相关性,因此本实施例提出了一种时空连接学习,可以从输入流量中最大限度地学习不同抽象层次的时空特征,并允许在高
性能和易训练的情况下构建更深层的神经网络。时空连接学习的特点是在时空块和过渡块之间建立一种交错的排列模式,其中时空块的数量始终比过渡块的数量多1。时空块和过渡块的设计具体如下。
[0055]
时空块:图4显示了一个时空块,它包含两个核心特征提取块卷积conv和长短期记忆层lstm,分别由分组卷积神经网络cnn和长短期记忆层lstm实现。其中分组卷积层使用3
×
3的滤波器,输出特征图的通道数是输入通道数的两倍,分组数量为输入模型的数据通道数。在时空块中使用分组卷积可有效降低卷积计算的复杂度,这是因为当分组数量与输入模型的数据通道数相等时,各个分组的滤波器仅提取一条流量数据(一个通道)的空域特征,不会使各个流量条的数据互相影响,导致分类不准确。长短期记忆层拥有与输入模型的数据通道数相等的隐藏层神经元个数,使得经过长短期记忆层的数据维度大小不发生改变。它将网络流量的每个特征作为时序元素输入,从而可以在各个空域特征的基础上提取空域特征之间的时序特征。
[0056]
为了有效利用cnn和lstm对流量数据的特征提取能力,并减少时空连接学习的潜在高计算成本,本实施例还在时空块中增加了三种辅助层来进一步增强模型对非线性关系的拟合能力以及稳定训练过程。(1)采用批处理归一化(bn)加速训练过程,减少最终泛化误差;(2)maxpooling(mp)最大池化层为内部表示提供基本的转换不变性,降低计算成本;(3)dropout丢弃层是一种正则化算法,用于防止过拟合。
[0057]
时空连接学习加强了特征和梯度在网络中的传播,同时可以堆叠多个时空块来形成更深层次的神经网络。
[0058]
过渡块:维数诅咒问题指出,如果神经网络模型的特征数量(即特征空间的维数)快速增加,模型的预测能力将显著下降。时空块将使得特征空间维度成倍增加。为了缓解这个问题,并继续构建更深的网络以充分了解各个抽象层次的特征,需要在两个时空块之间添加一个过渡块来降低维度。为了在降维过程中同时保持空间和时间特征,本实施例在过渡块中加入了不改变维度的lstm层,防止特征空间的增长,提高模型的泛化能力和鲁棒性。
[0059]
显然,态势感知检测第一阶段使用时空块构建了一个比较深的神经网络,其中各个时空块通过过渡块连接,能够提取更多的时空特征。为了进一步提高检测能力,本实施例提出了态势感知检测的第二阶段,重点关注那些对入侵检测结果更重要的特征。
[0060]
本实施例为关键特征学习阶段,采用自我注意机制将更多的注意力集中在那些被认为是区分攻击与正常行为的重要特征上。在此学习阶段,每个特征都会获得一个注意分数,注意分数越高,说明它越重要,对检测引擎的影响越大。
[0061]
如图5所示,multi-label detection net的关键特征学习阶段由1个自我注意力层atte和3个全连接层,即fc1层、fc2层和fc3层完成特征提取工作。其中atte层根据实际输入通道数计算注意力权重,并与态势感知检测第一阶段输出的特征图进行矩阵乘积。fc1层使用tanh作为激活函数,并加入一个丢弃率为0.5的dropout层。fc2层与fc1层都可将输入数据维度降低一半。fc3层通过设置阈值标记输入数据的类别,使用sigmoid作为激活函数来输出分类结果。
[0062]
本实施例在nsl-kdd数据集上使用自我注意机制计算各特征的注意力权重,并将之可视化处理。图6显示了nsl-kdd数据集中40个特征的自我注意力权重分布情况。可见,相比于卷积计算,自我注意力机制可以更好地提取长距离上的特征关系。例如,第20号特征除
了与自己高度相关外,还受到第2、9、11号特征的影响。由此可知,自我注意机制可以增强捕获特征的可解释性,缩小入侵检测系统和安全工程师之间的语义差距。此外,该机制还可以帮助安全工程师获得注意力权重,挑选出重要特征进行相关性分析,从而进一步过滤误报,有效识别真实攻击,及时响应攻击。此外,本实施例通过使用自我注意机制可以更好地获取流量数据的全局特征与分类结果的关系,以缓解梯度消失和性能下降问题,从而获得更高的准确性。
[0063]
本实施例为多类型检测网络,具体的:相比于multi-label detection net,multi-class detection net需要具有更高的检测能力(模型质量),而模型的执行时间(模型成本)可以略高于预检测模块。如图7所示,预检测模块由3个卷积层conv1、conv2和conv3和2个自注意力层atte1和atte2完成特征提取工作;由3个全连接层和2个dropout层完成分类工作。conv1层接受16通道的图像数据,输出32通道的特征图像,使用3
×
3的卷积核,激活函数tanh。atte1层根据实际输入通道数计算掩码注意力权重,并与conv1层输出的特征图进行矩阵乘积。conv2层和conv3层分别接收32通道、64通道的图像数据0,分别输出64通道、128通道的特征图像,使用2
×
2的卷积核,激活函数tanh。atte2层与atte1层类似,其中fc1层和fc2层分别含有512个、64个神经元,都使用激活函数tanh和一个丢弃率为0.5的dropout层。fc3层含有2个神经元,不使用激活函数,用于标记输入数据的类别。
[0064]
对于数据增广网络,本实施例将自我注意力引入gan框架,使生成器g和判别器d都能够在全局范围内广泛地提取数据空域之间的关系。如图8所示,data augmentation net首先使用一个较大的滤波器对数据进行卷积计算,例如:采用3
×
3的滤波器;随后使用3个1
×
1的滤波器对各个特征图进行卷积计算,将得到的结果分别作为查询、键来计算自我注意力分数,并通过softmax函数得到注意力权重。然后,将注意力权重与值做矩阵乘积得到新的特征图。
[0065]
训练不稳定是gan常见的一个问题,其原因在于指导gan学习的二分类损失函数不能较好反应出模型生成数据的好坏。本实施例借鉴了wgan-gp对损失函数的修改,在损失函数中增加了梯度惩罚项,防止网络训练时梯度消失或梯度爆炸。另外,在使用光谱归一化稳定gan的训练的基础上,本实施例还使用双时间尺度更新规则ttur更新gan的参数,显著降低训练的计算成本。
[0066]
以下提供了上述实施例的实验方法,具体的:数据集选取:nsl-kdd数据集源于kddcup99数据集,它是tavallaee等人提出的统计增强版本,本实验均在此数据集上进行。nsl-kdd数据集包含了原始kddcup99数据集中41个数据特征和1个类标签。第1到第9个特征包含了从tcp/ip连接协议中提取的基本特征;第10到第22个特征包含了从网络数据包的有效载荷生成的内容特征;第23到第31个特征是从流量的时间属性中提取的;第32到第41个特征包含了终端主机的流量特征。每个记录都提供了一个类标签用于区分攻击类型,包括:dos、probe、u2r、r2l。nsl-kdd由四个子数据集组成:kddtrain+、kddtrain+20%、kddtest+和kddtest-21。kddtrain+20%是kddtrain+的子集,而kddtest-21是kddtest+的子集,kddtest-21从kddtest+中筛选出了更难被检测的流量记录。为了说明入侵检测的准确性和通用性,本实验使用kddtrain+、kddtest+、kddtest-21数据集作为基础数据集,三个数据集中不同类型数据的分布如表1所示。
[0067]
表1 nsl-kdd数据集中各类型数据的数量
[0068][0069]
数据预处理:为了更好地提取流量特征,本实验对nsl-kdd数据集中流量数据进行以下预处理工作。
[0070]
步骤1:字符类型数字化nsl-kdd数据集有3个特征和类别标识是字符类型,并且存在一个恒为0的常量特征。本实验采取2种字符类型数字化处理方式:独热编码方式下,符号型数据被处理为一个对应标签为1,其余标签为0的121维向量;标签编码方式下,符号型数据被处理为自然数,形成一个40维向量。
[0071]
步骤2:归一化处理流量数据数值化后,不同维度特征对模型拟合的贡献不相等,过分强调较大数量级的特征会导致分类偏差。因此,本实验使用下式所示的min-max归一化以保持一定的数值可比性,提高反向传播的稳定性和速度。
[0072][0073]
实验平台搭建:本实验使用如表2所示的系统:
[0074]
表2系统参数设定
[0075][0076]
度量指标:本实验使用分类准确率、精确度、查全率和f1评分作为性能指标来评估检测模型的性能效果,其中tp表示正确预测的异常数,tn表示正确预测的正常实例数,fp表示被错误分类为异常的正常实例数,fn表示被错误分类为正常的异常实例数。
[0077]
准确率是正确预测的数量占所有记录总数的比例,模型准确率越高,流量分类性能越好,其表达式如下:
[0078][0079]
精确度是用来衡量正确预测的质量,它是由正确预测样本与该特定类别的所有预测样本数量的比率计算出来的,其表达式如下:
[0080][0081]
dr(detection rate)或recall是指正确分类的实际攻击流量占攻击流量总数的比例,其表达式如下:
[0082][0083]
dr也被称为tpr(真阳性率)或召回率,dr越高,流量分类性能越好。
[0084]
f1-score计算精确度和查全率之间的权衡,它是精度和查全率的调和平均值,其表达式如下:
[0085][0086]
为了更好的评价入侵检测模型在真实网络环境中的性能,本实验定义了一种包含检测时间和检测效果的评价指标,称为真实时间f1分数(rtfs)。当网络数据传输率为,入侵检测模型最大检测速率为时,rtfs计算公式如下
[0087][0088]
当vn小于vc时,检测模型可在满足时延要求下进行检测,其rtfs与f1-score相等;当vn大于vc时,检测模型无法在规定时间内完成检测任务,其f1-score会根据检测速度差值而衰减。
[0089]
实验结果分析:实验1综合性能对比本实验在nsl-kdd数据集进行二分类训练和测试,同时测试了rf、mlp、cnn、ae、cnn+lstm、bigan+mlp、sagan+cnn+lstm以及本文模型的二分类性能,实验结果如表3所示。
[0090]
由表3可见,传统的机器学习和深度学习模型的二分类都存在精确度较低而召回率较高的情况,都偏向于将流量识别为正例。主要原因是训练集中不同攻击类别的样本数量差异很大,尤其是r2l和u2r。因此使用gan增广数据集,再使用平衡数据集重新训练模型,以平衡召回率和精确度,提高模型的f1分数。本实验模型的性能虽然在传统指标上略差于sagan+cnn+lstm的表现,但其在牺牲少许精确度的条件下可以更快的速度完成流量检测,并且在真实时间f1分数上远领先于sagan+cnn+lstm。
[0091]
表3本方法模型与其他模型的基准测试对比表
[0092]
[0093]
实验2:网络流到达速率对f1分值的影响
[0094]
本实验使用平衡后的kddtest+数据集作为测试,计算ae、mlp、cnn、cnn+lstm和本文模型的总检测速率。图9显示本实验模型的总检测速率远远优于其它四种传统检测方法。
[0095]
本实验模型使用分组卷积将网络流量的二分类问题转换为多条流量的多标签分类问题后,检测速度大幅提升,在真实时间f1分数上远超其他模型。例如,在图10中,当网络数据传输速率为16mb/s时,本实验模型仍可以在不影响用户使用的条件下完成入侵检测任务,而其它方法检测性能急剧下降。
[0096]
实验3:在线学习性能增益分析
[0097]
本实验在kddtest+数据集上进行实验,以在线学习和静态方式更新网络参数。图11显示,当出现未知类型攻击流量时,在线学习可以更快地提取流量特征,获得较高的f1分数、更稳定的检测性能;而静态数据训练出的网络往往因为泛化能力不足,导致检测精度下降。
[0098]
上述实施例提出了一种面向实时流量检测的ai框架,在入侵检测模型的高效性和泛化性之间进行了很好的权衡。该方法的关键是设计粒度可调的态势感知方法以及将自我注意力机制融入神经网络中。根据精确度、正阳率、假阳率和四个评价指标,相比于传统基准检测模型,本方法模型在nsl-kdd数据集上获得令人满意的二分类和多分类结果。本方法主要使用了分组卷积技术、自我注意力机制和生成式对抗网络技术,使得本方法模型可以有效地平衡入侵检测速度和检测精度。同时,针对流式数据的在线学习方法也可以在不影响网络性能的情况下,大幅增强模型的泛化能力,提升模型的识别性能。
[0099]
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
技术特征:
1.一种基于网络流量态势感知的检测方法,其特征在于,包括:s1:对网络流量数据进行字符类型数字化和归一化处理;s2:根据实际网络态势,算力调度模块判别网络负载情况,并据此给multi-class detection net、multi-label detection net与data augmentation net分配算力;s3:预处理的流量数据进入multi-label detection net,在已分配算力的约束下进行二分类检测,判断出正常流量和异常流量;s4:二分类检测出的异常流量进入multi-label detection net,在已分配算力的约束下进行多分类检测,判断出异常流量的攻击类型;s5:data augmentation net收集已正确判别的正常流量和异常流量,并使用gan对异常流量进行数据增广,再使用混合的增广训练数据重新训练multi-class detection net、multi-label detection net,获得更新的参数;s6:重复步骤s1至s5,持续地进行网络态势感知的实时入侵检测。2.根据权利要求1所述的基于网络态势感知的实时流量检测方法,其特征在于:算力调度模块在分配算力时先将全部算力优先分配给multi-class detection net,再将剩余算力分配给multi-label detection net和data augmentation net。3.根据权利要求1所述的基于网络态势感知的实时流量检测方法,其特征在于:对于multi-class detection net在网络的最后一层使用sigmoid层,将输出概率值规范到[0,1],并设置正确标注的阈值为0.5,在训练网络时,使用二分类交叉熵损失函数计算每一个标签上的误差,神经网络的误差函数等于所有标签损失函数和。4.根据权利要求1所述的基于网络态势感知的实时流量检测方法,其特征在于:所述data augmentation net使用泛化学习模型对网络流量进行增广,泛化学习模型在运行过程中持续收集正常流量和异常流量,并使用gan对异常数据进行数据增广,形成异常数据与正常流量混合的增广训练数据,入侵检测过程中,通过态势感知模块先对网络权重参数进行冗余存储,当生成一定规模的增广训练数据后,对冗余存储的网络进行训练,用于更新参数。5.根据权利要求1所述的基于网络态势感知的实时流量检测方法,其特征在于,步骤s3中,multi-label detection net在已分配算力的约束下进行二分类检测包括以下两个步骤:s301:提取流量数据特征,以最大限度地从网络流量中捕获时空特征;s302:关键特征学习,使得模型关注有益于分类的重要特征。6.根据权利要求5所述的基于网络态势感知的实时流量检测方法,其特征在于:在步骤s301中,使用时空连接学习来捕获时空特征,所述时空连接学习包括时空块和过渡块,所述时空块包含两个核心特征提取块conv和长短期记忆层lstm,分别由分组cnn和长短期记忆层lstm实现,其中分组卷积层使用3
×
3的滤波器,输出特征图的通道数是输入通道数的两倍,分组数量为输入模型的数据通道数;所述过渡块用于降低维度,在过渡块中增加不改变维度的长短期记忆层lstm。7.根据权利要求6所述的基于网络态势感知的实时流量检测方法,其特征在于,在时空块中增加批处理归一化层、maxpooling层和dropout层。8.根据权利要求5所述的基于网络态势感知的实时流量检测方法,其特征在于:在步骤
s302中,multi-label detection net的关键特征学习由1个自我注意力层和3个全连接完成特征提取,atte层根据实际输入通道数计算注意力权重,并与态势感知检测第一阶段输出的特征图进行矩阵乘积,fc1层使用tanh作为激活函数,并加入一个丢弃率为0.5的dropout层,fc2层与fc1层将输入数据维度降低一半,fc3层通过设置阈值标记输入数据的类别,使用sigmoid作为激活函数来输出分类结果。9.根据权利要求1所述的基于网络态势感知的实时流量检测方法,其特征在于:所述multi-class detection net由3个卷积层和2个自注意力层完成特征提取工作,由3个全连接层和2个dropout层完成分类工作,conv1层接受16通道的图像数据,输出32通道的特征图像,使用3
×
3的卷积核,激活函数tanh,atte1层根据实际输入通道数计算掩码注意力权重,并与conv1层输出的特征图进行矩阵乘积,conv2层和conv3层分别接收32通道、64通道的图像数据0,分别输出64通道、128通道的特征图像,使用2
×
2的卷积核,激活函数tanh,atte2层中fc1层和fc2层分别含有512个、64个神经元,均使用激活函数tanh和一个丢弃率为0.5的dropout层,fc3层含有2个神经元,用于标记输入数据的类别。10.根据权利要求1所述的基于网络态势感知的实时流量检测方法,其特征在于,所述步骤s5:data augmentation net收集已正确判别的正常流量和异常流量,并使用gan对异常流量进行数据增广包括以下步骤:将自我注意力引入gan框架,使生成器g和判别器d都能够在全局范围内提取数据空域之间的关系,data augmentation net首先使用一个3
×
3的滤波器对数据进行卷积计算,随后使用3个1
×
1的滤波器对各个特征图进行卷积计算,将得到的结果分别作为查询、键来计算自我注意力分数,并通过softmax函数得到注意力权重,然后,将注意力权重与值做矩阵乘积得到新的特征图。
技术总结
本发明公开了一种基于网络流量态势感知的检测方法,包括:对网络流量数据进行字符类型数字化和归一化处理;根据实际网络态势,算力调度模块判别网络负载情况,并据此分配算力;预处理的流量数据进入,在已分配算力的约束下进行二分类检测,判断出正常流量和异常流量;二分类检测出的异常流量进入,在已分配算力的约束下进行多分类检测,判断出异常流量的攻击类型;收集已正确判别的正常流量和异常流量,并使用GAN对异常流量进行数据增广,再使用混合的增广训练数据重新训练,获得更新的参数;重复步骤,持续地进行网络态势感知的实时入侵检测;本方案具有快速、高精度辨识出网络流量中的异常数据,对异常流量具有泛化识别能力的特点。力的特点。力的特点。
技术研发人员:请求不公布姓名
受保护的技术使用者:江苏冬云云计算股份有限公司
技术研发日:2023.05.10
技术公布日:2023/8/23
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
