CN115567292A - 一种基于改进CatBoost算法的网络入侵检测方法 - Google Patents

一种基于改进CatBoost算法的网络入侵检测方法 Download PDF

Info

Publication number
CN115567292A
CN115567292A CN202211164663.8A CN202211164663A CN115567292A CN 115567292 A CN115567292 A CN 115567292A CN 202211164663 A CN202211164663 A CN 202211164663A CN 115567292 A CN115567292 A CN 115567292A
Authority
CN
China
Prior art keywords
network intrusion
intrusion detection
model
algorithm
catboost
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
Application number
CN202211164663.8A
Other languages
English (en)
Inventor
张银辉
张火明
陆萍蓝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Jiliang University
Original Assignee
China Jiliang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Jiliang University filed Critical China Jiliang University
Priority to CN202211164663.8A priority Critical patent/CN115567292A/zh
Publication of CN115567292A publication Critical patent/CN115567292A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于改进CatBoost算法的网络入侵检测方法,属于网络入侵检测技术领域。本发明首先获取网络入侵数据集,并进行数值化、归一化以及SMOTEENN采样。其次设置Focal Loss损失函数的平衡因子和动态调制因子,并用以修改CatBoost算法中的原损失函数,建立网络入侵检测模型和模型评估指标。然后对建立的网络入侵检测模型进行训练和预测,并用贝叶斯优化算法查看影响模型表现的超参数贡献值,再进行主要超参数组合寻优。最后将得到的最佳主要超参数值加入到网络入侵检测模型,并将测试集输入模型,得到网络入侵检测结果。本发明既提高了网络入侵检测的准确度,又加快了检测的效率。

Description

一种基于改进CatBoost算法的网络入侵检测方法
技术领域
本发明属于网络入侵检测技术领域,具体涉及一种基于改进CatBoost算法的网络入侵检测方法。
背景技术
网络迅速发展的同时,网络入侵事件也层出不穷。根据第49次中国互联网络发展状况统计调查显示:到统计结束时信息系统安全漏洞143319个,其中高危漏洞40498个,中危漏洞86217个,可见目前网络入侵潜在风险很大。目前来看,网络入侵不仅针对个人,大量事迹表明网络攻击对象越来越趋向于企业和政府,企业和政府遭到网络攻击带来的危害更为严重。
面对越来越严峻的网络入侵问题,抵御网络攻击的方法也不断被挖掘出来。传统的网络入侵防御手段有防火墙、身份认证、权限鉴定等方法,虽然在一定程度上抵御了网络攻击,但面对越来越高超的网络入侵手段,这些静态的被动防御手段显得力不从心。所以在新的形势下发展出了主动防御手段,目前较为流行的就是利用机器学习和统计学算法与入侵检测相结合,以达到对网络入侵的快速且准确的主动防御。但目前来说尚未有一种公认的较为强大的入侵检测算法,还有较大的研究空间,学者们也不断提出新的方法。李松青等人提出了基于SOMTE+Tomek Link的CatBoost网络入侵检测模型,解决了样本不平衡问题,可以有效提高入侵检测的精度,但在参数寻优方面还可以再优化。Hezam Albaqami使用小波包分解(WPD)技术进行特征提取和CatBoost分类器在脑电数据上实现了87.68%的二元分类准确率,但未考虑数据不平衡问题。
发明内容
针对CatBoost算法应用到入侵检测技术中时存在的容易错分正样本和不易寻找最佳超参数组合问题,本发明提出一种基于改进CatBoost算法的网络入侵检测方法,在现有的网络入侵检测技术的前提下,结合统计学方法对CatBoost算法改进,研究出的一种更强大的网络入侵检测方法。
为实现上述技术目的,本发明采用的技术方案如下:
本发明包括以下步骤:
步骤1、获取网络入侵数据集;将网络入侵数据集中的字符型数据转化为数值型数据,目的是将数据集中的数据转化为可以输入到网络入侵检测模型中的数据;将网络入侵数据集归一化处理,使数据压缩到[0,1]的区间内,目的是解决数据的量纲不统一问题,经过归一化处理既可以提高网络入侵检测模型精度,又可以加快网络入侵检测模型训练速度。
步骤2、采用SMOTEENN采样对网络入侵数据集进行组合采样,解决数据集中的正负样本不平衡问题,既平衡了正负样本的比例,又扩充了数据量,以减小模型的过拟合风险。将数据集划分为训练集和测试集。
步骤3、设置Focal Loss损失函数的平衡因子α和动态调制因子γ,α用来制定正负样本的损失代价,调节因子γ用来更改样本的损失和权重。
步骤4、将CatBoost算法中的原损失函数Log Loss改写为步骤3中设置的FocalLoss损失函数;建立改写损失函数后的CatBoost算法网络入侵检测模型。
步骤5、建立CatBoost算法网络入侵检测模型评估指标,采用准确率、召回率和F1值来作为评价指标。
步骤6、将步骤2得到的训练集输入到步骤4建立的CatBoost算法网络入侵检测模型中,进行训练和预测。
步骤7、用贝叶斯优化算法,查看影响CatBoost算法网络入侵检测模型表现的超参数贡献值。
步骤8、根据超参数贡献值选出主要超参数,设置贝叶斯优化算法的迭代次数;用贝叶斯优化算法对改进后的CatBoost算法网络入侵检测模型,进行主要超参数组合寻优。
步骤9、不断重复步骤6到步骤8训练模型,选出观测点。
步骤10、观察每次训练完成后主要超参数对模型表现的切片图,通过切片图中的观测点对模型表现,推断出最容易出现全局最优解的主要超参数区间,再次训练模型,不断缩小主要超参数取值范围,寻找全局最优解。
步骤11、观察训练完成后主要超参数之间的平行坐标图,通过平行坐标图各主要超参数之间的关联程度,找到使模型表现最佳的主要超参数组合。
步骤12、将步骤11得到的最佳主要超参数组合加入到CatBoost算法网络入侵检测模型,并将测试集输入模型,得到网络入侵检测结果。
本发明的有益效果:本发明所设计的改进CatBoost算法一方面可以提高正负样本的分类精度,减小网络入侵检测模型的过拟合风险,另一方面解决了CatBoost算法参数众多,难易找到最佳超参数组合的问题;既提高了网络入侵检测准确度,又加快了检测效率。
附图说明
图1为本发明提出的一种基于改进CatBoost算法的网络入侵检测方法流程图;
图2为改进CatBoost算法主要超参数贡献值图;
图3为改进CatBoost算法网络入侵检测模型训练超参数切片图;
图4为改进CatBoost算法网络入侵检测模型超参数平行坐标图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅是示例性的,意在阐明本发明的原理和精神,而并非限制本发明的范围。
本发明实施例提供了一种基于改进CatBoost算法的网络入侵检测方法,具体流程如图1所示,包括以下步骤:
S1、获取NSL-KDD网络入侵数据集。NSL-KDD网络入侵数据集是经过长时间模拟真实网络环境收集而来,数据集中包含完整和丰富的网络流量数据集,数据类型较为全面和真实。NSL-KDD数据集分为正常(Normal)数据记录和异常攻击(Attack)型数据记录,攻击类型分为四大类,分别是DoS、Probe、R2L和U2R。每条记录由41列特征和1列标签组成,训练集有125973行数据记录,测试集有22544行数据记录。41列特征中含有38列数值型特征和3列字符型特征,1列标签也为字符型。具体数据分布如表1所示。
表1 原数据集分布
Figure BDA0003860837590000031
Figure BDA0003860837590000041
将NSL-KDD数据集中的字符型数据转化为数值型数据。采用Ordinal Encoder顺序编码器对3列字符型特征进行编码,特征protocol_type、service、flag中分别有3类、70类和11类不同的字符,分别将其编码为0~2、0~69和0~10之间的整数。采用Label Encoder标签编码器对标签进行编码,将Normal、Dos、Probe、R2l和U2r编码为0~4之间的整数。
将NSL-KDD数据集归一化处理。数据集中的数据量纲不统一,有些特征中的量纲甚至相差1000倍,这会对模型训练带来干扰。采用min-max归一化的方法对数据集处理,使数据映射到[0,1]的范围内,实现对原始数据的等比缩放,使得不同指标之间具有可比性。既可以提高精度又可以加快梯度下降求最优解的速度,归一化的计算如公式(1)所示:
Figure BDA0003860837590000042
其中,xnew新生成的样本,x为原数据样本,xmin为该样本所在列的最小值,xmax为该样本所在列的最大值。
S2、对NSL-KDD数据集进行组合采样。通过表1可以看出,数据集中的各标签类型数据相差较大,存在严重的数据不平衡问题,采用SMOTEENN组合采样的方式对数据集采样,SMOTEENN采样是数据采样和数据清洗的组合方式。
采样过程为:首先计算数据集中每一个少数类样本到其他少数类样本的欧氏距离,并得到该样本k邻近,再由数据集中正负样本的比例得出采样倍率,随机选取一些原样本x的近邻样本xn,对每个xn分别与原样本x按照公式(2)构建新的样本。
xnew=x+rand(0,1)×(xn-x) (2)
其中,xnew为新样本,rand(0,1)为采样倍率,x为原样本,xn为x的近邻样本。
采样后的数据分布如表2所示:
表2 SMOTEENN采样后数据分布
Figure BDA0003860837590000051
既平衡了正负样本的比例,又扩充了数据量,以减小模型的过拟合风险。
S3、设置Focal Loss损失函数的平衡因子和动态调制因子。Focal Loss损失函数可以根据正负样本分类的代价不同而进行自主调节样本的权重,降低易分类样本的损失,提升模型表现。α用来制定正负样本的损失代价,调节因子γ用来更改样本的损失和权重,大量论文实验显示将Focal Loss损失函数的平衡因子α设置为0.25,动态调制因子γ设置为2效果最佳。本发明也如此设置,具体如公式(3)所示:
Figure BDA0003860837590000052
其中,p为模型预测为正样本的概率,y为正负样本标签值。
S4、建立CatBoost算法网络入侵检测模型,并将原损失函数改写为Focal Loss损失函数。首先建立i棵树,然后根据这i棵树建立模型Fi,设第k个训练样本上的梯度值为gi(xk,yk)。为了使gi(xk,yk)不会偏向于模型Fi,对每个样本xk都单独训练一个模型Mk,使用模型Mk去估计样本xk上的梯度,并根据这个估计结果对模型Fi进行评分。伪代码描述如下:
Figure BDA0003860837590000061
其中,Loss(yj,a)为损失函数,yj是标签值,a是公式计算值。
S5、建立模型评估指标,采用准确率(accuracy)、召回率(recall)和F1值来作为模型的评价指标。准确率accuracy、召回率recall和F1值的计算分别如公式(4)、公式(5)和公式(6)所示:
Figure BDA0003860837590000062
Figure BDA0003860837590000063
Figure BDA0003860837590000064
其中,TP为将正类预测为正类的概率,FP为将负类预测为正类的概率,FN为将正类预测为负类的概率,TN为将负类预测为负类的概率。
S6、将SMOTEENN采样后的训练集输入到建立好的CatBoost算法网络入侵检测模型中训练和预测。
S7、用贝叶斯优化算法查看影响CatBoost算法网络入侵检测模型表现的超参数贡献值,得到的超参数贡献值如图2所示,横坐标为超参数贡献值,纵坐标为超参数。
贝叶斯优化在机器学习模型中进行超参数寻优时,会根据模型过去的评估结果形成概率模型,并将超参数组合映射到目标函数,进而得到当下的得分概率。贝叶斯优化的核心就是在更有可能得到最佳结果的超参数区间不断地更新迭代,寻找新的超参数。
S8、根据超参数贡献值选出排名前8的主要超参数,设置贝叶斯优化算法迭代次数为1200。
S9、重复步骤6到步骤8迭代对CatBoost算法网络入侵检测模型进行训练,不断细化主要超参数区间范围,最终选出17个观测点。
S10、查看模型每次训练完成后的切片图,如图3所示,横坐标为各主要超参数的区间范围,纵坐标为网络入侵检测模型评分,图中的以不同深浅颜色的点表示训练过程中选出的0-16共17个观测点。
通过切片图中可以看出17个观测点对网络入侵检测模型的表现,推断出各个主要超参数最容易出现全局最优解的参数区间,不断细化这个区间值。
S11、查看网络入侵检测模型训练完成后的主要超参数平行坐标图,如图4所示,横坐标为各主要超参数,纵坐标为主要超参数值对网络入侵检测模型的表现,主要超参数之间的连线为主要超参数组合,线的颜色越深表示这组主要超参数组合对网络入侵检测模型的表现更优。
平行坐标图反映了各主要超参数之间的关联程度,通过参数平行坐标图可以观察到最佳主要超参数组合所在区间。并不断细化这个区间,通过模型不断迭代训练,最终确定的主要超参数区间和主要超参数值如表3所示。
表3 主要超参数的值和所在区间
Figure BDA0003860837590000071
S12、将上述得到的最佳主要超参数组合输入到CatBoost算法网络入侵检测模型中训练,并将测试集输入到训练好的模型,得到网络入侵检测结果,并与其它算法相对比。
采用默认参数分别建立XGBoost模型、LightGBM模型、CatBoost模型、贝叶斯优化后的CatBoost模型(BAO-CatBoost)和本发明的模型(BAO-CatBoost-Focal Loss),进行效果对比。将测试集分别输入到上述训练好的模型中去,各模型在预测准确率、召回率和F1值的表现如表4所示。
表4 各模型表现(%)
Figure BDA0003860837590000081
通过不同模型在测试集上的表现可以看出,CatBoost算法模型在测试集上的表现与LightGBM相当,都优于XGBoost算法模型。经过贝叶斯优化的CatBoost模型表现大幅提升,尤其在准确率和F1值方面分别提高了4.19%和4.07%。对损失函数改写后的CatBoost算法模型再经过贝叶斯优化,对比原损失函数CatBoost模型性能表现又得到进一步提升,尤其在准确率、召回率和F1值方面分别提高了6.37%、6.38%和6.03%。
以上对本发明提供的一种基于改进CatBoost算法的网络入侵检测方法进行了详细介绍。具体实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (3)

1.一种基于改进CatBoost算法的网络入侵检测方法,其特征在于包括以下步骤:
步骤1、获取网络入侵数据集;
将网络入侵数据集中的字符型数据转化为数值型数据;
将网络入侵数据集归一化处理,使数据压缩到[0,1]的区间内;
步骤2、采用SMOTEENN采样对网络入侵数据集进行组合采样;
将数据集划分为训练集和测试集;
步骤3、设置Focal Loss损失函数的平衡因子α和动态调制因子γ;
步骤4、将CatBoost算法中的原损失函数Log Loss,改写为步骤3中设置的Focal Loss损失函数;
建立改写损失函数后的CatBoost算法网络入侵检测模型;
步骤5、建立CatBoost算法网络入侵检测模型评估指标,采用准确率、召回率和F1值作为评价指标;
步骤6、将训练集输入到步骤4建立的CatBoost算法网络入侵检测模型中,进行训练和预测;
步骤7、用贝叶斯优化算法,查看影响CatBoost算法网络入侵检测模型表现的超参数贡献值;
步骤8、根据超参数贡献值选出主要超参数,设置贝叶斯优化算法的迭代次数;
用贝叶斯优化算法对CatBoost算法网络入侵检测模型,进行主要超参数组合寻优;
步骤9、不断重复步骤6到步骤8训练模型,选出观测点;
步骤10、观察每次训练完成后主要超参数对模型表现的切片图,通过切片图中的观测点对模型表现,得出最容易出现全局最优解的主要超参数区间;
再次训练模型,不断缩小主要超参数取值范围,寻找全局最优解;
步骤11、观察训练完成后主要超参数之间的平行坐标图,通过平行坐标图各主要超参数之间的关联程度,找到使模型表现最优的主要超参数组合;
步骤12、将最优的主要超参数组合加入到CatBoost算法网络入侵检测模型,并输入测试集,得到网络入侵检测结果。
2.根据权利要求1所述的一种基于改进CatBoost算法的网络入侵检测方法,其特征在于:步骤1中,采用Ordinal Encoder顺序编码器对字符型数据进行编码,将字符型数据转化为数值型数据;
采用Label Encoder标签编码器对样本标签进行编码,将样本标签转化为数值型数据。
3.根据权利要求1所述的一种基于改进CatBoost算法的网络入侵检测方法,其特征在于:步骤2中,所述组合采样过程如下:
首先,计算数据集中每一个少数类样本到其他少数类样本的欧氏距离,并得到该样本k邻近;
其次,由数据集中正负样本的比例得出采样倍率;
最后,随机选取原样本x的近邻样本xn,对每个xn分别与原样本x按照如下公式构建新的样本:
xnew=x+rand(0,1)×(xn-x)
其中,xnew为新样本,rand(0,1)为采样倍率。
CN202211164663.8A 2022-09-23 2022-09-23 一种基于改进CatBoost算法的网络入侵检测方法 Pending CN115567292A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211164663.8A CN115567292A (zh) 2022-09-23 2022-09-23 一种基于改进CatBoost算法的网络入侵检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211164663.8A CN115567292A (zh) 2022-09-23 2022-09-23 一种基于改进CatBoost算法的网络入侵检测方法

Publications (1)

Publication Number Publication Date
CN115567292A true CN115567292A (zh) 2023-01-03

Family

ID=84741750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211164663.8A Pending CN115567292A (zh) 2022-09-23 2022-09-23 一种基于改进CatBoost算法的网络入侵检测方法

Country Status (1)

Country Link
CN (1) CN115567292A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115720177A (zh) * 2023-01-10 2023-02-28 北京金睛云华科技有限公司 一种网络入侵检测方法、装置和设备
CN116846688A (zh) * 2023-08-30 2023-10-03 南京理工大学 基于cnn的可解释流量入侵检测方法
CN118250035A (zh) * 2024-03-13 2024-06-25 金祺创(北京)技术有限公司 一种基于堆叠模型的网络隐蔽信道检测方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115720177A (zh) * 2023-01-10 2023-02-28 北京金睛云华科技有限公司 一种网络入侵检测方法、装置和设备
CN115720177B (zh) * 2023-01-10 2023-04-14 北京金睛云华科技有限公司 一种网络入侵检测方法、装置和设备
CN116846688A (zh) * 2023-08-30 2023-10-03 南京理工大学 基于cnn的可解释流量入侵检测方法
CN116846688B (zh) * 2023-08-30 2023-11-21 南京理工大学 基于cnn的可解释流量入侵检测方法
CN118250035A (zh) * 2024-03-13 2024-06-25 金祺创(北京)技术有限公司 一种基于堆叠模型的网络隐蔽信道检测方法及系统

Similar Documents

Publication Publication Date Title
CN115567292A (zh) 一种基于改进CatBoost算法的网络入侵检测方法
CN108600135A (zh) 一种信号调制方式的识别方法
CN111738309B (zh) 多尺度分析和集成学习的气敏传感器故障模式识别方法
CN110377605B (zh) 一种结构化数据的敏感属性识别与分类分级方法
CN115580445B (zh) 一种未知攻击入侵检测方法、装置和计算机可读存储介质
CN106934000A (zh) 一种呼叫系统的语音自动质检方法及系统
CN110263834B (zh) 一种新能源电能质量异常值的检测方法
CN114003721A (zh) 矛盾纠纷事件类型分类模型的构建方法、装置及应用
CN113901448B (zh) 基于卷积神经网络和轻量级梯度提升机的入侵检测方法
CN113705604A (zh) 僵尸网络流量分类检测方法、装置、电子设备及存储介质
Tang et al. Specific emitter identification for IoT devices based on deep residual shrinkage networks
CN116192531A (zh) 一种基于孤立森林的日志异常检测系统
CN117708815A (zh) 一种基于精简行为图的安卓恶意软件检测方法
CN109116833A (zh) 基于改进果蝇-蝙蝠算法的机械故障诊断方法
CN116566777B (zh) 一种基于图卷积神经网络的跳频信号调制识别方法
CN115996135B (zh) 一种基于特征组合优化的工业互联网恶意行为实时检测方法
CN115296851B (zh) 一种基于互信息与灰狼提升算法的网络入侵检测方法
CN111581640A (zh) 一种恶意软件检测方法、装置及设备、存储介质
CN115861729A (zh) 基于深度学习算法的小样本林业害虫识别方法
CN116127447A (zh) 虚拟电厂虚假数据注入攻击检测方法、装置、终端及介质
Mengmeng et al. Signal sorting using teaching-learning-based optimization and random forest
CN113111774B (zh) 一种基于主动增量式微调的雷达信号调制方式识别方法
CN115018007A (zh) 一种基于改进id3决策树的敏感数据分类方法
CN112014821B (zh) 一种基于雷达宽带特征的未知车辆目标识别方法
CN113889274A (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