基于Transformer的网络入侵检测方法及系统

文档序号:37312680发布日期:2024-03-13 21:03阅读:11来源:国知局
基于Transformer的网络入侵检测方法及系统

本发明涉及计算机网络技术安全,具体涉及一种基于transformer的网络入侵检测方法及系统。


背景技术:

1、传统入侵检测系统通常将数学统计方法与机器学习相结合来检测异常数据。机器学习能够从大量数据集中自动获取有用信息,与入侵检测系统结合能大大提升检测效率。但是在基于机器学习的入侵检测系统中,数据是以数据包或序列流的形式被捕获,如何而在这种流量中识别微妙和复杂模式对于入侵检测系统的性能至关重要。网络通信通常具有顺序性质,但是基于机器学习的入侵检测系统通常难以捕捉到数据中的时间相关性和顺序信息,因此,基于机器学习的入侵检测系统但在处理网络流量数据等顺序数据时存在一些不足。

2、目前基于transformer架构的模型已经被证明在处理顺序数据方面非常有效,transformer最初是为自然语言处理(nlp)任务设计的,特别是在机器翻译领域取得了巨大的成功。同时,它的架构也适用于各种顺序数据的处理,包括但不限于图像,图表和语言。因此本发明提出了一种基于transformer的网络入侵检测方法,以便于更好的处理顺序数据,更全面地捕获网络威胁。


技术实现思路

1、本发明针对传统的基于机器学习的网络入侵检测方法对处理顺序数据方面的不足,提供了基于transformer的网络入侵检测方法,将顺序数据转换成固定长度的特征向量序列并传入transformer模型进行训练,利用transformer模型在处理顺序数据的优势,可以更加全面地捕获网络威胁,所述方法包括:

2、s1.采集网络入侵检测数据流,构建网络入侵检测数据集,并根据数据集设置数据集规范;

3、s2.基于所述数据集规范对所述网络入侵检测数据集进行预处理,得到预处理后的数据;

4、s3.将所述预处理后的数据进行数据划分,得到划分后的数据集;

5、s4.使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集;

6、s5.将所述特征子集传入input encoder、bert和classification head组成的transformer模型以及input encoder、gpt2.0和classification head组成的transformer模型分别进行训练,保存两个网络入侵检测模型,记作model1和model2,记录所述model1和model2的准确率;

7、s6.使用所述model1和model2分别对划分后的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。

8、可选的,所述s1中,所述网络入侵检测数据流为表格数据,所述表格数据由数值字段和分类字段组成,将所述表格数据进行分类,区分出数值字段和分类字段,并根据所述数值字段与所述分类字段设置数据规范。

9、可选的,所述s2中,基于所述数据集规范对所述网络入侵检测数据集中进行预处理,得到预处理后的数据的具体方法包括:

10、基于所述数据集规范对数值字段的特征值进行对数转换,得到对数变换后的特征值,将所述对数变换后的特征值进行归一化处理,得到归一化后的特征值;

11、基于所述数据集规范对分类字段的特征值进行n频率筛选,得到筛选后的特征值,对所述筛选后的特征值进行编码。

12、可选的,基于所述数据集规范对分类字段的特征值进行n频率筛选,得到筛选后的特征值,对所述筛选后的特征值进行编码具体包括:

13、基于所述数据集规范对分类字段的特征值按照出现的频率进行统计排序;

14、根据统计排序筛选出频率在前30位的特征值,对筛选后的特征值进行one-hot编码。

15、可选的,所述s3中,将所述预处理后的数据进行数据划分,得到划分后的数据集具体包括:

16、对经过预处理的数据按照2:8的比例进行划分,得到训练数据集和测试数据集。

17、可选的,所述s4中,使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集具体包括:

18、将所述训练数据集输入对比学习模型进行学习,将不同的数据进行类别上的区分,得到对比学习后的训练数据集,所述类别分为正常类数据和异常类数据;

19、使用平均递归消除特征的方法对所述对比学习后的训练数据集进行训练,得到特征重要性,对所述特征重要性进行特征提取,从提取的特征中根据平均准确率选择重要特征子集。

20、可选的,所述平均递归消除特征的方法对所述对比学习后的训练数据集进行训练,得到特征重要性,对所述特征重要性进行特征提取,从提取的特征跟踪根据平均准确率选择重要特征子集的方法具体包括:

21、使用三个基于树的机器学习模型对所述对比学习后的训练数据集进行训练,得到特征重要性,所述机器学习模型为随机森林模型、额外树模型和xgboost模型;

22、将特征重要性进行相加后取平均值,同时将特征重要性按照从大到小的顺序构成新的特征重要性列表,记录平均准确率;

23、删除特征重要性列表的最后一个特征,更新对比学习后的训练数据集,形成新的特征子集;

24、根据所述新的特征子集进行重复训练,直至特征子集为空,根据平均准确率选择重要特征子集。

25、本发明还公开基于transformer的网络入侵检测系统,所述系统包括:规范设置模块、预处理模块、数据划分模块、特征获取模块、模型构建模块和入侵检测模块;

26、所述规范设置模块用于采集网络入侵检测数据流,构建网络入侵检测数据集,并根据数据集设置数据集规范;

27、所述预处理模块用于基于所述数据集规范对所述网络入侵检测数据集进行预处理,得到预处理后的数据;

28、所述数据划分模块用于将所述预处理后的数据进行数据划分,得到划分后的数据集;

29、所述特征获取模块用于使用对比学习对划分后的训练集进行训练,得到初步训练结果,将所述初步训练结果输入机器学习模型进行训练,获得特征子集;

30、所述模型构建模块用于将所述特征子集传入input encoder、bert和classification head组成的transformer模型以及input encoder、gpt2.0和classification head组成的transformer模型分别进行训练,保存两个网络入侵检测模型,记作model1和model2,记录所述model1和model2的准确率;

31、所述入侵检测模块用于使用所述model1和model2分别对划分后的测试集进行测试,得到模型的预测值,对所述预测值加权判别后输出分类结果,完成对网络入侵的检测。

32、可选的,所述预处理模块还包括数值字段特征处理子模块和分类字段特征处理子模块;

33、所述数值字段特征处理子模块用于基于所述数据集规范对数值字段的特征值进行对数转换,得到对数变换后的特征值,将所述对数变换后的特征值进行归一化处理,得到归一化后的特征值;

34、所述分类字段特征处理子模块用于基于所述数据集规范对分类字段的特征值进行n频率筛选,得到筛选后的特征值,对所述筛选后的特征值进行编码。

35、所述模型构建模块包括特征拼接子模块、特征映射子模块、数据扁平化子模块、数据分类子模块和预训练子模块;

36、所述特征拼接子模块用于在input encoder组件中将预处理结束后的数值字段和分类字段进行拼接,得到高维数据特征;

37、所述特征映射子模块用于对通过嵌入层将所述高维数据特征映射到低维连续的特征向量空间,输出特征向量序列;

38、所述数据扁平化子模块用于在classiffcation head组件中将所述model1和model2输出的特征向量序列分别进行扁平化,将多维数据展平成一维数据;

39、所述数据分类子模块用于将所述一维数据传入多层感知器,执行正常数据与异常数据的分类;

40、所述预训练模块用于基于所述正常数据与异常数据的分类进行对比学习,得到对比学习后的训练数据集,将所述对比学习后的训练数据集输入机器学习模型进行训练,得到网络入侵初始检测模型。

41、与现有技术相比,本发明的有益效果为:

42、本发明针对传统的基于机器学习的网络入侵检测方法对处理顺序数据方面的不足,提出了一种基于transformer的网络入侵检测方法,将顺序数据转换成固定长度的特征向量序列并传入transformer模型进行训练,利用transformer模型在处理顺序数据的优势,可以更加全面地捕获网络威胁。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1