鄔蓉蓉,黎新,賓冬梅
(廣西電網有限責任公司電力科學研究院,南寧 530023)
隨著電力系統自動化水平的不斷提高,智能電網呈現出信息物理融合系統(CPS)的特征。電力CPS通過引入傳感設備、通信網絡以及計算設備完成對物理電網的狀態感知和動態控制,使電網運行變得更加穩定化、智能化[1-2]。然而,由于網絡空間漏洞的存在,使智能電網面臨嚴重的網絡攻擊的風險。近年來隨著烏克蘭大停電事故的發生使電網安全成為熱點問題,出現越來越多潛在的網絡攻擊形式[3-5],如虛假數據注入攻擊(FDIA)、拒絕服務攻擊(DDos)以及零日攻擊等[6]。
和互聯網領域的網絡攻擊不同,針對智能電網的信息攻擊主要目的是破壞信息層對物理層的控制穩定性,使物理電網無法受到有效控制,導致運行失穩,嚴重的可能造成物理設備故障甚至引發大范圍停電[7-8]。然而,智能電網信息攻擊具有隱蔽性強、跨空間傳播的特點,現有智能電網的狀態估計不良數據檢測無法有效防御這種攻擊。
為了減輕信息攻擊對電力系統的危害,提升智能電網的運行穩定性,大量的關于智能電網信息攻擊的識別及防御方法被提出。文獻[9-10]提出基于狀態估計的識別方法,依據歷史數據估計系統當前狀態,并和真實數據進行匹配,當匹配不一致性高于預先設定的閾值的確定存在信息攻擊。然而基于狀態估計的方法受閾值設定的影響,存在一定的經驗誤差。文獻[11-12]提出基于時間序列預測的識別方法,采用回歸算法預測當前時刻系統狀態并和實際量測值進行一致性檢驗,若一致性過低則確認存在信息攻擊。基于時間序列預測的信息攻擊識別方法受電力系統波動的影響,易引起誤報。文獻[13-14]提出基于機器學習的識別方法,通過歷史數據訓練分類器得到智能識別信息攻擊的模型,基于機器學習的識別方法不需要復雜時域方程的求解,更加智能化,且識別效率較高。然而分類器的訓練嚴重依賴數據質量,在數據不平衡且維數較高、關鍵特征未提取的條件下對信息攻擊的識別精度嚴重降低。
基于上述分析,從防御者角度構建一種基于集成學習的智能電網信息攻擊識別模型,識別包括虛假數據注入攻擊、控制信號篡改攻擊以及繼電器延時設置攻擊等多種信息攻擊手段。首先,基于kmeans-smote提出一種電力數據過采樣方法,實現有標注量測數據的平衡處理。然后,基于過采樣后的平衡數據集,提出最大相關-最小冗余特征選擇方法在原始數據中獲得信息攻擊最優表征特征子集,實現數據降維,提升信息攻擊的識別效率。最后,構建XGBoost分類器對信息攻擊進行分類識別,并在開源的電力系統信息攻擊數據集上仿真實驗,對模型進行信息攻擊識別性能評估。
智能電網多采用PMU采集量測數據,包括電壓和電流的幅值和相角,正序、負序、零序電壓電流等重要電氣量,機器學習算法通常采用這些關鍵特征進行模型訓練。然而,電力系統長期運行,定量采集的數據中含有的電力系統正常運行狀態的數據占比通常較多,而信息攻擊發生的概率較低,因此在定量采集的數據內信息攻擊類別數據占比較少。數據嚴重不平衡使得分類器對信息攻擊的識別精度下降,影響模型的對信息攻擊識別穩定性。因此有必要對數據進行過采樣處理,獲得充足的偽數據輔助分類器的訓練和評估,提升分類器對數據中信息攻擊類樣本的學習能力,進而降低分類器對信息攻擊識別的誤報率[15]。
提出基于改進kmeans-smote過采樣方法對包含攻擊樣本的電力數據進行過采樣預處理,假設數據集中樣本數最少的樣本數為a,樣本最多的類別樣本數為b,定義數據集的不平衡率為(b-a)/a,當不平衡率高于設定的閾值時,則對少數類樣本執行過采樣操作。kmeans-smote過采樣包括聚類、權重分派和過采樣三個主要步驟[16]。原理如圖1所示。

圖1 kmeans-smote過采樣方法
(1)設少數類樣本為X,標簽為y,k為kmeans聚類生成的簇的數量。輸入樣本在輸入樣本空間聚類成k個子簇,過濾掉孤立的樣本點;
(2)計算各簇的樣本失衡率,按照失衡率為各個子簇分派權重,權重越大的簇過采樣生成的新樣本越少,反之權重越小的簇生成的新樣本數量越多,根據權重計算各簇生成的樣本數量;
(3)在各個子簇,隨機選擇一個樣本,基于K近鄰算法尋找該樣本的k個最近的鄰居樣本,在該樣本和其中一個鄰居樣本進行隨機線性插值,生成偽數據,將所有子簇產生的偽數據加入到原始數據,得到平衡的信息攻擊數據集。
由于新生成的樣本都在少數類樣本的子簇中進行,避免了在采樣過程中引入噪聲,且新樣本的生成使得類內各簇樣本數達到了平衡,降低了類內離散度,可以更好地符合電力數據特性,降低因為數據不平衡對信息攻擊識別精度的影響。
由于在大規模的電力系統拓撲中,采集的量測數據量劇烈增長,數據維度也顯著升高。數據維度過高使得模型訓練時間過長,不利于信息攻擊的及時識別,且電力數據中存在的無關和冗余屬性降低了模型的訓練精度,因此有必要對原始數據進行降維處理。
為了確定最有利于表征網絡攻擊的特征子集,采用最大相關-最小冗余(MRMR)特征選擇方法。基于互信息理論,在原始特征空間內基于最大相關性準則,篩選和標簽相關性最高的特征子集[17]。假設目標特征集為S, 包含m個特征,N個樣本,數據標簽為c。定義變量x,y之間的互信息為:
(1)
其中,p(x),p(y),p(x,y)為概率密度函數,則第一階段最大相關準則定義S中各獨立特征變量和標簽c之間的互信息近似值為:
(2)
從式(2)可知,最大相關準則僅考慮各個信息與標簽之間的互信息,并未考慮特征之間的相關性,當某些特征可以被另外的特征線性表示時,這些特征為冗余特征,并不會提升信息攻擊分類精度,而且會增加計算消耗。因此,在最大相關準則基礎上增加最小冗余準則,做第二階段特征選擇,通過計算各個特征之間的互信息作為度量冗余的標準并過濾掉冗余特征,獲得網絡攻擊特征的最優表征子集。最小冗余準為:

(3)
根據式(3)所示的冗余特征過濾標準,刪除掉冗余特征,剩余的特征集合即為信息攻擊事件最優表征子集。
通常智能電網信息攻擊目的是引起大規模電力設備故障,使電力供應中斷。不同類型的信息攻擊發生后,相關量測數據的變化呈現出一定的規律性,但傳統采用淺層學習模型對不同類型的信息攻擊手段進行區分比較困難,需要設計強學習器對數據進行深層次的學習來獲得更高的識別精度。
XGBoost是一種集成學習模型,集成多個弱分類器進行集成表決,來獲得更高的預測精度[18]。和傳統的機器學習方法如支持向量機、K近鄰算法相比,訓練和預測速度更快。采用XGBoost算法可以在智能電網遭受信息攻擊后,更準確、快速地識別信息攻擊,并及時做出響應。
設原始數據集為D={(xi,yi):xi∈Rm,yi∈R},數據集共包含n個樣本,數據維度為m。每一個數據樣本xi對應的標簽yi,假設XGBoost集成學習模型共集成了K棵回歸樹,則XGBoost算法的預測結果如下:
(4)
式中fk為一棵回歸樹;F為所有回歸樹構成的集成分類器;fk(xi)對應第k棵回歸樹在樣本i上的預測分數。XGBoost的損失函數為:
(5)
式中l為誤差函數,Ω(fk)為正則化項,防止模型過擬合。Ω(fk)計算方式為:
(6)

(7)
將式(7)按照二階泰勒公式展開并舍掉常數項,計算結果為:
(8)
gi及hi分別為損失函數的一階導數和二階導數,計算如式(9)和式(10)所示:
(9)
式中Ij={i|q(xi)=j}代表葉子j上得樣本組,將目標函數轉換為關于wj的一元二次方程組的最小值求解問題,當樹的結構不變時,葉子j的最優權重為:
(10)
此時最優目標值為:
(11)
式中Gj=∑i∈Ijgi;Hj=∑i∈Ijhi;Obj代表樹的結構分數,越小精度越高。對于當前葉子節點,XGBoost采用貪心算法對子樹進行劃分,每次迭代對已有節點加入一個分割點,并選擇使信息增益最大的節點進行分裂,節點信息增益計算方法為:

(12)
XGBoost算法每棵樹的節點都是在做一次特征分裂,可以根據某一特征被選做分裂特征的次數來評估該特征的重要性,重要性越高,則該特征越利于分類器對智能電網信息攻擊的識別。
基于上述研究工作,將信息攻擊識別模型映射為多分類機器學習模型,通過PMU采集數據訓練分類器,獲得對多種信息攻擊具有識別能力的集成學習模型,該模型不僅能夠區分是否存在信息攻擊的,并且可以識別具體的信息攻擊種類。假設采集的數據中共有m個樣本,模型對第i個樣本識別結果為yi,模型的識別結果為:
(13)
模型構建主要包含以下三個主要步驟,如圖2所示。

圖2 智能電網信息攻擊識別模型框架
(1)針對PMU收集的包含攻擊的數據,首先采用平均值法填補缺失值,然后基于kmeans-smote算法對數據進行過采樣處理,得到平衡數據集;
(2)采用最大相關-最小冗余(MRMR)特征選擇方法對原始特征集進行降維,獲得信息攻擊事件最優表征特征子集;
(3)設計XGBoost分類器對信息攻擊事件類型進行分類識別。
采用密西西比州立大學開源的電力系統網絡攻擊數據集[19],該電力拓撲是一個二機三母線輸電系統,有4個PMU和4個繼電保護裝置(編號R1~R4),對關鍵節點數據進行采集。數據經處理后共包含四類樣本,這四類數據分別描述如下:
(1)無攻擊:電力系統正常運行或維護等不存在網絡攻擊場景;
(2)虛假數據注入攻擊:攻擊者篡改量數據并繞過不良數據檢測機制,使調度員失去對電力系統運行的正常控制能力;
(3)遠程跳閘命令注入攻擊:攻擊者篡改斷路器的控制信號,使斷路器不能正常開通和關斷;
(4)繼電器延時設置篡改攻擊:攻擊者篡改繼電器設置,使繼電器無法在電力系統發生故障時斷開。
數據中共包含15個子數據集,累計量測數據約7萬條,每個子數據集包含128個征,特征共分為五組,前四組是4個PMU采集的量測數據,最后一組是控制面板日志、Snort警報以及繼電器日志,特征總體描述如表1所示。

表 1 特征描述
15個數據集下四類樣本數量統計如圖3所示,類別0代表不存在信息攻擊,類別1代表虛假數據注入如攻擊,類別2代表遠程跳閘命令注入攻擊,類別3代表繼電器延時設置篡改攻擊。

圖3 數據集樣本數量統計
根據提出的多分類數據不平衡性度量方法,15個子數據集不平衡率統計如表2所示。

表2 數據不平衡度量
由表2分析,15個子數據集各類別間都嚴重不平衡,為了降低少數類樣本造成的信息攻擊識別誤報率升高的問題,改進的kmean-smote算法對數據進行過采樣處理,以最不平衡的子數據集data 1為例,過采樣后數據集各類別樣本占比如圖4所示。過采樣后四類樣本平均占比都接近25%,實現了數據平衡,降低了數據不平衡對信息攻擊識別的影響。
過采樣處理后的平衡數據經特征選擇后從128維降到了40維,特征維度降低67%。這40個特征對應的特征序號及其和數據標簽之間的互信息值(Mutual Information, MI)如圖5所示。其中,最利于信息攻擊識別的最優5個特征分別為R4-PM2: V、R3-PA6: IH、R1-PM7: V、R1-PM3: V、R3-PM7: V,這40個特征共同構成智能電網信息攻擊最優表征特征子集。

圖4 過采樣后樣本數量統計

圖5 信息攻擊事件最優表征特征子集
3.3.1 信息攻擊識別模型有效性評估
采用XGBoost分類器對信息攻擊類型進行分類識別,分類器在默認參數下進行訓練,集成的基分類器個數為100。模型在數據集1上的ROC曲線如圖6所示。

圖6 攻擊識別的ROC曲線
由圖6可知,提出的信息攻擊識別模型在測試集上的ROC曲線收斂到(0,1)點, 模型在低誤報率的條件下實現了高精度識別。
由圖7可知,模型在測試集上的精度-召回率曲線逐漸收斂到(1,1)點,模型能夠更好地平衡精度和召回率指標,且兩個指標都達到很高的值。由此可見,文中提出的智能電網信息攻擊識別模型在數據不平衡的條件下保證了信息攻擊的識別準確率。

圖7 攻擊識別的精度-召回率曲線
由圖8可知,提出的信息攻擊識別模型對無攻擊的識別精度為96%,對虛假數據注入攻擊的識別精度為97%,對遠程跳閘命令注入的識別精度達到97%,繼電器延時設置更改的識別精度達到94%。綜合上述分析,提出的智能電網信息攻擊識別模型在電網存在信息攻擊的條件下可以實現高精度識別,同時未發生信息攻擊時的誤報率極低,僅為4%。由此可見,提出的信息攻擊識別模型不僅可以較好區分電網系統是否受到信息攻擊,同時能夠準確識別攻擊類別。

圖8 攻擊識別的混淆矩陣
3.3.2 與其他信息攻擊識別模型對比
將文中模型和典型的有監督學習算法進行對比分析,包括K近鄰算法(KNN)、決策樹算法(DT)、人工神經網路(ANN)、邏輯回歸(LR)、梯度提升決策樹(GBDT)以及adaboost算法。各算法的總體準確率、平均召回率、平均精度以及平均F1-Score指標如圖9所示。
由圖9可知,提出的智能網電網信息攻擊識別模型的四個性能指標趨于穩定,且顯著高于其他典型的監督學習算法,表明提出信息攻擊識別模型在識別精度上性能優于其他機器學習模型。

圖9 不同算法性能對比
3.3.3 信息攻擊識別模型泛化性能驗證
為了驗證模型的泛化能力,在15個數據集上對模型性能就準確率、平均召回率、平均精度以及平均F1-Score進行對比驗證,對比結果如圖10所示。
由圖10分析可知,在15個數據子集上的平均識別準確率為95.87%,平均精度為95.88%,平均召回率為95.86%,平均F1-Score為95.8%。由此可見該信息攻擊識別模型不僅在單一數據集上取得了很高的識別精度以及低誤報率,15個子數據集下識別精度仍然取得了高精度,證明所提出的信息攻擊識別性能的泛化性。

圖10 攻擊識別的泛化能力對比
提出一種基于XGBoost的智能電網信息攻擊識別模型,在攻擊樣本數量偏低、且數據維度過高的條件下提升了信息攻擊的識別精度。
(1)提出改進的kmeans-smote過采樣方法來獲取平衡數據集,輔助模型的訓練和評估,降低不平衡數據對分類器訓練的影響;
(2)在過采樣數據基礎上,提出MRMR特征選擇方法得到信息攻擊最優表征特征子集,實現數據的降維處理,并提升信息攻擊識別效率;
(3)構建XGBoost分類器,對智能電網是否遭受信息攻擊,及具體的攻擊類型進行識別。
經實驗驗證,提出的智能電網信息攻擊識別模型在攻擊樣本不足、且數據維度過高的條件下大幅度提高了對攻擊的識別精度,為智能電網信息攻擊的有效識別與動態防御奠定了基礎。