掌桥专利:专业的专利平台
掌桥专利
首页

基于深度学习的5G网络异常流量检测方法

文献发布时间:2024-04-18 19:58:21


基于深度学习的5G网络异常流量检测方法

技术领域

本发明属于网络安全技术领域,涉及一种基于深度学习的5G网络异常流量检测方法。

背景技术

网络异常流量检测技术是指利用计算机网络中的流量分析技术,对网络中的流量进行实时监测,识别和报告可能存在的异常流量情况。这种技术可以有效地防范和控制网络攻击、网络拥塞等网络安全问题,保证网络的正常运行。近年来,在网络流量异常检测中,传统的机器学习算法得到了广泛的应用,例如朴素贝叶斯、随机森林、支持向量机和K近邻算法。这些方法虽然在识别的准确率上有了一定的提升,但是统一存在表达复杂函数的能力有限、泛化能力较弱的问题。在面对复杂的网络环境和数据的爆炸性増长的情况下,模型的性能将会大大降低,因此不能较好地处理海量数据分类的问题以及无法提取数据时序特征。

发明内容

本发明的目的是提供一种基于深度学习的5G网络异常流量检测方法,解决了目前传统方法无法处理海量数据以及提取数据时序特征的问题。

本发明所采用的技术方案是,基于深度学习的5G网络异常流量检测方法,具体包括如下步骤:

步骤1,构建5G环境下的数据流量初始数据集X;

步骤2,对初始流量数据集X进行预处理,得到数据集Z;

步骤3,对数据集Z进行特征提取,得到特征数据集F;

步骤4,将步骤3中得到的特征F划分为数据集A’和数据集B’,采用数据集A’输入GAN模型中进行训练,得到模型LSCGAN,将数据集B’放入模型LSCGAN中,得到数据集F’;

步骤5,将步骤4中提取到的特征集F’放入softmax分类器中进行分类,得到异常流量分类结果。

本发明的特点还在于:

步骤1的具体过程为:通过wireshark软件捕获在5G环境下的正常网络活动和人工发起的网络攻击行为所产生的数据流量,以pcap文件方式存储,并将产生的所有数据流量包作为初始数据集X。

步骤2的具体过程为:

步骤2.1,使用名为SplitCap的开源工具对数据集X中pcap包按流切分的方式将pcap进行分割,得到网络流量中相同五元组的所有包,并对所有包以包为单位进行人工标注;

步骤2.2,将步骤2.1分割后的所有包中的特有的IP地址和MAC地址使用随机化地址替换;

步骤2.3,通过脚本批量判断步骤2.2中替换随机地址后的包大小是否为0,若为0则将该空包删除;然后利用脚本对每个包内容进行哈希计算,并将哈希值存在一个哈希表中,如果存在相同的哈希值,则说明两个包内容相同,可以将其标记为重复包,最后输出所有重复包的路径,通过finddupe工具删除重复包;

步骤2.4,基于步骤2.3删除空包和重复包后的数据集,采用BorderlineSMOTE算法对异常流量进行过采样,采用TomeLink算法对过采样后的数据集进行欠采样,得到最终样本X

步骤2.5,针对数据包中出现的符号类型的数据,使用one-hot方法将数据集X

步骤2.6,基于步骤2.5处理后的数据集X

步骤2.7,使用max-min归一化方法对填充后的数据集X

其中,x

步骤2.8,采用步骤2.7得到的归一化后的数据x

步骤2.9,对步骤2.8降维处理后的数据包进行裁剪,将统一长度后的数据包生成灰度图;

步骤2.10,将步骤2.9生成的灰度图转化为idx格式文件,得到数据集Z。

步骤3的具体过程为:

步骤3.1,将数据集Z划分为训练集A和测试集B;

步骤3.2,将划分好的训练集A={a

其中,h

步骤3.3,利用Attention机制对BIGRU模型提取出的特征h

步骤4的具体过程为:

步骤4.1,随机初始化生成器G和判别器D的参数,定义Adam为生成器和判别器的优化器,使用numpy库中的rand()函数生成高斯随机噪音数据z,定义均值为0,标准差为1;

步骤4.2,将噪音数据z以及条件信息--网络流量类别y输入生成器网络G生成数据G’(z,y),将G’(z,y)输入判别器网络D,根据生成数据G’(z,y)与判别器的输出D(G’(z,y))计算生成器损失函数,定义生成器网络的生成损失函数L

步骤4.3,将原始特征数据t与条件信息--网络流量类别y输入判别器网络D与生成数据G’(z,y)共同计算判别器损失,定义判别损失函数L

步骤4.4,使用随机梯度下降算法,交替更新生成器和判别器的参数,以最小化各自的损失函数,在每次迭代中,利用优化器Adm先更新判别器,然后更新生成器,最终得到训练好的数据增强模型--LSCGAN:

其中,θ

步骤4.5,将数据集B’输入训练好的模型LSCGAN中的生成器得到扩充的新数据集F’。

本发明的有益效果如下:

1.本发明采用Borderline SMOTE算法对样本量较少的异常流量样本进行过采样,对过采样后的样本集采用Tomek Link算法进行欠采样;针对数据缺少的问题,使用热卡填充算法进行填充,

2.本发明针对数据集维度过大可能会导致模型复杂度高、泛化性差的问题,采用了LDA数据降维,这大大的降低了模型复杂度,缩短模型训练时间,提高了模型鲁棒性。

3.本发明提出的BIGRU-Attention模型,较于传统特征提取方法,本模型更为轻便,并且针对5G网络流量中尤为重要的时序特征,本模型可以高效且精准地提取出网络流量的序列特征,并使得模型更加关注对异常流量检测更重要的特征,使得异常检测更为高效。

4.在数据增强模块,本发明采用的LSCGAN模型使用最小二乘损失函数替代原始GAN中的二分类交叉熵损失函数,提高了生成器和判别器的训练稳定性,并且引入网络流量类型作为条件信息,能更好的生成符合网络流量分类的数据。

附图说明

图1是本发明基于深度学习的5G网络异常流量检测方法实现总流程图;

图2是本发明基于深度学习的5G网络异常流量检测方法BorderlineSMOTE过采样流程图;

图3是本发明基于深度学习的5G网络异常流量检测方法Tomek Link欠采样流程图;

图4是本发明基于深度学习的5G网络异常流量检测方法BIGRU-Attention模型结构图;

图5是本发明基于深度学习的5G网络异常流量检测方法LSCGAN模型结构图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

实施例1

本发明基于深度学习的5G网络异常流量检测方法,如图1所示,具体包括如下步骤:

步骤1,通过wireshark软件捕获在5G环境下的正常网络活动和人工发起的网络攻击行为所产生的数据流量,以pcap文件方式存储,并将产生的所有数据流量包作为初始数据集X。

步骤2,对初始流量数据集X进行预处理,具体步骤如下:

步骤2.1,使用名为SplitCap的开源工具对数据集X中pcap包按流切分的方式将pcap进行分割,得到网络流量中相同五元组的所有包,并对所有包以包为单位进行人工标注,异常流量的特征为:大量的连接尝试、频繁的端口变化、频繁的数据包丢失、协议违规、恶意软件通信、大规模的重复请求,根据以上特征标注异常流量,其余为正常流量,最后得到具有正常类别标签以及异常类别标签的包。

步骤2.2,将步骤2.1分割后的所有包中的特有的IP地址和MAC地址使用随机化地址替换。

步骤2.3,首先需要通过脚本批量判断步骤2.2中替换随机地址后的包大小是否为0,若为0则将该空包删除。其次,利用脚本对每个包内容进行哈希计算,并将哈希值存在一个哈希表中,如果存在相同的哈希值,则说明两个包内容相同,可以将其标记为重复包。最后输出所有重复包的路径,通过finddupe工具删除重复包。

步骤2.4,基于步骤2.3删除空包和重复包后的数据集,采用BorderlineSMOTE算法对异常流量进行过采样,采用TomeLink算法对过采样后的数据集进行欠采样,具体步骤如下:

步骤2.4.1,首先设数据集X中异常流量样本为x

表1

步骤2.4.2,本数据集X中的所有的危险样本组成危险集合后,确定哪些异常样本属于此危险集合,用x

步骤2.4.3,设定一个比例a,在X

x

x

x

其中,x

步骤2.4.4,将经过处理后的样本集X

以上步骤2.4.1-2.4.3为过采样过程,步骤2.4.4为欠采样过程。

步骤2.5,针对数据包中出现的符号类型的数据,使用one-hot方法将数据集X

表2

步骤2.6,基于步骤2.5处理后的数据集X

步骤2.6.1,通过观察数据确定数据集X

步骤2.6.2,基于数据集X

其中,r(X

步骤2.6.2,根据计算得到的相关性系数r(X

步骤2.6.3,根据相关系数矩阵中每个变量X

步骤2.6.4,基于候选集合S使用如下公式填充缺失值,对所有含有缺失值的变量重复以上步骤,直至所有缺失值填充完成,最终得到填充后的数据集X

其中,x

步骤2.6.3-2.6.4为传统热卡填充算法的方法一致;

步骤2.7,本发明使用max-min归一化方法对填充后的数据集X

其中,x

步骤2.8,为了避免大量数据的纬度过高使得模型训练效果差,本发明对归一化后的数据集X

步骤2.9,对处理后的数据包进行裁剪,将统一长度后的数据包生成灰度图。

步骤2.10,将图片转化为idx格式文件,所有的IDX格式文件构成初始数据集Z,作为本模型的输入。

步骤3,基于BIGRU-Attention模型对经过预处理后的初始数据集Z进行特征提取,得到特征数据集F,本模型将包含:BIGRU层进行时序特征提取,attention层进行二次特征提取。具体模型结构如图4所示,图中以n=6为例进行说明。

步骤4,将步骤3中得到的特征F划分为A’和B’,本发明基于GAN模型,将A’输入模型进行训练改进得到训练好的模型LSCGAN,LSCGAN模型训练流程如图5所示,具体流程如步骤4.1至4.4所示。最后将B’放入模型得到新的数据集F’。

步骤5,将步骤4中提取到的特征集F’放入softmax分类器中进行分类,得到异常流量分类结果。

步骤5.1,将特征集F’放入softmax分类器中进行分类训练,得到一个训练好的分类器模型;

步骤5.2,将测试集B放入训练好的分类器中进行正常流量与异常流量的分类,得到分类结果。

实施例2

在实施例1的基础上,步骤3的具体过程为:

步骤3.1,将经过预处理后的数据集Z划分为训练集A和测试集B;

步骤3.2,将划分好的训练集A={a

其中,h

步骤3.3,利用Attention机制对BIGRU模型提取出的特征h

步骤3.3.1,定义一个L大小的滑动窗口,根据滑动窗口的大小,在h

步骤3.3.2,计算特征向量h

步骤3.3.3,将所有的特征向量ht乘以相应的权重系数kt,最后再求和就可以得到经过特征重要性权重评估后的重要特征,即得到二次特征提取的特征F。

实施例3

在实施例2的基础上,步骤4的具体过程为:

步骤4.1,随机初始化生成器G和判别器D的参数。定义Adam为生成器和判别器的优化器。使用numpy库中的rand()函数生成高斯随机噪音数据z,定义均值为0,标准差为1;

步骤4.2,将噪音数据z以及条件信息--网络流量类别y(包括:正常(normal),异常(abnormal))输入生成器网络G生成数据G’(z,y)并输入判别器网络D,根据生成数据G’(z,y)与判别器的输出D(G’(z,y))计算生成器损失函数,定义生成器网络的生成损失函数为:

步骤4.3,将原始特征数据t与条件信息--网络流量类别y输入判别器网络D与生成数据G’(z,y)共同计算判别器损失,定义判别损失函数为:

步骤4.4,使用随机梯度下降(SGD)算法,交替更新生成器和判别器的参数。在每次迭代中,利用优化器Adam先更新判别器,然后更新生成器。最终得到优化好的数据增强模型--LSCGAN。

其中,θ

步骤4.5,将B’输入训练好的LSCGAN中的生成器得到扩充的新数据集F’。

相关技术
  • 一种基于自适应深度学习的5G网络异常检测方法及系统
  • 基于深度学习的智能变电站过程层网络异常流量检测方法
技术分类

06120116482858