CN117692249A - 基于Transformer的网络入侵检测方法及系统 - Google Patents
基于Transformer的网络入侵检测方法及系统 Download PDFInfo
- Publication number
- CN117692249A CN117692249A CN202410095345.3A CN202410095345A CN117692249A CN 117692249 A CN117692249 A CN 117692249A CN 202410095345 A CN202410095345 A CN 202410095345A CN 117692249 A CN117692249 A CN 117692249A
- Authority
- CN
- China
- Prior art keywords
- data
- feature
- training
- data set
- network intrusion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 81
- 238000012549 training Methods 0.000 claims abstract description 107
- 238000010801 machine learning Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 23
- 238000007781 pre-processing Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 28
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 11
- 238000010606 normalization Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 7
- 238000007637 random forest analysis Methods 0.000 claims description 6
- 230000008030 elimination Effects 0.000 claims description 4
- 238000003379 elimination reaction Methods 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000009466 transformation Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了基于Transformer的网络入侵检测方法及系统,所述方法包括:构建网络入侵检测数据集,设置数据集规范;基于数据集规范对网络入侵检测数据集进行预处理;将预处理后的数据进行数据划分,得到划分后的数据集;使用对比学习对划分后的训练集进行训练,得到初步训练结果,将初步训练结果输入机器学习模型进行训练,获得特征子集;将特征子集传入Transformer模型分别进行训练,保存两个网络入侵检测模型,记作Model1和Model2,记录模型的准确率;使用所述Model1和Model2分别对划分后的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。
Description
技术领域
本发明涉及计算机网络技术安全技术领域,具体涉及一种基于Transformer的网络入侵检测方法及系统。
背景技术
传统入侵检测系统通常将数学统计方法与机器学习相结合来检测异常数据。机器学习能够从大量数据集中自动获取有用信息,与入侵检测系统结合能大大提升检测效率。但是在基于机器学习的入侵检测系统中,数据是以数据包或序列流的形式被捕获,如何而在这种流量中识别微妙和复杂模式对于入侵检测系统的性能至关重要。网络通信通常具有顺序性质,但是基于机器学习的入侵检测系统通常难以捕捉到数据中的时间相关性和顺序信息,因此,基于机器学习的入侵检测系统但在处理网络流量数据等顺序数据时存在一些不足。
目前基于Transformer架构的模型已经被证明在处理顺序数据方面非常有效,Transformer最初是为自然语言处理(NLP)任务设计的,特别是在机器翻译领域取得了巨大的成功。同时,它的架构也适用于各种顺序数据的处理,包括但不限于图像,图表和语言。因此本发明提出了一种基于Transformer的网络入侵检测方法,以便于更好的处理顺序数据,更全面地捕获网络威胁。
发明内容
本发明针对传统的基于机器学习的网络入侵检测方法对处理顺序数据方面的不足,提供了基于Transformer的网络入侵检测方法,将顺序数据转换成固定长度的特征向量序列并传入Transformer模型进行训练,利用Transformer模型在处理顺序数据的优势,可以更加全面地捕获网络威胁,所述方法包括:
S1.采集网络入侵检测数据流,构建网络入侵检测数据集,并根据数据集设置数据集规范;
S2.基于所述数据集规范对所述网络入侵检测数据集进行预处理,得到预处理后的数据;
S3.将所述预处理后的数据进行数据划分,得到划分后的数据集;
S4.使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集;
S5.将所述特征子集传入Input encoder、Bert和Classification Head组成的Transformer模型以及Input encoder、GPT2.0和Classification Head组成的Transformer模型分别进行训练,保存两个网络入侵检测模型,记作Model1和Model2,记录所述Model1和Model2的准确率;
S6.使用所述Model1和Model2分别对划分后的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。
可选的,所述S1中,所述网络入侵检测数据流为表格数据,所述表格数据由数值字段和分类字段组成,将所述表格数据进行分类,区分出数值字段和分类字段,并根据所述数值字段与所述分类字段设置数据规范。
可选的,所述S2中,基于所述数据集规范对所述网络入侵检测数据集中进行预处理,得到预处理后的数据的具体方法包括:
基于所述数据集规范对数值字段的特征值进行对数转换,得到对数变换后的特征值,将所述对数变换后的特征值进行归一化处理,得到归一化后的特征值;
基于所述数据集规范对分类字段的特征值进行N频率筛选,得到筛选后的特征值,对所述筛选后的特征值进行编码。
可选的,基于所述数据集规范对分类字段的特征值进行N频率筛选,得到筛选后的特征值,对所述筛选后的特征值进行编码具体包括:
基于所述数据集规范对分类字段的特征值按照出现的频率进行统计排序;
根据统计排序筛选出频率在前30位的特征值,对筛选后的特征值进行One-hot编码。
可选的,所述S3中,将所述预处理后的数据进行数据划分,得到划分后的数据集具体包括:
对经过预处理的数据按照2:8的比例进行划分,得到训练数据集和测试数据集。
可选的,所述S4中,使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集具体包括:
将所述训练数据集输入对比学习模型进行学习,将不同的数据进行类别上的区分,得到对比学习后的训练数据集,所述类别分为正常类数据和异常类数据;
使用平均递归消除特征的方法对所述对比学习后的训练数据集进行训练,得到特征重要性,对所述特征重要性进行特征提取,从提取的特征中根据平均准确率选择重要特征子集。
可选的,所述平均递归消除特征的方法对所述对比学习后的训练数据集进行训练,得到特征重要性,对所述特征重要性进行特征提取,从提取的特征跟踪根据平均准确率选择重要特征子集的方法具体包括:
使用三个基于树的机器学习模型对所述对比学习后的训练数据集进行训练,得到特征重要性,所述机器学习模型为随机森林模型、额外树模型和XGBoost模型;
将特征重要性进行相加后取平均值,同时将特征重要性按照从大到小的顺序构成新的特征重要性列表,记录平均准确率;
删除特征重要性列表的最后一个特征,更新对比学习后的训练数据集,形成新的特征子集;
根据所述新的特征子集进行重复训练,直至特征子集为空,根据平均准确率选择重要特征子集。
本发明还公开基于Transformer的网络入侵检测系统,所述系统包括:规范设置模块、预处理模块、数据划分模块、特征获取模块、模型构建模块和入侵检测模块;
所述规范设置模块用于采集网络入侵检测数据流,构建网络入侵检测数据集,并根据数据集设置数据集规范;
所述预处理模块用于基于所述数据集规范对所述网络入侵检测数据集进行预处理,得到预处理后的数据;
所述数据划分模块用于将所述预处理后的数据进行数据划分,得到划分后的数据集;
所述特征获取模块用于使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集;
所述模型构建模块用于将所述特征子集传入Input encoder、Bert和Classification Head组成的Transformer模型以及Input encoder、GPT2.0和Classification Head组成的Transformer模型分别进行训练,保存两个网络入侵检测模型,记作Model1和Model2,记录所述Model1和Model2的准确率;
所述入侵检测模块用于使用所述Model1和Model2分别对划分后的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。
可选的,所述预处理模块还包括数值字段特征处理子模块和分类字段特征处理子模块;
所述数值字段特征处理子模块用于基于所述数据集规范对数值字段的特征值进行对数转换,得到对数变换后的特征值,将所述对数变换后的特征值进行归一化处理,得到归一化后的特征值;
所述分类字段特征处理子模块用于基于所述数据集规范对分类字段的特征值进行N频率筛选,得到筛选后的特征值,对所述筛选后的特征值进行编码。
所述模型构建模块包括特征拼接子模块、特征映射子模块、数据扁平化子模块、数据分类子模块和预训练子模块;
所述特征拼接子模块用于在Input encoder组件中将预处理结束后的数值字段和分类字段进行拼接,得到高维数据特征;
所述特征映射子模块用于对通过嵌入层将所述高维数据特征映射到低维连续的特征向量空间,输出特征向量序列;
所述数据扁平化子模块用于在Classiffcation Head组件中将所述Model1和Model2输出的特征向量序列分别进行扁平化,将多维数据展平成一维数据;
所述数据分类子模块用于将所述一维数据传入多层感知器,执行正常数据与异常数据的分类;
所述预训练模块用于基于所述正常数据与异常数据的分类进行对比学习,得到对比学习后的训练数据集,将所述对比学习后的训练数据集输入机器学习模型进行训练,得到网络入侵初始检测模型。
与现有技术相比,本发明的有益效果为:
本发明针对传统的基于机器学习的网络入侵检测方法对处理顺序数据方面的不足,提出了一种基于Transformer的网络入侵检测方法,将顺序数据转换成固定长度的特征向量序列并传入Transformer模型进行训练,利用Transformer模型在处理顺序数据的优势,可以更加全面地捕获网络威胁。
附图说明
为了更清楚地说明本发明的技术方案,下面对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种基于Transformer的网络入侵检测方法及系统的方法步骤图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
一种基于Transformer的网络入侵检测方法,如图1所示,所述方法包括:
S1.在实际检测过程中采集网络入侵检测数据流,构建网络入侵检测数据集,并根据数据集设置数据集规范;网络入侵检测数据流为表格数据,表格数据由数值字段和分类字段组成,将所述表格数据的特征字段进行分类,区分出数值字段和分类字段,并根据所述数值字段与所述分类字段设置数据规范。根据数据集的不同可以设置不同的数据集规范,规范中区分出了数值字段和分类字段,后续将提供给预处理阶段使用。
所采集到的流数据是一种表格数据,其中每个流的字段是已知且固定的。该数据由两种类型的字段组成:数值字段,例如发送的数据包数量,其中数字之间的距离是具有上下文含义的;分类字段,例如,端口号,协议类型等,它们的值都是一组的比较离散的数字,无法保证数字之间具有上下文关系,比如端口号25和22十分接近,但是代表的是不同的协议,而端口号443和8080距离较远,却代表的是同一服务协议。
S2.基于所述数据集规范对所述网络入侵检测数据集进行预处理,得到预处理后的数据;基于所述数据集规范对所述网络入侵检测数据集中进行预处理,得到预处理后的数据的具体方法包括:
基于所述数据集规范对数值字段的特征值进行对数转换,得到对数变换后的特征值,将所述对数变换后的特征值进行归一化处理,得到归一化后的特征值;将数值特征的值映射到[0,1]之间,从而消除奇异样本数据导致的不良影响。对数转换:对数转换可以平滑数据,减小极端异常值的影响,对数值字段的特征值采用式(1)进行对数转换。X是原始特征值,min是对应列的最小值,因为对数操作常常需要处理零值,为了避免对零值进行对数操作,通常在数据范围上加上1,y则为经过对数变换后特征值。
y=log[(x-min)+1] (1)
数据归一化:将经过对数变换后的特征值进采用式(2)进行Min-Max归一化处理,X是原始特征值,Xmin为对应列的最小值,Xmax为对应列的最大值,对原始数据进行线性变换,使结果映射到[0,1]的范围,实现对原始数据的等比缩放,经过归一化后的特征值为:
根据所述数据集规范对所述分类字段进行one-hot编码。
N频率one-hot编码:根据数据规范对分类字段进行N频率one-hot编码,在流数据中,每个字段都具有N个特征值,若是直接进行one-hot编码,某些字段可能会由于生成的特征空间维度较高而导致编码困难。所以,本实施例中首先对分类字段的每个特征值进行统计,按照出现的频率进行排序,保留出现频率排在前32位的特征值进行one-hot编码,舍弃不常见的特征值,这样有助于减小数据维度,提高模型性能。
S3.将所述预处理后的数据进行数据划分,得到划分后的数据集;S3中,将所述预处理后的数据进行数据划分,得到划分后的数据集具体包括:对经过预处理的数据按照2:8的比例进行划分,得到训练数据集和测试数据集。
S4.使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集;S4中,使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集具体包括:
将所述训练数据集输入对比学习模型进行学习,将不同的数据进行类别上的区分,得到对比学习后的训练数据集;使用平均递归消除特征的方法对所述特征重要性进行特征提取,从提取的特征中根据平均准确率选择重要特征子集。
平均递归消除特征的方法对所述特征重要性进行特征提取,从提取的特征跟踪根据平均准确率选择重要特征子集的方法具体包括:
使用三个基于树的机器学习模型对所述对比学习后的训练数据集进行训练,得到特征重要性,所述机器学习模型为随机森林模型(RF)、额外树模型(ET)和XGBoost模型;结合对比学习和树模型可以提高模型在特定任务上的性能,特别是在处理那些需要复杂特征提取的任务。
预处理后的数据交由对比学习模型进行学习处理,将不同的数据进行类别上的区分,并将输出传入三个基于树的机器学习模型进行训练,获取特征重要性,选择重要的特征子集。本发明提出了一个平均递归消除特征的方法:如Algorithm1所示:首先使用三个基于树的机器学习模型(随机森林(RF)、额外树(ET)和XGBoost)进行训练,将每个训练器得到的特征重要性进行相加后取平均值,同时按从大到小的顺序构成新的特征重要性列表,记录平均准确率(三个模型的准确率相加后取平均),删除特征重要性最小的特征,也就是特征重要性列表的最后一个特征;然后更新数据集,形成新的特征子集,基于新的特征集进行重复训练,直到特征集为空;最后选择平均准确率最高所对应的特征子集作为最重要的特征子集,以供步骤五使用,以达到数据降维或者提高模型泛化能力的作用。
Algorithm:
1:Input:X,y
2:Ouput:N
3:while features_List:
4:Train ET(X,y),RF(X,y),XGBoost(X,y)on Avg_Features_List;
5:Avg_Features_List=(et_features_fist+rf_features_fist+xgh_features_fist)/3
6:RecordAccurary:
7:del Avg_Features_List[-1];
8:features_List=Avg_Features_List;
9:end while
10:N=arg max Accurary
S5.将所述特征子集传入Input encoder、Bert和Classification Head组成的Transformer模型以及Input encoder、GPT2.0和Classification Head组成的Transformer模型分别进行训练,保存两个网络入侵检测模型,记作Model1和Model2,记录所述Model1和Model2的准确率;Transformer模型主要由Input encoder、Bert和Classification Head三大组件组成,在Input encoder组件中将预处理过的数值字段和分类字段进行拼接,通过嵌入层(全连接层)将高维数据特征映射到低维连续特征向量空间,输出可以被Bert模型有效处理的特征向量序列,通过Bert模型学习网络流量序列数据的特征,在ClassificationHead组件中会将Bert模型的输出序列进行扁平化,将多维数据展平成一维数据,再传入多层感知器(MLP),然后执行最终分类。
使用超参数优化方法贝叶斯树Parzen估计器(BO-TPE)对模型的重要超参数进行优化,BO-TPE创建了2个密度函数l(x)和g(x),作为变量的生成模型,根据预先定义好的y*划分出较好的和较差的观察结果,两组结果是通过简单的Parzen估计器建模的:
BO-TPE是通过最大化这两个密度函数的比率(l(x)/g(x))来检测最优的超参数值,而且BO-TPE可以有效地优化所有类型的超参数。
S6.使用所述Model1和Model2分别对划分后的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。
将Model1和Model2分别对测试数据进行测试,Model1的输出为y1,权重为w1,Model2的输出为y2,权重为w2,根据步骤五存储的准确率,进行权重赋值,准确率高的模型权重赋值为0.6,低的赋值为0.4,最终分类结果输出为:y=w1*y1+w2*y2。
实施例二
基于Transformer的网络入侵检测系统,所述系统包括:规范设置模块、预处理模块、数据划分模块、特征获取模块、模型构建模块和入侵检测模块;
规范设置模块用于采集网络入侵检测数据流,构建网络入侵检测数据集,并根据数据集设置数据集规范;网络入侵检测数据流为表格数据,所述表格数据由数值字段和分类字段组成,将所述表格数据的特征字段进行分类,区分出数值字段和分类字段,并根据所述数值字段与所述分类字段设置数据规范。根据数据集的不同可以设置不同的数据集规范,规范中区分出了数值字段和分类字段,后续将提供给预处理阶段使用。
所采集到的流数据是一种表格数据,其中每个流的字段是已知且固定的。该数据由两种类型的字段组成:数值字段,例如发送的数据包数量,其中数字之间的距离是具有上下文含义的;分类字段,例如,端口号,协议类型等,它们的值都是一组的比较离散的数字,无法保证数字之间具有上下文关系,比如端口号25和22十分接近,但是代表的是不同的协议,而端口号443和8080距离较远,却代表的是同一服务协议。
所述数值字段特征处理子模块用于基于所述数据集规范对数值字段的特征值进行对数转换,得到对数变换后的特征值,将所述对数变换后的特征值进行归一化处理,得到归一化后的特征值;将数值特征的值映射到[0,1]之间,从而消除奇异样本数据导致的不良影响。
对数转换:对数转换可以平滑数据,减小极端异常值的影响,对数值字段的特征值采用式(3)进行对数转换。X是原始特征值,min是对应列的最小值,因为对数操作常常需要处理零值,为了避免对零值进行对数操作,通常在数据范围上加上1,y则为经过对数变换后特征值。
y=log[(x-min)+1] (3)
数据归一化:将经过对数变换后的特征值进采用式(4)进行Min-Max归一化处理,X是原始特征值,Xmin为对应列的最小值,Xmax为对应列的最大值,对原始数据进行线性变换,使结果映射到[0,1]的范围,实现对原始数据的等比缩放,经过归一化后的特征值为:
基于所述数据集规范对分类字段的特征值进行N频率筛选,得到筛选后的特征值,对所述筛选后的特征值进行编码。
根据所述数据集规范对所述分类字段进行one-hot编码。
N频率one-hot编码:根据数据规范对分类字段进行N频率one-hot编码,在流数据中,每个字段都具有N个特征值,若是直接进行one-hot编码,某些字段可能会由于生成的特征空间维度较高而导致编码困难。所以,本实施例中首先对分类字段的每个特征值进行统计,按照出现的频率进行排序,保留出现频率排在前32位的特征值进行one-hot编码,舍弃不常见的特征值,这样有助于减小数据维度,提高模型性能。
数据划分模块用于将所述预处理后的数据进行数据划分,得到划分后的数据集;将所述预处理后的数据进行数据划分,得到划分后的数据集具体包括:对经过预处理的数据按照2:8的比例进行划分,得到训练数据集和测试数据集。
特征获取模块用于使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集;将所述训练数据集输入对比学习模型进行学习,将不同的数据进行类别上的区分,得到对比学习后的训练数据集;使用平均递归消除特征的方法对所述特征重要性进行特征提取,从提取的特征中根据平均准确率选择重要特征子集。
平均递归消除特征的方法对所述特征重要性进行特征提取,从提取的特征跟踪根据平均准确率选择重要特征子集的方法具体包括:
使用三个基于树的机器学习模型对所述对比学习后的训练数据集进行训练,得到特征重要性,所述机器学习模型为随机森林模型(RF)、额外树模型(ET)和XGBoost模型;结合对比学习和树模型可以提高模型在特定任务上的性能,特别是在处理那些需要复杂特征提取的任务。
预处理后的数据交由对比学习模型进行学习处理,将不同的数据进行类别上的区分,并将输出传入三个基于树的机器学习模型进行训练,获取特征重要性,选择重要的特征子集。本发明提出了一个平均递归消除特征的方法:如Algorithm1所示:首先使用三个基于树的机器学习模型(随机森林(RF)、额外树(ET)和XGBoost)进行训练,将每个训练器得到的特征重要性进行相加后取平均值,同时按从大到小的顺序构成新的特征重要性列表,记录平均准确率(三个模型的准确率相加后取平均),删除特征重要性最小的特征,也就是特征重要性列表的最后一个特征;然后更新数据集,形成新的特征子集,基于新的特征集进行重复训练,直到特征集为空;最后选择平均准确率最高所对应的特征子集作为最重要的特征子集,以供步骤五使用,以达到数据降维或者提高模型泛化能力的作用。
Algorithm:
1:Input:X,y
2:Ouput:N
3:while features_List:
4:Train ET(X,y),RF(X,y),XGBoost(X,y)on Avg_Features_List;
5:Avg_Features_List=(et_features_fist+rf_feetures_fist+xgb_features_fist)/3
6:RecordAccurary:
7:del Avg_Features_List[-1];
8:features_List=Avg_Features_List;
9:ennd while
10:N=arg max Accurary
模型构建模块用于将所述特征子集传入Input encoder、Bert和ClassificationHead组成的Transformer模型以及Input encoder、GPT2.0和Classification Head组成的Transformer模型分别进行训练,保存两个网络入侵检测模型,记作Model1和Model2,记录所述Model1和Model2的准确率;模型构建模块包括特征拼接子模块、特征映射子模块、数据扁平化子模块、数据分类子模块和预训练子模块;所述特征拼接子模块用于在Inputencoder组件中将预处理结束后的数值字段和分类字段进行拼接,得到高维数据特征;所述特征映射子模块用于对通过嵌入层将所述高维数据特征映射到低维连续的特征向量空间,输出特征向量序列;所述数据扁平化子模块用于在Classiffcation Head组件中将所述Model1和Model2输出的特征向量序列分别进行扁平化,将多维数据展平成一维数据;所述数据分类子模块用于将所述一维数据传入多层感知器,执行正常数据与异常数据的分类;所述预训练模块用于基于所述正常数据与异常数据的分类进行对比学习,得到对比学习后的训练数据集,将所述对比学习后的训练数据集输入机器学习模型进行训练,得到网络入侵初始检测模型。
网络入侵初始检测模型(Transformer模型)主要由Input encoder、Bert和Classification Head三大组件组成,在Input encoder组件中将预处理过的数值字段和分类字段进行拼接,通过嵌入层(全连接层)将高维数据特征映射到低维连续特征向量空间,输出可以被Bert模型有效处理的特征向量序列,通过Bert模型学习网络流量序列数据的特征,在Classification Head组件中会将Bert模型的输出序列进行扁平化,将多维数据展平成一维数据,再传入多层感知器(MLP),然后执行最终分类。
使用超参数优化方法贝叶斯树Parzen估计器(BO-TPE)对模型的重要超参数进行优化,BO-TPE创建了2个密度函数l(x)和g(x),作为变量的生成模型,根据预先定义好的y*划分出较好的和较差的观察结果,两组结果是通过简单的Parz en估计器建模的:
BO-TPE是通过最大化这两个密度函数的比率(l(x)/g(x))来检测最优的超参数值,而且BO-TPE可以有效地优化所有类型的超参数。
入侵检测模块用于使用所述Model1和Model2分别对划分后的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。
使用Model1和Model2分别对划分后的测试集进行正常和异常分类,加权判别输出分类结果。将Model1和Model2分别对测试数据进行测试,Model1的输出为y1,权重为w1,Model2的输出为y2,权重为w2,根据步骤五存储的准确率,进行权重赋值,准确率高的模型权重赋值为0.6,低的赋值为0.4,最终分类结果输出为:y=w1*y1+w2*y2。
以上所述的实施例仅是对本发明优选方式进行的描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (10)
1.基于Transformer的网络入侵检测方法,其特征在于,所述方法包括:
S1.采集网络入侵检测数据流,构建网络入侵检测数据集,并根据数据集设置数据集规范;
S2.基于所述数据集规范对所述网络入侵检测数据集进行预处理,得到预处理后的数据;
S3.将所述预处理后的数据进行数据划分,得到划分后的数据集;
S4.使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集;
S5.将所述特征子集传入Input encoder、Bert和Classification Head组成的Transformer模型以及Input encoder、GPT2.0和Classification Head组成的Transformer模型分别进行训练,保存两个网络入侵检测模型,记作Model1和Model2,记录所述Model1和Model2的准确率;
S6.使用所述Model1和Model2分别对划分后的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。
2.根据权利要求1所述的基于Transformer的网络入侵检测方法,其特征在于,所述S1中,所述网络入侵检测数据流为表格数据,所述表格数据由数值字段和分类字段组成,将所述表格数据进行分类,区分出数值字段和分类字段,并根据所述数值字段与所述分类字段设置数据规范。
3.根据权利要求1所述的基于Transformer的网络入侵检测方法,其特征在于,所述S2中,基于所述数据集规范对所述网络入侵检测数据集中进行预处理,得到预处理后的数据的具体方法包括:
基于所述数据集规范对数值字段的特征值进行对数转换,得到对数变换后的特征值,将所述对数变换后的特征值进行归一化处理,得到归一化后的特征值;
基于所述数据集规范对分类字段的特征值进行N频率筛选,得到筛选后的特征值,对所述筛选后的特征值进行编码。
4.根据权利要求3所述的基于Transformer的网络入侵检测方法,其特征在于,基于所述数据集规范对分类字段的特征值进行N频率筛选,得到筛选后的特征值,对所述筛选后的特征值进行编码具体包括:
基于所述数据集规范对分类字段的特征值按照出现的频率进行统计排序;
根据统计排序筛选出频率在前30位的特征值,对筛选后的特征值进行One-hot编码。
5.根据权利要求1所述的基于Transformer的网络入侵检测方法,其特征在于,所述S3中,将所述预处理后的数据进行数据划分,得到划分后的数据集具体包括:
对经过预处理的数据按照2:8的比例进行划分,得到训练数据集和测试数据集。
6.根据权利要求5所述的基于Transformer的网络入侵检测方法,其特征在于,所述S4中,使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集具体包括:
将所述训练数据集输入对比学习模型进行学习,将不同的数据进行类别上的区分,得到对比学习后的训练数据集,所述类别分为正常类数据和异常类数据;
使用平均递归消除特征的方法对所述对比学习后的训练数据集进行训练,得到特征重要性,对所述特征重要性进行特征提取,从提取的特征中根据平均准确率选择重要特征子集。
7.根据权利要求6所述的基于Transformer的网络入侵检测方法,其特征在于,所述平均递归消除特征的方法对所述对比学习后的训练数据集进行训练,得到特征重要性,对所述特征重要性进行特征提取,从提取的特征跟踪根据平均准确率选择重要特征子集的方法具体包括:
使用三个基于树的机器学习模型对所述对比学习后的训练数据集进行训练,得到特征重要性,所述机器学习模型为随机森林模型、额外树模型和XGBoost模型;
将特征重要性进行相加后取平均值,同时将特征重要性按照从大到小的顺序构成新的特征重要性列表,记录平均准确率;
删除特征重要性列表的最后一个特征,更新对比学习后的训练数据集,形成新的特征子集;
根据所述新的特征子集进行重复训练,直至特征子集为空,根据平均准确率选择重要特征子集。
8.基于Transformer的网络入侵检测系统,所述系统用于实现权利要求1-7任意一项所述的网络入侵检测方法,其特征在于,所述系统包括:规范设置模块、预处理模块、数据划分模块、特征获取模块、模型构建模块和入侵检测模块;
所述规范设置模块用于采集网络入侵检测数据流,构建网络入侵检测数据集,并根据数据集设置数据集规范;
所述预处理模块用于基于所述数据集规范对所述网络入侵检测数据集进行预处理,得到预处理后的数据;
所述数据划分模块用于将所述预处理后的数据进行数据划分,得到划分后的数据集;
所述特征获取模块用于使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集;
所述模型构建模块用于将所述特征子集传入Input encoder、Bert和ClassificationHead组成的Transformer模型以及Input encoder、GPT2.0和Classification Head组成的Transformer模型分别进行训练,保存两个网络入侵检测模型,记作Model1和Model2,记录所述Model1和Model2的准确率;
所述入侵检测模块用于使用所述Model1和Model2分别对划分后的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。
9.根据权利要求8所述的基于Transformer的网络入侵检测系统,其特征在于,所述预处理模块还包括数值字段特征处理子模块和分类字段特征处理子模块;
所述数值字段特征处理子模块用于基于所述数据集规范对数值字段的特征值进行对数转换,得到对数变换后的特征值,将所述对数变换后的特征值进行归一化处理,得到归一化后的特征值;
所述分类字段特征处理子模块用于基于所述数据集规范对分类字段的特征值进行N频率筛选,得到筛选后的特征值,对所述筛选后的特征值进行编码。
10.根据权利要求9所述的基于Transformer的网络入侵检测系统,其特征在于,所述模型构建模块包括特征拼接子模块、特征映射子模块、数据扁平化子模块、数据分类子模块和预训练子模块;
所述特征拼接子模块用于在Input encoder组件中将预处理结束后的数值字段和分类字段进行拼接,得到高维数据特征;
所述特征映射子模块用于对通过嵌入层将所述高维数据特征映射到低维连续的特征向量空间,输出特征向量序列;
所述数据扁平化子模块用于在Classiffcation Head组件中将所述Model1和Model2输出的特征向量序列分别进行扁平化,将多维数据展平成一维数据;
所述数据分类子模块用于将所述一维数据传入多层感知器,执行正常数据与异常数据的分类;
所述预训练模块用于基于所述正常数据与异常数据的分类进行对比学习,得到对比学习后的训练数据集,将所述对比学习后的训练数据集输入机器学习模型进行训练,得到网络入侵初始检测模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410095345.3A CN117692249A (zh) | 2024-01-22 | 2024-01-22 | 基于Transformer的网络入侵检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410095345.3A CN117692249A (zh) | 2024-01-22 | 2024-01-22 | 基于Transformer的网络入侵检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117692249A true CN117692249A (zh) | 2024-03-12 |
Family
ID=90132239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410095345.3A Pending CN117692249A (zh) | 2024-01-22 | 2024-01-22 | 基于Transformer的网络入侵检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117692249A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242441A (zh) * | 2022-06-21 | 2022-10-25 | 浙江工业大学 | 一种基于特征选择和深度神经网络的网络入侵检测方法 |
WO2023065544A1 (zh) * | 2021-10-18 | 2023-04-27 | 平安科技(深圳)有限公司 | 意图分类方法、装置、电子设备及计算机可读存储介质 |
CN116647844A (zh) * | 2023-04-18 | 2023-08-25 | 广州大学 | 一种基于堆叠集成算法的车载网络入侵检测方法 |
CN116916386A (zh) * | 2023-08-02 | 2023-10-20 | 南京邮电大学 | 一种考虑用户竞争和负载的大模型辅助边缘任务卸载方法 |
-
2024
- 2024-01-22 CN CN202410095345.3A patent/CN117692249A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023065544A1 (zh) * | 2021-10-18 | 2023-04-27 | 平安科技(深圳)有限公司 | 意图分类方法、装置、电子设备及计算机可读存储介质 |
CN115242441A (zh) * | 2022-06-21 | 2022-10-25 | 浙江工业大学 | 一种基于特征选择和深度神经网络的网络入侵检测方法 |
CN116647844A (zh) * | 2023-04-18 | 2023-08-25 | 广州大学 | 一种基于堆叠集成算法的车载网络入侵检测方法 |
CN116916386A (zh) * | 2023-08-02 | 2023-10-20 | 南京邮电大学 | 一种考虑用户竞争和负载的大模型辅助边缘任务卸载方法 |
Non-Patent Citations (1)
Title |
---|
LIAM DALY MANOCCHIO 等: "FlowTransformer: A Transformer Framework for Flow-based Network Intrusion Detection Systems", ARXIV, 28 April 2023 (2023-04-28), pages 1 - 15 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109639739B (zh) | 一种基于自动编码器网络的异常流量检测方法 | |
CN115564203B (zh) | 基于多维数据协同的设备实时性能评估系统及其方法 | |
CN114120041B (zh) | 一种基于双对抗变分自编码器的小样本分类方法 | |
CN113066065B (zh) | 无参考图像质量检测方法、系统、终端及介质 | |
CN114615093A (zh) | 基于流量重构与继承学习的匿名网络流量识别方法及装置 | |
CN114239807A (zh) | 基于rfe-dagmm的高维数据异常检测方法 | |
CN115622806B (zh) | 一种基于bert-cgan的网络入侵检测方法 | |
CN113298186A (zh) | 融合流模型对抗生成网络和聚类算法的网络异常流量检测方法 | |
CN114151293B (zh) | 风机变桨系统的故障预警方法、系统、设备及存储介质 | |
CN108537235A (zh) | 一种低复杂度尺度金字塔提取图像特征的方法 | |
CN114821299A (zh) | 一种遥感图像变化检测方法 | |
CN109359530B (zh) | 一种智能视频监控方法及装置 | |
CN117421684B (zh) | 基于数据挖掘和神经网络的异常数据监测与分析方法 | |
CN112383488B (zh) | 一种适用于加密与非加密数据流的内容识别方法 | |
CN112085164A (zh) | 一种基于无锚框网络的区域推荐网络提取方法 | |
CN117692249A (zh) | 基于Transformer的网络入侵检测方法及系统 | |
CN116821905A (zh) | 一种基于知识搜索的恶意软件检测方法及系统 | |
CN116524596A (zh) | 一种基于动作粒度分组结构的体育视频动作识别方法 | |
CN114821174B (zh) | 一种基于内容感知的输电线路航拍图像数据清洗方法 | |
CN116310728A (zh) | 基于CNN-Linformer模型的浏览器识别方法 | |
CN113688953B (zh) | 基于多层gan网络的工控信号分类方法、装置和介质 | |
CN116183229A (zh) | 一种基于滑动窗口自注意力机制的振动数据特征提取方法 | |
CN114882007A (zh) | 一种基于记忆网络的图像异常检测方法 | |
CN113724211A (zh) | 一种基于状态感应的故障自动识别方法及系统 | |
CN117692026B (zh) | 一种电力线通信的链路感知方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |