王新宇,王相杰,張明月,程朋飛,王書征
(1.燕山大學(xué),河北 秦皇島 066004;2.徐州工程學(xué)院,江蘇 徐州 221018;3.江蘇省配電網(wǎng)智能技術(shù)與裝備協(xié)同創(chuàng)新中心,南京 210000)
作為新一代電力系統(tǒng),智能電網(wǎng)通過信息物理系統(tǒng)的融合實現(xiàn)了電網(wǎng)的高效運行[1-2]。同時,智能電網(wǎng)新的特性(如智能性和開放性)使其面臨潛在的信息物理安全風(fēng)險。通過篡改信息系統(tǒng)數(shù)據(jù),新型信息物理攻擊可以掩蓋物理系統(tǒng)的動態(tài)變化,進而造成電網(wǎng)系統(tǒng)癱瘓[3-4],例如:2016年,以色列電網(wǎng)遭受網(wǎng)絡(luò)攻擊,導(dǎo)致全國電力系統(tǒng)癱瘓,對國民生活造成巨大影響;2022年,歐洲衛(wèi)星通信中心遭受網(wǎng)絡(luò)攻擊,導(dǎo)致中歐和東歐風(fēng)力發(fā)電網(wǎng)失控。因此,如何確保新型信息物理安全風(fēng)險下智能電網(wǎng)的安全穩(wěn)定運行是重要的研究課題。
傳統(tǒng)的電網(wǎng)信息攻擊包括拒絕服務(wù)攻擊和蠕蟲攻擊,主要是通過阻斷通信信道傳輸數(shù)據(jù)來破壞電網(wǎng)的運行狀態(tài)[5]。與之對比,Liu等人在2009年設(shè)計了一種具有欺騙特性的虛假數(shù)據(jù)攻擊,其可以欺騙現(xiàn)有基于卡方檢測器的異常數(shù)據(jù)檢測機制[6]。
目前,針對虛假數(shù)據(jù)攻擊的檢測方法可以分為兩類:基于模型的攻擊檢測和基于人工智能的攻擊檢測[7]?;谀P偷墓魴z測方法是通過建立線性和非線性電網(wǎng)模型,設(shè)計卡爾曼濾波器或觀測器來獲得攻擊下的狀態(tài)殘差變化,從而判斷電網(wǎng)系統(tǒng)是否存在攻擊[8-10]。文獻[8]提出了一種基于改進的無跡卡爾曼濾波器的虛假數(shù)據(jù)攻擊檢測算法。文獻[9]通過擴展卡爾曼濾波對電網(wǎng)系統(tǒng)運行狀態(tài)進行估計和預(yù)測,從而實現(xiàn)電網(wǎng)系統(tǒng)異常虛假數(shù)據(jù)的檢測??紤]電網(wǎng)系統(tǒng)噪聲未知情況,文獻[10]結(jié)合中心極限定理,給出了基于自適應(yīng)無跡卡爾曼濾波的虛假數(shù)據(jù)攻擊檢測策略。以上檢測方法可以有效檢測異常虛假數(shù)據(jù),但其檢測閾值的先驗設(shè)定限制了攻擊的檢測性能。
基于人工智能的攻擊檢測方法借助人工智能算法開展電網(wǎng)系統(tǒng)中異常數(shù)據(jù)的檢測[11-13]。針對線性和非線性電網(wǎng)模型,文獻[11]提出了基于數(shù)據(jù)驅(qū)動的異常數(shù)據(jù)檢測算法。通過引入隨機森林的識別能力,文獻[12]提出了基于生成對抗網(wǎng)絡(luò)的虛假數(shù)據(jù)攻擊檢測方法。針對異常數(shù)據(jù)檢測系統(tǒng)檢測率不高的問題,文獻[13]提出了基于人工免疫分類器的異常數(shù)據(jù)檢測方法。
在上述研究的基礎(chǔ)上,本文提出基于IAIGA(改進自適應(yīng)免疫遺傳算法)的虛假數(shù)據(jù)攻擊檢測方法。首先分析虛假數(shù)據(jù)攻擊的特性,設(shè)計基于抗體之間的相似度指數(shù)異常數(shù)據(jù)檢測器;引入選擇、交叉、變異算子的自適應(yīng)設(shè)計,提高IGA(免疫遺傳算法)收斂速度和全局尋優(yōu)能力,進而提高對虛假數(shù)據(jù)的檢測率。最后,通過仿真算例驗證所提檢測算法對于虛假數(shù)據(jù)的檢測性能。
圖1為IEEE 3電機6總線電網(wǎng)系統(tǒng),通過PMU(電源管理單元)可以測量每條總線與對應(yīng)電機的電壓幅值。圖1中,b1—b6為電機負載總線,G1—G3為發(fā)電機,U1和U2為電機負載總線量測電壓。
圖1 IEEE 3電機6總線電網(wǎng)系統(tǒng)Fig.1 IEEE 3-generator 6-bus grid system
根據(jù)文獻[14],三相電壓測量電網(wǎng)模型為:
式中:xk和yk為第k時刻電壓的狀態(tài)估計和輸出;vk和wk為第k時刻的過程和測量噪聲,且滿足高斯噪聲分布;H為雅可比矩陣;A為系統(tǒng)結(jié)構(gòu)矩陣。
目前,電力系統(tǒng)中常用的基于卡方檢測器的異常數(shù)據(jù)檢測準則如下[15]:
式中:rk為檢測殘差;zk為輸出量測值;I為先驗閾值;為輸出量估計值。
針對以上檢測方法,攻擊者可以設(shè)計錯誤數(shù)據(jù)s=(s1,s2,…,sm)T,其滿足s=Hc約束(c為由攻擊引起的狀態(tài)變化量)[14]。綜上,攻擊下的檢測殘差表示為:
式中:為攻擊下的輸出量估計值。
假設(shè)攻擊者對圖1中發(fā)電機G1注入虛假數(shù)據(jù)攻擊(攻擊序列參考文獻[14]),可以得到攻擊下的狀態(tài)變化和攻擊檢測結(jié)果,如圖2和圖3所示。
圖2 虛假數(shù)據(jù)攻擊下系統(tǒng)狀態(tài)電壓變化Fig.2 Change of voltage state under false data attack
圖3 基于卡方檢測器的虛假數(shù)據(jù)攻擊檢測Fig.3 Detection of false data attack under chi-square detection
綜上可知,新型的虛假數(shù)據(jù)攻擊可以欺騙基于卡方檢測器的檢測方法。因此,本文借助人工智能技術(shù),提出基于IAIGA的虛假數(shù)據(jù)攻擊檢測方法。
通過模擬生物免疫系統(tǒng)功能與原理,學(xué)者們提出了IGA[13]。IGA通過引入抗體之間的相似度對遺傳算法選擇操作進行改進,可以保持種群的多樣性,進而提高算法的收斂速度及全局尋優(yōu)能力。IGA運算流程如圖4所示。
圖4 IGA運算流程Fig.4 Operation flow of IGA
基于IGA的虛假數(shù)據(jù)攻擊檢測原理如下:
1)輸入正常數(shù)據(jù)(抗原)進行編碼產(chǎn)生種群,并學(xué)習(xí)記憶。
2)設(shè)計抗體之間的親和度函數(shù):
式中:φ(xi,xj)為抗體xi和xj間親和度;xi,l和xj,l分別為抗體xi和xj的第l維;N為抗體種群編碼總數(shù)。
3)輸入抗原(異常或虛假數(shù)據(jù))對抗體進行刺激,使其進行免疫操作(選擇、克隆、交叉、變異等),記錄輸入抗原的數(shù)據(jù)特征,形成異常數(shù)據(jù)檢測器。
4)針對新的抗原,異常數(shù)據(jù)檢測器可以根據(jù)抗體之間的相似度來檢測是否輸入抗原(新的數(shù)據(jù))異常情況,其中抗體濃度、抗體之間相似度以及抗體激勵度函數(shù)計算公式為:
式中:ζ為抗體之間的相似度閾值;L為當前迭代次數(shù),Lmax為最大迭代次數(shù);γ(xi)為抗體濃度;η(xi,xj)為抗體之間相似度;ψ(xi)為抗體激勵度函數(shù)。
選擇、交叉、變異算子是影響IGA收斂速度和尋優(yōu)能力的關(guān)鍵指標。因此,本文設(shè)計了自適應(yīng)選擇算子、自適應(yīng)交叉算子、適應(yīng)變異算子,提出IAIGA,以解決現(xiàn)有IGA收斂速度不快和陷入局部最優(yōu)的問題。
自適應(yīng)選擇算子Ps、自適應(yīng)交叉算子Pc、自適應(yīng)變異算子Pm的表達式分別為:
式中:βi(i=1,2,3,4)為計算系數(shù),0<βi<1;φavg(xi,xj)為抗體xi和xj平均親和度。
通過自適應(yīng)選擇算子、自適應(yīng)交叉算子、自適應(yīng)變異算子的設(shè)計,可以使種群基因充分交互,加快收斂速度,快速找到全局最優(yōu)解。
基于2.1節(jié)的IAIGA,本文提出了針對電網(wǎng)中虛假數(shù)據(jù)攻擊的檢測流程。參考文獻[16],設(shè)定檢測器的適應(yīng)度函數(shù)檢測閾值Γmax=10。具體檢測流程如下:
1)輸入運行中的電網(wǎng)運行電壓數(shù)據(jù)(記為抗體)。
2)設(shè)計虛假數(shù)據(jù)攻擊序列(記為抗原),產(chǎn)生異常數(shù)據(jù)檢測器(數(shù)量為M)。
3)進行免疫操作,使產(chǎn)生的異常檢測器成熟達到攻擊檢測要求。
4)計算抗體之間最佳親和度函數(shù)值φ(xi,xj)。
5)ifφ(xi,xj)<Γmaxthen停止進化,輸出異常數(shù)據(jù)檢測器編碼。
else重復(fù)步驟1—5。
end if
6)輸入待檢數(shù)據(jù),通過比較異常數(shù)據(jù)檢測器的相似度指數(shù)來判斷異常(異常數(shù)量記為S)。
7)輸出檢測結(jié)果:異常攻擊檢測概率MS×100%。
假設(shè)攻擊者具備一定的黑客能力,即能獲取部分真實的PMU測量數(shù)據(jù),可以設(shè)計具有隱蔽性(如式(3))的虛假數(shù)據(jù),進而修改PMU的測量數(shù)據(jù)來欺騙電力系統(tǒng)的檢測系統(tǒng)。采用本文所提的基于IAIGA的檢測方法檢測PMU中異常數(shù)據(jù)(部分數(shù)據(jù)來自文獻[17])。計算機配置為Intel(R)Core(TM) i7-10875H CPU@2.30 GHz處理器,16 GB內(nèi)存。使用MATLAB搭載仿真算例環(huán)境,算法仿真參數(shù)設(shè)置如表1所示。
表1 參數(shù)設(shè)置Table 1 Parameter setting
為了驗證IAIGA的優(yōu)越性,選擇Generalized Rastrigin基函數(shù)作為測試對象,并與文獻[18-19]中的IGA和AIGA(自適應(yīng)免疫遺傳算法)對比,結(jié)果如圖5所示。在3種不同算法下,隨著迭代次數(shù)的增加,測試函數(shù)最佳適應(yīng)度值不斷下降。IGA在120次迭代內(nèi)達到穩(wěn)定值,對比AIGA和IAIGA,其適應(yīng)度值尋優(yōu)不是最佳。對比AIGA,IAIGA可以很快地尋優(yōu)而不陷入局部最優(yōu)。此外,IGA和AIGA的收斂速度均小于IAIGA的收斂速度。
圖5 測試基函數(shù)下不同算法的優(yōu)化過程對比Fig.5 Comparison of optimization processes of different algorithms under test basis function
為驗證算法的檢測性能,本文引入文獻[20]中的指標“真”“假”參數(shù),如表2所示。
表2 指標“真”“假”參數(shù)Table 2 “True" and "false" parameters of the index
基于表2,以檢測率RTP和誤檢率RFP為性能指標,其計算公式為:
式中:NTP為采樣數(shù)據(jù)中真陽性樣本數(shù);NFN為采樣數(shù)據(jù)中假陰性樣本數(shù);NFP為采樣數(shù)據(jù)中假陽性樣本數(shù);NTN為采樣數(shù)據(jù)中真陰性樣本數(shù)。
針對同一數(shù)據(jù)樣本,分別采用基于IGA、AIGA、IAIGA的檢測方法對虛假數(shù)據(jù)進行檢測。考慮經(jīng)過免疫操作(交叉和變異)的概率性,本實驗設(shè)計了3組檢測虛假數(shù)據(jù)的攻擊檢測,統(tǒng)計3組的平均檢測率和誤檢率。檢測結(jié)果如表3—5所示。
表3 基于IGA的虛假數(shù)據(jù)檢測結(jié)果對比Table 3 Comparison of IGA-based false data detection results
表4 基于AIGA的虛假數(shù)據(jù)檢測結(jié)果對比Table 4 Comparison of AIGA-based false data detection results
表5 基于IAIGA的虛假數(shù)據(jù)檢測結(jié)果對比Table 5 Comparison of IAIGA-based false data detection results
綜上,可以得到平均檢測率RTPV和平均誤檢率RFPV,如表6所示。
表6 基于IGA、AIGA、IAIGA的虛假數(shù)據(jù)檢測結(jié)果對比Table 6 Comparison of false data detection results based on IGA,AIGA and IAIGA
由表6可知:本文所提的基于IAIGA的檢測方法可以有效檢測注入的虛假數(shù)據(jù)攻擊;基于IGA的檢測率最低,誤檢率最高;本文所提的基于IAIGA的方法檢測率最高,誤檢率最低。
綜上,通過引入選擇、交叉、變異算子的自適應(yīng)設(shè)計,可以提高IGA收斂速度和全局尋優(yōu)能力,改善對于虛假數(shù)據(jù)的檢測性能,即提高檢測率和降低誤檢率。
本文提出基于IAIGA的虛假數(shù)據(jù)攻擊檢測方法,基于抗體之間的相似度判斷電網(wǎng)系統(tǒng)數(shù)據(jù)是否異常,并設(shè)計自適應(yīng)選擇算子、自適應(yīng)交叉算子、自適應(yīng)變異算子來提高IGA收斂速度和全局尋優(yōu)能力,進而提高虛假數(shù)據(jù)檢測率和降低誤報率。
本文所提檢測方法僅考慮了一種異常虛假數(shù)據(jù)的情況,而實際電網(wǎng)可能遭遇多種混合攻擊。因此,未來需要考慮引入多類虛假數(shù)據(jù)分類器來判斷更為復(fù)雜的異常虛假數(shù)據(jù)。