王競(jìng)才,李 琰,徐天奇
(云南民族大學(xué)云南省高校CPS融合系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,云南昆明 650504)
智能電網(wǎng)是一種典型的電力信息物理系統(tǒng)(Cyber Physical Power System,CPPS),隨著信息網(wǎng)與電網(wǎng)的深度融合,信息網(wǎng)在電力系統(tǒng)的生產(chǎn)調(diào)度、運(yùn)行監(jiān)控等方面發(fā)揮了重要的作用[1-2],但這也使得CPPS 容易遭受各種惡意網(wǎng)絡(luò)攻擊。在電力應(yīng)急控制服務(wù)的數(shù)據(jù)傳輸過(guò)程中,對(duì)快速響應(yīng)的需求使得測(cè)量設(shè)備缺乏抵御惡意信息攻擊的能力[3]。近年來(lái)多次大停電事件表明一次成功的網(wǎng)絡(luò)攻擊可能導(dǎo)致地區(qū)的大面積停電。如2015 年針對(duì)烏克蘭電網(wǎng)的網(wǎng)絡(luò)攻擊使得烏克蘭境內(nèi)超過(guò)10 萬(wàn)戶居民停電6 個(gè)小時(shí)[4]。
在眾多的網(wǎng)絡(luò)攻擊中,虛假數(shù)據(jù)注入攻擊是通過(guò)控制信息節(jié)點(diǎn),向系統(tǒng)注入虛假數(shù)據(jù),達(dá)到破壞數(shù)據(jù)完整性的目的。一次成功的虛假數(shù)據(jù)注入攻擊(False Data Injection Attack,F(xiàn)DIA)可以干擾電力系統(tǒng)的正常狀態(tài)估計(jì),甚至誘導(dǎo)調(diào)度員進(jìn)行誤操作[5],文獻(xiàn)[6]證明了FDIA 可以繞過(guò)基于殘差的壞數(shù)據(jù)監(jiān)測(cè)(Bad Data Detection,BDD)。文獻(xiàn)[7]構(gòu)建了基于直流潮流的FDIA 三層攻擊模型,驗(yàn)證了FDIA 導(dǎo)致的誤操作可能會(huì)使電網(wǎng)中的線路過(guò)載,但是直流潮流存在誤差較大的問(wèn)題。文獻(xiàn)[8]提出了兩種交流潮流下的攻擊方式,并給出相應(yīng)防御策略,但在所提及的區(qū)間狀態(tài)估計(jì)中由于在一個(gè)較高的寬度下進(jìn)行會(huì)導(dǎo)致計(jì)算精度不高。FDIA 具有隱蔽性與破壞性,需要對(duì)CPPS 進(jìn)行合理監(jiān)控和數(shù)據(jù)檢測(cè)[9]。
智能電網(wǎng)中廣泛應(yīng)用的狀態(tài)估計(jì)方法是基于加權(quán)最小二乘估計(jì)(Weighted Least Square,WLS)。目前防范FDIA 有兩種方法:基于保護(hù)的方法和基于檢測(cè)的方法,在基于保護(hù)的方法中,可以通過(guò)向一些重要節(jié)點(diǎn)或線路安裝抗篡改的測(cè)量設(shè)備[10-12]或采用先進(jìn)的加密協(xié)議[13-14]等方式,但基于保護(hù)的防御方法存在成本較高、對(duì)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的電網(wǎng)的適應(yīng)性較差等問(wèn)題。而基于檢測(cè)的方法通常是在狀態(tài)估計(jì)中檢測(cè)和識(shí)別FDIA[15-16]。文獻(xiàn)[17]提出一種基于WLS 的遞歸狀態(tài)估計(jì),但是WLS 是一種線性估計(jì),用來(lái)估計(jì)電力系統(tǒng)這個(gè)非線性系統(tǒng)還是會(huì)有很大誤差。文獻(xiàn)[18]提出一種基于極端梯度提升結(jié)合無(wú)跡卡爾曼濾波的電網(wǎng)虛假數(shù)據(jù)注入攻擊檢測(cè)方法。利用極端梯度提升來(lái)預(yù)測(cè)負(fù)荷會(huì)使檢測(cè)更加準(zhǔn)確,但仍然面臨求解困難的問(wèn)題。文獻(xiàn)[19]提出了一種基于差分序列方差與信息物理系統(tǒng)融合的數(shù)字變電站數(shù)據(jù)異常檢測(cè)方法,所提方法不僅能有效識(shí)別信息設(shè)備物理故障和惡意入侵導(dǎo)致的數(shù)據(jù)異常,對(duì)于拒絕服務(wù)攻擊也能實(shí)現(xiàn)準(zhǔn)確檢測(cè),相比于傳統(tǒng)方法具有更高的準(zhǔn)確性與可靠性。文獻(xiàn)[20]在保留原始WLS 的同時(shí),引入了一個(gè)卡爾曼濾波器,通過(guò)兩估計(jì)器的殘差來(lái)判斷系統(tǒng)遭受了攻擊,并在濾波過(guò)程中加入了一個(gè)加權(quán)函數(shù),使檢測(cè)性能大大提升,但也存在著線性濾波的精確度問(wèn)題。文獻(xiàn)[21]提出了一種余弦相似匹配方法,通過(guò)比較卡爾曼濾波器的估計(jì)狀態(tài)值和相位測(cè)量單元(Phasor Measurement Units,PMU)的測(cè)量值來(lái)檢測(cè)FDIA。文獻(xiàn)[22]提出一種FDIA 的在線檢測(cè)方法,利用負(fù)荷預(yù)測(cè)、發(fā)電計(jì)劃和同步相量數(shù)據(jù)來(lái)檢測(cè)測(cè)量異常。文獻(xiàn)[23]提出了一種保證全系統(tǒng)可觀的相量測(cè)量單元優(yōu)化部署策略。文獻(xiàn)[21-23]方法的實(shí)現(xiàn)往往依賴于先進(jìn)的測(cè)量設(shè)備如PMU 的可靠測(cè)量,而如何在極短時(shí)間內(nèi)管理和利用高密度的數(shù)據(jù)流是一項(xiàng)極具挑戰(zhàn)性的任務(wù)。
本文提出了一種基于擴(kuò)展卡爾曼濾波的檢測(cè)方法,該方法利用檢測(cè)數(shù)據(jù)遞歸得到系統(tǒng)的實(shí)時(shí)運(yùn)行數(shù)據(jù),是一種遞歸方法。通過(guò)比較WLS 與EKF的殘差來(lái)實(shí)時(shí)檢測(cè)系統(tǒng)數(shù)據(jù)的準(zhǔn)確性。
攻擊者要想發(fā)動(dòng)一次成功的FDIA,首先需要干擾正常的狀態(tài)估計(jì)。式(1)給出了狀態(tài)估計(jì)的量測(cè)方程為:
式中:zk為電力系統(tǒng)k時(shí)刻的量測(cè)量(包括節(jié)點(diǎn)注入的有功、無(wú)功功率以及線路上流過(guò)的有功、無(wú)功功率);xk為電力系統(tǒng)k時(shí)刻的狀態(tài)量(包括節(jié)點(diǎn)的電壓幅值與相角);h為狀態(tài)量與量測(cè)量關(guān)系的潮流方程;vk為量測(cè)誤差,滿足均值為0 的高斯白噪聲,其方差陣為Rk。
在電力系統(tǒng)中,BDD 中大部分的算法通常都是基于殘差檢驗(yàn)的,將殘差rk定義為:
式中:為k時(shí)刻的估計(jì)狀態(tài)向量,通常由WLS 求得。
WLS 的具體方法詳見(jiàn)文獻(xiàn)[8],通過(guò)將殘差的二范數(shù)與相應(yīng)閾值τ進(jìn)行比較來(lái)判斷是否有壞數(shù)據(jù),即:
假設(shè)攻擊者可以篡改部分節(jié)點(diǎn)的量測(cè)數(shù)據(jù),若攻擊者構(gòu)建的攻擊向量滿足:
則此時(shí)的BDD 結(jié)果為:
通過(guò)測(cè)算工業(yè)企業(yè)上述各項(xiàng)兩化融合評(píng)估指標(biāo),可對(duì)工業(yè)企業(yè)所處的兩化融合發(fā)展階段進(jìn)行劃分,即起步建設(shè)、單項(xiàng)覆蓋、集成提升和創(chuàng)新突破。從兩化融合發(fā)展的時(shí)間維度來(lái)看,單個(gè)工業(yè)企業(yè)將遵循上述四個(gè)階段實(shí)現(xiàn)兩化融合發(fā)展的階段式躍升。其中,處于起步建設(shè)階段的企業(yè)已逐步實(shí)現(xiàn)兩化融合基礎(chǔ)設(shè)施配備和環(huán)境建設(shè),處于單項(xiàng)覆蓋階段的企業(yè)能夠?qū)⑿畔⒓夹g(shù)利用在各單項(xiàng)業(yè)務(wù)環(huán)節(jié)中,處于集成提升階段的企業(yè)能夠有效實(shí)現(xiàn)企業(yè)內(nèi)部各業(yè)務(wù)環(huán)節(jié)的綜合集成,處于創(chuàng)新突破階段的企業(yè)能夠?qū)崿F(xiàn)跨企業(yè)的協(xié)同與創(chuàng)新(如圖3)。
可以看出,F(xiàn)DIA 成功繞過(guò)了BDD,關(guān)于如何構(gòu)建的問(wèn)題在文獻(xiàn)[6-8]中已經(jīng)有了大量的研究,故本文不再討論FDIA 的實(shí)現(xiàn)方法。
卡爾曼濾波的研究對(duì)象是一個(gè)存在隨機(jī)性的動(dòng)態(tài)系統(tǒng),即該系統(tǒng)可以表示為一個(gè)隨機(jī)的,但又有一定運(yùn)動(dòng)規(guī)律的時(shí)間函數(shù)。對(duì)于電力系統(tǒng)而言,不僅存在式(1)所示的量測(cè)方程,還應(yīng)有體現(xiàn)狀態(tài)量變化的轉(zhuǎn)移方程,即:
式中:f為狀態(tài)轉(zhuǎn)移方程;ωk為系統(tǒng)誤差,滿足均值為0 的高斯白噪聲,其方差陣為Wk。
在交流系統(tǒng)中,電力系統(tǒng)狀態(tài)量與量測(cè)量的關(guān)系可以分為4 類(lèi),即:
式中:Vi,Vj分別為節(jié)點(diǎn)i和j的電壓;Pi為節(jié)點(diǎn)i注入的有功功率;Qi為節(jié)點(diǎn)i注入的無(wú)功功率;Pij是線路ij通過(guò)的有功功率;Qij為線路ij通過(guò)的無(wú)功功率;為線路ij的電導(dǎo);為線路ij的電納;Yc為線路對(duì)地電納;Gij與Bij分別為導(dǎo)納矩陣中元素ij的實(shí)部與虛部;θij為節(jié)點(diǎn)i和節(jié)點(diǎn)j的相角差。
現(xiàn)代電力系統(tǒng)兩次采樣的時(shí)間間隔都很短[24],可以認(rèn)為各節(jié)點(diǎn)的有功、無(wú)功變化量在兩次采樣的時(shí)間間隔內(nèi)變化不大,則電力系統(tǒng)的狀態(tài)轉(zhuǎn)移方程可以從功率方程的增量中導(dǎo)出,即:
式中:ΔP為總的有功功率增量向量;ΔQ為總的無(wú)功功率增量向量;ΔPg為發(fā)電機(jī)有功變化向量;ΔPl為負(fù)荷有功變化向量;ΔQg為發(fā)電機(jī)無(wú)功變化向量;ΔQl為負(fù)荷的無(wú)功變化向量;Δθ,ΔV為系統(tǒng)有功、無(wú)功變化導(dǎo)致的節(jié)點(diǎn)電壓幅值、相角的變化量向量;J為雅可比矩陣;Δx為狀態(tài)變量的變化量;E,T,K,L為雅可比矩陣的子矩陣,其元素為,其中,θj為節(jié)點(diǎn)j的電壓相角,Vj為節(jié)點(diǎn)j的電壓幅值。
需要注意的是,由于平衡節(jié)點(diǎn)的V和θ是固定的,故雅可比矩陣不包括平衡節(jié)點(diǎn)的行和列。假設(shè)各節(jié)點(diǎn)的功率因數(shù)tanφ恒定,可以導(dǎo)出,即:
最后,推導(dǎo)出了時(shí)變的狀態(tài)轉(zhuǎn)移函數(shù),即:
式中:Fk-1=I+A為EKF 的狀態(tài)轉(zhuǎn)移矩陣,其值為一個(gè)單位矩陣I和一個(gè)對(duì)角矩陣A之和,對(duì)角矩陣A中各元素為:
由于狀態(tài)轉(zhuǎn)移矩陣Fk-1是時(shí)變的,可以反映系統(tǒng)中負(fù)荷、發(fā)電機(jī)出力的變化,其精確程度高于恒定的狀態(tài)轉(zhuǎn)移矩陣。
卡爾曼濾波的適用場(chǎng)景是線性系統(tǒng),但是電力系統(tǒng)是一個(gè)復(fù)雜的非線性系統(tǒng),因此考慮擴(kuò)展卡爾曼濾波(Extended Kalman Filter,EKF),EKF 的一般步驟參考文獻(xiàn)[25],對(duì)非線性的方程進(jìn)行泰勒展開(kāi),略去二次以上的高階項(xiàng),即可得到擴(kuò)展卡爾曼濾波的形式,分為預(yù)測(cè)步和濾波步。
1)預(yù)測(cè)步為:
此外,還應(yīng)考慮兩個(gè)初值的選擇,一個(gè)是將WLS 的結(jié)果選取為狀態(tài)變量的預(yù)測(cè)初值,因?yàn)閃LS屬于無(wú)偏估計(jì),可以滿足EKF 的假設(shè)條件;另一個(gè)為初始濾波誤差協(xié)方差矩陣的選取,因?yàn)镋KF 并不完全依賴于初始時(shí)刻的濾波誤差協(xié)方差矩陣P1的選取,所以一般取P1為單位陣即可。
正常情況下,由于誤差僅為系統(tǒng)中的噪聲,所以WLS 和EKF 的結(jié)果是極為接近的,但當(dāng)攻擊發(fā)生時(shí),被惡意更改的量測(cè)數(shù)據(jù)會(huì)使WLS 的狀態(tài)估計(jì)更改為攻擊者的預(yù)期量測(cè)數(shù)據(jù);另一方面,由于轉(zhuǎn)移矩陣(Fk-1)和系統(tǒng)誤差(ωk)的約束效應(yīng),從EKF 獲得的估計(jì)值只會(huì)小部分偏移,所以若兩估計(jì)器結(jié)果相差過(guò)大,認(rèn)為電網(wǎng)遭受了FDIA,檢測(cè)公式為:
本文提出的虛假數(shù)據(jù)檢測(cè)算法如圖1 所示。
圖1 虛假數(shù)據(jù)檢測(cè)算法流程圖Fig.1 Flow chart of detection algorithm for false data
為了驗(yàn)證本文所提的虛假數(shù)據(jù)注入攻擊檢測(cè)算法的有效性,以改進(jìn)的IEEE14 節(jié)點(diǎn)系統(tǒng)為例進(jìn)行仿真,仿真的測(cè)試環(huán)境為MATLAB R2016b,硬件配置為Inter(R)Core(TM)i5-1135G7@2.40 GHz,內(nèi)存容量為16 GB。
圖2 顯示了改進(jìn)后的IEEE14 節(jié)點(diǎn)的接線圖,與原系統(tǒng)相比,刪除了節(jié)點(diǎn)3 和6 的發(fā)電機(jī),并在節(jié)點(diǎn)5,11,13 處增添了發(fā)電機(jī)。為了體現(xiàn)電力系統(tǒng)的實(shí)時(shí)變化,將發(fā)電機(jī)節(jié)點(diǎn)分為風(fēng)力(W),光伏(S),水力(H),火力(F)4 種類(lèi)型,將負(fù)荷節(jié)點(diǎn)分為L(zhǎng)C1,LC2,LC3 和LC4 四種類(lèi)型,各類(lèi)型節(jié)點(diǎn)的出力和負(fù)荷曲線詳見(jiàn)圖3 和圖4。
圖2 改進(jìn)后的IEEE14節(jié)點(diǎn)系統(tǒng)接線圖Fig.2 Wiring diagram of improved IEEE 14-bus system
圖3 發(fā)電機(jī)的出力曲線Fig.3 Output curves of generators
圖4 負(fù)荷曲線Fig.4 Load curves
該系統(tǒng)各節(jié)點(diǎn)的功率如表1 所示,并將該系統(tǒng)設(shè)置為較高的冗余度。文獻(xiàn)[26]提出了一種通過(guò)篡改局部子網(wǎng)的數(shù)據(jù)來(lái)構(gòu)建攻擊向量的方法,并使攻擊向量具有隱蔽性與稀疏性,因此本文采用文獻(xiàn)[26]中的虛假數(shù)據(jù)注入攻擊模型來(lái)驗(yàn)證檢測(cè)方法的有效性。
表1 系統(tǒng)節(jié)點(diǎn)的注入有功、無(wú)功功率Table 1 Active and reactive power injecting into system buses MW
圖5 和圖6 展示了在6 h 時(shí)段內(nèi)沒(méi)有攻擊的情況下,節(jié)點(diǎn)7 處電壓幅值和相角的殘差,根據(jù)能量管理系統(tǒng)平均的采樣周期,每30 s 進(jìn)行1 次估計(jì)[24],從圖5 和圖6 中很容易看出正常情況下,由噪聲所造成的電壓幅值、相角殘差沒(méi)有超過(guò)設(shè)定的閾值,因此未檢測(cè)到FDIA。
圖5 正常運(yùn)行節(jié)點(diǎn)7電壓幅值殘差Fig.5 Residual of voltage amplitude at node 7 in normal operation
圖6 正常運(yùn)行節(jié)點(diǎn)7電壓相角殘差Fig.6 Residual of voltage phase angle at node 7 in normal operation
在圖7 和圖8 中,經(jīng)過(guò)3 h 正常運(yùn)行后,該系統(tǒng)遭到了FDIA,攻擊之后經(jīng)WLS 估計(jì)的節(jié)點(diǎn)7 的電壓幅值達(dá)到1.18 p.u.,相角約變化了0.03 rad,1.18UN屬于過(guò)電壓,且BDD 并未顯示存在異常數(shù)據(jù),但實(shí)際的電壓卻是1.07,故可能會(huì)導(dǎo)致系統(tǒng)進(jìn)行錯(cuò)誤的調(diào)壓行為。但EKF 是一種遞歸方法,下一時(shí)刻的值不僅受當(dāng)前時(shí)刻量測(cè)量的影響,也會(huì)受上一時(shí)刻的估計(jì)狀態(tài)的影響,故電壓幅值和相角不會(huì)突變,而是隨著時(shí)間的變化逐步趨于新的穩(wěn)定,但這種變化是緩慢的,單利用EKF 無(wú)法做到實(shí)時(shí)檢測(cè)FDIA,因此,可以利用兩估計(jì)器的估計(jì)值殘差來(lái)檢測(cè)FDIA。
圖7 遭受攻擊時(shí)節(jié)點(diǎn)7的估計(jì)電壓幅值Fig.7 Estimated voltage amplitude at node 7 under attack
圖8 遭受攻擊時(shí)節(jié)點(diǎn)7的估計(jì)電壓相角Fig.8 Estimated voltage phase angle at node 7 under attack
圖9 和圖10 給出了兩估計(jì)器殘差隨時(shí)間的變化情況,在系統(tǒng)剛遭受攻擊時(shí),電壓幅值和相角的殘差達(dá)到最大,且在一個(gè)較長(zhǎng)的時(shí)間段內(nèi),殘差均大于所設(shè)定的閾值,所以該檢測(cè)方法可以很好的打破FDIA 的隱蔽性。3δ原則也可保證在攻擊之外的時(shí)間內(nèi)不會(huì)誤報(bào)。此外,一些負(fù)荷、發(fā)電機(jī)的突然變化以及計(jì)劃外的系統(tǒng)事件,如設(shè)備停運(yùn)等可能會(huì)導(dǎo)致WLS 與EKF 的估計(jì)值存在差異,這些事件也會(huì)產(chǎn)生誤報(bào)。然而,這些事件很容易被電網(wǎng)所捕獲,幫助調(diào)度員判斷檢測(cè)結(jié)果的正確性。
圖9 遭受攻擊后7節(jié)點(diǎn)處電壓幅值殘差Fig.9 Residual of voltage amplitude at node 7 after attack
圖10 遭受攻擊后兩估計(jì)器在7節(jié)點(diǎn)處電壓相角殘差Fig.10 Residual of voltage phase angle of two estimators at node 7 after attack
為了描述算法對(duì)FDIA 的檢測(cè)性能,將檢測(cè)到攻擊至殘差重新回到閾值以下的間隔時(shí)長(zhǎng)定義為性能指標(biāo),該指標(biāo)代表了該算法對(duì)FDIA 的反應(yīng)能力。此外,將虛假數(shù)據(jù)注入增量與參考虛假數(shù)據(jù)注入增量的比值定義為攻擊強(qiáng)度,來(lái)體現(xiàn)不同攻擊程度FDIA 對(duì)檢測(cè)性能的影響,仿真結(jié)果如圖11所示。
從圖11 可以看出,檢測(cè)性能隨攻擊強(qiáng)度(無(wú)量綱)的增加而增加,這是因?yàn)镋KF 可以抑制FDIA攻擊強(qiáng)度的增加,而WLS 卻是實(shí)時(shí)的,因此,偏差會(huì)增大,檢測(cè)性能也會(huì)得到提高。通過(guò)和文獻(xiàn)[27]的比較,可以看出,針對(duì)FDIA 的檢測(cè)性能,本方法是要優(yōu)于文獻(xiàn)[27]的,這是由于文獻(xiàn)[27]在求取狀態(tài)轉(zhuǎn)移矩陣的過(guò)程中使用的是Holt 兩參數(shù)法,這種指數(shù)平滑法在對(duì)突變量進(jìn)行處理的效果很差,因此在算法性能方面不如通過(guò)雅可比矩陣求逆的方式得到的時(shí)變狀態(tài)轉(zhuǎn)移矩陣,但本文算法對(duì)實(shí)時(shí)數(shù)據(jù)和負(fù)荷預(yù)測(cè)的需求要比文獻(xiàn)[27]高。
圖11 不同攻擊強(qiáng)度下不同算法檢測(cè)性能對(duì)比Fig.11 Comparison of detection performance between different algorithms under different attack strength
本文采用了將WLS 與EKF 結(jié)合的方法來(lái)實(shí)時(shí)檢測(cè)FDIA,為了實(shí)現(xiàn)預(yù)測(cè)步中狀態(tài)變量的變化,將潮流方程與發(fā)電機(jī)、負(fù)荷的功率曲線結(jié)合得到了時(shí)變的狀態(tài)轉(zhuǎn)移矩陣。在IEEE14 節(jié)點(diǎn)系統(tǒng)的算例分析結(jié)果表明所提方法能夠有效檢測(cè)FDIA,對(duì)于防范網(wǎng)絡(luò)攻擊具有一定的實(shí)際意義。本方法可以識(shí)別攻擊,但不易找出具體的攻擊向量,未來(lái)需要從剔除攻擊向量這一方面開(kāi)展更深入的研究。