1.基于深度学习的5G网络异常流量检测方法,其特征在于:具体包括如下步骤:步骤1,构建5G环境下的数据流量初始数据集X;所述步骤1的具体过程为:通过wireshark软件捕获在5G环境下的正常网络活动和人工发起的网络攻击行为所产生的数据流量,以pcap文件方式存储,并将产生的所有数据流量包作为初始数据集X;
步骤2,对初始流量数据集X进行预处理,得到数据集Z;
所述步骤2的具体过程为:
步骤2.1,使用名为SplitCap的开源工具对数据集X中 pcap 包按流切分的方式将 pcap 进行分割,得到网络流量中相同五元组的所有包,并对所有包以包为单位进行人工标注;
步骤2.2,将步骤2.1分割后的所有包中的特有的 IP 地址和 MAC 地址使用随机化地址替换;
步骤2.3,通过脚本批量判断步骤2.2中替换随机地址后的包大小是否为 0,若为 0则将该空包删除;然后利用脚本对每个包内容进行哈希计算,并将哈希值存在一个哈希表中,如果存在相同的哈希值,则说明两个包内容相同,可以将其标记为重复包,最后输出所有重复包的路径,通过finddupe工具删除重复包;
步骤2.4,基于步骤2.3删除空包和重复包后的数据集,采用Borderline SMOTE算法对异常流量进行过采样,采用TomeLink算法对过采样后的数据集进行欠采样,得到最终样本Xeq;
步骤2.5,针对数据包中出现的符号类型的数据,使用one‑hot方法将数据集Xeq中的所有符号类型的特征转换成数字特征,最后得到数值化后的数据集Xo;
步骤2.6,基于步骤2.5处理后的数据集Xo,对缺失的数值特征,采用热卡填充算法来填充,得到填充后的数据集Xp;
步骤2.7,使用 max‑min 归一化方法对填充后的数据集Xp进行归一化操作,使得数据的范围被压缩在[0,1]之间,具体公式如下:(1);
其中,xfinp为归一化后的数据,xmin为原始数据集中的最小值,xmax为原始数据集中的最大值,xp是指数据集Xp中的任一值,p=1,2,...,P,P为数据集Xp的总数据量;
步骤2.8,采用步骤2.7得到的归一化后的数据xfinp构建数据集XFIN,对数据集XFIN={xfin1、xfin2...、xfinp}采用LDA方法进行数据降维,降维后的数据集维度从a×a到b×b,其中,b
步骤2.9,对步骤2.8降维处理后的数据包进行裁剪,将统一长度后的数据包生成灰度图;
步骤2.10,将步骤2.9生成的灰度图转化为idx格式文件,得到数据集Z;
步骤3,对数据集Z进行特征提取,得到特征数据集F;
所述步骤3的具体过程为:
步骤3.1,将数据集Z划分为训练集A和测试集B;
步骤3.2,将划分好的训练集A = {a1, a2,..., an}送入BiGRU模型,BiGRU 模型隐藏层状态 ht的计算公式为:(2);
(3);
(4);
t t
其中,hf 表示 t 时刻输入经过正向传播层得到的正向输出状态;hb表示 t 时刻输入经过反向传播层得到的反向输出状态,fd为正向输出函数,fb为反向输出函数,ht为隐藏状态向量,at指代训练集A中的任一值, 是指前一t时刻的正向输出状态, 指代后一时刻的反向输出状态;
步骤3.3,利用Attention机制对BIGRU模型提取出的特征 ,根据特征重要性进行赋值,最后将经过特征重要性权重评估后的特征相加,即得到二次特征提取的特征F;
步骤4,将步骤3中得到的特征F划分为数据集A’和数据集B’,采用数据集A’输入GAN模型中进行训练,得到模型LSCGAN,将数据集B’放入模型LSCGAN中,得到数据集F’;
步骤5,将步骤4中提取到的特征集F’放入softmax分类器中进行分类,得到异常流量分类结果。
2.根据权利要求1所述的基于深度学习的5G网络异常流量检测方法,其特征在于:所述步骤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))计算生成器损失函数,定义生成器网络的生成损失函数 为:(5);
步骤4.3,将原始特征数据t与条件信息‑‑网络流量类别y输入判别器网络D与生成数据G’(z,y)共同计算判别器损失,定义判别损失函数 为:(6);
步骤4.4,使用随机梯度下降算法,交替更新生成器和判别器的参数,以最小化各自的损失函数,在每次迭代中,利用优化器Adam先更新判别器,然后更新生成器,最终得到训练好的数据增强模型‑‑LSCGAN:(7);
(8);
其中, 和 分别表示判别器和生成器第t轮的参数, 和 分别表示判别器和生成器第t‑1轮的参数, 和 分别是判别器和生成器损失函数对参数的梯度,由深度学习框架的自动微分功能得到, 是学习率;
步骤4.5,将数据集B’输入训练好的模型LSCGAN中的生成器得到扩充的新数据集F’。