曾俊嬈,李 鵬,高 蓮,沈 鑫
(1.云南大學(xué) 信息學(xué)院,云南 昆明 650500; 2.云南省高校物聯(lián)網(wǎng)技術(shù)及應(yīng)用重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650500;3.云南電網(wǎng)有限責(zé)任公司 電力科學(xué)研究院,云南 昆明 650511)
隨著傳感器、計(jì)算機(jī)和通信網(wǎng)絡(luò)的飛速發(fā)展,現(xiàn)代電力系統(tǒng)已成為復(fù)雜的信息物理融合系統(tǒng)(Cyber-Physical Systems,CPS)[1-3]。雖然先進(jìn)的網(wǎng)絡(luò)通信技術(shù)使得電力系統(tǒng)運(yùn)行更加高效,但同時(shí)帶來(lái)不可忽視的網(wǎng)絡(luò)安全問(wèn)題[4-5]。例如在2015年,烏克蘭電網(wǎng)遭受到網(wǎng)絡(luò)攻擊,220萬(wàn)居民受影響無(wú)法正常用電,導(dǎo)致巨大經(jīng)濟(jì)損失[6]。保證電網(wǎng)安全可靠運(yùn)作的1個(gè)重要條件是不良數(shù)據(jù)檢測(cè),通過(guò)比較測(cè)量殘差二范數(shù)與殘差閾值來(lái)檢測(cè)數(shù)據(jù)是否正常。虛假數(shù)據(jù)注入攻擊(False Data Injection Attacks,FDIAs)作為電網(wǎng)中1種新型的網(wǎng)絡(luò)攻擊方式,2009年由Liu等[7]提出,國(guó)內(nèi)外學(xué)者開始對(duì)其進(jìn)行研究。FDIAs通過(guò)改變狀態(tài)變量,影響狀態(tài)估計(jì)的準(zhǔn)確性,從而使系統(tǒng)采集到錯(cuò)誤的量測(cè)值。該攻擊能夠繞過(guò)不良數(shù)據(jù)檢測(cè)模塊,對(duì)電網(wǎng)造成極大威脅。為保證電力系統(tǒng)安全穩(wěn)定運(yùn)行,有效檢測(cè)虛假數(shù)據(jù)注入攻擊至今是1個(gè)值得研究的課題。
為抵御FDIAs對(duì)電網(wǎng)的危害,學(xué)者分別從保護(hù)方法和檢測(cè)策略2方面進(jìn)行研究。在保護(hù)方法上,Bobba等[8]通過(guò)保護(hù)基本量測(cè)點(diǎn)抵御FDIAs,但此方法要求基本量測(cè)點(diǎn)數(shù)量與電力系統(tǒng)母線數(shù)量相等,當(dāng)電網(wǎng)規(guī)模較大時(shí),保護(hù)成本過(guò)高;Deng等[9]為使防御策略的成本達(dá)到最低,將保護(hù)測(cè)量選擇問(wèn)題定義為混合整數(shù)非線性問(wèn)題;Kim等[10]采用貪婪方法選擇相角策略單元(Phase Measurement Unit,PMU),對(duì)于抵御FDIAs的完美攻擊具有一定的效果。在檢測(cè)策略方面,Valenzuela等[11]使用主成分分析算法從潮流歷史數(shù)據(jù)中生成規(guī)則子空間和不規(guī)則子空間,將當(dāng)前的測(cè)量數(shù)據(jù)投影到不規(guī)則子空間中,對(duì)其進(jìn)行分析,判斷電力系統(tǒng)數(shù)據(jù)是否遭到破壞;Liu等[12]提出核規(guī)范最小化法和低秩矩陣分解法來(lái)檢測(cè)電網(wǎng)中的FDIAs,并且對(duì)攻擊數(shù)據(jù)進(jìn)行恢復(fù);石家宇等[13]在拉普特征映射對(duì)歷史量測(cè)數(shù)據(jù)降維的基礎(chǔ)上,使用神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型檢測(cè)FDIAs;Hao等[14]基于魯棒主成分分析方法設(shè)計(jì)檢測(cè)方法,通過(guò)深度置信網(wǎng)絡(luò)提取輸入數(shù)據(jù)特征,然后訓(xùn)練模型去檢測(cè)虛假數(shù)據(jù)注入攻擊;Ozay等[15]將SVM,K-NN和感知機(jī)這3種機(jī)器學(xué)習(xí)方法用于FDIAs檢測(cè)。
現(xiàn)有的FDIAs檢測(cè)使用的機(jī)器學(xué)習(xí)算法在訓(xùn)練數(shù)據(jù)時(shí)需要正常數(shù)據(jù)和攻擊數(shù)據(jù),當(dāng)缺少攻擊數(shù)據(jù)時(shí)無(wú)法對(duì)其訓(xùn)練,且訓(xùn)練和攻擊數(shù)據(jù)比例不同時(shí),測(cè)試精度會(huì)發(fā)生改變。同時(shí)上述提到的主成分分析、魯棒主成分分析沒(méi)有考慮數(shù)據(jù)的局部特征,而電網(wǎng)攻擊數(shù)據(jù)更多的表現(xiàn)為1種局部特征,數(shù)據(jù)具有時(shí)間相關(guān)性。
針對(duì)以上問(wèn)題,本文提出1種新的FDIAs檢測(cè)模型,該模型可同時(shí)提取空間和時(shí)間結(jié)構(gòu)的信息,并且降維之后的數(shù)據(jù)保留了原有的局部流行結(jié)構(gòu)。在電力系統(tǒng)實(shí)際運(yùn)行過(guò)程中很難采集到足夠多的攻擊數(shù)據(jù),而使用本文模型訓(xùn)練數(shù)據(jù)時(shí)只需采集電力系統(tǒng)正常運(yùn)行下的歷史量測(cè)數(shù)據(jù),建模后可對(duì)實(shí)時(shí)的量測(cè)數(shù)據(jù)進(jìn)行分析,及時(shí)檢測(cè)數(shù)據(jù)是否受到攻擊。實(shí)驗(yàn)結(jié)果表明,本文所提出的方法具有較高檢測(cè)率,能夠有效應(yīng)用到電網(wǎng)FDIAs檢測(cè)當(dāng)中。
電力系統(tǒng)狀態(tài)估計(jì)就是根據(jù)量測(cè)數(shù)據(jù)估計(jì)系統(tǒng)的狀態(tài),從實(shí)際應(yīng)用情況來(lái)看,其主要功能包括提高量測(cè)數(shù)據(jù)的精度、簡(jiǎn)單的不良數(shù)據(jù)檢測(cè)與辨識(shí)。在1個(gè)具有n條母線的電力系統(tǒng)中,系統(tǒng)的狀態(tài)取為b=(b1,b2,…,bn)T,bi表示相位角,由于節(jié)點(diǎn)1為參考節(jié)點(diǎn),故系統(tǒng)狀態(tài)表示為b=(b2,b3…,bn)T,將從控制中心獲取到的m個(gè)量測(cè)值表示為z=(z1,z2,…,zm)T,在直流功率模型中,直流潮流方程如式(1)所示:
z=Hb+e
(1)
式中:z為量測(cè)值;b為待估計(jì)狀態(tài)向量的集合;H為1個(gè)m×n的雅可比矩陣;e為量測(cè)誤差。
加權(quán)最小二乘法的狀態(tài)估計(jì)如式(2)所示:
(2)
當(dāng)完全了解電網(wǎng)拓?fù)浣Y(jié)構(gòu)信息時(shí),攻擊者便可對(duì)電網(wǎng)進(jìn)行FDIAs。此時(shí),受攻擊后的量測(cè)數(shù)據(jù)如式(3)所示:
za=z+a
(3)
式中:za為受到FDIAs后的量測(cè)值;a為m×1的FDIAs向量。
狀態(tài)估計(jì)量如式(4)所示:
(4)
當(dāng)a=Hc(c=(c1,c2,…,cn))時(shí),測(cè)量殘差的二范數(shù)如式(5)所示:
(5)
由式(5)可知,受攻擊前后的殘差一致,故可成功繞過(guò)不良數(shù)據(jù)檢測(cè)模塊,導(dǎo)致FDIAs不易被檢測(cè)到。
2005年,領(lǐng)域保持嵌入算法(Neighborhood Preserving Embedding,NPE)被首次提出,該算法是將LLE算法通過(guò)線性近似處理得到的[16]。NPE是1種流行學(xué)習(xí)算法,其基本思想是尋找數(shù)據(jù)中的低維流形信息,并且保持原有數(shù)據(jù)與鄰域數(shù)據(jù)之間的線性重構(gòu)關(guān)系,最終使得降維后的數(shù)據(jù)仍能保留原樣本空間中的局部流行結(jié)構(gòu)。
NPE算法需要對(duì)樣本進(jìn)行重構(gòu),假設(shè)訓(xùn)練樣本數(shù)據(jù)集為X(x1,…,xn),n為樣本點(diǎn)的總個(gè)數(shù),采用取歐式距離最小的方法找出每個(gè)樣本點(diǎn)的最近的k個(gè)數(shù)據(jù)點(diǎn),構(gòu)成領(lǐng)域點(diǎn)集。在足夠小的領(lǐng)域內(nèi)認(rèn)為數(shù)據(jù)是線性相關(guān)的,因此每個(gè)樣本點(diǎn)可利用這k個(gè)領(lǐng)域點(diǎn)進(jìn)行重構(gòu),重構(gòu)系數(shù)矩陣可通過(guò)最小化函數(shù)獲得,函數(shù)如式(6)所示:
(6)
式中:Φ為求解重構(gòu)系數(shù)矩陣的函數(shù);xi為數(shù)據(jù)集中的第i個(gè)樣本點(diǎn);xj為與樣本點(diǎn)xi最近的k個(gè)樣本點(diǎn)中的第j個(gè)樣本點(diǎn);W為重構(gòu)系數(shù)矩陣;Wij為W的第i行第j列。
約束條件如式(7)所示:
(7)
訓(xùn)練數(shù)據(jù)樣本通過(guò)映射矩陣投影到低維空間,投影矩陣可通過(guò)求解極小值問(wèn)題得到,如式(8)所示:
(8)
式中:A為投影矩陣;a為A中的一組投影向量;yi和yj為低維空間的投影數(shù)據(jù);I為單位矩陣。
求投影矩陣A的問(wèn)題可進(jìn)一步通過(guò)拉格朗日乘子法將其轉(zhuǎn)化為廣義求特征值的問(wèn)題,轉(zhuǎn)化方式如式(9)所示:
X(I-W)T(I-W)XTa=λXXTa
(9)
式中:λ為特征值。
設(shè)降維后的維度為d,則前d個(gè)小的特征值所對(duì)應(yīng)的特征向量為投影矩陣A。
NPE算法通過(guò)提取局部特征從而獲得整個(gè)數(shù)據(jù)集的空間特征,但對(duì)于時(shí)序相關(guān)的數(shù)據(jù),不能提取時(shí)間的動(dòng)態(tài)特征。為獲取到更多的數(shù)據(jù)集信息,文獻(xiàn)[17]在NPE的基礎(chǔ)上提出1種基于時(shí)序擴(kuò)展的鄰域保持嵌入算法(Time Neighbor Preserving Embedding,TNPE),該算法同時(shí)考慮數(shù)據(jù)的空間以及時(shí)間變化特征,對(duì)于動(dòng)態(tài)時(shí)間數(shù)據(jù)能夠較好地保留更多關(guān)鍵信息。
在動(dòng)態(tài)系統(tǒng)中,第n時(shí)刻采樣的數(shù)據(jù)與n-1,n-2,n-3,…的有限時(shí)刻的值有關(guān),第n+1,n+2,n+3,…時(shí)刻的值也與現(xiàn)在以及過(guò)去的數(shù)據(jù)相關(guān)。本文選取k個(gè)空間近鄰點(diǎn)、2k個(gè)時(shí)序鄰近點(diǎn),對(duì)其進(jìn)行線性重構(gòu),如式(10)所示:
(10)
式中:WS為空間權(quán)重系數(shù)矩陣;WP為時(shí)間權(quán)重系數(shù)矩陣;WSij為WS的第i行第j列;WPij為WP的第i行第j列。
TNPE的目標(biāo)是將樣本映射到低維空間之后,依然可以保留數(shù)據(jù)局部近鄰特征。對(duì)xi在低維空間所對(duì)應(yīng)的yi進(jìn)行重構(gòu),因此建立TNPE的目標(biāo)函數(shù),如式(11)所示:
J=min(ηΦ(y)S)+min((1-η)Φ(y)P)
(11)
式中:J為TNPE算法的目標(biāo)函數(shù);y為數(shù)據(jù)x的低維投影向量;η為空間特征在空間與時(shí)間總特征信息中的權(quán)重,0≤η≤1。
由于y=ATx,Φ(y)S和Φ(y)P可進(jìn)一步轉(zhuǎn)化,如式(12)所示:
(12)
根據(jù)式(12),式(11)的問(wèn)題可以轉(zhuǎn)化為求投影矩陣A的問(wèn)題。J化簡(jiǎn)后如式(13)所示:
(13)
約束條件為yTy=aTXXTa=I。
運(yùn)用拉格朗日乘子法求解上式,取前d個(gè)小的特征值所對(duì)應(yīng)的特征向量。
本文提出1種基于TNPE的FDIAs檢測(cè)模型,采集電力系統(tǒng)正常運(yùn)行時(shí)多條歷史量測(cè)數(shù)據(jù)去訓(xùn)練模型,通過(guò)TNPE算法使數(shù)據(jù)降到d維。
(14)
Λ-1=[YTY/(n-1)]-1
(15)
式中:Y為低維數(shù)據(jù)點(diǎn)的集合;Λ-1為Y的樣本協(xié)方差矩陣;F(d,n-d;α)為顯著水平為α、自由度為d和n-d的F分布。
基于TNPE的智能電網(wǎng)FDIAs方法可分為2個(gè)階段,即訓(xùn)練模型和在線檢測(cè)。
訓(xùn)練模型的具體步驟如下:
1)將采集到的正常歷史量測(cè)數(shù)據(jù)通過(guò)TNPE算法來(lái)提取數(shù)據(jù)的空間和時(shí)間特征。
在線監(jiān)測(cè)的具體步驟如下:
1)將采集到的實(shí)際量測(cè)數(shù)據(jù)xnewi通過(guò)TNPE算法提取數(shù)據(jù)新的特征。
基于TNPE的FDIAs檢測(cè)的偽代碼如下:
1)采集正常運(yùn)行下的量測(cè)數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集
2)設(shè)定數(shù)據(jù)降維維度d=25,近鄰點(diǎn)數(shù)k=10
4)輸入受攻擊的數(shù)據(jù)實(shí)行在線監(jiān)測(cè)
5)Fori=1,2,3…
8)樣本數(shù)據(jù)受到FDIAs
9)Else
10)數(shù)據(jù)未受到FDIAs
11)End if
12)End for
本文提出的基于TNPE的智能電網(wǎng)FDIAs檢測(cè)流程如圖1所示。
圖1 基于TNPE的智能電網(wǎng)FDIAs檢測(cè)流程Fig.1 FDIAs detection procedure of smart grids based on TNPE
本文使用IEEE30節(jié)點(diǎn)系統(tǒng),如圖2所示,在MATLAB上進(jìn)行仿真分析,驗(yàn)證模型的檢測(cè)效果。IEEE30節(jié)點(diǎn)系統(tǒng)中,每條量測(cè)數(shù)據(jù)包括112條測(cè)量值。測(cè)量值包含總線有功和無(wú)功功率以及各支路的有功和無(wú)功功率,待估狀態(tài)變量包括除平衡節(jié)點(diǎn)外的29個(gè)電壓相角。由Matpower工具箱[18]模擬負(fù)荷曲線產(chǎn)生具有時(shí)間相關(guān)性的量測(cè)數(shù)據(jù)。實(shí)驗(yàn)將TNPE算法與NPE,PCA,ICA進(jìn)行對(duì)比。
圖2 IEEE30節(jié)點(diǎn)系統(tǒng)Fig.2 IEEE30 node system
算法參數(shù)設(shè)置如下:在TNPE模型中,近鄰數(shù)設(shè)為10,維數(shù)設(shè)為25;對(duì)比實(shí)驗(yàn)中,NPE模型的近鄰數(shù)與維數(shù)設(shè)置與TNPE相同;PCA算法通過(guò)主元貢獻(xiàn)度為80%的標(biāo)準(zhǔn)選出24個(gè)主元個(gè)數(shù);ICA通過(guò)迭代求取主元;4個(gè)模型的T2置信度都設(shè)為99%。
以IEEE30節(jié)點(diǎn)系統(tǒng)生成的1組量測(cè)數(shù)據(jù)證明成功構(gòu)造FDIAs。在生成的量測(cè)數(shù)據(jù)中加入均值為0、方差為1的噪聲使得數(shù)據(jù)更具真實(shí)性。根據(jù)FDIAs原理給正常數(shù)據(jù)注入攻擊向量,系統(tǒng)攻擊前后的量測(cè)數(shù)據(jù)分布狀況如圖3所示,狀態(tài)量變化情況如圖4所示。
圖3 系統(tǒng)攻擊前后量測(cè)數(shù)據(jù)分布狀況Fig.3 Distribution of measurement data before and after system attack
圖4 系統(tǒng)攻擊前后狀態(tài)量變化情況Fig.4 Status changes before and after system attack
由圖3可知,受攻擊后量測(cè)值發(fā)生改變,而圖4中的部分狀態(tài)變量發(fā)生偏移,其分布與未攻擊前的基本一致,通過(guò)MATLAB計(jì)算得出,攻擊前的殘差為10.767 4,攻擊后的殘差為10.421 8,幾乎相等,與FDIAs原理相符。多次實(shí)驗(yàn)證明攻擊前后的殘差均相差不大,說(shuō)明攻擊能夠成功繞過(guò)不良數(shù)據(jù)檢測(cè),實(shí)現(xiàn)FDIAs攻擊,破壞電力系統(tǒng)的穩(wěn)定運(yùn)行。
模型訓(xùn)練實(shí)驗(yàn)使用正常數(shù)據(jù)建模,正常數(shù)據(jù)測(cè)試。分別選取2 000,4 000條數(shù)據(jù)進(jìn)行2次實(shí)驗(yàn),每次實(shí)驗(yàn)中一半數(shù)據(jù)用來(lái)訓(xùn)練,一半數(shù)據(jù)用來(lái)測(cè)試,實(shí)驗(yàn)數(shù)據(jù)分配情況見(jiàn)表1。
表1 實(shí)驗(yàn)數(shù)據(jù)分配情況Table 1 Distribution of experimental data
以誤報(bào)率作為評(píng)價(jià)模型好壞的指標(biāo),離線模型的誤報(bào)率越低,模型越好。實(shí)驗(yàn)得出的檢測(cè)數(shù)據(jù)誤報(bào)率見(jiàn)表2。由于實(shí)驗(yàn)2數(shù)據(jù)的增加,相應(yīng)的誤報(bào)率有所增加,通過(guò)比較可知,TNPE的誤報(bào)率相對(duì)較低。
表2 檢測(cè)數(shù)據(jù)誤報(bào)率Table 2 False alarm rates of detection data %
實(shí)驗(yàn)1和實(shí)驗(yàn)2的檢測(cè)結(jié)果分別如圖5~6所示。圖5~6中虛線為通過(guò)訓(xùn)練數(shù)據(jù)得到的統(tǒng)計(jì)限,實(shí)線為檢測(cè)數(shù)據(jù)的實(shí)時(shí)統(tǒng)計(jì)量,實(shí)時(shí)統(tǒng)計(jì)量若超過(guò)統(tǒng)計(jì)限,則說(shuō)明出現(xiàn)誤報(bào)情況。由實(shí)驗(yàn)結(jié)果可知,ICA和PCA出現(xiàn)多次誤報(bào),NPE結(jié)果相對(duì)要好,TNPE結(jié)果最好,表明由TNPE算法訓(xùn)練得來(lái)的模型更加適用于FDIAs的檢測(cè)。
圖5 實(shí)驗(yàn)1檢測(cè)結(jié)果Fig.5 Detection results of test 1
圖6 實(shí)驗(yàn)2檢測(cè)結(jié)果Fig.6 Detection results of test 2
為驗(yàn)證文中提出的TNPE方法檢測(cè)FDIAs的有效性,對(duì)包含攻擊數(shù)據(jù)的3 000條樣本數(shù)據(jù)進(jìn)行檢測(cè)。其中,前1 500條正常數(shù)據(jù)用于訓(xùn)練模型,后1 500條數(shù)據(jù)用于測(cè)試。對(duì)于測(cè)試數(shù)據(jù),前500條為正常數(shù)據(jù),后800條為FDIAs的數(shù)據(jù),將實(shí)驗(yàn)結(jié)果與PCA,KPCA,NPE算法的檢測(cè)結(jié)果進(jìn)行對(duì)比,F(xiàn)DIAs檢測(cè)結(jié)果對(duì)比如圖7所示,攻擊數(shù)據(jù)檢測(cè)率見(jiàn)表3。
表3 攻擊數(shù)據(jù)檢測(cè)率Table 3 Detection rates of attack data %
圖7 FDIAs檢測(cè)結(jié)果對(duì)比Fig.7 Comparison of FDIAs detection results
實(shí)驗(yàn)結(jié)果表明,當(dāng)受到FDIAs攻擊時(shí),4種模型均能檢測(cè)到攻擊的發(fā)生,但基于TNPE的FDIAs檢測(cè)方法檢測(cè)效果更好,檢測(cè)率明顯高于其他3個(gè)模型,且誤報(bào)率較低,可見(jiàn)本文提出的TNPE模型適用于電網(wǎng)FDIAs檢測(cè)。
1)解決了常用的FDIAs檢測(cè)方法中數(shù)據(jù)難獲取、不完備帶來(lái)的問(wèn)題,僅利用完備的正常數(shù)據(jù)即可建立離線測(cè)試模型,實(shí)時(shí)采集的量測(cè)數(shù)據(jù)可通過(guò)本文模型實(shí)現(xiàn)在線檢測(cè)。
2)可同時(shí)提取數(shù)據(jù)的局部空間特征和時(shí)間特征,保留數(shù)據(jù)中更多的關(guān)鍵信息。
3)MATLAB的仿真實(shí)例表明,方法的誤報(bào)率較低,檢測(cè)率高達(dá)100%,模型性能優(yōu)于ICA,PCA和NPE算法,驗(yàn)證了方法在智能電網(wǎng)FDIAs檢測(cè)的優(yōu)越性,為智能電網(wǎng)FDIAs檢測(cè)提供1種更有效的方法。