李彬,魏吟娬,祁兵,孫毅,陳宋宋
(1.華北電力大學電氣與電子工程學院,北京市 102206;2.中國電力科學研究院有限公司,北京市 100192)
隨著能源革命與數字革命進一步相融并進,國內大力推動能源行業和互聯網創新發展,作為能源互聯網的核心和紐帶,電力系統的“源-網-荷-儲”互動運行模式得到進一步研究[1],考慮互動調控的需求響應(demand response,DR)業務部署的終端增加,區別于以往終端大多由專線接入或經試點項目零星部署,未經外網安全考驗,大量需求響應終端接入電力網絡的同時,根據《電力二次系統安全防護總體方案》的防護要求,終端接入網絡上傳的數據及控制信息在安全區橫向隔離界線模糊,實際應用中可能受到網絡攻擊[2],而關于需求響應終端接入外網的網絡安全問題相關研究較少。各地電力系統受到網絡安全攻擊事件層出不窮。2020 年5 月,委內瑞拉國家電網765干線遭攻擊,造成全國大面積停電;2019 年3 月,黑客利用防火墻中的已知漏洞針對美國猶他州的可再生能源電力公司發起了拒絕服務(denial of service,DoS)攻擊導致該組織的控制中心和其各個站點現場設備之間的通信中斷。
電力系統可能受各種不斷演化的網絡攻擊。文獻[3]針對電力系統狀態估計的虛假數據注入攻擊(false data injection attack,FDIA)設計了一種應對策略。文獻[4]針對電力信息物理融合系統(cyber physical power system,CPPS)受虛假數據攻擊提出了一種基于拓撲篡改的電力市場FDIA 方案。文獻[5]立足一次電力設備網絡安全自檢結果,以nmap 為例闡述了對用戶數據報協議(user datagram protocol,UDP)端口的攻擊原理,并基于此對UDP 端口的網絡安全防護進行研究。文獻[6]研究了事件觸發H∞混合網絡攻擊下的多區域電力系統負荷頻率控制,包括DoS 攻擊和欺騙攻擊,提出了一種在DoS 攻擊下的事件觸發傳輸方案,在保證系統性能的前提下減輕網絡帶寬的負載。
針對分布式拒絕服務(distributed denial of service,DDoS)攻擊檢測的方法與時俱進,例如文獻[7]構建了基于粒子群優化卷積神經網絡的DDoS攻擊檢測模型,旨在利用卷積神經網絡自動挖掘攻擊數據流特征,該文利用神經網絡提取流量特征在實時檢測攻擊方面有實際應用價值。文獻[8]同樣利用網絡流量的多種特征,提供了合法流量和攻擊流量模型,該方法增加了對網絡流量的適應性,并與神經網絡的決策機制相結合。而隨著需求響應業務的發展與試點工作的開展,大量需求響應終端接入外網進行分析計算等需求響應業務,以上研究都基于電力系統受DDoS 網絡攻擊,鮮有針對需求響應終端受DDoS攻擊檢測相關研究。
綜上,本文立足需求響應用戶側終端參與需求響應業務DDoS 攻擊檢測,分析適用該場景的檢測方法,首先采取集合經驗模態分解(ensemble empirical mode decosition,EEMD)提取時序DDoS 攻擊的流量特征,對流量進行特征分類提取,再結合分解后的子序列進行長短期記憶(long short-term memory,LSTM)神經網絡學習,進行DDoS 攻擊根據暫態特征識別。該方法旨在根據時序流量數據進行實時攻擊檢測。需求響應終端與云端管控平臺通過外網接入可能受到DDoS網絡攻擊考驗,本文的目標是及時檢測實時DDoS 攻擊,通過時序數據基于自相似流量特征進行EEMD 得到流量暫態特征并進一步進行神經網絡DDoS 攻擊識別,旨在減輕終端因攻擊受到的損害。
為了實現需求響應特點和功能,需求側終端單純通過電力內網接入參與需求響應互動已經不切實際,需要利用云平臺互聯網通信進行與用戶的交互。通過需求響應終端設備的數據傳輸和采集,利用集中組網實現用戶終端數據向上聚合[9]。然而隨著大、云、物、移、智、鏈等技術在電網領域的應用,需求側大量異構終端接入,需求響應終端設備與云平臺之間信息上傳頻次增加,使電網的網絡邊界模糊、數據類型多元,電力通信網絡需要更高的安全性、可靠性[10],現有的需求響應防護體系尚未應對逐漸升級的DDoS攻擊手段與安全風險,需求側信息采集處理平臺隨著信息量的增大導致安全隱患日益凸顯[11]。電網依靠管控中心實施和管理用戶的用電需求,而云端管控平臺需要以海量用戶用電數據作為支撐,這些數據不僅涉及到用戶的隱私,還會影響平臺的管理決策。若攻擊者通過互聯網向需求響應終端發起攻擊,將對各類電力用戶如電網公司、工業園區、大型商場、智慧小區[12]等造成威脅。一方面,用戶對這些需求響應通信的安全可靠性提出的要求越來越高;另一方面,需求側終端信息通過互聯網上傳至云平臺遭受DDoS攻擊的可能日益增長[13],而現有安全防護措施需要進一步針對該場景進行升級,由此解決需求響應終端受DDoS 攻擊的安全問題。管控云平臺系統下需求響應終端受DDoS 攻擊場景如圖1 所示。

圖1 管控云平臺系統下需求響應終端受DDoS 攻擊Fig.1 Demand response terminal in the cloud platform system under attack by DDoS
以典型的“云-管-邊-端”需求響應系統為例,需求側終端設備通過物聯網將用電信息等上傳至管控云平臺,云平臺通過云計算獲知用戶需求響應潛力與合適的補貼激勵等向用戶提供需求響應服務,再向需求側終端返回控制信息,完成雙向交互。需求響應終端由于接入外網,在信息傳輸過程中,可能受DDoS攻擊。DDoS 作為一種阻止正常用戶訪問受害系統的攻擊,本質是大規模的DoS 攻擊[14],其與DoS 攻擊的差別在于DoS 攻擊每次只能采用一種攻擊方法攻擊一個目標,而DDoS 可以采用多種攻擊方式同時攻擊多個目標,主要通過消耗受害系統的網絡帶寬資源、CPU 和內存等主機資源使其性能下降甚至崩潰,導致用戶無法正常訪問。
DDoS 根據攻擊對象協議層分類的攻擊方式有:
1)網絡/傳輸層的攻擊即網絡帶寬耗盡型攻擊[15]。通過操縱攻擊源發送大量流量占據受害系統帶寬資源,使攻擊目標無法與外界正常通信,有同步序列編號(synchronize sequence numbers,SYN)洪流、UDP 洪流、Internet 控制報文協議(Internet control message protocol,ICMP)洪流等攻擊方式。在需求響應終端信息傳輸過程中容易被攻擊者利用大量偽裝的EiEvent Service 數據包進行該類攻擊。
2)應用層攻擊即基于主機資源耗盡型攻擊[16]。利用受害系統提供的網絡服務及網絡協議特性(超文本傳輸協議(hyper text transfer protocol,HTTP)、域名系統(domain name system,DNS)等方式)發送超出目標主機處理能力的虛假服務請求,達到占用目標主機系統資源(CPU、Sockets、內存、數據庫等),使其喪失正常服務請求能力的目的。其中通過HTTP 發起的攻擊最為常見,主要包括訪問請求洪流攻擊、非對稱攻擊及重復單次攻擊等攻擊手段。在需求響應終端信息傳輸時易被攻擊者利用偽裝的緊急事件業務數據包進行該類攻擊。
DDoS 攻擊方式,特別是通過HTTP 發起的應用層攻擊,較易針對使用HTTP 或可擴展消息處理現場協議(extensible messaging and presence protocol,XMPP)傳輸機制的需求響應服務,本文采用的基于流量暫態特征的EEMD-LSTM 檢測方法能有效檢測DDoS 攻擊。通過采用EEMD 方法提取時序數據暫態流量特征,作為LSTM 模型訓練輸入,從而提高檢測準確性。
文獻[17]明確說明了執行需求響應信息交互時所需的通信服務和底層通信數據項。通信服務包含交互時需要的注冊、事件、報告、參與和詢問5 個服務過程,具體DR 業務見表1。

表1 需求響應業務流特征分析Table 1 Characteristics analysis of demand response business flow
需求響應業務數據類型有所不同,報文大小、種類是預定模型,流量特征隨以上業務類型不同有不同特征,如緊急事件業務流量驟增,一般事件業務和輪詢業務流量曲線較為平穩。其中事件服務為需求響應業務流的核心內容,事件由需求響應終端生成,發送到云端管控平臺,云平臺對需要響應的事件進行響應并確認終端是否選擇參與響應或退出部署;如果不需要響應,則不對此事件進行回復。以可中斷負荷參與電網需求響應業務為例,常規的負控業務對通信網絡要求的服務等級不高[18]。近年來,受端電網為了應對緊急故障情況,還設計了秒級、毫秒級的緊急需求響應資源池,在業務執行瞬間會呈現出高并發的趨勢。在2021 年國家重點研發計劃的規模化靈活資源聚合互動調控項目中,已經明確需求側資源參與電網輔助服務的毫秒級發展方向。事件服務由于要求的服務等級高并且允許較高的傳輸凈載荷,或易被DDoS 攻擊主機,利用偽裝向需求響應終端發送大量偽裝事件服務包發起攻擊。
在OpenADR 2.0b 標準中對需求響應信號進行了定義,配置規范允許事件消息中存在以下信號集eiEventSignals:signalName、eiEventSignal和signalType。信號類別包括電力成本、電價增量和需量電費的增量等[19],有不同其他網絡流量包的數據特征,尤其是在需求響應緊急事件發生和常態需求響應的流量特征具有截然不同的特性時,需要進行甄別。本文計及上述可能場景基于攻擊流量特征進行攻擊檢測研究,采用EEMD 將非平穩時間序列轉換為平穩的本征模態函數分量,提取流量的暫態特征,提取需求響應事件業務流量以及DDoS 攻擊流量的暫態特征。
根據在網絡采集海量高分辨率的真實網絡流量具有統計上的自相似性[20],能夠通過DDoS 攻擊的流量特征基于時序數據及時檢測攻擊。基于自相似性的根本特質即波形尺度不變形,截取不同時間尺度下DDoS 攻擊數據,用每秒轉發包數說明攻擊流量特征的自相似性,如圖2 所示。

圖2 不同尺度下DDoS 攻擊流量Fig.2 DDoS attack traffic in different scales
基于時序DDoS 攻擊流量符合自相似性,且不同時間尺度特征相似,所以選擇根據時間序列流量暫態特征進行攻擊檢測,由于經驗模態分解(empirical mode decomposition,EMD)在提取流量特征方面優勢,能夠進一步分析不同模態模值[21],進而有效結合神經網絡算法將攻擊流量暫態特征提取,方便后續檢測DDoS 攻擊。然而經驗模態分解存在端點效應及模態混疊問題[22],故采用EMD 改進的EEMD 方法消除端點效應[23],結合LSTM 網絡進行DDoS 檢測。
EEMD 作為EMD的改進算法,能夠通過每次分解給信號加入不同幅值的高斯白噪聲以改變信號極值點,形成近似無擬合誤差的上、下包絡線,從而有效消除EMD 存在的模態混疊問題。將信號通過EEMD 分解能夠得到信號的各個本征模態函數(intrinsic mode function,IMF)分量,IMF 分量滿足以下條件:

式中:NZ為極值點的個數;Ne為過零點的個數;fmax(t)、fmin(t)分別為由局部極大值確定的上包絡線和由局部極小值確定的下包絡線。
在整個數據序列內,極值點的個數NZ、過零點的個數Ne以及在任一時間點,信號由局部極大值確定的上包絡線fmax(t)和由局部極小值確定的下包絡fmin(t)的均值都必須滿足式(1)。
EEMD 具體分解步驟為:
1)將一定幅值的白噪聲序列加入信號中得到新信號x(t):

式中:x0(t)為原始信號;n(t)為白噪聲序列。
2)對新信號x(t)進行EEMD 分解,得到k個IMF 分量ci(t)(i=1,2,…,k)和一個余量r(t):

3)每次分解加入相同振幅的不同白噪聲序列,依次重復步驟1)、2)N次。
4)將分解得到的各個模態分量均值作為最終結果,得到的信號經EEMD后的模態IMF分量ci,N(t)為:

5)選取合適的IMF 分量進行分析。
本文研究重點在對流量進行EEMD 分解得到模態信息以及將頻域特征提取進行LSTM 神經網絡DDoS 攻擊檢測,首先對采集的受DDoS 攻擊流量數據進行EEMD 分解,情況如圖3 所示。
由圖3 可得,時域上EEMD 得到了9 個模態,分解結果在解決了EMD 存在的端點效應問題的同時,能夠根據分解的各個模態包含的穩定的一般需求響應業務信息傳輸流之外,受到突發DDoS 攻擊的流量篩選出來。提取到的這部分攻擊流量特征,為后續進行EEMD-LSTM 神經網絡攻擊檢測方法提供了一定的理論依據。接下來對分解結果進行頻域特征提取,采用傅里葉變換[24]得到EEMD的模態頻域如圖4 所示。

圖3 EEMD 分解時域模態Fig.3 EEMD decomposition of time-domain modes

圖4 EEMD 分解頻域模態Fig.4 EEMD decomposition of frequency-domain modes
提取的頻域結果能夠有效提取模值,使用EEMD考慮到一般需求響應事件服務正常流量的同時提取DDoS 攻擊模態特征,但由于提取的模態粒度較細,在EEMD-LSTM 神經網絡檢測中增大計算量的同時可能造成準確率波動。對此,在接下來的仿真驗證中對原始數據進行處理,加上提取的模態特征驗證EEMD-LSTM 攻擊檢測方法的有效性。
長短期記憶神經網絡是由循環神經網絡(recurrent neural network,RNN)改進而來。循環神經網絡主要用于處理時間序列的網絡,特點是在全連接神經網絡中加入反饋,使得網絡的輸出取決于當前輸入和前序輸出,因此能夠記憶處理后續狀態。但是RNN 在處理長期依賴(即時間間隔較遠的節點)類型數據時會產生梯度爆炸或梯度消失[25]的問題。LSTM 在RNN的基礎上進行改進,增加3 種門限:輸入門限、遺忘門限和輸出門限,能夠靈活改變不同時刻下的積分尺度,解決了RNN 梯度爆炸或梯度消失的問題。LSTM的結構如圖5 所示。

圖5 LSTM 神經網絡結構Fig.5 Structure of LSTM neural network
LSTM 作為一個神經網絡,主要負責計算時間序列中各個觀測值之間的依賴性,能夠有效擬合非線性關系,在具有更多固定成分的不穩定時間序列上結合EEMD 分解,基于流量的自相似性,平穩化的暫態流量特征輸入LSTM 模型能有效提高檢測精度[26]。
針對需求響應終端上傳數據至管控云平臺過程中需求響應終端受DDoS 攻擊場景,區別于其他基于EEMD-LSTM 神經網絡進行預測研究,本文設計了基于EEMD-LSTM 神經網絡進行分類檢測方法。首先將云平臺收集的需求響應重點用電數據進行采集,之后提取用電數據流量進行EEMD 模態分解,分解后的各個模態分別取模,不同模值代表不同模態,通過模態參量能夠區分一般需求響應業務流量特征和DDoS 攻擊流量特征,將頻域模態特征提取進行LSTM 檢測。檢測中首先對用電數據進行預處理,其次導入LSTM 神經網絡進行攻擊檢測,最后獲得檢測結果判定管控云平臺是否受到DDoS 攻擊。
LSTM 遺忘門的輸入和輸出向量分別為xt和ht,記憶單元為ct,ct為輸入信息和歷史信息經過激活函數tanh 所得的中間結果;σ(·)為sigmoid 激活函數;ω為神經網絡的權重矩陣。
EEMD-LSTM 神經網絡檢測方法步驟如下:
步驟1:將分解后流量模態特征結合數據集特征進行模型輸入。
步驟2:對上一個節點傳進來的輸入進行選擇性遺忘。通過計算得到的σ{ωf[xt,ht-1]} 作為遺忘門,對上一個狀態的記憶單元ct-1進行保留記憶篩選。
步驟3:將通過遺忘門的輸入進行有選擇記憶。主要對輸入xt進行選擇記憶。這一階段的輸入內容由tanh{ω[xt,ht-1]} 表示。而輸入門信號則由σ(ωi[xt,ht-1]) 進行控制。將上面兩階段得到的結果相加,即可得到本狀態記憶單元ct,作為輸入門的輸出。

式中:⊙表示操作矩陣中對應的元素相乘,要求2 個相乘矩陣同型。
步驟4:確定當前狀態的輸出。主要通過σ{ω0[xt,ht-1]} 進行控制。同時利用tanh 激活函數對上一階段得到的ct進行放縮。與普通RNN 類似,輸出門的最終輸出yt最終也通過ht變化得到。

基于電網用電行為數據以及外網受DDoS 攻擊數據特征,進行EiEvent 發包抓包模擬,得到數據集作為原始數據集,在進行模態分解的基礎上對原始數據進行處理,加上提取的流量模態特征進行仿真驗證。原始數據部分重要特征如表2 所示。

表2 數據集關鍵特征Table 2 Key features of data set
由于本文所提針對需求響應終端的DDoS 攻擊檢測主要基于流量特征,所以將數據集中的某些流量相關特性視為主要研究重點,包括數據包間隔時間、數據包大小、數據包數、流量持續時間、流量大小等。
對加入EEMD 模態特征的數據集用LSTM 神經網絡進行攻擊檢測,本文將準確率(accuracy rate,AR)和損失率(loss rate,LR)作為評估攻擊檢測的性能指標。
在EEMD-LSTM 神經網絡中對準確率有較大影響的參數主要有訓練集與測試集的比例以及在模型的幾個訓練輪數內沒有準確率提高的閾值ppatience,調節2 個參數的準確率結果如圖6 所示。

圖6 調參后準確率對比Fig.6 Comparison of accuracy after parameter adjustment
測試集與訓練集的比例不宜過大,原則上測試集訓練集比越小檢測準確率越高,也意味著檢測模型越準確,圖6(a)中在波動范圍內調參過程中選擇最優測試集訓練集比為0.2。關于參數ppatience的設置其實是在權衡正常準確率波動和下降。如果ppatience設置超過60,則最終得到的準確率要略低于模型可以達到的最高準確率;如果ppatience設置低于20,那么模型的準確率很可能在前期抖動,而到了訓練輪數結束才停止抖動,準確率較低。ppatience的大小和學習率直接相關。在學習率固定的情況下,通過觀察訓練輪數造成的準確率波動可以適量增大ppatience。由圖6(b)可得,在默認值10的基礎上每次增加10,結果表明該參數設定為50 最佳。
在EEMD-LSTM 神經網絡中除了影響準確率的參數外,本文還調節了影響損失率的參數訓練輪數Epoch和一次訓練所選取的樣本數bbatch_size,如圖7 所示。訓練輪數越多訓練模型越精確,同時計算量增大,計算時間增加,在選定ppatience后增大輪數觀察準確率波動,由圖7(a)可得,在合理計算時間內選定訓練輪數為100 時得到的損失率較低,使得檢測結果最優。而影響模型優化程度和速度的參數bbatch_size設置不僅可以提高訓練的速度,也能使梯度下降的方向更加準確,使目標函數更加優化。圖7(b)中使得損失率盡可能低的情況下不過于消耗內存的值為48。調節參數后得到的檢測準確率為99.55%,比未調節參數提升了2.18%。

圖7 調參后損失率對比Fig.7 Comparison of loss after parameter adjustment
之后將EEMD-LSTM 神經網絡檢測方法與LSTM 神經網絡檢測準確率對比,如圖8 所示。
由圖8 可得,EEMD-LSTM 檢測的準確率比只用LSTM 神經網絡檢測提高了2.11%,檢測準確率為99.55%,檢測效果更好。

圖8 EEMD-LSTM 檢測與LSTM 神經網絡對比Fig.8 Comparison between EEMD-LSTM detection and LSTM neural network
驗證EEMD-LSTM 神經網絡檢測方法的同時,本文引入了隨機森林算法和支持向量機(support vector machines,SVM)模型來與本文方法一同進行比較,將準確率作為評價模型的指標,同時進行了原始數據與加入流量模態特征的數據集對比,3 種方法對比如圖9 所示。

圖9 DDoS 檢測方法準確率對比Fig.9 Comparison of accuracy of DDoS detection methods
LSTM 神經網絡適用于大數據集,準確率隨數據量增大,隨機森林算法和SVM 模型雖然在小數據量下準確度較高,在大數據情況下準確率低于LSTM神經網絡,并不適用于云端管控平臺處理大量數據情況。除此之外能得出結論,加入EEMD 模態特征的數據集基于3 種檢測方法的檢測效果比原始數據好,分別提高了0.801 6%、0.809 8%和0.810 1%,其中LSTM 神經網絡的檢測準確率為99.55%,檢測效果最好。
針對需求響應終端可能面臨的分布式拒絕服務攻擊威脅,結合傳統互聯網網絡攻擊的神經網絡檢測方法,本文使用EEMD 模態分解提取流量頻域暫態特征,結合LSTM 神經網絡建立DDoS 攻擊檢測模型,通過對時序數據的流量特征分析,提高了單一LSTM 神經網絡模型的檢測準確性。未來將結合該模型對流量暫態特征的提取以及分類效果,識別需求響應終端業務類型,進一步提高DDoS 攻擊檢測精度,并對需求響應終端可能受其他類型網絡攻擊進行檢測及防御研究,以擴大本文模型的使用范圍。