一种基于机器学习的网络入侵检测方法

文档序号:35027792发布日期:2023-08-05 15:33阅读:25来源:国知局
一种基于机器学习的网络入侵检测方法

本发明属于计算机网络技术安全领域,具体涉及一种基于机器学习的网络入侵检测方法。


背景技术:

1、自21世纪以来,伴随着计算机和网络信息技术的快速发展,互联网在生产、生活中取得了广泛应用,并逐渐成为人们获取外部信息的重要方式。作为信息传播的一种重要媒介,网络技术发展日新月异,但由此引发的网络入侵问题也愈发严重,网络攻击行为逐年攀升,也让政府办公、企业调度和个人财产安全带来了巨大挑战。

2、当前大多采用静态被动保护方法进行网络安全防护,如使用防火墙预先为整个计算机网络系统制定正确的安全策略,但该策略对于防御规则之外的攻击手段则显得捉襟见肘。此外,这种基于静态无源保护技术的方案远远滞后于信息技术发展,无法实时解决动态网络所面临的一系列安全问题。


技术实现思路

1、本发明目的在于克服现有技术存在的问题和缺陷,提出了一种基于机器学习的网络入侵检测方法。

2、本发明采用创新特征提取方法将字符串特征数据处理为矩阵数据,使用粒子群优化算法优化xgboost模型参数,分别对学习率、树的最大深度、叶子上的最小样本数、权重的l1正则化项这四项超参来优化提高分类精度,可准确、快速地实现网络攻击类型识别,大大减轻网站运维人员的工作量,提升工作效率。

3、本发明在参考当前研究成果的基础上,运用机器学习方法对于网络监测数据特征进行学习,并基于xgboost模型参与实际应用,运用粒子群优化算法对xgboost算法学习参数优化,避免人工选参出现严重不确定性,有效避免了静态保护存在的滞后问题;另外,在完成模型离线训练后可迅速在网站上展开部署,主动发现网络入侵行为。

4、为了达到上述目的,本发明采用如下技术方案予以实现。

5、一种基于机器学习的网络入侵检测方法,其特征在于,包括以下步骤:

6、s1、将从蜜罐系统中采集来自互联网端的行为流量存储到本地,并标注对应行为流量的攻击类型构成原始数据集;

7、s2、数据预处理:将原始数据集处理为线性结构数据,进一步对线性结构数据进行过滤清洗、数值类型转换、归一化,得到满足机器学习模型要求的实验样本;

8、s3、将实验样本按照1:4的比例划分为训练集与测试集,基于训练集创建基准xgboost入侵检测模型,使用测试集验证基准xgboost模型的入侵检测准确率,验证准确率函数结果的有效性;

9、s4、采用基准粒子群优化算法对xgboost模型的学习参数进行优化,将入侵检测准确率函数作为适应度函数,将入侵检测准确率作为适应度值;xgboost模型的学习参数有学习率、树的最大深度、叶子上的最小样本数、权重的l1正则化项四项,依据适应度函数得到的适应度值来确定模型的最优学习参数,并得到优化后的模型;

10、s5、模型性能评估:将优化后的模型与基准xgboost模型、支持向量机svm在准确率、误报率、漏报率、运行时间四个指标项上对比,验证优化后的模型在网络入侵检测中应用的可靠性。

11、进一步,s1的具体内容和方法包括以下步骤:

12、s11、采集来自互联网端的行为流量并存储到本地,将行为流量处理为明文数据;

13、s12、识别存储到本地的明文数据的类型,给每条明文数据标注对应标签,构成最终的原始数据集。

14、进一步,s2的具体内容和方法包括以下步骤:

15、s21、原始数据为多元异构的数据格式,需将原始数据中无序字符串数据处理为线性结构数据;

16、s22、对线性结构数据进行过滤清洗,从线性结构数据中剔除缺失数据和重复数据,将线性结构数据处理为轻量型数据;

17、s23、轻量型数据中包含多种符号类型数据,采用数字标识法对固定符号数据进行转换,进一步降低预测模型的空间复杂度;

18、s24、采用min-max归一化方法,将s23步骤中处理后的数据进行归一化处理;将数据映射到[0,1]之间,解决存在量纲不一问题,归一化后的数据为满足机器学习模型要求的实验样本;

19、min-max归一化公式如下所示:

20、

21、式中,x表示归一化前数据;xmax、xmin分别表示归一化前数据中的最大值和最小值;x*表示归一化后数据;

22、进一步,s3的具体内容和方法包括以下步骤:

23、步骤s31、将实验样本以1:4的比例分为训练集和测试集,后续将训练集和测试集带入基准模型中应用;

24、步骤s32、基准xgboost模型的创建,xgboost目标函数公式如下:

25、

26、l表示损失函数;ft表示第t轮训练的树模;ω(ft)为正则化项,为正则项,t为叶子节点的数量,w为叶子节点权重,λ与γ为叶子节点复杂度代价,可控制过拟合。在第t次训练模型后,融入正则项的目标函数化简为:

27、

28、式中,为损失函数的一阶导数,为损失函数的二阶导数,求导整合后最优解的目标函数为:

29、

30、步骤s33、将训练集带入创建好的基准xgboost模型中训练,用测试集来验证基准xgboost模型的入侵检测准确率,验证入侵检测准确率函数结果的有效性;

31、进一步,s4的具体内容和方法包括以下步骤:

32、步骤s41、划定xgboost模型的学习参数,学习率、树的最大深度、叶子上的最小样本数、权重的l1正则化项四个参数的阈值范围;初始化粒子群优化算法的种群,种群中每个粒子位置代表一组xgboost模型的学习参数;

33、步骤s42、设定pso参数值,参数有最大迭代次数、粒子群数量、惯性因子、加速因子,将设定的pso参数值带入粒子群优化算法模型中应用,得到基准pso算法模型;

34、步骤s43、基准pso算法模型对种群进行遍历优化,将种群中每个粒子位置带入基准xgboost模型中计算适应度函数的值;其中基准xgboost模型的入侵检测准确率函数作为适应度函数,将入侵检测准确率作为适应度值;

35、步骤s44、依据粒子位置的适应度值来更新粒子的个体历史最优和群体的全局最优位置;从第二代迭代开始,如果当代粒子位置的个体适应度值比前一代个体位置的适应度值高,则把当代粒子位置作为粒子个体历史最优位置保存,否则不保存;群体的全局最优位置同理;

36、步骤s45、做终止条件的判断;若达到最大迭代次数或种群全局最优适应度值满足最小阈值则终止,确定当前最优粒子位置作为模型的学习参数,得到优化后的模型,否则继续s43;

37、进一步,s5的具体内容和方法包括以下步骤:

38、步骤s51、针对四个指标项中三个指标项构造指标项公式,三个指标项为准确率、误报率和漏报率,运行时间为运行时长记录,无需公式;

39、步骤s52、将优化后的模型与基准模型(xgboost)、支持向量机(svm)在准确率、误报率、漏报率、运行时间四个指标项上对比,验证其在网络入侵检测模型分类的可靠性;

40、与现有技术相比,本发明的有益效果在于:

41、1.采用粒子群优化算法对基准xgboost模型的学习参数进行全局优化,避免人工选参的不确定性以及陷入参数局部最优等问题的发生。

42、2.本发明中采用的特征提取法,能够面对的应用场景领域较广,可以在各场景得到灵活的应用,同时可根据实际情况不断对特征库进行动态维护。

43、3.本发明在多算法比对中发现,本发明在相同服务器性能下,有较高的检测速度,可做到实时对入侵流量的报警提示。

44、4.本发明仅需对监测数据特征进行学习就可离线完成模型训练,大大减轻了网站运维人员工作强度,防御策略由之前的被动防御向主动防御做转换。

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