李自若,沈曦,張亦兵,李小飛,劉潤苗
(1.國網(wǎng)重慶市電力公司建設(shè)分公司,重慶401120;2.國網(wǎng)電力科學研究院有限公司,南京211106)
智慧變電站是目前電力物聯(lián)網(wǎng)發(fā)展與建設(shè)的一個重要方向,隨著大量各類型傳感單元和物聯(lián)網(wǎng)設(shè)備的接入,變電站自動化網(wǎng)絡(luò)安全在輸變電工程中的作用愈發(fā)重要[1]。然而,隨著電力物聯(lián)網(wǎng)建設(shè)的推進,變電站系統(tǒng)從過去的封閉結(jié)構(gòu)轉(zhuǎn)變?yōu)榻尤朦c增多、通信方式多樣化和通信協(xié)議部分開放等模式,以消息隊列遙測傳輸(message queuing telemetry transport, MQTT)協(xié)議和受限應(yīng)用協(xié)議(constrained application protocol, CoAP)為代表的物聯(lián)網(wǎng)通信協(xié)議逐步在智慧變電站中推廣應(yīng)用,促使智慧變電站各智能終端與各類型傳感器之間的通信標準化,完成變電站的全景狀態(tài)監(jiān)測,由此帶來的網(wǎng)絡(luò)攻擊的威脅也隨之增加[2 - 3]。另一方面,變電站通信網(wǎng)絡(luò)也面臨著光纖短路、交換機異常、端口錯誤以及數(shù)據(jù)丟包等異常形式,此外該網(wǎng)絡(luò)中二次通信設(shè)備端口數(shù)量眾多,各鏈路存在交叉等問題,復(fù)雜的網(wǎng)絡(luò)構(gòu)架往往使故障難以得到快速精確的分析和處理,會對智能電子設(shè)備(intelligent electronic devices,IED)間的信息交互及其功能實現(xiàn)造成嚴重影響,甚至威脅智能站系統(tǒng)正常運行[4]。因此,對智能站的自動化網(wǎng)絡(luò)實現(xiàn)快速的異常網(wǎng)絡(luò)檢測至關(guān)重要[5 - 6]。
此外,大多數(shù)現(xiàn)有的安全解決方案通過引用黑名單數(shù)據(jù)庫來檢測攻擊,黑名單數(shù)據(jù)庫需要包含每個攻擊的簽名信息,因此無法檢測使用未知漏洞的數(shù)據(jù)攻擊。每當出現(xiàn)新的攻擊模式時,必須更新數(shù)據(jù)庫才能保證其有效性[7]。然而在諸如電網(wǎng)這樣的環(huán)境中,可靠性至關(guān)重要,諸如數(shù)據(jù)庫更新導(dǎo)致的服務(wù)延遲等問題通常是不容許出現(xiàn)的一類問題[8]。
根據(jù)不相同的入侵識別方案,入侵檢測系統(tǒng)(intrusion-detection systems,IDS)中使用的技術(shù)大體上可分為誤用檢測和異常檢測。誤用檢測技術(shù)使用保存攻擊特征碼的數(shù)據(jù)庫檢測攻擊,具有精度高、速度快的優(yōu)點[9]。它在控制系統(tǒng)中的使用也有一些限制,因為它不能檢測到新的攻擊,并且需要頻繁的數(shù)據(jù)庫更新;異常檢測技術(shù)是一種首先確定網(wǎng)絡(luò)或系統(tǒng)的正常行為,然后考慮偏離正常行為既定標準行為的檢測方法[10]。
由于控制系統(tǒng)的環(huán)境具有有限的服務(wù)能力,并且與一般IT環(huán)境相比,它的行為模式是規(guī)則的,因此它是異常檢測技術(shù)的一個很好的選擇[11]。文獻[12]提出了一種即插即用設(shè)備來檢測拒絕服務(wù)(denial of service,DoS)和隱私攻擊。該設(shè)備主要包括捕獲工具和深度學習檢測模型。捕獲工具用于在ad-hoc網(wǎng)絡(luò)中捕獲數(shù)據(jù)包,深度學習檢測模型用于檢測攻擊。如果檢測到的結(jié)果是攻擊,將觸發(fā)警報。結(jié)果表明,所有檢測模型可以實現(xiàn)較高的準確性、精確度、召回率和F1得分。文獻[13]提出了一種算法來識別智能水分配系統(tǒng)的不同網(wǎng)絡(luò)物理組件中的可疑行為。該算法結(jié)合了異常檢測技術(shù)的多個模塊,以識別實時監(jiān)視和控制數(shù)據(jù)中的不同類型的異常。文獻[14]提出了一種使用混合學習機制的機器異常檢測系統(tǒng),該機制結(jié)合無監(jiān)督學習和非參數(shù)學習兩種機器學習方法,使用正常模式而不是來自機器的異常模式來檢測異常行為。為了確定構(gòu)造入侵檢測模型所需的關(guān)鍵特征從而實現(xiàn)最大的準確性,文獻[15]利用具有最小復(fù)雜度的分類器集成方法來克服現(xiàn)有基于集成的入侵檢測模型的問題。利用卡方特征選擇和支持向量機,改進樸素貝葉斯(improved Naive Bayes,INB)和線性編程提升(linear programming boosting,LPBoost)等分類器的集合來開發(fā)入侵檢測模型。實驗結(jié)果表明,與LPBoost集成相比,基本分類器具有更高的準確性。文獻[16]提出了一種基于子空間局部密度估計的新型異常檢測方法,其關(guān)鍵思想是構(gòu)建多個T型樹,可以實現(xiàn)構(gòu)建子空間和局部密度估計的過程。上述研究對自動化網(wǎng)絡(luò)系統(tǒng)的異常檢測已經(jīng)有了一些研究。然而,目前對于智慧變電站中IEC 61850協(xié)議與物聯(lián)網(wǎng)開放協(xié)議MQTT/CoAP特性的異常檢測研究還很少[17]。
針對上述問題,本文提出了一種基于深度強化學習的面向智慧變電站自動化網(wǎng)絡(luò)異常檢測方法,其創(chuàng)新點如下。
由于現(xiàn)有檢測方法存在不適用智慧變電站自動化網(wǎng)絡(luò)的問題,所提方法構(gòu)建了智慧變電站自動化系統(tǒng)架構(gòu),并且分析智慧變電站網(wǎng)絡(luò)中制造報文規(guī)范(manufacturing message specification,MMS)、面向通用對象變電站事件 (generic object oriented substation event,GOOSE)包、采樣值 (sample value,SV)報文、MQTT和CoAP協(xié)議的正常行為,為制定IEC 61850的網(wǎng)絡(luò)異常檢測方案提供基礎(chǔ)支撐。
由于網(wǎng)絡(luò)流量的發(fā)生是有規(guī)律的,所提方法基于這一特性,利用深度強化學習算法處理智慧變電站中的流量特征,以判斷實時采集的數(shù)據(jù)包是否存在異常,并將MMS/GOOSE/SV/MQTT/COAP包的檢測結(jié)果添加到學習模型中,以提高其檢測性能。
基于串行的IEC 60870- 5作為數(shù)據(jù)交換協(xié)議已在變電站中使用多年。然而,IEC 60870- 5有許多缺點,由于其對硬件的高度依賴性,只有相關(guān)的點信息和狀態(tài)信息,對不同廠商的兼容性較差。為了克服現(xiàn)有變電站系統(tǒng)通信協(xié)議的可擴展性和靈活性的不足,以及滿足智慧變電站的需要,IEC TC57WG10開發(fā)了IEC 61850,作為適合下一代智慧變電站自動化系統(tǒng)的新通信標準。
MMS/GOOSE/SV是IEC 61850中使用的典型協(xié)議。其中,MMS是一種基于TCP/IP的協(xié)議,用于服務(wù)器和客戶端之間的通信和普通的控制命令傳輸[18]。GOOSE/SV是一種用于點對點通信的以太網(wǎng)協(xié)議,用于傳輸智能電子設(shè)備(smart electronic device,IED)電氣量狀態(tài)信息。MQTT和CoAP協(xié)議是面向?qū)ο蟮奈锫?lián)網(wǎng)開放式協(xié)議,用于智慧變電站中各類型傳感器和智能裝置的非電氣量狀態(tài)信息采集和匯聚。智慧變電站體系結(jié)構(gòu)以及MMS/GOOSE/SV/MQTT/COAP協(xié)議的使用范圍如圖1所示。
圖1 智慧變電站自動化體系結(jié)構(gòu)Fig.1 Architecture of intelligent substation automation system
目前,基本的MMS/GOOSE/SV/MQTT/COAP協(xié)議不提供加密或身份驗證,并且已經(jīng)發(fā)現(xiàn)MMS協(xié)議棧中TPKT層存在漏洞,攻擊者很有可能利用此漏洞威脅網(wǎng)絡(luò)安全,從而影響智慧變電站的穩(wěn)定運行。
因此,現(xiàn)有自動化網(wǎng)絡(luò)的異常檢測方法不適用于IEC 61850和物聯(lián)網(wǎng)協(xié)議環(huán)境,它們大多基于Modbus或DNP3協(xié)議,或者不考慮TCP上層協(xié)議。為此,本文提出了一種基于深度強化學習的智慧變電站自動化網(wǎng)絡(luò)異常監(jiān)測方法[19]。從智慧變電站和間隔層的設(shè)備收集通信包,對其進行預(yù)處理,獲得網(wǎng)絡(luò)流量特征,然后利用深度強化學習從這些數(shù)據(jù)特征中檢測出網(wǎng)絡(luò)的異常情況。
在包過濾中,利用MMS/GOOSE/SV/MQTT/COAP包的特征,從整組數(shù)據(jù)包中只提取MMS/GOOSE/SV/MQTT/COAP包,其中在單數(shù)據(jù)包處理中創(chuàng)建數(shù)據(jù)集所選的數(shù)據(jù)包字段特征如表1—2所示。
表1 MMS包字段特征Tab.1 Characteristics of MMS package fields
表2 GOOSE/SV包字段特征Tab.2 Characteristics of GOOSE/SV package fields
在選擇字段時,關(guān)鍵的因素在于數(shù)據(jù)包之間的值變化。對于MMS/GOOSE/SV/MQTT/COAP數(shù)據(jù)包,因為MMS/GOOSE/SV/MQTT/COAP信息部分的字段是可變的,具體取決于信息的類型,因此采用n-gram方法將MMS/GOOSE/SV/MQTT/COAP有效載荷引入特征空間[20]。當所有的數(shù)據(jù)被帶入特征空間時,整個數(shù)據(jù)集就變成了稀疏矩陣。
此外,基于流量的進程進行分組業(yè)務(wù)的處理,其通過計算單位時間的包傳輸速率和傳輸字節(jié)大小來創(chuàng)建數(shù)據(jù)集。通過基于流量的數(shù)據(jù)集學習可以檢測到諸如拒絕服務(wù)(denial of service,DoS)之類的攻擊。
當自動化網(wǎng)絡(luò)運行穩(wěn)定時,內(nèi)部各個信息源的數(shù)據(jù)傳輸是相對獨立的,并且流量滿足疊加定理。根據(jù)這一特性,構(gòu)建了網(wǎng)絡(luò)裝置和鏈路流量的計算模型,其中裝置流量類型包括輸入與輸出兩種,鏈路流量類型包括上行與下行兩種。由于裝置的輸出流量對模型的影響不大,因此忽略不計。
1)裝置輸入流量的數(shù)學分析計算過程如式(1)所示。
Qi=Min,iR
(1)
式中:Qi為裝置i的輸入流量;Min,i為裝置i的輸入報文集矩陣(n×m階),n為信息源的數(shù)量,m為網(wǎng)絡(luò)的報文路數(shù);R為單位時間內(nèi)輸入裝置i的各路報文數(shù)量組成的矩陣。
其中Min,i計算如式(2) 所示。
(2)
式中:Mci為裝置c和i分別作為根節(jié)點、葉節(jié)點的輸入報文集矩陣;Lp為報文p的長度。
2)鏈路流量計算模型
鏈路流量計算如式(3) 所示。
(3)
式中:Qik為鏈路ik的流量矩陣;i→k表示鏈路流量方向,由裝置i流入裝置k;E為自動化網(wǎng)絡(luò)過程層中全部信息源的集合。
(4)
定義每個網(wǎng)絡(luò)流量的上下限閾值,超出正常閾值的網(wǎng)絡(luò)流偏差可能表示網(wǎng)絡(luò)有問題,或者存在潛在攻擊。因此采用隸屬函數(shù)a(t)定義如式(5)所示。
(5)
深度強化學習融合了深度學習的感知優(yōu)勢與強化學習的決策優(yōu)勢,其中深度學習可以從場景中獲得研究對象的觀測數(shù)據(jù),并且提供場景的當前狀態(tài)數(shù)據(jù);而強化學習把當前狀態(tài)折射成相符合的動作,并且利用預(yù)期回報評價動作的價值,其框架如圖2所示。
圖2 深度強化學習框架Fig.2 Framework of deep reinforcement learning
其中深度學習是機器學習的重要組成部分,強化學習的目的是讓智能體(agent)在和場景(environment)交互的環(huán)節(jié)中實現(xiàn)獎勵(reward)和最大化[21 - 22]。
對于給定的狀態(tài)S(k), agent通過策略π采取一個動作a(k), 即a(k)=π(s(k)), 系統(tǒng)的操作由序列s(1),a(1),s(2),…,a(k-1),s(k)來描述。
在時刻k中,每次與環(huán)境交互后,都會收到一個獎勵r(k), 未來總的折扣獎勵R(k)為:
(6)
式中:γ為折扣因子;K為過程結(jié)束的時刻。
定義Q函數(shù)Q(s(k),a(k)), 其表示給定狀態(tài)S(k)中某個動作a(k)的回報期望。最優(yōu)Q函數(shù)在接收到狀態(tài)s并采取動作a后,應(yīng)遵循策略π,即Q*(s,a)=maxπE[R(k)|s(k)=s,a(k)=a,π], 可作為貝爾曼方程的解。因此,通過使用貝爾曼方程進行迭代更新,Q函數(shù)為:
Q(k+1)(s(k),a(k))=Es(k+1)[r(k)+
(7)
由于在連續(xù)的學習狀態(tài)下,Q值需要很長的時間才能收斂。因此,通常使用深度卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)作為非線性函數(shù),不斷尋優(yōu)以預(yù)估Q函數(shù)。將Q(s(k),a(k);?)定義為近似Q函數(shù),即Q(s(k),a(k);?)≈Q*(s(k),a(k)), CNN權(quán)值參數(shù)?被稱為Q網(wǎng)絡(luò)。Q網(wǎng)絡(luò)通過在迭代i處最小化損失函數(shù)Li(?i)序列來更新其參數(shù)?i:
(8)
所提方法基于隨機梯度下降(stochastic gradient descent,SGD)方法不斷迭代、更新Q網(wǎng)絡(luò)參數(shù),以此獲得Q網(wǎng)絡(luò)的最優(yōu)解π*(s), 即:
(9)
利用深度強化學習判斷實時采集的數(shù)據(jù)包是否存在異常,每個MMS/GOOSE/SV/MQTT/COAP包的檢測結(jié)果都保存為日志記錄。然后將這些信息添加到學習模型中,以提高檢測性能[23 - 24]。由于使用學習算法時的檢測性能高度依賴于預(yù)處理模塊。因此,為了提高檢測性能,有必要對預(yù)處理技術(shù)和應(yīng)用領(lǐng)域的特點進行充分的學習和測試?;谏疃葟娀瘜W習的智慧變電站自動化網(wǎng)絡(luò)異常檢測方法的流程如圖3所示。
圖3 IEC 61850異常檢測方法的流程Fig.3 Process of IEC 61850 anomaly detection method
在預(yù)處理中,通過對采集到的智慧變電站網(wǎng)絡(luò)包數(shù)據(jù)進行包過濾,提取出MMS/GOOSE/SV//MQTT/COAP包,并且通過階段預(yù)處理(單包處理和分組業(yè)務(wù)處理)將MMS/GOOSE/SV/MQTT/COAP分組為不同的數(shù)據(jù)集[25 - 26]。然后,利用深度強化學習對生成的數(shù)據(jù)集進行異常檢測,以確定智慧變電站的網(wǎng)絡(luò)狀況是否正常,并更新警報和日志。
為了驗證所提方法的有效性,采用典型的110 kV智慧變電站收集數(shù)據(jù)包并進行實驗,其中變電站的物理模型如圖4所示。
圖4 智慧變電站物理模型Fig.4 Physical model of smart substation
圖4中通信網(wǎng)絡(luò)中包含3個間隔,間隔1的IED包含1個合并單元(MU)、2個斷路器智能終端(Breaker IED)、2個保護裝置(Relay IED)和2個測控裝置(M& C IED);間隔2和3的IED包含1個MU、1個斷路器智能終端、12個保護裝置和1個測控裝置,間隔IED之間通過交換機進行數(shù)據(jù)的收發(fā)。
異常檢測系統(tǒng)運行在Linux(ubuntu12.04)上,并使用Libsvm v3.14庫中的函數(shù)實現(xiàn)深度強化學習算法。對于分組流的模型,由于預(yù)處理占用了內(nèi)存空間和時間,因此只對單包模型進行性能評估,以評估其現(xiàn)場適用性。此外,還采用對正常數(shù)據(jù)包的誤報率(false positive rate,F(xiàn)PR)進行對比評估。
通常來說,當網(wǎng)絡(luò)中存在流量異常時,其流量變化情況如圖5所示。
圖5 網(wǎng)絡(luò)異常流量變化曲線Fig.5 Network abnormal traffic curves
從圖5中可以看出,當網(wǎng)絡(luò)中存在DoS攻擊時,其流量值會迅速增大,且保持一段時間,這與突發(fā)流量會有明顯的區(qū)分,因此能夠很好地判定網(wǎng)絡(luò)中的異常情況。以此特性為基礎(chǔ),進一步定量判定所提方法的異常檢測準確性,結(jié)果如表3所示。
表3 異常檢測方法的準確性Tab.3 Accuracy of anomaly detection methods
從表3中可以看出,無論是MMS、GOOSE/SV還是MQTT/CoAP,所提方法的誤報率均比較低,由此可論證其有效性,能夠用于網(wǎng)絡(luò)異常的檢測。
在FPR和平均延時兩個方面,對比不同方法(所提方法與文獻[12]、文獻[14 - 15]在智慧變電站自動化網(wǎng)絡(luò)中的異常檢測結(jié)果,其中不同方法的FPR值對比結(jié)果如圖6所示。
圖6 不同方法的FPR結(jié)果對比Fig.6 Comparison of FPR results of different methods
從圖6中可以看出,隨著數(shù)據(jù)包的增加,其FPR的數(shù)值出現(xiàn)了小幅度的升高,并且相比于其他方法,所提方法的誤報率最低。文獻[14]使用混合學習機制的異常檢測系統(tǒng),其中結(jié)合無監(jiān)督學習和非參數(shù)學習兩種機器學習方法,但沒有充分結(jié)合智慧變電站的網(wǎng)絡(luò)特征,因此FPR較高,且隨著數(shù)據(jù)包的增加,其值上升較快。文獻[15]利用具有最小復(fù)雜度的分類器集成方法來克服現(xiàn)有基于集成的入侵檢測模型中的問題,雖然方法復(fù)雜度降低,但檢測準確度會有所影響,因此其FPR數(shù)值不太理想。文獻[12]中采用捕獲工具在Ad-Hoc網(wǎng)絡(luò)中捕獲數(shù)據(jù)包,并使用深度學習模型檢測網(wǎng)絡(luò)攻擊,因此其檢測性能較好。但所提方法采用深度強化學習模型,并且數(shù)據(jù)包進行預(yù)處理,因此性能更佳。
此外,不同方法平均延時對比結(jié)果如圖7所示。
圖7 不同方法的平均延時對比Fig.7 Comparison of average delay of different methods
從圖7可以看出,相比于其他方法,所提方法的平均延時最小,并且隨著數(shù)據(jù)包的增加,其延時不斷增加。文獻[15]的檢查復(fù)雜度最小,因此延時較短。文獻[12]和文獻[14]的計算過程復(fù)雜,耗時較多。而所提方法在數(shù)據(jù)包預(yù)處理的基礎(chǔ)上,采用訓練好的深度強化學習模型,因此平均延時較短。
在智慧變電站中,使用IEC 61850和物聯(lián)網(wǎng)開放式通信定義的標準協(xié)議可以實現(xiàn)在不同裝置之間的信息交互。隨著網(wǎng)絡(luò)攻擊對電網(wǎng)等工業(yè)基礎(chǔ)設(shè)施的威脅越來越大,迫切需要完善的IEC 61850和物聯(lián)網(wǎng)通信數(shù)據(jù)包異常檢測方法。為此,提出了一種基于深度強化學習的面向智慧變電站自動化網(wǎng)絡(luò)異常檢測方法。結(jié)合智慧變電站的固有特點,構(gòu)建了智慧變電站自動化網(wǎng)絡(luò)架構(gòu)。在此基礎(chǔ)上,對智慧變電站網(wǎng)絡(luò)中的通信數(shù)據(jù)包進行預(yù)處理,以獲得能夠反映網(wǎng)絡(luò)異常的流量特征,并利用深度強化學習檢測MMS/GOOSE/SV/MQTT/COAP數(shù)據(jù)包是否存在異常,所有的檢測結(jié)果都保存為日志記錄。最后,基于典型110 kV智慧變電站的自動化系統(tǒng)進行實驗,其中利用Linux環(huán)境開發(fā)上層管理平臺,以處理智慧變電站采集的數(shù)據(jù)并將結(jié)果呈現(xiàn)。結(jié)果表明所提方法能夠準確檢測出網(wǎng)絡(luò)流量異常的情況,并且相比于其他方法,其誤報率最小且延時最短,具有較好的應(yīng)用前景。
目前針對IEC 61850和物聯(lián)網(wǎng)協(xié)議特性的異常檢測技術(shù)的研究相對較少,所提方法僅根據(jù)網(wǎng)絡(luò)流量進行異常檢測,而在實際應(yīng)用中,需要對其抵御攻擊數(shù)據(jù)包的性能進行評估,即應(yīng)該使用IEC 61850攻擊包進行實驗分析。因此在接下來的研究中,將進行抵御IEC 61850攻擊包的性能分析,并且對節(jié)點間的通信包應(yīng)用不同的正常行為模型,以進一步提高網(wǎng)絡(luò)異常檢測精度。