1.基于数据增强和自监督特征增强的网络入侵检测方法,其特征在于,按预设周期执行步骤S1‑步骤S4,获得网络入侵检测模型,然后应用网络入侵检测模型,对网络流量进行分类,实现网络入侵检测的功能;
S1:对网络流量数据集做数据分析,根据数据分析结果进行数据预处理,数据预处理方法具体包括:对网络流量数据集进行标准化处理,即采用独热编码将符号特征转换成数值特征表示;并使用四分位距异常值处理算法,对数值特征进行异常值处理;对经过标准化和异常值处理后的数据集进行Min‑Max Scaling将数值归一化到0到1之间;以网络流量数据集中的网络流量样本为输入,以经过预处理的网络流量数据集中的网络流量样本为输出,构建网络流量数据预处理模块;
S2:网络流量数据集包括训练数据集、测试数据集,训练数据集、测试数据集中的网络流量样本包括攻击类样本,以经过预处理的网络流量数据集中训练数据集的攻击类样本为输入,构建数据增强自编码器网络对攻击类样本进行数据增强处理,生成预设数量的攻击类样本,基于生成的攻击类样本和步骤S1所获得的经过预处理的网络流量数据集中训练数据集中的网络流量样本,构建最终训练数据集,并输出最终训练数据集,构建攻击类样本增强模块;
步骤S2的具体步骤如下:
S21:将经过预处理的训练数据集中的攻击类样本xi输入到数据增强自编码器中,输出攻击类样本对应的重构样本 基于攻击类样本及其对应的重构样本经过log_softmax分类器和softmax分类器的数据分布,计算出KL散度,MSE损失,并结合KL散度和MSE损失,构建自定义损失函数L1,具体如公式(5),(6),(7)所示:L1=0.5MSE+0.5DKL1 (7)
其中,xi为第i个经过预处理的攻击类样本,其中攻击类样本的总数为n, 为攻击类样本xi所对应的重构样本,p1(xi)为攻击类样本xi经过log_softmax分类器的数据分布,q1(xi)为重构样本经过softmax分类器的数据分布,DKL1表示p1(xi)和q1(xi)两个分布之间的KL散度,MSE表示攻击类样本xi和重构样本 之间的MSE损失,L1表示结合KL散度和MSE损失提出的自定义损失函数;
S22:基于输入的攻击类样本以及输出的重构样本,采用步骤S21所构建的自定义损失函数L1对数据增强自编码器网络进行预设次数的迭代训练,将迭代中损失函数L1的最小值所对应的网络参数保存下来,作为最佳数据增强模型;
S23:基于数据增强自编码器网络,加载步骤S22所获得的最佳模型对训练数据集中的攻击类样本进行数据增强,生成预设数量的攻击类样本;
S24:将S23所获得的预设数量的攻击类样本与步骤S1所获得的经过数据预处理的网络流量数据集中的训练数据集合并,构建最终训练数据集;
S3:以步骤S2所获得的最终训练数据集中的网络流量样本为输入,基于CNN‑BiLSTM神经网络和特征增强自编码器网络构建半自监督模型,并应用半自监督模型进行特征提取,以提取到的高维时空流量特征和自监督特征作为输出,构建半自监督特征提取模块;
步骤S3具体步骤如下:
S31:将最终训练数据集中网络流量样本的一维数值特征转换成二维数值特征输入CNN神经网络,提取网络流量样本的空间特征,再通过全连接层整合输入到BiLSTM网络提取网络流量样本的时间特征,最终输出提取到的高维时空流量特征;
S32:将最终训练数据集中的网络流量样本的数值特征输入特征增强自编码器网络,获得训练数据集中的网络流量样本的自监督特征;
S4:将半自监督特征提取模块输出的高维时空流量特征和自监督特征合并,获得特征增强后的最终特征,输入到分类网络中进行预测分类,并结合分类结果,采用自定义的损失函数作为评估标准对半自监督模型进行预设次数的迭代训练,对半自监督模型参数进行更新,获得网络入侵检测模型,实现网络入侵检测的功能;
步骤S4具体步骤如下:
S41:将半自监督特征提取模块输出的网络流量样本的高维时空流量特征和自监督特征合并,得到网络流量样本的最终特征;
S42:基于最终训练数据集中的网络流量样本的数值特征xi′及其通过特征增强自编码器生成的自监督特征 经过log_softmax分类器和softmax分类器的数据分布,计算出两个数据分布间的KL散度,预测分类值和真实类别之间的交叉熵损失,并结合KL散度和交叉熵损失,构建自定义损失函数L2,具体如公式(8),(9),(10)所示:L2=0.8Lc+0.2DKL2 (10)
式中,xi′表示最终训练数据集中的第i个网络流量样本的数值特征,其中网络流量数据样本总数为N,p2(xi′)为网络流量样本的数值特征xi′经过log_softmax分类器处理后的数据分布,q2(xi′)为自监督特征xi′经过softmax分类网络处理后的数据分布,DKL2表示p2(xi′)和q2(xi′)两个数据分布之间的KL散度,Lc表示预测分类值和真实类别之间的交叉熵损失,yi为第i个网络流量样本所对应的标签,其中攻击类样本标签为1,正常样本标签为0,Pi为第i个网络流量样本被预测为攻击类样本的概率,L2表示结合KL散度和交叉熵提出的自定义损失函数;
S43:以步骤S42所构建的自定义损失函数L2作为评估标准,对半自监督模型进行预设次数的迭代训练更新模型参数,保存最佳模型作为最终的网络入侵检测模型;
S44:将网络流量数据集中的测试数据集中的网络流量样本输入步骤S44所获得的最佳半自监督模型中进行分类,输出各网络流量数据样本分别所对应的分类结果,检验所提网络入侵检测模型的性能。
2.根据权利要求1所述的基于数据增强和自监督特征增强的网络入侵检测方法,其特征在于,步骤S1中构建网络流量数据预处理模块的具体步骤如下:S11:网络流量数据集包含的特征类型为数值特征和符号特征,对网络流量数据集进行标准化处理,基于独热编码方法将符号特征转换成数值特征表示;
基于四分位距的异常值处理算法,根据预设步骤S12‑步骤S14对于数值特征进行异常值处理:S12:计算网络流量数据集每个数值特征所有数据的第一四分位数Q1和第三四分位数Q3,根据公式(1)计算每个数值特征所有数据的四分位距IQR;
IQR=Q3‑Q1 (1)
S13:基于网络流量数据集中每个数值特征所有数据的第三四分位数Q3和四分位距IQR,根据公式(2)计算网络流量样本的异常值边界OF;
OF=Q3+1.5*IQR (2)
S14:基于步骤S13得到的四分位距IQR和异常值边界OF,提出一种异常值处理算法,其简化形式如公式(3)所示,并应用该异常值处理算法对网络流量数据集进行异常值处理:式(3)中x为网络流量数据集中其中一个数值特征对应的数据,OF为该数值特征所有数据的异常值边界;
S15:基于Min‑Max Scaling方法,根据公式(4)对经过标准化处理和异常值处理后的网络流量数据集进行归一化处理:式(4)中,x为网络流量数据集中其中一个数值特征对应的数据,xmax为数值特征对应数*据中的最大值,xmin为数值特征对应数据中的最小值,x 表示归一化后的数值特征对应数据。