APP下载

基于贝叶斯优化的CatBoost的网络安全态势评估方法

2022-05-25祝卫军

现代计算机 2022年6期
关键词:贝叶斯态势准确率

祝卫军,黎 琳

(北京交通大学计算机与信息技术学院,北京 100044)

0 引言

近些年来,伴随着互联网产业的快速发展网络安全开始进入人们的视野当中,它更是影响着国家的安全与稳定,因此网络安全也被抬升至国家安全的地位。习近平总书记发表了如下的讲话,“没有网络安全就没有国家安全”,这体现出我国对网络安全领域的重视。2017年颁布实施的《中华人民共和国网络安全法》,更是具有划时代的意义,为我国网络安全领域提供了法律条例,从此网络安全问题便有法可依。随后信息安全等级保护2.0标准在等级保护1.0标准的基础上进行了修改,等级保护2.0标准采用“一个中心,三重防护”的理念,建立了主动防御和全面感知的网络防护新思想。互联网信息系统需要积极响应等级保护标准的号召,转变自身的防护理念,从过去的被动防御变为主动防御,构建新型的网络安全防护体系。

过去传统的防护手段多为被动防御,事后补救,这就会导致在整个网络攻防的过程中防护系统完全处于被动的状态,对于零日攻击和新型攻击方式无法发挥其作用。缺少态势感知能力,无法从网络环境的各个角度分析安全防护状态,很难对当前网络安全态势进行准确地评估。现有的网络安全设备对网络攻击的防护仅停留在当前时刻,无法对未来的安全风险进行预测。在安全人员的配备上,一方面安全人员的水平良莠不齐,很多安全问题需要依靠安全厂商进行解决;另一方面就是安全管理人员数量不足,无法满足系统防护的需要。现在的网络攻击手段也越来越复杂,很少采用单一方式的攻击,往往是多种攻击方式相互组合,逐步对所要攻击的网络进行渗透,互联网中的系统更是要在这种高级威胁的情况下进行安全防护。

综上所述,作为网络攻防中的防御方,现有的信息系统安全防护设备相对独立,网络中安全设备分布复杂,攻击手段的提升要求安全设备具有更快的处理能力和响应时间。网络防护过程中产生越来越多的数据和信息,其中冗余和无效的信息交织其中,严重影响安全人员对当前网络状况的判断。因此,要使用网络安全态势感知技术解决上述问题,网络安全态势感知作为网络安全领域新的研究方向,是主动防御和动态防御核心思想的体现;网络安全态势感知可以针对系统中的安全设备、流量信息等多方面的数据进行信息融合和情报共享,实现全面的态势感知;网络安全态势感知可以满足系统的全方位监测,对攻击实现快速准确的预警,对新型网络攻击的检测能力、网络状况的感知能力、用户行为的分析能力都有极大的提升。

1 相关研究

Endsley首次明确了态势感知的定义,“态势感知就是在一定的时间和空间范围内对环境中元素的感知,对其含义的理解以及对它们在不久将来的状态的预测”。Bass创新性地将态势感知这个概念用于网络安全领域当中,首次提出了下一代网络入侵检测系统,系统中融合了来自异构分布式网络中传感器的数据,通过融合后的信息判断网络中的入侵行为。针对网络安全态势感知评估模型的理论研究,Yang等人提出了基于对抗深度学习的网络安全态势评估模型。对深度自编码器进行特征学习,并将深度神经网络用于网络攻击的分类,使用欠过采样加权算法提高模型对小样本网络攻击类型的分类性能,最后验证了该模型对网络态势评估的准确性。陈森提出一种基于线性规划的层次分析法结合改进的引力搜索算法优化的模糊神经网络的网络安全态势评估模型,利用改进的引力搜索优化算法对模糊神经网络进行优化,提高了模型收敛速度并解决算法陷入最优的问题,最后验证了该模型在网络安全态势评估上的优越性。钱真坤采用了多层模型对指标体系进行分类,并将随机森林模型应用于网络安全态势感知的评估过程当中,验证了该模型的可行性。单宇锋对网络安全态势感知关键技术进行研究,在态势评估模型中对贝叶斯网络在其中的应用进行了定量的研究,通过系统实现,验证了贝叶斯网络在网络安全态势感知评估过程中的可行性。何梦乙提出了基于融合批量规范化和深层神经网络的攻击检测模型。该模型在深层神经网络的隐藏层中添加了批量规范化层,优化隐藏层的输出结果,同时采用Adam自适应梯度下降优化算法对BNDNN参数进行自动优化,以提高模型的异常检测能力。在NSL-KDD数据集中对模型进行了验证,最后证明了该方法下态势评估当中的有效性和可行性。

2 基于贝叶斯优化的CatBoost模型

2.1 贝叶斯优化

很多的机器学习模型都有非常多的超参数,超参数的选定关系到模型最后成绩的好坏,对超参数的自动化搜索通常有网格搜索、随机搜索和贝叶斯优化三种方法。贝叶斯优化和网格搜索、随机搜索一样,也是一种自适应的超参数搜索方法,主要思想是在给定的目标函数上通过不断地添加样本点来更新目标函数的后验分布,总之就是考虑了上一次参数的信息,从而更好地调整当前的参数。

网格搜索是在超参数优化模型中应用最广泛的一种,该模型是通过在给定的搜索区间当中,遍历所有的可能组合,以此来查找搜索范围内的最佳性能的参数组合。一般情况下,先给较大区间和较大步长,然后一步步地缩减参数范围,最终得到最优结果。网格搜索的最大问题是,在超参数多的情况下,它的性能略差,非常消耗计算资源。随机搜索则具有很大的随机性,它并不尝试所有参数值,而是从指定的区间中选择固定数量的参数组合。通过对搜索范围的随机取样,随机搜索一般会比网格搜索要快一些,但是具有随机性,结果无法保证。

贝叶斯优化则采用高斯过程,考虑之前的参数信息,不断地更新先验,具有迭代次数少、速度快的优点,并且针对非凸问题依然有较好的效果。对常用的机器学习算法,贝叶斯方法也可以得到最优的结果。贝叶斯方法跟踪过去的评估结果,会使用过去的结果形成概率模型,将超参数映射到目标函数的得分概率。核心算法是在更有可能得到更好结果的超参数范围内选择新的超参数,算法的核心由两部分构成:使用高斯过程回归实现对目标函数的建模,计算每一点处的函数值的均值和方差;构造采集函数,用于决定本次迭代时在哪个点处进行采样。贝叶斯优化是一种为序列模式的模型提供的求全局优化的方法,假设一组超参数组合是=,,…,x,其中x表示某一个超参数的值,在模型中不同的超参数会得到不同效果,贝叶斯优化就是要在超参数与优化的损失函数之间找到一个函数关系。如公式(1)所示,其中∈。

贝叶斯优化的算法如下:

表示超参数和损失函数的关系;

表示超参数的搜索空间;

表示一组超参数和该组超参数对应的函数结果的集合;

表示采集函数;

表示对数据集拟合得到的模型;

其中的采集函数在贝叶斯优化中尤为重要,常用的有PI和EI。因为EI既考虑了提升的概率,也考虑了提升的幅度,因此贝叶斯优化算法使用EI作为采集函数,并使用树结构Parzen估计方法模型(TPE)对采集函数EI进行优化。TPE通过转换生成过程来模拟(|),用非参数密度替换先前配置的分布。TPE算法进行以下替换:均匀→截断高斯混合,对数均匀→指数截断高斯混合,分类→再加权分类。在非参数密度中使用不同的观察值{,…,x},,这些替换表示可以在配置空间上产生各种密度的学习算法。TPE使用如公式(2)所示的密度函数定义(|)。

其中,()是通过使用算法{,…,x}观察形成的密度,使得相应的损失(x)小于;()是通过使用剩余观察值形成的密度。TPE算法取决于大于最佳观察到的()的,因此可以使用某些点来形成()。

2.2 Cat Boost模型

CatBoost算法是一种改进的集成学习算法,它的根本原理是基于梯度提升决策树算法。在训练过程中,连续地建立一组决策树。与以前的树相比,每一棵连续的树都减少了损失。

CatBoost有如下优点,CatBoost可以对类别型特征的数据进行处理,不需要对数据中的非数值型特征进行预处理。CatBoost还使用了组合类别特征,可以利用特征之间的联系,这极大地丰富了特征维度。CatBoost的基模型采用的是对称树,计算叶子结点值的方式和传统的Boosting算法也不一样。传统的Boosting算法计算的是平均数,而CatBoost在这方面采用了其他的算法做了一定程度的优化,这些改进都能防止模型过拟合,也在一定程度上提升了模型的通用性。CatBoost还支持快速的GPU和多GPU训练,并且包含可视化工具。

CatBoost模型和所有其他的梯度提升模型的实现方式一样,都是通过构建新树对当前模型的梯度进行近似处理。但是,以前所有的梯度提升模型都会出现过拟合的问题,这是由于梯度估计偏移造成的。在常用的梯度提升决策树算法当中,将会按照如下方式构建下一棵新树,首先是对树的结构进行构建并对构建后的树计算叶子节点的值。然后通过列举不同方式的分割,选择最佳的树结构,并对得到的叶子节点计算其值,其中计算叶子节点的值分别被当作梯度或牛顿步长的近似值。CatBoost和其他算法不同,在第一阶段使用无偏估计,即改进梯度的步长,第二阶段采取传统的梯度提升决策树策略。设构建棵树后的模型为F,构建棵树后第个训练样本的梯度值为g(X,Y)。为了使模型F具有无偏的梯度估计,需要对模型F在无X的影响下进行训练。因此,需要计算所有训练样本的梯度无偏估计,对于每一个样本,需要单独训练一个模型,并且不使用基于该样本的梯度估计对该模型进行更新。使用M来估计X上的梯度,并使用这个估计对树的结果进行评分。该算法的描述如下:

其中需要优化的损失函数是(,),是标签值,是公式计算值。

CatBoost是使用完全二叉树作为基学习器的,它的节点是镜像的。因为对称树有利于避免过拟合,增加模型的可靠性,并且能大大加速模型的运算速度。可以将对称树中的每个叶子节点的索引编码成为二进制向量,并且该向量的长度等于树的深度。CatBoost使用上述方法对获取到的特征进行二进制转换操作,然后通过特征值的计算完成模型的评估。通过上述方法,对数据进行并行处理,可以将模型的评估速度提升三倍以上,超过很多现有的模型。

CatBoost模型的分类器存在着一百个参数,在模型的训练过程中使用不同的参数将对最后的分类效果产生很大的影响,但是如果对如此多的参数都进行最优查找,这会严重影响模型的训练,将会耗费大量的时间。因此,需要从众多的参数中选择对模型影响较深的参数进行优化,这样才可以在模型的效率和准确性之间达到一个平衡。CatBoost中重要的参数,如表1所示。

表1 CatBoost的主要参数

3 实验结果与分析

3.1 数据集

首先是数据集方面的选取。过去的很多网络安全态势感知领域的论文在实验过程中通常会采用KDD99数据集,该数据集对模拟的网络收集了9周的网络连接和系统审计数据,其中有7周的训练数据和2周的测试数据,包含了Probe、DoS、R2L、U2R四大类攻击,并且将一些未在训练集中出现的攻击类型加入到测试集当中。该数据集一直被应用于网络安全态势感知领域的研究,其数据集的正确性已经被验证,但是该数据集从1999年创建到现在已经有二十多年的历史,属于较老的数据集,这将存在如下问题。首先是当年的实验条件放在当前已经落后,不再具有现实意义,并且数据集中的攻击手段也过于落后,现在已经从原来的网络层攻击进化为针对应用层的攻击,例如跨站式脚本、数据库注入等攻击方式。为了追求最新的实验环境和最新的攻击方式,也为了提高训练结果的正确性,本文在使用KDD99数据集的情况下同时选用CICIDS2017数据集进行态势评估模型的验证。

CICIDS2017数据集来源于加拿大网络安全研究所(CIC)的研究项目,使用新型的网络攻击手段对模拟网络进行攻击,获取真实的网络流量。其中包含了暴力破解攻击、Heartbleed攻击、僵尸网络攻击、拒绝服务攻击、分布式拒绝服务、Web攻击和渗透攻击这七种攻击,对这七种攻击分为14类更加细化的攻击方式。

通过对上述两个数据集中特征的观察,可知每个特征的性质、量纲、数量级等特征均存在部分差异,这就会影响该数据集分析网络的特征和规律产生的结果。当各属性之间的数据量纲差距过大时,如果对数据的量纲不进行统一预处理,将会造成量纲级别高的属性对模型的影响权重变大,相对地,量纲级别低的属性将会对模型的训练造成较小的作用。因此需要对数据集进一步标准化处理,本文采用如公式(3)所示的方法进行预处理,为预处理后的样本,为样本均值,为样本方差。最后得到的所有数据都聚集在0附近,期望为0,方差值为1。

CICIDS2017数据集共有85个特征值,经过对无意义特征值的删除,剩下78组特征,这些特征之间仍然存在着一定程度的冗余,这将会对模型的性能造成很大的影响。本文选用主成分分析方法对数据集进一步处理,对每一个特征所占的权重进行获取,其中的部分特征已经可以对整个数据集进行描述,本文选取所占比例大于0.001的特征,该部分特征共有32种,这32种特征即作为最终的数据集,用于进一步的研究。

3.2 实验介绍

本文提出的基于贝叶斯优化的CatBoost态势评估模型是使用Python语言在Python 3.5开发环境下实现的,对比模型的来源是sklearn和xgboost工具包,贝叶斯优化模型的来源是hyperopt工具包,CatBoost模型的来源是catboost工具包。使用预处理后的KDD99数据集和CICIDS2017数据集对基于贝叶斯优化的CatBoost模型进行算法的评估与分析。

为了证明基于贝叶斯优化的CatBoost模型的性能是更优的,需要选取合适的度量指标对模型的泛化能力进行评估。对于常用的度量指标进行选取,选用macro度量方法,该方法对每个标签计算对应的得分,然后取不加权平均,得到最后的模型总分。使用macro度量方法的过程是先将多分类问题转化为二分类混淆矩阵,计算出准确率、精确率、召回率和1值,之后对所有标签进行平均,最后得到模型的总得分。

在模型对比阶段,选取经典的分类模型和贝叶斯优化后的CatBoost模型进行对比,验证基于贝叶斯优化的CatBoost威胁评估模型的可行性。比如NB(朴素贝叶斯)、KNN(K近邻)、XGBoost等算法在过去的研究当中均是被证明有效的评估方法,因此选用这些算法进行对比实验的研究。

3.3 参数寻优

使用贝叶斯优化在上述预处理后的CICIDS2017数据集上对CatBoost模型的超参数进行自动寻优。本文选用了参数表中的iterations、learning_rate、depth和l2_leaf_reg这四个参数进行寻优,选择这四个参数的原因是它们的选取对模型最终的准确率将会有很大影响。

首先对这四个参数的范围进行选取。参数iterations,一般情况下随着生成树的数量增加模型的准确率将会提升,但是生成树达到一定数目后,模型将会达到最优,继续增加生成树的数量也不会提升模型的准确率。因此,在500和2000之间初步选取6个iterations值,分别是500、750、1000、1250、1500和2000。对参数learning_rate的取值进行选取,一般情况下随着学习率的减小模型的准确率将会提升,然而学习率越低也就表示算法的学习速率越慢,影响学习的效率。因此在0和1之间初步选取6个learning_rate的值,分别是0.02、0.05、0.1、0.3、0.6和0.9。对参数depth的取值进行选取,选取2和10之间的9个整数作为参数depth的值。对参数l2_leaf_reg的取值进行选取,选取2和10之间的9个整数作为参数l2_leaf_reg的值。根据上述参数区间,对参数取值进行任意组合,共使用300组参数组合对模型进行训练。通过贝叶斯优化算法,可以得到一组准确率最优的参数组合,即当iterations为1000、learning_rate为0.3、depth为10、l2_leaf_reg为6时,该组参数的准确率为0.987。

从iterations和learn_rate参数区间的选取可以看出,区间选取的范围和步长都较大,因此将其他参数确定,进一步对这两个参数的选取进行精确。通过第一次优化的参数组合,可以确定最优的iterations值在1000附近,因此选取从(800,1200)区间内的iterations进行随机查找。最优的learning_rate值在0.3附近,因此选取(0.15,0.55)区间内的learning_rate进行随机查找。根据上述参数区间,对这两个参数取值进行任意组合,使用300组参数组合对模型进行训练,得到训练结果。

综上所述,可以得到一组最优的参数结果,当iterations参数值为1087;learning_rate参数值为0.339;depth参数值为10;l2_leaf_reg参数值为6时,得到模型的最优参数组合,最优结果的准确率为0.988。

3.4 实验结果

如表2所示,在KDD99数据集上,优化后的CatBoost算法相较于经典的分类算法是更优的,可以看到优化CatBoost后的模型在所有指标上均是优于其他经典算法的,优化后的CatBoost模型召回率高达0.998,提升显著,未优化的CatBoost模型相较于XGBoost等模型也有了一定程度的提升,而CatBoost模型优化后的准确率相较于优化前也提升了0.008。结果表明,针对KDD99数据集,基于贝叶斯优化的CatBoost模型在准确率、精确率、召回率和1值这几方面均优于其他传统模型,表明该模型对攻击种类的分类效果更优。

表2 基于KDD99数据集的评估模型比较

如表3所示,在CICIDS2017数据集上,优化后的CatBoost算法相较于经典的分类算法是更优的,可以看到XGBoost和CatBoost这些属于梯度提升决策树模型的算法,在所有指标上均是优于其他经典算法的,原始的CatBoost已经比KNN多了0.029的准确率,提升甚是明显。在梯度提升决策树类的算法模型当中,优化后的CatBoost模型在各方面指标上都要比XGBoost模型更为优秀。结果表明,针对CICIDS2017数据集,基于贝叶斯优化的CatBoost模型在准确率、精确率、召回率和1值这几方面均优于其他传统模型,表明该模型对攻击种类的分类效果更优。

表3 基于CICIDS2017数据集的评估模型比较

如图1所示,针对KDD99数据集,使用贝叶斯优化后的CatBoost模型相比于未优化的模型在准确率上提高了0.8%。

图1 KDD99数据集下CatBoost模型对比

如图2所示,针对CICIDS2017数据集,使用贝叶斯优化后的CatBoost模型相比于未优化的在准确率上提高了1.5%。

图2 CICIDS2017数据集下CatBoost模型对比

综上所述,实验结果表明,优化后的模型相比于优化前的模型在各个评估指标上都更为优秀,验证了基于贝叶斯优化的CatBoost模型在网络安全态势评估方面的准确性和可行性。

4 结语

针对网络安全态势感知技术,本文将基于贝叶斯优化的CatBoost模型用于网络安全态势评估当中,针对KDD99和CICIDS2017数据集进行实验分析,可以得到该模型在KDD99数据集上有着99.5%的准确率,在CICIDS2017数据集上有着98.8%的准确率,在其他各项评估指标上均是优于其他常用的分类模型。因此该算法可用于提升网络安全态势感知中态势评估的准确性,具有一定的理论意义和实用价值。

猜你喜欢

贝叶斯态势准确率
江苏巩固拓展高质量发展开放型经济的新态势
网络安全态势感知关键技术研究
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
2019年12月与11月相比汽车产销延续了增长态势
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
贝叶斯网络概述