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

一种基于重采样的网络异常流量检测方法

2022-07-16 16:06:00 来源:中国专利 TAG:


1.本发明涉及网络信息领域,具体涉及网络安全技术。


背景技术:

2.近些年来,计算机网络被攻击的次数日益增多,网络安全也在中国互联网发展体系中占据了至关重要的位置。网络攻击通常包括拒绝服务攻击、僵尸网络、蠕虫等,这些攻击手段对计算机系统或网络产生了恶劣的影响,破坏了计算机系统或网络的可用性、完整性或机密性。异常网络流量便是由各种网络攻击引起,它可以影响网络的性能。因此,随着网络流量趋于海量、复杂化,监测和分析网络流量已经成为网络安全领域重要的挑战和研究。由于网络流量数据类别不平衡的特点,导致了异常检测过程中少数异常类别检出率低。专利“基于联合特征选择的网络流量异常检测方法,2021,cn 113505826 a”公开了一种异常流量检测方法,该方法通过对网络流量数据进行特征选择,并进行特征集成,然后使用随机森林分类模型进行异常检测。该专利所述的方法仅提高了网络流量数据的整体检测率,并未解决原始数据集类别不平衡问题,少数类别依然存在检测率低的问题。


技术实现要素:

3.为了克服现有的网络流量异常检测方法对少数异常类别检测率低的不足,本发明提出了一种基于重采样的网络异常流量检测方法,该方法基于生成对抗网络模型进行少数类别重采样、基于自编码器网络进行数据重构以及基于自编码器的编码器网络结合softmax网络进行网络流量数据异常检测。
4.本发明解决其技术问题所采用的技术方案:一种基于重采样的网络异常流量检测方法,其特点是包括下述步骤:
5.(a)网络流量数据预处理。
6.原始网络流量数据中包含字符类型的特征和数值类型的特征。首先,采用独热化编码将字符类型特征转化为数值类型特征,即离散型的特征转化为连续型的特征;然后,删除或替换数值类型的特征中的非法数值;最后,将处理后的数值类型的特征进行标准化、归一化。
7.(b)数据重采样。
8.首先,构建基于wasserstein的条件生成对抗网络模型wbcgan,生成器g模型为三层隐层的神经网络结构,判别器d模型同样为三层隐层的神经网络结构,生成器g的输入根据不同网络流量数据的特征进行变化,生成器g的输出根据不同网络流量数据的攻击类型进行变化。
9.提出的基于wasserstein的条件生成对抗网络模型的目标函数为:
[0010][0011]
式中,z是输入的噪声变量,pz(z)是输入噪声变量的先验分布,pr(x)是生成器g在
真实数据x上的分布,pd(x)是生成器g生成样本的分布,g(z)为生成器g生成的伪数据,||||2代表2范数,随机插值采样得到计算公式为ε在[0,1]上服从均匀分布。
[0012]
然后,输入随机噪声向量和类别标签作为生成器g的输入,训练生成器g以输出伪造样本;固定生成器,输入伪造样本和真实样本作为判别器d的输入,训练判别器d以输出样本分类概率;通过生成器g和判别器d之间依次训练,使得生成器g的目标函数最小化、判别器d的目标函数最大化;使用训练完成的生成器g生成特定类别标签的少数类别样本,并将生成的少数类别样本加入原始数据的训练集中,组成新的训练集。
[0013]
(c)数据重构以及异常检测
[0014]
首先,构建堆叠去噪自编码器网络模型sdae,使用经过数据重采样后得到的新训练集,对堆叠去噪自编码器进行训练,使得输入数据与输出数据之间的重构误差最小化,其中堆叠去噪自编码器的目标函数为:
[0015][0016]
式中,是解码器的输出结果,x是输入数据,n为样本容量,s为数据集。
[0017]
然后,将编码器网络结构与softmax网络进行结合形成分类器,分类器的输出为每个类别预测的概率值。将重构的数据输入至分类器,以端对端的形式对分类器进行训练,使得对数损失函数最小化;输入测试数据,使用训练完成的分类器,得到预测结果。
[0018]
本发明的有益效果是:通过生成对抗网络模型进行少数类别重采样、通过自编码器网络的数据重构以及通过自编码器的编码器网络结合softmax网络的网络流量数据异常检测,既解决了网络流量数据的类别不平衡问题,又通过堆叠去噪自编码器获得了网络流量数据的潜在表示。在网络流量异常检测中,降低了误报率,提高了少数异常类别的检测率和整体检测率。
[0019]
图1是本发明提出方法的整体流程图,图2是使用本发明进行重采样的流程图,图3是使用本发明进行网络异常流量检测的流程图。图4是使用本发明提出的重采样方法与其他重采样方法的结果对比图,从图中可见,提出的基于wasserstein距离的条件生成对抗网络模型在处理类别不平衡数据时,比原有的smote等算法具有更好的效果。图5是使用本发明提出的堆叠去噪自编码器模型与其他异常检测模型的结果对比图,从图中可见,提出的堆叠去噪自编码器模型在f1值上明显高于其他异常检测模型。
附图说明
[0020]
图1是本发明提出的一种基于重采样的网络异常流量检测的整体流程图。
[0021]
图2是本发明提出的基于生成对抗网络模型的数据重采样流程图。
[0022]
图3是本发明提出的基于堆叠去噪自编码器模型的异常检测流程图。
[0023]
图4是本发明提出的基于wasserstein距离的条件生成对抗网络模型wbcgan与其他重采样算法的结果对比图。
[0024]
图5是本发明提出的基于堆叠去噪自编码器sdae模型与其他异常检测模型的结果对比图。
[0025]
下面结合具体实施方式对本发明作详细说明。
具体实施方式
[0026]
1、网络流量数据预处理。
[0027]
本发明在nsl-kdd、cicids2017网络入侵检测数据集上验证了本发明的性能。其中,nsl-kdd和cicids2017数据集分别包含了4种和14种不同类型的网络攻击。
[0028]
首先,针对nsl-kdd数据集,该数据集中一共包含了41个特征,首先使用独热化编码将其中三个离散型特征转化为连续性特征,然后,对其进行独热编码形成122维特征向量;针对cicids2017数据集,该数据集中特征维度为78维,这些特征中不存在离散型特征,只需要对15个类别标签进行编码。
[0029]
然后,筛选并删除数据集中的空数据和坏数据。
[0030]
最后,将nsl-kdd数据集和cicids2017数据上的数值类型特征进行归一化;将不同范围的数值类型特征都归一化至0-1范围内。
[0031]
2、数据重采样。
[0032]
首先,构建基于wasserstein距离的条件生成对抗网络模型wbcgan,生成器g模型为三层隐层的神经网络结构,判别器d模型同样为三层隐层的神经网络结构,生成器g的输入根据不同网络流量数据的特征进行变化,生成器g的输出根据不同网络流量数据的攻击类型进行变化。
[0033]
提出的基于wasserstein的条件生成对抗网络模型的目标函数为:
[0034][0035]
式中,z是输入的噪声变量,pz(z)是输入噪声变量的先验分布,pr(x)是生成器g在真实数据x上的分布,pd(x)是生成器g生成样本的分布,g(z)为生成器g生成的伪数据,∥∥2代表2范数,随机插值采样得到计算公式为ε在[0,1]上服从均匀分布。
[0036]
基于wasserstein的条件生成对抗网络模型训练过程如下:
[0037]
(1)随机噪声向量z和类别标签y为生成器g的输入,输出少数类伪造样本g(z)。此时少数类伪造样本之间的相似度很低,而且真实样本非常少;
[0038]
(2)固定生成器g,训练判别器d。判别器d的输入为生成的伪造样本结合真实训练数据x。判别器d的输出是属于真实样本x和伪样本g(z)的样本分类概率值。然后将概率值转换为标签,并使得判别器d的目标函数最大化;
[0039]
(3)通过判别器d和生成器g之间的对抗,迭代的训练生成器g。经过步骤(2)的训练,识别器d的识别能力得到了提高。此时,训练生成器g以生成仿真度较高的少数类伪造样本,并使得生成器g的目标函数最小化;
[0040]
(4)循环执行步骤(2)和步骤(3)。判别器d和生成器g交替训练,使生成的伪造样本更接近真实样本。同时利用adam算法对梯度更新过程进行优化,不断优化生成对抗网络的目标函数。
[0041]
然后,使用训练完成得到的生成器g,根据输入的少数类别标签,分别生成不同数
量的少数类别样本,并且在训练集中加入生成的少数类别样本,得到新的训练集:
[0042]
(1)原始数据集划分为训练集和测试集,分别将训练集、类别标签以及随机噪声输入至生成对抗网络的生成器g中;
[0043]
(2)根据输入的类别标签,训练好的生成器g输出具有相同类别标签的数据;
[0044]
(3)将生成的少数类别样本加入训练集中,组成新的训练集。
[0045]
3、数据重构以及异常检测。
[0046]
首先,使用引入噪声来重建原始输入信号的方法来训练自编码器,得到去噪编码器dae,然后,将多个去噪自编码器dae级联起来,采用逐层贪婪训练的方法进行训练,从而学习到更高阶的特征。本发明中使用自编码器的损失函数定义如下:
[0047][0048]
式中,是解码器的输出结果,x是输入数据,n为样本容量,s为数据集。
[0049]
堆叠去噪自编码器sdae训练步骤如下:
[0050]
(1)输入经过数据重采样后得到的新训练集;
[0051]
(2)使用逐层贪婪训练的方法训练多个去噪自编码器,即每次单独训练一个自编码器,将上一个去噪自编码器的编码器输出作为下一个去噪自编码器的输入,使得自编码器的损失函数最小化;
[0052]
(3)将分别训练完成的去噪自编码器级联起来,得到堆叠去噪自编码器;
[0053]
最后,将训练完成的堆叠去噪自编码器的编码器结构与softmax结构组成分类器,进行网络流量数据异常检测,其步骤如下:
[0054]
(1)获取堆叠去噪自编码器的编码器网络,在最后一个隐藏层后面加上softmax层,得到了基于堆叠去噪自编码器的分类器;
[0055]
(2)输入重构后的训练数据,以端对端的形式对分类器进行参数微调,并得到训练完成的分类器;
[0056]
(3)输入测试集,进行异常检测,得到结果进行分析。
再多了解一些

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

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

相关文献