1.一种基于生成扩散的工业互联网异常流量检测方法,其特征在于,包括如下步骤:步骤1、采用滑动数据包窗口和时间窗口从公共流量数据集中提取空间特征和时间特征,然后采用信息增益IG和信息增益比IGR从所有空间特征和时间特征中选取最佳特征集;步骤2、构建基于表格去噪扩散概率模型TabDDPM的伪异常生成器,将随机输入的高斯噪声图像重构为正常或异常样本;具体包括如下步骤:步骤21、对于表格型网络流量样本 包含N num 个数值特征和2个分类特征 对于每一个类别K i ,采用one-hot编码作为输入,输入x 0 的维度为N num +∑K i 并使用scikit-learn库中的高斯分位数变换进行预处理;步骤22、在基于TabDDPM的每个特征分类样本的前向扩散过程中,对样本逐步添加满足高斯分布的噪声,经过T个时间步后,直到整个样本成为满足正态分布的噪声;在反向过程中,从满足正态分布的噪声出发,使用添加了Dropout层的多层感知机预测上一时间步编码样本的均值和方差,该多层感知机具有与x 0 相同维度的输出,其中前N num 个坐标是高斯扩散的预测,在经过T个时间步后,预测出编码网络流量样本;步骤23、TabDDPM模型通过最小化高斯扩散项的均方误差 和每个多项式的KL散度 之和来训练,损失函数由公式(2)计算:其中,C表示分类特征的数量;步骤3、建立由伪异常生成器和基于生成对抗网络的鉴别器组成的异常流量检测模型和损失函数,并训练更新伪异常生成器和鉴别器的参数;步骤4、对已训练完成的网络异常流量检测模型,选择合适的基线函数来确定一个窗口上的累积流量是否被识别为异常;步骤5、部署异常流量检测模型并进行实时检测。
2.如权利要求1所述的基于生成扩散的工业互联网异常流量检测方法,其特征在于,步骤1中,选取最佳特征集具体包括如下步骤:步骤11、采用滑动数据包窗口和时间窗口从公共流量数据集中提取空间特征和时间特征,滑动数据包窗口的大小为20000个数据包,时间窗口的大小为1000个数据包;步骤12、信息增益为父节点的信息熵与其下所有子节点总信息熵之差,信息增益比为父节点信息熵除以特征熵,特征熵由公式(1)计算:其中,p k 表示该特征值取值为k的样本在样本集中的比例;步骤13、按照信息增益比对所有空间特征和时间特征进行排序,选取信息增益比最大的前20个特征作为最佳特征集中的特征。
3.如权利要求1所述的基于生成扩散的工业互联网异常流量检测方法,其特征在于,步骤3中,建立由伪异常生成器和基于生成对抗网络的鉴别器组成的异常流量检测模型和损失函数,并训练更新伪异常生成器和鉴别器的参数具体包括如下步骤:步骤31、伪异常生成器由多个表格去噪扩散概率模型TabDDPM构成,且每个TabDDPM采用不同的步数T进行训练,使它们的重构能力都不相同;步骤32、鉴别器是一个二元分类器,由多层全连接神经网络构成,采用伪异常生成器生成的样本和正常样本进行训练;步骤33、完整异常流量检测模型的训练包括伪异常生成器的训练和鉴别器的对抗性训练,鉴别器采用对抗性训练进行训练,损失函数由公式(3)计算:其中,D(x)表示鉴别器对正常样本的输出,D(P(x))表示鉴别器对伪异常生成器生成的样本的输出。
4.如权利要求1所述的基于生成扩散的工业互联网异常流量检测方法,其特征在于,步骤4中,选择合适的基线函数来确定一个窗口上的累积流量是否被识别为异常具体为:选取经验最佳基线函数和统计最佳基线函数的最大值作为基线函数;经验最佳基线函数thres empirical 为训练后的模型将正常数据分类为0时的最小基线函数,统计最佳基线函数为thres stat =mean(prec)+3*std(prec),其中,mean()表示均值函数,std()表示标准差函数,prec表示预测精度,由公式(4)计算:其中,TP表示模型准确检测并标记为X类别的样本数量,FN表示模型错误标记为Not-X类别的样本数量。
5.如权利要求1所述的基于生成扩散的工业互联网异常流量检测方法,其特征在于,步骤5中,部署异常流量检测模型并进行实时检测具体包括如下步骤:步骤51、当模型训练完成时,伪异常生成器会被丢弃,只将鉴别器部署在移动设备上,在一个窗口上对流量数据包进行预处理,获得每个流量监控点的状态向量,相邻两个监测点之间的间隔就是窗口大小;步骤52、预处理后的数据输入到鉴别器进行识别,同一个流中的每个异常状态进行累积,当超过基线函数时,流量被识别为异常。
6.一种应用如权利要求1所述的基于生成扩散的工业互联网异常流量检测方法的检测系统,其特征在于,包括:离线核心模型训练模块、工业互联网流量数据包捕获模块、数据包预处理模块和实时异常流量检测模块;离线核心训练模块与实时异常流量检测模块相连,工业互联网流量数据包捕获模块与数据包预处理模块、实时异常流量检测模块依次相连;离线核心模型训练模块,用于离线环境下对公共数据集预处理后的网络流量特征通过去噪扩散模型和生成对抗网络训练得到异常流量检测模型,训练好的异常流量检测模型能够被实时异常流量检测模块调用;工业互联网流量数据包捕获模块,用于获取所述工业互联网实时流量数据包;数据包预处理模块用于按照与训练数据相同的预处理方法对一组工业互联网实时流量数据包提取时间特征和空间特征,得到预处理后的工业互联网流量特征;实时异常流量检测模块通过所述训练得到的异常流量检测模型的鉴别器检测预处理后的工业互联网流量特征,判断累积的异常状态是否超过基线函数,从而得到检测结果。