南京工程學院電力工程學院 李忠華 沈文涵 邵志一 朱天樂 李鎮陽 王春亮
電力系統在過去的一個世紀中已經發展成為最大和最復雜的網絡物理系統,它們的安全可靠運行對任何國家的經濟和安全都至關重要。然而,針對狀態估計嚴重依賴于測量、傳感和通信技術的特點,虛假數據注入攻擊[1](false data injection attacks,FDIAs)可以任意操縱其值、卻不被協作修改測量結果所檢測,進而改變系統原來的運行狀態,危害其正常運行。因此,分析網絡安全攻擊的破壞,建立對FDIAs 有效的攻擊預防是學界研究的重大課題。
文獻[2]首次提出并研究了負荷重分配(LR)攻擊對電力系統運行和控制的破壞作用。LR 攻擊是一種特殊類型的虛假數據攻擊,該種攻擊可使得調度員錯誤地掌握實際的負荷分配,從而影響電力系統的安全經濟調度(SCED)決策,并威脅電網的安全。由于僅將負載總線功率注入和線路功率流測量作為被攻擊對象,此類攻擊也比電網中的一般虛假數據注入攻擊更為現實及更具隱蔽性。
文獻[3]對建立計及LR 攻擊的具體場景建模展開綜合論述,提出了即時LR 攻擊的雙層建模和延時LR 攻擊的三層模型,目標都是使決策者做出錯誤的經濟調度,從而最大化電力系統的運營成本。本文進一步研究即時LR 攻擊,為了立即實現攻擊目標,攻擊者的目標是在攻擊后立即使操作成本最大化,導致系統在不經濟的狀態下運行。
文獻[4]考慮到具體的LR 攻擊和物理攻擊協同攻擊,建立即時攻擊的雙層優化模型進行研究,制定防御策略。文獻[5-6]等都采用基于KKT 條件分別求解考慮LR 攻擊的負荷削減優化模型以及兩級即時LR 攻擊問題,研究表明,基于KKT 條件的算法計算效率低下,本文在KKT 算法之外,又引入了Benders 分解從而對計算效率進行了改進。最終以經典IEEE14節點系統為研究對象,基于KKT 和Benders 兩種不同的方法,對即時LR 攻擊的雙層模型進行求解,并在效率和算法適用性等方面進行比較分析。
LR 攻擊的概念。LR 攻擊又稱負荷重分配攻擊,是虛假注入攻擊(FDIA)的一種形式。簡單的說,LR 攻擊在總線之間重新分配負載,即增加某些總線負載的同時減少其他總線負載,攻擊者發現之后會限制其他總線的負載。每條總線上負載偏差應該等于該總線上預測負載的固定比例。此外,系統中的總負載必須保持不變,這種攻擊稱為LR 攻擊。
LR 攻擊的原理。LR 攻擊電力系統的方式有兩種:一種是攻擊線路的潮流測量,修改測量值;另一種是攻擊負載功率注入測量,以跟蹤負載偏差,最后當產生無法被檢測到的LR 攻擊后,SCED 會被輸入一組受污染的負載,并提供一組假調度點,導致系統進入不安全或低效的運行狀態。在考慮LR攻擊的情況下,輸電線路潮流測量的攻擊值可滿足△PL=-SF×KD×△PD,其中△PL是潮流測量量,SF 是轉移因子矩陣,KD 是節點-負荷關聯矩陣;△PD是負載測量的虛擬數據注入攻擊值。圖1是一個簡單的LR 攻擊示意圖。

圖1 LR 攻擊示意圖
使系統的運營成本最大是上層問題中的目標,如式(1)。其中,Ng、Nd分別表示系統中發電機和負載的總數;g、d 分別為系統中的發電機、負載的編號(g=1,2…Ng,d=1,2…Nd);Z 為總的運營成本,CG為發電機的發電成本,P*表示系統在錯誤SCED 調度后發電機輸出功率,CSD為系統的減載成本,S*表示系統在錯誤SCED 調度后系統的減載。
為確保攻擊者做出的攻擊為負荷重分配攻擊(LR 攻擊),首先完成對LR 攻擊的建模,約束式(2)保證LR 注入攻擊滿足潮流方程,約束式(3)保證了系統中總負載不變;約束式(4)將負載測量值的注入攻擊限制到初始負載測量值的50%;約束式(5)保證了發電機輸出功率的測量值不會受到攻擊。為了完成攻擊向量及其作用于被攻擊測量值之間邏輯關系的建模,定義了變量σD,d與σL,l,滿足關系式(6)。約束式(7)是結合實際情況對攻擊資源的限制。其中,Nl表示系統中傳輸線路總數;l 表示系統中傳輸線的編號(l=1,2…Nl)。
在電力系統遭受LR 攻擊后,系統在錯誤SCED方案調度后使得系統運營成本最低是下層問題的目標,滿足關系式(8)。其中,P、S 分別表示系統發電機實際發出的功率和系統實際的減載。此外,本節還分別定義了拉格朗日乘數μl,表示與線路潮流方程相關聯;拉格朗日乘數λp,表示與系統功率平衡方程相關聯。系統的功率平衡方程如式(9),傳輸線路的潮流方程如式(10)。發電機輸出功率限額滿足式(11),線路傳輸容量限額滿足式(12),系統減載限額滿足式(13)。
本章基于直流潮流模型,建立了對即時LR 攻擊的雙層優化模型。綜上所述該數學模型如下:
上層模型:
下層模型:


顯然,上述模型是一個典型的雙層混合整數規劃問題。上層問題中,給定了由變量△PD確定的目標函數。下層問題中,目標函數是線性且凸的。利用基于KKT 最優化條件的方法可以將初始的雙層問題可以轉化為等效的單層MILP 問題。主要采取引入其他的二進制變量以混合整數線性的形式對約束式(6)進行轉化。其中,m 為一個足夠小的正常數,M 為一個足夠大的正常數,表示有效的攻擊資源;σD+,d、σD-,d、σPL+,l,σPL-,l為引入的二進制變量。
為了實現KKT 條件中互補松弛條件的線性化表示,完成對約束式(8)的邏輯建模,分別引入了與發電機輸出限額、線路傳輸容量限額、系統的減載限額關聯的附加二進制變量來表示互補松弛條件。
具體的建模過程如下:

約束式(16)~(23)表示KKT 必要性的最優可行性約束,其中,約束式(20)~(23)是互補松弛條件的線性化表示。
考慮到基于KKT 最優化條件的算法會增加計算量,導致計算效率低下,該方法并不適用于大型的電力系統,這里我們引入一種適用于大規模優化求解問題的算法,即Benders 分解法。
Benders 分解法針對求解混合整數規劃問題,用割平面的方法分解出主問題與子問題。主問題用來求解復雜變量、簡單約束優化問題,子問題用來驗證主問題解在子問題中的可行性,判斷可行性并反饋給主問題,整體通過不斷迭代的方法求解出最優值。
LR 攻擊下的調度優化問題包含兩類變量:連續性變量和邏輯變量,連續性變量有負荷攻擊變量、潮流攻擊變量以及切負荷變量等,邏輯變量有負荷正指數變量等。電力系統運行調度一般要求發電成本和切負荷成本盡可能低,為了保證算法的收斂性,子問題為求解只包含連續性變量的切負荷成本問題,主問題為求解發電成本問題?;谝陨峡紤],建立LR 攻擊調度優化模型分解后的主、子問題模型。
主問題(master problem,MP)的目標函數為發電成本總和最小。其概括性表達式為:

子問題(subproblem,SP)的目標函數為切負荷成本。其概括性表達式為:

其中變量y 表示攻擊向量D,主問題概括性變量u 包括傳輸線的流量PL,指示負載的測量是否受到攻擊δD以及指示線路的潮流測量是否受到攻擊δPL。子問題概括性變量x 包括調度變量P,S。
本節給出了基于改進的IEEE 14節點系統的案例研究,其發電機參數以及測試系統的其他配置數據從MATPOWER 數據包中獲得。本次研究通過建立合適的模型,尋求優化算法,完成對遭受LR攻擊后的14節點系統的測量,得到總計54個測量值。
以系統受到攻擊資源R=10的LR 攻擊后系統狀態變化為例,分析LR 攻擊對系統造成的影響。系統在遭受該LR 攻擊后,IEEE 14節點系統中,線路23、線路34上的潮流以及節點2、節點3、節點4的輸出功率發生了變化。主要是將原本由節點2輸出的10.85MW 經過線路23分配給節點3輸出;將原本由節點4輸出的12.56MW 經過線路34分配給節點3輸出;節點3總計多輸出較原來24.85%的功率。在負荷重新分配的過程中,系統做出了新的潮流調度,一方面使得系統增加新的運營成本,進入非最佳調度;另一方面,可能使得線路潮流超出其傳輸容量限制,危及系統安全。
綜上,本文首先定義了一種特殊類型的虛假數據注入攻擊——負荷重分配攻擊,并對電力系統狀態估計進行了現實的假設。對于一個特定的LR 攻擊,其對系統運行的破壞可以通過一個偽SCED 導致的運行成本增加來定量分析。針對直接攻擊目標建立雙層模型,采用基于KKT 條件的方法以及Benders 分解法從攻擊者的角度識別最具破壞性的攻擊。
KKT 算法與Benders 分解法對于本文研究的14節點電力系統經濟調度優化問題的求解結果相同。但是因為KKT 最優化條件的算法計算效率低下,該方法并不適用于大型的電力系統?;贙KT 最優化條件可能會增加計算量,但其能保證計算精度,對于小規模優化問題依舊推薦采用基于KKT 最優化條件的算法,而對于節點數更多、攻擊資源更豐富的電力系統調度問題,Benders 分解法無疑是更優于KKT 算法。