基于改进XGBoost和自适应优化K-means模型的网络攻击入侵检测方法

未命名 08-17 阅读:85 评论:0

基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法
技术领域
1.本发明涉及机器学习和网络安全技术领域,特别涉及基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法。


背景技术:

2.随着以5g技术为代表的网络技术的快速发展,互联网已经在工业、金融、教育等各个领域都广泛应用。信息网络成为社会发展的重要保证的同时,由于网络形式具有多样性,不均匀性以及开放性等特点,使得计算机在应用的过程中,很容易受到网络攻击,从而导致信息数据泄露和破坏。相关数据显示,在2015年至2025这十年间,网络攻击引发的全球潜在经济损失可能高达2940亿美元。网络风险的升级,让政府、企业和个人都对该风险愈加关注。在大型网络中,基于windows的身份验证事件可以表示为攻击图,通过攻击图可以分析出当一个主机被攻破时,这个攻击源头最可能是哪台计算机,从而可以对攻击源头进行溯源,来帮助防御方更好的分析和决断。
3.目前可用于入侵检测的方法有很多种,基于规则匹配的入侵检测方法、基于图聚类的攻击检测算法、基于深度自动编码器的入侵检测方法等等。基于图聚类的攻击检测模型在中心点确定的过程中需要不断对所有数据重复性计算,随着样本规模的指数级增大会产生难以估量的时间开销。基于随机森林、决策树、lightgbm等机器学习模型存在包括学习率、叶子间节点数量、树的深度等大量参数,手动调参需要耗费大量的人工,而传统的基于网格调参的方法最终获得参数并不是最优化的,因此需要有一种模型自动优化调参的方法才能减少人力操作。而无监督k-means聚类分析模型在模型训练的过程中需要多次重复遍历所有数据从而造成的巨大的计算时间开销,同时模型中k值的选取具有极大的挑战性,基于经验的k值选取方法往往不能选择最佳k值使得模型效果不能发挥到最佳状态。基于规则匹配的入侵检测方法只能应对已经存在的简单模式的攻击,无法检测到攻击的变体和新型攻击。基于深度自动编码器的入侵检测方法结合自动编码器进行数据特征筛选并使用深度神经网络模型做入侵检测。然而深度神经网络模型无法对时间序列上的关联性建模,在入侵检测场景下数据是存在时序关系的。


技术实现要素:

4.本发明克服现有技术的不足,提供了一种新的基于农村人口空心化细粒化评估的方法。本发明的目的通过以下的技术方案实现:
5.本发明提供了基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法,包括:
6.s1:基于数据集构建xgboost入侵检测模型;
7.s2:初始化xgboost入侵检测模型的基本参数和模拟退火算法基本参数;
8.s3:依据xgboost入侵检测模型的训练集数据计算当前xgboost参数下对应的入侵
检测准确率acc
now
,对xgboost入侵检测模型的基本参数进行正负向随机扰动,产生新的参数,并计算在新参数的情况下的对应的分类准确率acc
new

9.s4:通过比较acc
now
和acc
new
后依据metropolis准则概率性的决定是否接受新的参数作为当前最优解;
10.s5:若决定接受新参数作为当前最优解,则迭代次数+1,并判断当前迭代次数f是否达到初始化的马氏链长度l
mar

11.s6:若当前迭代次数f达到初始化的马氏链长度l
mar
,则重置迭代次数f=0,并进行一次温度衰减,判断当前温度t
start
'是否达到了初始化的终止温度t
end
,达到则结束模拟退火算法;
12.s7:若当前温度t
start
'达到了初始化的终止温度t
end
,则通过新参数对应的xgboost入侵检测模型对验证集进行入侵检测;
13.s8:初始化k-means的k值,将训练集中所有的恶意样本d
t
与来自验证集中被xgboost模型认定为攻击的样本d
x
引入k-means模型;
14.s9:训练k-means模型,利用k-means模型将所有传入的数据进行聚类分析,对被xgboost入侵检测模型错判为恶意样本的样本作为良性样本召回,记录召回数n
now

15.s10:逐次增大k-means模型的k值,重复s9召回被xgboost入侵检测模型错误识别成攻击的样本数量n
new
,直到n
new
》n
now
则将n
now
替换n
new
并继续执行s10直到得出最优k值;
16.s11:计算k-means模型的k个中心点ci和到对应中心点的最远距离di;
17.s12:判断是否检测到新型攻击,若检测到新型攻击,则返回s9。
18.优选的,所述s2中,xgboost入侵检测模型的基本参数包括学习率、树的深度和特征比例;模拟退火算法基本参数包括起始温度t
start
和终止温度t
end
以及马氏链长度l
mar
和温度衰减系数r。
19.优选的,所述s4中,metropolis准则概率性的计算公式如下:
[0020][0021]
其中f表示当前迭代次数,t表示当前温度。
[0022]
优选的,所述s4中,若决定不接受新参数作为当前最优解,则迭代次数增加1,并判单迭代次数是否达到马尔可夫链长度,若未达到则返回s3。
[0023]
优选的,所述s5中,若当前迭代次数f小于初始化的马氏链长度l
mar
,则返回s4。
[0024]
更优的,s6中,温度衰减计算公式如下:
[0025]
t
start
'=t
start
×r[0026]
若当前温度t大于初始化的温度最低点,则返回s4。
[0027]
优选的,所述s9中,通过k-means模型对传入的数据进行聚类分析,将样本归为k个类别,所述传入的数据为来自训练集中的所以已知的恶意样本以及来自验证集中被xgboost模型认定为恶意的样本;来自训练集的恶意样本与来自验证集被xgboost模型识别为恶意的样本划分为k个类别,其中来自训练集的恶意样本包含p个类别,而来自验证集的样本被分为q个类别,并记录良性召回数量n
now

[0028]
更优的,s12中,框架部署上线,针对每一条待检测的日志条目首先输入xgboost入侵检测模型进行粗分类判断该事件是否属于攻击事件,若被判定为良性行为则直接作为框架对该条日志的判定结果;反之如果xgboost入侵检测模型将该事件判定为攻击行为,则将该条日志传入到优化后的k-means模型进行细分类;
[0029]
首先计算该条日志到k个中心点的距离,以距离最小的所属类别作为其分类结果,并比较距离是否大于历史最大聚类,若大于历史最大距离则触发k-means模型进行k值自动更新优化;反之若小于历史最大距离则判断该类别是否属于攻击类别;若不属于则进行良性召回说明其被xgboost入侵检测模型错判为攻击事件;若属于攻击类别则该事件最终被框架判定为攻击事件。
[0030]
本技术提出的基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法,其有益效果包括:
[0031]
1、将有监督xgboost模型和无监督k-means模型相结合做入侵检测,能够实现高检测率和低误报率。在两种模型相结合的过程中我们引进了数据管道的思想,无监督k-means模型在模型训练阶段只需要接收训练集中所有攻击样本(入侵检测是正负样本极不均衡的应用场景,攻击样本数量极少从而隐蔽性极高)以及来自有监督xgboost模型初筛后认定为攻击的样本,从而实现对有监督xgboost模型错判的结果做纠错。数据管道的思想使得入侵检测模型并不会因为集成了k-means模型而降低时效性。
[0032]
2、在训练k-means模型的过程中巧妙的使用了数据管道的思想,只传入了来自训练集中的所有恶意样本以及来自验证集中被xgboost判定为恶意的样本。因为在攻击检测场景下是个正负样本极度不均衡的场景,训练集中的良性样本数量是恶意样本数量的几十万倍。因而为了减少k-means模型的时间开销,只引入了训练集中的全部恶意样本,旨在结合恶意样本的特征分布对验证集中被xgboost模型错判的样本做纠错。
[0033]
3、xgboost模型的多个模型参数通过模拟退火算法做自动优化,实现了自动调参的过程,并且最终确定的模型参数一定是最优的。为无监督k-means模型设计了一种自适应确定k值的方法,k值是自动化确定优化的,并且入侵检测框架部署上线后k值会随着业务场景而自动更新,当框架检测到新型攻击时也将触发k-means模型自动更新k值。
附图说明
[0034]
利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
[0035]
图1为本技术实施例提供的基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法流程图;
[0036]
图2为本技术实施例提供的自适应确定优化k值的设计流程图;
具体实施方式
[0037]
以下结合具体实施例对基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法作进一步的详细描述,这些实施例只用于比较和解释的目的,本发明不限定于这些实施例中。
[0038]
在一实施例中,如图1所示,本发明提供了基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法,包括:
[0039]
s1:基于数据集构建xgboost入侵检测模型;
[0040]
s2:初始化xgboost入侵检测模型的基本参数和模拟退火算法基本参数;
[0041]
模拟退火算法基本参数包括起始温度t
start
和终止温度t
end
以及马氏链长度l
mar
和温度衰减系数r。
[0042]
s3:依据xgboost入侵检测模型的训练集数据计算当前xgboost参数下对应的入侵检测准确率acc
now
,对xgboost入侵检测模型的基本参数进行正负向随机扰动,产生新的参数,并计算在新参数的情况下的对应的分类准确率acc
new

[0043]
s4:通过比较acc
now
和acc
new
后依据metropolis准则概率性的决定是否接受新的参数作为当前最优解(即将新的模型参数替换原来的模型参数);
[0044]
metropolis准则概率性的计算公式如下:
[0045][0046]
其中f表示当前迭代次数,t表示当前温度。
[0047]
s5:若决定接受新参数作为当前最优解,则迭代次数+1,并判断当前迭代次数f是否达到初始化的马氏链长度l
mar

[0048]
s6:若当前迭代次数f达到初始化的马氏链长度l
mar
,则重置迭代次数f=0,并进行一次温度衰减,判断当前温度t
start
'是否达到了初始化的终止温度t
end
,达到则结束模拟退火算法;
[0049]
温度衰减计算公式如下:
[0050]
t
start
'=t
start
×r[0051]
s7:若当前温度t
start
'达到了初始化的终止温度t
end
,则通过新参数对应的xgboost入侵检测模型对验证集进行入侵检测;
[0052]
利用模拟退火算法优化参数后的xgboost入侵检测模型对验证集数据进行一次入侵检测,筛选出模型认定为攻击的样本。
[0053]
xgboost是一种有监督模型,入侵检测是一个二分类场景,而训练集中的样本包含恶意和良性两个类别,旨在通过训练集所有数据训练xgboost模型,模型训练好后,对于验证集数据该模型就能自动判定哪些是良性、哪些是恶意。
[0054]
s8:初始化k-means的k值,将训练集中所有的恶意样本d
t
与来自验证集中被xgboost模型认定为攻击的样本dx引入k-means模型;
[0055]
初始化k-means模型的k值为4并将训练集中存在的所有恶意样本d
t
(只引入恶意样本,恶意样本数量极少所以不会增加k-means模型训练的时间开销)以及xgboost入侵检测模型认定为攻击的样本d
x
传入到k-means模型。
[0056]
s9:训练k-means模型,利用k-means模型将所有传入的数据进行聚类分析,对被xgboost入侵检测模型错判为恶意样本的样本作为良性样本召回,记录召回数n
now

[0057]
通过观测训练集中所有恶意样本的分布特征找出验证集中离异样本作为良性召
回。(即类别p和类别q存在交集,即相同的类别,将q中的类别没有在p中出现的筛选出来作为良性样本)
[0058]
训练k-means模型:训练集中的所有恶意样本d
t
与来自验证集中被xgboost入侵检测模型认定为攻击的样本d
x
被k-means模型聚类成k个类别k={n1,n2,
···
,nk}。其中d
t
包含p个类别p={n1,n2,
···
,n
p
},而d
x
包含q={n1,n2,
···
,nq}。从d
x
中筛选出类别属于k-p的数据作为被召回的良性样本(即实际是良性样本而被xgboost入侵检测模型误识别成攻击样本)。记录召回样本的数量n
now
。在本实施例中k=4,其中k的计算方式如下:
[0059][0060]
s10:逐次增大k-means模型的k值,重复s9召回被xgboost入侵检测模型错误识别成攻击的样本数量n
new
,直到n
new
》n
now
则将n
now
替换n
new
并继续执行s10直到得出最优k值;
[0061]
反之退出更新k值的过程并将n
now
对应的k值作为k-means模型的最优k值。最优k值召回的良性样本即为实际被xgboost误判的良性样本。
[0062]
s11:计算k-means模型的k个中心点ci和到对应中心点的最远距离di;
[0063]
根据最优k值对应的k-means模型,计算k-means模型的k个中心点ci和到对应中心点的最远距离di。
[0064]
s12:判断是否检测到新型攻击,若检测到新型攻击,则返回s9。
[0065]
框架部署上线后,面对新的日志数据,首先将通过xgboost入侵检测模型模型做初步检测,当检测结果是良性则该日志为良性,否则将由k-means模型做进一步筛选。具体方法为:首先计算新的日志条目到k-means模型的k个中心点的距离di,如果距离大于k个历史最大距离di则跳转到步骤s8自动更新优化k值,反之则将距离最近的所属类别视为该日志类别categoryi,如果类别categoryi属于p则该日志将最终被判定为攻击行为,否则将其视为良性行为。
[0066]
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

技术特征:
1.基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法,其特征在于,包括:s1:基于数据集构建xgboost入侵检测模型;s2:初始化xgboost入侵检测模型的基本参数和模拟退火算法基本参数;s3:依据xgboost入侵检测模型的训练集数据计算当前xgboost参数下对应的入侵检测准确率acc
now
,对xgboost入侵检测模型的基本参数进行正负向随机扰动,产生新的参数,并计算在新参数的情况下的对应的分类准确率acc
new
;s4:通过比较acc
now
和acc
new
后依据metropolis准则概率性的决定是否接受新的参数作为当前最优解;s5:若决定接受新参数作为当前最优解,则迭代次数+1,并判断当前迭代次数f是否达到初始化的马氏链长度l
mar
;s6:若当前迭代次数f达到初始化的马氏链长度l
mar
,则重置迭代次数f=0,并进行一次温度衰减,判断当前温度t
start

是否达到了初始化的终止温度t
end
,达到则结束模拟退火算法;s7:若当前温度t
start

达到了初始化的终止温度t
end
,则通过新参数对应的xgboost入侵检测模型对验证集进行入侵检测;s8:初始化k-means的k值,将训练集中所有的恶意样本d
t
与来自验证集中被xgboost模型认定为攻击的样本d
x
引入k-means模型;s9:训练k-means模型,利用k-means模型将所有传入的数据进行聚类分析,对被xgboost入侵检测模型错判为恶意样本的样本作为良性样本召回,记录召回数n
now
;s10:逐次增大k-means模型的k值,重复s9召回被xgboost入侵检测模型错误识别成攻击的样本数量n
new
,直到n
new
>n
now
则将n
now
替换n
new
并继续执行s10直到得出最优k值;s11:计算k-means模型的k个中心点c
i
和到对应中心点的最远距离d
i
;s12:判断是否检测到新型攻击,若检测到新型攻击,则返回s9。2.根据权利要求1所述的基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法,其特征在于,所述s2中,xgboost入侵检测模型的基本参数包括学习率、树的深度和特征比例;模拟退火算法基本参数包括起始温度t
start
和终止温度t
end
以及马氏链长度l
mar
和温度衰减系数r。3.根据权利要求1所述的基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法,其特征在于,所述s4中,metropolis准则概率性的计算公式如下:其中f表示当前迭代次数,t表示当前温度。4.根据权利要求1所述的基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法,其特征在于,所述s4中,若决定不接受新参数作为当前最优解,则迭代次数增加1,并判单迭代次数是否达到马尔可夫链长度,若未达到则返回s3。5.根据权利要求1所述的基于改进xgboost和自适应优化k-means模型的网络攻击入侵
检测方法,其特征在于,所述s5中,若当前迭代次数f小于初始化的马氏链长度l
mar
,则返回s4。6.根据权利要求2所述的基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法,其特征在于,s6中,温度衰减计算公式如下:t
start

=t
start
×
r若当前温度t大于初始化的温度最低点,则返回s4。7.根据权利要求1所述的基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法,其特征在于,所述s9中,通过k-means模型对传入的数据进行聚类分析,将样本归为k个类别,所述传入的数据为来自训练集中的所以己知的恶意样本以及来自验证集中被xgboost模型认定为恶意的样本;来自训练集的恶意样本与来自验证集被xgboost模型识别为恶意的样本划分为k个类别,其中来自训练集的恶意样本包含p个类别,而来自验证集的样本被分为q个类别,并记录良性召回数量n
now
。8.根据权利要求7所述的基于改进xgboost和自适应优化k-means模型的网络攻击入侵检测方法,其特征在于,s12中,框架部署上线,针对每一条待检测的日志条目首先输入xgboost入侵检测模型进行粗分类判断该事件是否属于攻击事件,若被判定为良性行为则直接作为框架对该条日志的判定结果;反之如果xgboost入侵检测模型将该事件判定为攻击行为,则将该条日志传入到优化后的k-means模型进行细分类;首先计算该条日志到k个中心点的距离,以距离最小的所属类别作为其分类结果,并比较距离是否大于历史最大聚类,若大于历史最大距离则触发k-means模型进行k值自动更新优化;反之若小于历史最大距离则判断该类别是否属于攻击类别;若不属于则进行良性召回说明其被xgboost入侵检测模型错判为攻击事件;若属于攻击类别则该事件最终被框架判定为攻击事件。

技术总结
本发明公开了一种基于机器学习的网络攻击入侵的检测方法,包括:XGBoost入侵检测模型构建,初始化XGBoost基本参数和模拟退火算法所需参数。计算当前准确率Accnow并对XGBoost参数进行正负向随机扰动产生新参数并计算对应的新的准确率Accnew。依据Metropolis准则决定是否接受新的参数。重复执行上述步骤直到温度冷却到最低点。利用最优参数对应的XGBoost对验证集做入侵检测,将判定为攻击的所有“粗分类”结果传输到改进的K-means模型。初始化k值为3并利用K-means结合训练集中的所有真正的攻击样本与验证集中被XGBoost“粗分类”的攻击样本进行聚类分析。记录聚类分析召回的良性样本数量R。不断增大k值再次进行聚类分析并记录良性召回数R,直到R值不再增加则确定k值并记录中心点和历史最大距离。记录中心点和历史最大距离。记录中心点和历史最大距离。


技术研发人员:王乐 顾钊铨 张志强 杜磊 张欢 张登辉 马丽婷 黄坤鑫
受保护的技术使用者:广州大学
技术研发日:2023.06.25
技术公布日:2023/8/16
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐