鄔蓉蓉,黎新,賓冬梅
(廣西電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,南寧 530023)
隨著電力系統(tǒng)自動化水平的不斷提高,智能電網(wǎng)呈現(xiàn)出信息物理融合系統(tǒng)(CPS)的特征。電力CPS通過引入傳感設(shè)備、通信網(wǎng)絡(luò)以及計算設(shè)備完成對物理電網(wǎng)的狀態(tài)感知和動態(tài)控制,使電網(wǎng)運(yùn)行變得更加穩(wěn)定化、智能化[1-2]。然而,由于網(wǎng)絡(luò)空間漏洞的存在,使智能電網(wǎng)面臨嚴(yán)重的網(wǎng)絡(luò)攻擊的風(fēng)險。近年來隨著烏克蘭大停電事故的發(fā)生使電網(wǎng)安全成為熱點(diǎn)問題,出現(xiàn)越來越多潛在的網(wǎng)絡(luò)攻擊形式[3-5],如虛假數(shù)據(jù)注入攻擊(FDIA)、拒絕服務(wù)攻擊(DDos)以及零日攻擊等[6]。
和互聯(lián)網(wǎng)領(lǐng)域的網(wǎng)絡(luò)攻擊不同,針對智能電網(wǎng)的信息攻擊主要目的是破壞信息層對物理層的控制穩(wěn)定性,使物理電網(wǎng)無法受到有效控制,導(dǎo)致運(yùn)行失穩(wěn),嚴(yán)重的可能造成物理設(shè)備故障甚至引發(fā)大范圍停電[7-8]。然而,智能電網(wǎng)信息攻擊具有隱蔽性強(qiáng)、跨空間傳播的特點(diǎn),現(xiàn)有智能電網(wǎng)的狀態(tài)估計不良數(shù)據(jù)檢測無法有效防御這種攻擊。
為了減輕信息攻擊對電力系統(tǒng)的危害,提升智能電網(wǎng)的運(yùn)行穩(wěn)定性,大量的關(guān)于智能電網(wǎng)信息攻擊的識別及防御方法被提出。文獻(xiàn)[9-10]提出基于狀態(tài)估計的識別方法,依據(jù)歷史數(shù)據(jù)估計系統(tǒng)當(dāng)前狀態(tài),并和真實(shí)數(shù)據(jù)進(jìn)行匹配,當(dāng)匹配不一致性高于預(yù)先設(shè)定的閾值的確定存在信息攻擊。然而基于狀態(tài)估計的方法受閾值設(shè)定的影響,存在一定的經(jīng)驗(yàn)誤差。文獻(xiàn)[11-12]提出基于時間序列預(yù)測的識別方法,采用回歸算法預(yù)測當(dāng)前時刻系統(tǒng)狀態(tài)并和實(shí)際量測值進(jìn)行一致性檢驗(yàn),若一致性過低則確認(rèn)存在信息攻擊?;跁r間序列預(yù)測的信息攻擊識別方法受電力系統(tǒng)波動的影響,易引起誤報。文獻(xiàn)[13-14]提出基于機(jī)器學(xué)習(xí)的識別方法,通過歷史數(shù)據(jù)訓(xùn)練分類器得到智能識別信息攻擊的模型,基于機(jī)器學(xué)習(xí)的識別方法不需要復(fù)雜時域方程的求解,更加智能化,且識別效率較高。然而分類器的訓(xùn)練嚴(yán)重依賴數(shù)據(jù)質(zhì)量,在數(shù)據(jù)不平衡且維數(shù)較高、關(guān)鍵特征未提取的條件下對信息攻擊的識別精度嚴(yán)重降低。
基于上述分析,從防御者角度構(gòu)建一種基于集成學(xué)習(xí)的智能電網(wǎng)信息攻擊識別模型,識別包括虛假數(shù)據(jù)注入攻擊、控制信號篡改攻擊以及繼電器延時設(shè)置攻擊等多種信息攻擊手段。首先,基于kmeans-smote提出一種電力數(shù)據(jù)過采樣方法,實(shí)現(xiàn)有標(biāo)注量測數(shù)據(jù)的平衡處理。然后,基于過采樣后的平衡數(shù)據(jù)集,提出最大相關(guān)-最小冗余特征選擇方法在原始數(shù)據(jù)中獲得信息攻擊最優(yōu)表征特征子集,實(shí)現(xiàn)數(shù)據(jù)降維,提升信息攻擊的識別效率。最后,構(gòu)建XGBoost分類器對信息攻擊進(jìn)行分類識別,并在開源的電力系統(tǒng)信息攻擊數(shù)據(jù)集上仿真實(shí)驗(yàn),對模型進(jìn)行信息攻擊識別性能評估。
智能電網(wǎng)多采用PMU采集量測數(shù)據(jù),包括電壓和電流的幅值和相角,正序、負(fù)序、零序電壓電流等重要電氣量,機(jī)器學(xué)習(xí)算法通常采用這些關(guān)鍵特征進(jìn)行模型訓(xùn)練。然而,電力系統(tǒng)長期運(yùn)行,定量采集的數(shù)據(jù)中含有的電力系統(tǒng)正常運(yùn)行狀態(tài)的數(shù)據(jù)占比通常較多,而信息攻擊發(fā)生的概率較低,因此在定量采集的數(shù)據(jù)內(nèi)信息攻擊類別數(shù)據(jù)占比較少。數(shù)據(jù)嚴(yán)重不平衡使得分類器對信息攻擊的識別精度下降,影響模型的對信息攻擊識別穩(wěn)定性。因此有必要對數(shù)據(jù)進(jìn)行過采樣處理,獲得充足的偽數(shù)據(jù)輔助分類器的訓(xùn)練和評估,提升分類器對數(shù)據(jù)中信息攻擊類樣本的學(xué)習(xí)能力,進(jìn)而降低分類器對信息攻擊識別的誤報率[15]。
提出基于改進(jìn)kmeans-smote過采樣方法對包含攻擊樣本的電力數(shù)據(jù)進(jìn)行過采樣預(yù)處理,假設(shè)數(shù)據(jù)集中樣本數(shù)最少的樣本數(shù)為a,樣本最多的類別樣本數(shù)為b,定義數(shù)據(jù)集的不平衡率為(b-a)/a,當(dāng)不平衡率高于設(shè)定的閾值時,則對少數(shù)類樣本執(zhí)行過采樣操作。kmeans-smote過采樣包括聚類、權(quán)重分派和過采樣三個主要步驟[16]。原理如圖1所示。
圖1 kmeans-smote過采樣方法
(1)設(shè)少數(shù)類樣本為X,標(biāo)簽為y,k為kmeans聚類生成的簇的數(shù)量。輸入樣本在輸入樣本空間聚類成k個子簇,過濾掉孤立的樣本點(diǎn);
(2)計算各簇的樣本失衡率,按照失衡率為各個子簇分派權(quán)重,權(quán)重越大的簇過采樣生成的新樣本越少,反之權(quán)重越小的簇生成的新樣本數(shù)量越多,根據(jù)權(quán)重計算各簇生成的樣本數(shù)量;
(3)在各個子簇,隨機(jī)選擇一個樣本,基于K近鄰算法尋找該樣本的k個最近的鄰居樣本,在該樣本和其中一個鄰居樣本進(jìn)行隨機(jī)線性插值,生成偽數(shù)據(jù),將所有子簇產(chǎn)生的偽數(shù)據(jù)加入到原始數(shù)據(jù),得到平衡的信息攻擊數(shù)據(jù)集。
由于新生成的樣本都在少數(shù)類樣本的子簇中進(jìn)行,避免了在采樣過程中引入噪聲,且新樣本的生成使得類內(nèi)各簇樣本數(shù)達(dá)到了平衡,降低了類內(nèi)離散度,可以更好地符合電力數(shù)據(jù)特性,降低因?yàn)閿?shù)據(jù)不平衡對信息攻擊識別精度的影響。
由于在大規(guī)模的電力系統(tǒng)拓?fù)渲校杉牧繙y數(shù)據(jù)量劇烈增長,數(shù)據(jù)維度也顯著升高。數(shù)據(jù)維度過高使得模型訓(xùn)練時間過長,不利于信息攻擊的及時識別,且電力數(shù)據(jù)中存在的無關(guān)和冗余屬性降低了模型的訓(xùn)練精度,因此有必要對原始數(shù)據(jù)進(jìn)行降維處理。
為了確定最有利于表征網(wǎng)絡(luò)攻擊的特征子集,采用最大相關(guān)-最小冗余(MRMR)特征選擇方法?;诨バ畔⒗碚?,在原始特征空間內(nèi)基于最大相關(guān)性準(zhǔn)則,篩選和標(biāo)簽相關(guān)性最高的特征子集[17]。假設(shè)目標(biāo)特征集為S, 包含m個特征,N個樣本,數(shù)據(jù)標(biāo)簽為c。定義變量x,y之間的互信息為:
(1)
其中,p(x),p(y),p(x,y)為概率密度函數(shù),則第一階段最大相關(guān)準(zhǔn)則定義S中各獨(dú)立特征變量和標(biāo)簽c之間的互信息近似值為:
(2)
從式(2)可知,最大相關(guān)準(zhǔn)則僅考慮各個信息與標(biāo)簽之間的互信息,并未考慮特征之間的相關(guān)性,當(dāng)某些特征可以被另外的特征線性表示時,這些特征為冗余特征,并不會提升信息攻擊分類精度,而且會增加計算消耗。因此,在最大相關(guān)準(zhǔn)則基礎(chǔ)上增加最小冗余準(zhǔn)則,做第二階段特征選擇,通過計算各個特征之間的互信息作為度量冗余的標(biāo)準(zhǔn)并過濾掉冗余特征,獲得網(wǎng)絡(luò)攻擊特征的最優(yōu)表征子集。最小冗余準(zhǔn)為:
(3)
根據(jù)式(3)所示的冗余特征過濾標(biāo)準(zhǔn),刪除掉冗余特征,剩余的特征集合即為信息攻擊事件最優(yōu)表征子集。
通常智能電網(wǎng)信息攻擊目的是引起大規(guī)模電力設(shè)備故障,使電力供應(yīng)中斷。不同類型的信息攻擊發(fā)生后,相關(guān)量測數(shù)據(jù)的變化呈現(xiàn)出一定的規(guī)律性,但傳統(tǒng)采用淺層學(xué)習(xí)模型對不同類型的信息攻擊手段進(jìn)行區(qū)分比較困難,需要設(shè)計強(qiáng)學(xué)習(xí)器對數(shù)據(jù)進(jìn)行深層次的學(xué)習(xí)來獲得更高的識別精度。
XGBoost是一種集成學(xué)習(xí)模型,集成多個弱分類器進(jìn)行集成表決,來獲得更高的預(yù)測精度[18]。和傳統(tǒng)的機(jī)器學(xué)習(xí)方法如支持向量機(jī)、K近鄰算法相比,訓(xùn)練和預(yù)測速度更快。采用XGBoost算法可以在智能電網(wǎng)遭受信息攻擊后,更準(zhǔn)確、快速地識別信息攻擊,并及時做出響應(yīng)。
設(shè)原始數(shù)據(jù)集為D={(xi,yi):xi∈Rm,yi∈R},數(shù)據(jù)集共包含n個樣本,數(shù)據(jù)維度為m。每一個數(shù)據(jù)樣本xi對應(yīng)的標(biāo)簽yi,假設(shè)XGBoost集成學(xué)習(xí)模型共集成了K棵回歸樹,則XGBoost算法的預(yù)測結(jié)果如下:
(4)
式中fk為一棵回歸樹;F為所有回歸樹構(gòu)成的集成分類器;fk(xi)對應(yīng)第k棵回歸樹在樣本i上的預(yù)測分?jǐn)?shù)。XGBoost的損失函數(shù)為:
(5)
式中l(wèi)為誤差函數(shù),Ω(fk)為正則化項(xiàng),防止模型過擬合。Ω(fk)計算方式為:
(6)
(7)
將式(7)按照二階泰勒公式展開并舍掉常數(shù)項(xiàng),計算結(jié)果為:
(8)
gi及hi分別為損失函數(shù)的一階導(dǎo)數(shù)和二階導(dǎo)數(shù),計算如式(9)和式(10)所示:
(9)
式中Ij={i|q(xi)=j}代表葉子j上得樣本組,將目標(biāo)函數(shù)轉(zhuǎn)換為關(guān)于wj的一元二次方程組的最小值求解問題,當(dāng)樹的結(jié)構(gòu)不變時,葉子j的最優(yōu)權(quán)重為:
(10)
此時最優(yōu)目標(biāo)值為:
(11)
式中Gj=∑i∈Ijgi;Hj=∑i∈Ijhi;Obj代表樹的結(jié)構(gòu)分?jǐn)?shù),越小精度越高。對于當(dāng)前葉子節(jié)點(diǎn),XGBoost采用貪心算法對子樹進(jìn)行劃分,每次迭代對已有節(jié)點(diǎn)加入一個分割點(diǎn),并選擇使信息增益最大的節(jié)點(diǎn)進(jìn)行分裂,節(jié)點(diǎn)信息增益計算方法為:
(12)
XGBoost算法每棵樹的節(jié)點(diǎn)都是在做一次特征分裂,可以根據(jù)某一特征被選做分裂特征的次數(shù)來評估該特征的重要性,重要性越高,則該特征越利于分類器對智能電網(wǎng)信息攻擊的識別。
基于上述研究工作,將信息攻擊識別模型映射為多分類機(jī)器學(xué)習(xí)模型,通過PMU采集數(shù)據(jù)訓(xùn)練分類器,獲得對多種信息攻擊具有識別能力的集成學(xué)習(xí)模型,該模型不僅能夠區(qū)分是否存在信息攻擊的,并且可以識別具體的信息攻擊種類。假設(shè)采集的數(shù)據(jù)中共有m個樣本,模型對第i個樣本識別結(jié)果為yi,模型的識別結(jié)果為:
(13)
模型構(gòu)建主要包含以下三個主要步驟,如圖2所示。
圖2 智能電網(wǎng)信息攻擊識別模型框架
(1)針對PMU收集的包含攻擊的數(shù)據(jù),首先采用平均值法填補(bǔ)缺失值,然后基于kmeans-smote算法對數(shù)據(jù)進(jìn)行過采樣處理,得到平衡數(shù)據(jù)集;
(2)采用最大相關(guān)-最小冗余(MRMR)特征選擇方法對原始特征集進(jìn)行降維,獲得信息攻擊事件最優(yōu)表征特征子集;
(3)設(shè)計XGBoost分類器對信息攻擊事件類型進(jìn)行分類識別。
采用密西西比州立大學(xué)開源的電力系統(tǒng)網(wǎng)絡(luò)攻擊數(shù)據(jù)集[19],該電力拓?fù)涫且粋€二機(jī)三母線輸電系統(tǒng),有4個PMU和4個繼電保護(hù)裝置(編號R1~R4),對關(guān)鍵節(jié)點(diǎn)數(shù)據(jù)進(jìn)行采集。數(shù)據(jù)經(jīng)處理后共包含四類樣本,這四類數(shù)據(jù)分別描述如下:
(1)無攻擊:電力系統(tǒng)正常運(yùn)行或維護(hù)等不存在網(wǎng)絡(luò)攻擊場景;
(2)虛假數(shù)據(jù)注入攻擊:攻擊者篡改量數(shù)據(jù)并繞過不良數(shù)據(jù)檢測機(jī)制,使調(diào)度員失去對電力系統(tǒng)運(yùn)行的正??刂颇芰?;
(3)遠(yuǎn)程跳閘命令注入攻擊:攻擊者篡改斷路器的控制信號,使斷路器不能正常開通和關(guān)斷;
(4)繼電器延時設(shè)置篡改攻擊:攻擊者篡改繼電器設(shè)置,使繼電器無法在電力系統(tǒng)發(fā)生故障時斷開。
數(shù)據(jù)中共包含15個子數(shù)據(jù)集,累計量測數(shù)據(jù)約7萬條,每個子數(shù)據(jù)集包含128個征,特征共分為五組,前四組是4個PMU采集的量測數(shù)據(jù),最后一組是控制面板日志、Snort警報以及繼電器日志,特征總體描述如表1所示。
表 1 特征描述
15個數(shù)據(jù)集下四類樣本數(shù)量統(tǒng)計如圖3所示,類別0代表不存在信息攻擊,類別1代表虛假數(shù)據(jù)注入如攻擊,類別2代表遠(yuǎn)程跳閘命令注入攻擊,類別3代表繼電器延時設(shè)置篡改攻擊。
圖3 數(shù)據(jù)集樣本數(shù)量統(tǒng)計
根據(jù)提出的多分類數(shù)據(jù)不平衡性度量方法,15個子數(shù)據(jù)集不平衡率統(tǒng)計如表2所示。
表2 數(shù)據(jù)不平衡度量
由表2分析,15個子數(shù)據(jù)集各類別間都嚴(yán)重不平衡,為了降低少數(shù)類樣本造成的信息攻擊識別誤報率升高的問題,改進(jìn)的kmean-smote算法對數(shù)據(jù)進(jìn)行過采樣處理,以最不平衡的子數(shù)據(jù)集data 1為例,過采樣后數(shù)據(jù)集各類別樣本占比如圖4所示。過采樣后四類樣本平均占比都接近25%,實(shí)現(xiàn)了數(shù)據(jù)平衡,降低了數(shù)據(jù)不平衡對信息攻擊識別的影響。
過采樣處理后的平衡數(shù)據(jù)經(jīng)特征選擇后從128維降到了40維,特征維度降低67%。這40個特征對應(yīng)的特征序號及其和數(shù)據(jù)標(biāo)簽之間的互信息值(Mutual Information, MI)如圖5所示。其中,最利于信息攻擊識別的最優(yōu)5個特征分別為R4-PM2: V、R3-PA6: IH、R1-PM7: V、R1-PM3: V、R3-PM7: V,這40個特征共同構(gòu)成智能電網(wǎng)信息攻擊最優(yōu)表征特征子集。
圖4 過采樣后樣本數(shù)量統(tǒng)計
圖5 信息攻擊事件最優(yōu)表征特征子集
3.3.1 信息攻擊識別模型有效性評估
采用XGBoost分類器對信息攻擊類型進(jìn)行分類識別,分類器在默認(rèn)參數(shù)下進(jìn)行訓(xùn)練,集成的基分類器個數(shù)為100。模型在數(shù)據(jù)集1上的ROC曲線如圖6所示。
圖6 攻擊識別的ROC曲線
由圖6可知,提出的信息攻擊識別模型在測試集上的ROC曲線收斂到(0,1)點(diǎn), 模型在低誤報率的條件下實(shí)現(xiàn)了高精度識別。
由圖7可知,模型在測試集上的精度-召回率曲線逐漸收斂到(1,1)點(diǎn),模型能夠更好地平衡精度和召回率指標(biāo),且兩個指標(biāo)都達(dá)到很高的值。由此可見,文中提出的智能電網(wǎng)信息攻擊識別模型在數(shù)據(jù)不平衡的條件下保證了信息攻擊的識別準(zhǔn)確率。
圖7 攻擊識別的精度-召回率曲線
由圖8可知,提出的信息攻擊識別模型對無攻擊的識別精度為96%,對虛假數(shù)據(jù)注入攻擊的識別精度為97%,對遠(yuǎn)程跳閘命令注入的識別精度達(dá)到97%,繼電器延時設(shè)置更改的識別精度達(dá)到94%。綜合上述分析,提出的智能電網(wǎng)信息攻擊識別模型在電網(wǎng)存在信息攻擊的條件下可以實(shí)現(xiàn)高精度識別,同時未發(fā)生信息攻擊時的誤報率極低,僅為4%。由此可見,提出的信息攻擊識別模型不僅可以較好區(qū)分電網(wǎng)系統(tǒng)是否受到信息攻擊,同時能夠準(zhǔn)確識別攻擊類別。
圖8 攻擊識別的混淆矩陣
3.3.2 與其他信息攻擊識別模型對比
將文中模型和典型的有監(jiān)督學(xué)習(xí)算法進(jìn)行對比分析,包括K近鄰算法(KNN)、決策樹算法(DT)、人工神經(jīng)網(wǎng)路(ANN)、邏輯回歸(LR)、梯度提升決策樹(GBDT)以及adaboost算法。各算法的總體準(zhǔn)確率、平均召回率、平均精度以及平均F1-Score指標(biāo)如圖9所示。
由圖9可知,提出的智能網(wǎng)電網(wǎng)信息攻擊識別模型的四個性能指標(biāo)趨于穩(wěn)定,且顯著高于其他典型的監(jiān)督學(xué)習(xí)算法,表明提出信息攻擊識別模型在識別精度上性能優(yōu)于其他機(jī)器學(xué)習(xí)模型。
圖9 不同算法性能對比
3.3.3 信息攻擊識別模型泛化性能驗(yàn)證
為了驗(yàn)證模型的泛化能力,在15個數(shù)據(jù)集上對模型性能就準(zhǔn)確率、平均召回率、平均精度以及平均F1-Score進(jìn)行對比驗(yàn)證,對比結(jié)果如圖10所示。
由圖10分析可知,在15個數(shù)據(jù)子集上的平均識別準(zhǔn)確率為95.87%,平均精度為95.88%,平均召回率為95.86%,平均F1-Score為95.8%。由此可見該信息攻擊識別模型不僅在單一數(shù)據(jù)集上取得了很高的識別精度以及低誤報率,15個子數(shù)據(jù)集下識別精度仍然取得了高精度,證明所提出的信息攻擊識別性能的泛化性。
圖10 攻擊識別的泛化能力對比
提出一種基于XGBoost的智能電網(wǎng)信息攻擊識別模型,在攻擊樣本數(shù)量偏低、且數(shù)據(jù)維度過高的條件下提升了信息攻擊的識別精度。
(1)提出改進(jìn)的kmeans-smote過采樣方法來獲取平衡數(shù)據(jù)集,輔助模型的訓(xùn)練和評估,降低不平衡數(shù)據(jù)對分類器訓(xùn)練的影響;
(2)在過采樣數(shù)據(jù)基礎(chǔ)上,提出MRMR特征選擇方法得到信息攻擊最優(yōu)表征特征子集,實(shí)現(xiàn)數(shù)據(jù)的降維處理,并提升信息攻擊識別效率;
(3)構(gòu)建XGBoost分類器,對智能電網(wǎng)是否遭受信息攻擊,及具體的攻擊類型進(jìn)行識別。
經(jīng)實(shí)驗(yàn)驗(yàn)證,提出的智能電網(wǎng)信息攻擊識別模型在攻擊樣本不足、且數(shù)據(jù)維度過高的條件下大幅度提高了對攻擊的識別精度,為智能電網(wǎng)信息攻擊的有效識別與動態(tài)防御奠定了基礎(chǔ)。