1.基于Transformer的网络入侵检测方法,其特征在于,所述方法包括:
S1.采集网络入侵检测数据流,构建网络入侵检测数据集,并根据数据集设置数据集规范;所述S1中,所述网络入侵检测数据流为表格数据,所述表格数据由数值字段和分类字段组成,将所述表格数据进行分类,区分出数值字段和分类字段,并根据所述数值字段与所述分类字段设置数据集规范;
S2.基于所述数据集规范对所述网络入侵检测数据集进行预处理,得到预处理后的数据;所述S2中,基于所述数据集规范对所述网络入侵检测数据集进行预处理,得到预处理后的数据的具体方法包括:基于所述数据集规范对数值字段的特征值进行对数变换,得到对数变换后的特征值,将所述对数变换后的特征值进行归一化处理,得到归一化后的特征值;
基于所述数据集规范对分类字段的特征值按照出现的频率进行统计排序;根据统计排序筛选出频率在前30位的特征值,对筛选后的特征值进行One‑hot编码;
S3.将所述预处理后的数据进行数据划分,得到划分后的数据集;所述S3中,将所述预处理后的数据进行数据划分,得到划分后的数据集具体包括:对经过预处理的数据按照2:8的比例进行划分,得到训练集和测试集;
S4.使用对比学习对划分后得到的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集;所述机器学习模型为三个基于树的机器学习模型,具体为随机森林模型、额外树模型和XGBoost模型,所述三个基于树的机器学习模型用于对所述对比学习后的训练数据集进行训练,得到特征重要性;
所述S4中,使用对比学习对划分后得到的训练集进行训练,得到初步训练结果,具体包括:将所述训练集输入对比学习模型进行学习,将不同的数据进行类别上的区分,得到对比学习后的训练数据集,所述类别分为正常类数据和异常类数据;
S5.将所述特征子集传入Input encoder、Bert和Classification Head组成的Transformer模型以及Input encoder、GPT2.0和Classification Head组成的Transformer模型分别进行训练,保存两个网络入侵检测模型,即这两个Transformer模型,记作Model1和Model2,记录所述Model1和Model2的准确率;
其中,在Input encoder组件中将预处理过的数值字段和分类字段进行拼接,得到高维数据特征;通过嵌入层将所述高维数据特征映射到低维连续特征向量空间,输出能够被Bert模型有效处理的特征向量序列,通过Bert模型学习网络流量序列数据的特征;
S6.使用所述Model1和Model2分别对划分后得到的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。
2.基于Transformer的网络入侵检测系统,所述系统用于实现权利要求1所述的网络入侵检测方法,其特征在于,所述系统包括:规范设置模块、预处理模块、数据划分模块、特征获取模块、模型构建模块和入侵检测模块;
所述规范设置模块用于采集网络入侵检测数据流,构建网络入侵检测数据集,并根据数据集设置数据集规范;
所述预处理模块用于基于所述数据集规范对所述网络入侵检测数据集进行预处理,得到预处理后的数据;
所述数据划分模块用于将所述预处理后的数据进行数据划分,得到划分后的数据集;
所述特征获取模块用于使用对比学习对划分后得到的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集;
所述模型构建模块用于将所述特征子集传入Input encoder、Bert和Classification Head组成的Transformer模型以及Input encoder、GPT2.0和Classification Head组成的Transformer模型分别进行训练,保存两个网络入侵检测模型,即这两个Transformer模型,记作Model1和Model2,记录所述Model1和Model2的准确率;
所述入侵检测模块用于使用所述Model1和Model2分别对划分后得到的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。
3.根据权利要求2所述的基于Transformer的网络入侵检测系统,其特征在于,所述预处理模块还包括数值字段特征处理子模块和分类字段特征处理子模块;
所述数值字段特征处理子模块用于基于所述数据集规范对数值字段的特征值进行对数变换,得到对数变换后的特征值,将所述对数变换后的特征值进行归一化处理,得到归一化后的特征值;
所述分类字段特征处理子模块用于基于所述数据集规范对分类字段的特征值按照出现的频率进行统计排序;根据统计排序筛选出频率在前30位的特征值,对筛选后的特征值进行One‑hot编码。
4.根据权利要求3所述的基于Transformer的网络入侵检测系统,其特征在于,所述模型构建模块包括特征拼接子模块、特征映射子模块、数据扁平化子模块、数据分类子模块和预训练子模块;
所述特征拼接子模块用于在Input encoder组件中将预处理结束后的数值字段和分类字段进行拼接,得到高维数据特征;
所述特征映射子模块用于通过嵌入层将所述高维数据特征映射到低维连续的特征向量空间,输出特征向量序列;
所述数据扁平化子模块用于在Classification Head组件中将所述Model1和Model2输出的特征向量序列分别进行扁平化,将多维数据展平成一维数据;
所述数据分类子模块用于将所述一维数据传入多层感知器,执行正常数据与异常数据的分类;
所述预训练子模块用于基于所述正常数据与异常数据的分类进行对比学习,得到对比学习后的训练数据集,将所述对比学习后的训练数据集输入机器学习模型进行训练,得到网络入侵初始检测模型。