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