基于改进Lightgbm的CPS网络攻击识别模型
2022-08-02於立峰胡凯波夏志凌沙建飞
於立峰,胡凯波,夏志凌,沙建飞
(浙江浙能兰溪发电有限责任公司,浙江 金华 321100)
电力信息物理融合系统(Cyber-Physical-System,CPS)是集人工智能、自动化技术、通信技术等各项技术为一体,将各项设备融合在一起,形成多层、动态感知和智能控制的大型系统。由于涉及设备多,技术复杂,传统的物理机制很难保证CPS绝对安全。因此,CPS的安全性成为当前研究的重点。与传统的互联网网络攻击不同,对电力CPS的网络攻击不是为了获取用户数据,而是通过攻击使网络瘫痪,进而引发一系列的连锁反应。对此,周秀莹等[1]采用卡尔曼滤波对拒绝服务攻击的CPS网络安全进行评估,结果验证了该模型的有效性;武津园等[2]则提出构造与雅克比矩阵列向量线性相关的攻击矢量,从而实现对虚假数据注入攻击(false data injection attacks,FDIA)进行状态估计检测,结果表明传统不良检测对FDIA具有局限性;部分研究者也提出采用支持向量机(Support Vector Machines,SVM)、卷积神经网络(Convolutional Neural Networks,CNN)、生成式对抗网络(Generative Adversarial Networks,GAN)和极限学习机(Extreme Learning Machine,ELM)等对CPS网络安全进行检测[3-6],均取得良好效果。但冗余特征的存在在一定程度上降低了算法的精度。而集成算法作为机器学习算法的重要组成部分,其在识别精度和海量数据处理效率上的优势,非常适用于网络攻击识别。基于此,本研究提出一种基于改进集成学习算法的CPS网络攻击识别方法,并对该方法的适用性进行验证。
1 Lightgbm集成学习算法及改进
作为一种经典的集成学习算法,随机梯度提升机(Light Gradient Boosting Machine,Lightgbm)集成算法是通过梯度提升的方式对每一棵决策树进行训练,直至遍历全部决策树的训练过程。其凭借可支持并行学习、占用较少内存、训练效率高、数据处理快等特点,能满足海量的电力CPS网络攻击数据的处理需求。因此,将其应用于网络攻击识别模型,可以大幅度提升网络攻击识别效率。Lightgbm算法在梯度提升树(Gradient Boosting Decision Tree,GBDT)算法的基础上,融入了直方图算法、带深度限制的leaf-wise的叶子生长方式,从而实现更优异的算法性能。
在CPS网络攻击中,部分网络攻击样本空间分布异常,导致对样本的分类难度较大。为了提高Lightgbm分类器对困难样本的分类精度,引入焦点损失函数对Lightgbm算法进行改进,从而提高Lightgbm分类器的学习能力。
Lightgbm算法的原始对数损失函数为[7]
式(1)中,L[yi,Fm-1(xi;Am-1)]是真实值yi与预测值之间的误差函数,pj是样本i被预测为类别j的概率,Am-1是前m-1棵树的参数集合,Fm-1(xi;Am-1)是由当前m-1棵决策树组成的模型在参数为Am-1的条件下对输入样本xi的预测值。
改进的焦点损失函数为
式(2)中,(1-pj)表示调节因子。
在样本被错分下,pj≈0,(1-pj)≈1,表示损失不受影响;在样本被正确分类下,pj≈1,(1-pj)≈0,表示正确分类概率较大的样本其权重被降低。
引入焦点损失函数后,利用错分样本对分类器进行训练,这样可提高分类器下一次迭代的分类精度。
2 基于改进的Lightgbm CPS网络攻击识别
利用经焦点损失函数改进的Lightgbm算法构建攻击检测模型,具体数学描述:设网络攻击数据集为T={(x1,y1),(x2,y2),…,(xN,yN)},利用改进后的Lightgbm算法构建电力CPS网络攻击的识别模型,其输出值为
如果网络攻击识别模型的输出结果是0,意味着电力CPS并未遭受网络攻击;如果输出结果是1,意味着电力CPS遭受量测数据篡改攻击;如果输出结果是2,意味着电力CPS遭受控制信号篡改攻击;如果输出结果是3,意味着电力CPS遭受设备信息篡改攻击。
以上网络攻击识别步骤如图1所示。首先是网络攻击数据预处理,其次是网络攻击识别最优特征子集,最后是网络攻击识别模型构建。前两步是为了攻击识别做数据处理准备,先通过引用中心化K均值聚类(K-means clustering algorithm,K-means)算法对数据进行聚类,降低网络攻击识别的误报率[8];再通过引用最大联合互信息(Joint Mutual Information Maximisation,JMIM)算法,提高了网络攻击的识别精度及识别效率[9];最后利用改进的焦点损失函数对Lightgbm分类器进行改进,并在最优特征子集上进行训练,由此构建起网络攻击识别模型。
图1识别模型的特点在于,一是加强了对数据的预处理,从而为攻击精度的提高奠定基础;二是引入焦点损失函数和贝叶斯网络,以此得到最优分类器。
3 仿真验证
3.1 数据来源与仿真环境搭建
本试验数据通过Uttam Adhikari等收集,具体网络采集拓扑结构如图2所示。
通过以上采集,得到112032条数据,涵盖控制信号篡改攻击样本(CSTA)、量测数据篡改攻击样本(MDTA)、非攻击事件样本(NO-ATT)、设备信息篡改样本(DITA)等四种类型。
同时,K均值采用获取的伪样本满足电力数据特性,因此未对伪样本和原始数据进行划分,而是将它们随机混合,建立新的数据集。
试验平台选择Python3.7,并应用Bayesianoptimization、Matplotlib等工具包。
3.2 特征预处理与评价指标
3.2.1 最优特征子集选择
为使模型轻量化,对数据进行降维和去冗余处理,以缩减模型的训练时间,提高模型的识别效率。参考王达等[10]的经验,引入JMIM特征选择算法,从原始数据中筛选出K个与数据标注互信息最高的特征,将之构造出网络攻击识别最优特征子集。同时通过K均值算法合成少数类样本,解决因数据缺失造成的干扰问题。
3.2.2 网络攻击识别方法指标评价
本次试验选用精度(Precision,Pre)、准确率(Accuracy,Acc)、召回率(Recall,Rec)、F1值对网络攻击识别方法的性能进行评价[7]。
3.3 试验结果
3.3.1 Lightgbm参数设置
n_estimators参数直接影响Lightgbm算法的应用性能。为得到最优参数,引入贝叶斯算法优化参数。通过优化,参数 num_leaves=19,Max_bin=185,min 5phl gain=0.78,Lambda_11=0.07,min_data_in_leaf=19,Bagging_fraction=0.47,Feature_fraction=0.48,Lambda_12=0.06,max_depth=5,learning_rate=0.013。
3.3.2 网络攻击识别性能分析
根据图1中的模型,对CSTA、MDTA、NO-ATT、DITA的四种数据类型进行识别,得到图3的识别结果。
由图3可见,DITA、MDTA、CSTA的网络攻击识别精度依次是97.03%、96.16%、98.85%,整体水平良好。另外,NO-ATT的识别精度达到98.02%,这意味着该方法的误报率比较低。
依据图3的数据,构建受试者工作特征曲线(receiver operating characteristic curve,ROC)、精度-召回率曲线,具体如图4和图5所示。
由图4中的ROC曲线可知,四种数据类型所对应的ROC曲线均在低FP值的条件下实现快速收敛,最终收敛至(0,1)点,此外,MDTA、CSTA、DITA攻击识别的Acc值均高于0.99,说明本研究构建的方法具有误报率低的应用优势。根据精度-召回率曲线来看,MDTA、CSTA、DITA、NO-ATT所对应的精度-召回率曲线均在高召回率的条件下实现快速收敛,最终收敛至(1,1)点,再次验证了本研究所构建的方法的可靠性。
3.3.3 小样本下的模型性能验证
以上模型是针对海量采集的数据,不一定适用于少量的数据分类。对此,以上述数据为基础,构建15个小样本的CPS网络攻击数据对本方法的应用性能进行检验,以证实模型对小样本同样具有较高的适用性。试验采用F1值指标进行评价,具体结果如图6所示。
从图6看出,针对小样本数据集,算法对于网络攻击识别的平均F1值分别是96.82%和92.66%,而K-means-Lightgbm方法、K-means-JMIM-Lightgbm方法的平均F1值分别是94.92%、96.06%。由此可见,与Lightgbm算法相比,执行每一步优化,网络攻击识别F1值都有所提升。因此,本研究构建的方法在小样本数据集下的适用性良好,不受样本规模的限制。
3.3.4 不同算法对比
同样以上述数据集为基础,比较分析本方法与多种机器学习算法[决策树(Decision Trees,DT)、SVM、人工神经网络(Artificial Neural Network,ANN)、逻辑回归(Logistic regression,LR)、最邻近分类算法(K-Nearest Neighbor,KNN)]以及集成学习算法(GBDT算法、Xgboost算法、Adaboost算法、投票分类器)的识别指标,结果如图7所示。
从图7看出,本研究提出的模型相较于其他传统算法在网络攻击识别精度以及算法适用性方面具有优势。具体来说,本模型相较于传统集成学习算法对于网络攻击的识别准确率高出10.78%,平均精度高出8.67%,平均召回率高出17.29%,以及平均F1值高出14.2%;本模型相较于传统机器学习算法对网络攻击的识别准确率高出29.08%,平均精度高出51.44%,平均召回率高出52.14%,以及平均F1值高出53.75%。
3.3.5 模型抗噪声性能验证
向最优网络攻击识别特征子集中添加噪声,从而模拟PMU的量测误差,用以检验模型在不同噪声强度下对网络攻击的识别精度。遵照IEEEC37.118标准,信噪比为45 dB、40 dB、30 dB、20 dB的高斯白噪声对应于PMU的量测误差是0.01%、0.1%、1%、3%。在添加噪声的条件下,利用本模型进行网络攻击识别的F1值具体评估结果,如图8所示。
在逐步提高噪声强度的过程中,F1值缓慢降低,说明本模型具备强大的抗噪声性能,虽然受到高斯白噪声的干扰,但仍然保持着较为理想的识别性能。同时在小样本中,该方法得到的指标也明显降低。由此得出,本模型无论是针对大样本还是小样本,都具有抗噪特性,能够在噪声干扰下对CPS网络攻击进行精准识别,具有强大的适用性。
4 结 论
综上所述,本研究构建的模型针对不同攻击样本的识别精度具有明显的优势,都超过95%的识别准确度,且通过精度-召回率曲线看出,该算法能快速收敛。通过与其他算法的对比,该模型在精度、F1值等方面较高,而且本模型也表现出良好的抗干扰能力。说明本研究所构建的模型不仅表现出良好的性能,还具有很强的适用性。