★國網福建省電力有限公司漳州供電公司張坤三
★國網福建省電力有限公司信息通信分公司傅杰,倪文書
★國網信通億力科技有限責任公司黃泰寧
關鍵詞:單類支持向量機;OCSVM;流量異常檢測
1 目的和意義
隨著具有信息化、自動化、互動化特征的新型電網建設發展,以及“互聯網+”新型信息通信技術的應用和能源互聯網深入推進,電網在發、輸、變、配、用和調度各環節具有數量龐大的異構電網智能終端設備,目前主要分為采集類終端、保護類終端、測控類終端等。根據初步統計分析,共涉及電網穩控裝置規模約千余臺,配電終端規模約200余萬臺、集中器規模約3000余萬臺,智能電能表規模約2億臺,實現了電網的量測、保護和信息通信等功能。異構化、智能化、網絡化的電網智能終端廣泛分布于電力生產以及用戶側的現場,實現信息的雙向交互,導致現有安全防護邊界模糊化,且針對電力系統的網絡攻擊呈現出向智能變電站、配用電系統、用電信息采集系統現場等用戶側開放環境泛化演進的趨勢,電網智能終端已經成為攻擊電網的主要入口。
目前,網絡攻擊已成為新型武器,敵對勢力利用網絡攻擊成功破壞電力等國家關鍵基礎設施已成為現實,電網智能終端攻擊一般針對電力特有的協議和特定的業務邏輯,具有攻擊目標明確、操作隱蔽、潛伏時間長等特點,且一般通過集團式甚至是國家級實施攻擊。目前電網智能終端系統在攻擊檢測方面主要是借鑒傳統IT系統已較成熟技術,檢測網絡側的安全事件,但無法檢測到如偽造控制指令等針對系統業務指令級的異常安全事件。針對電網網絡側流量檢測,本文提出了基于單類支持向量機[1-4]OCSVM的流量異常檢測技術,通過流量異常檢測[5-11]實現電網智能終端實時交互過程中的網絡側流量的安全性檢測,通過業務指令級檢測實現電網智能終端實時交互過程中應用層指令級的安全性檢測。
本文首先分析了電力物聯網面臨的網絡安全風險,引入基于單類支持向量機OCSVM的流量異常檢測技術,為電力物聯網的流量異常檢測提供了新的思路;第二章研究了基于單類支持向量機OCSVM的流量異常檢測技術;第三章對本文所提技術進行了實驗;第四章對本文進行了總結,并指出了該技術的應用前景和意義。
2 基于單類支持向量機OCSVM的流量異常檢測技術
與傳統TCP/IP網絡不同,工業控制系統通信網絡具有“狀態有限”和“行為有限”的特點。狀態有限是指工業控制系統通信具有規律性和穩定性的特點,即規則的通信流;行為有限是指工業控制系統具有較固定的行為特征和可預測的行為模式。因此,工業控制系統的實時網絡流量異常特征識別技術本質上是一個二分類問題,即對正常的工業數據和異常的工業數據進行二分類。
單類支持向量機OCSVM是一種基于機器學習的異常檢測算法,可以保證在先驗知識不足的情況下仍有較好的分類正確率,其基本思想就是通過機器學習的方法對數據進行二分類,因此OCSVM[12-14]可以很好地滿足工業控制系統實時網絡流量異常特征識別的基本需求。在樣本訓練上,與傳統的支持向量機算法需要至少兩類樣本來訓練入侵檢測模型不同,OCSVM只需要一類樣本就可以訓練異常檢測模型,對噪聲樣本數據具有魯棒性,很好地滿足了工業控制系統數據具有較明顯的數據不平衡特點,如圖1所示,即正常數據遠大于異常數據,故障或臨界狀態數據較少。
智能電力物聯終端是指主要應用于邊端側,實現電氣量、環境量、狀態量、視頻圖像等數據采集、邊緣計算,并通過網絡層傳輸數據的設備,其擔負著數據采集、處理、加密、傳輸等多種功能。智能電力物聯終端是實現電力系統數字化的基礎,通過對線路數據的分析判斷達到故障檢測及迅速定位,從而實現故障區域的快速隔離和精準搶修,最終提高供電可靠性。
圖1 基于單類支持向量機OCSVM的流量異常檢測技術
由于電力物聯終端網絡流量數據具有較難獲取、數據龐大復雜等特點,在進行流量異常檢測、流量分類等任務時可能會遇到處理無標簽流量數據的問題。傳統的分類模型算法往往無法處理無標簽數據,并不適用于無標簽分類任務場景。本文對電力物聯網設備的流量處理分為以下三個階段。
(1)數據采集階段
數據采集主要是在電網運行時對網絡數據包進行捕獲,從電網實時網絡流量中采集到的流量數據絕大部分為正常數據,只有很少的一部分為異常數據。此外,現場采集的流量數據還可能數據量大、維度高,因此需要經過一系列的預處理,才能用OCSVM算法進行機器學習。
(2)數據降維預處理階段
數據預處理主要指數據降維,數據降維主要是對數據維度進行降維處理,采集的數據具有較多的屬性即數據的維度高,這會降低異常識別算法的效率,需要對數據作降維處理。本研究采用主成分分析方法對系統數據進行特征提取、降維度,主成分分析法(Principal Component Analysis,PCA)基于統計特征的多維正交線性變化,是一種多源統計方法,成功應用于數據的特征提取和數據降維。
對于一個數據包來說,在對特征屬性進行選擇時,屬性選擇的越多能代表的原始數據包的信息就越全面。然而,特征屬性選擇的越多計算量也會相應越大。因此需要對電網網絡流量特征數據進行反復權衡比較,選取能夠代表電網流量的特征屬性代表原始數據包信息。經過反復權衡比較,本研究選取下列13項特征屬性代表原數據包的信息,它們是源地址、目的地址、IP包總長度、IP包頭長度、TCP包頭長度、源端口號、目的端口號、流量大小、協議標識符、長度、業務標識符、功能碼、數據長度。
根據上述所選擇的特征,將這些特征按順序從數據包中提取出來并存儲成矩陣形式,用PCA方法進行特征提取,進行降維處理,去除噪聲數據和冗余特征項。其具體過程如下:
步驟1:設定n個特征變量,這里n=13;
步驟2:輸入提取數據幀號N,計算第N幀各特征數據地址;
步驟3:提取不同的特征變量對應的數據值;
步驟4:判斷是否提取了n個特征變量,若是,將提取的特征變量輸出,存儲為矩陣形式,記為X0,否則繼續提取數據,直到將所有數據包中的特征值都提取出來為止;
步驟5:計算標準化后的工業數據集X0的協方差矩陣P=(1/n)X0X0T,并計算協方差矩陣的特征值以及對應的特征向量;
步驟6:按照特征值大小順序將特征值對應的特征向量排列成向量形式,根據公式計算累計方差貢獻率,選取前m(<n)個特征向量組成變換矩陣C,確定降維后工業數據集,記為X1=CX0,將原始工業數據集從n維降到m維。
(3)OCSVM算法運行階段
在經過數據預處理后,可以得到具有相同維數的流量數據樣本,即OCSVM算法可處理的矩陣形式X=(x1,x2…xi…xl),將矩陣輸入OCSVM算法運算實現實時網絡流量異常的識別。在X矩陣中,xi=(xi1,xi2,…,xim)表示第i個現場數據,每一維代表該數據的一項屬性。
當樣本維數為兩維時,直線即可進行樣本劃分,當樣本維數為三維時,截面即可進行樣本劃分,當樣本維數高于三維時,需要在高維空間進行樣本劃分。由于流量樣本維數較高,本項目利用OCSVM算法將樣本的特征在高維空間進行映射和劃分。
在OCSVM流量異常檢測中,最關鍵、最重要的模塊就是OCSVM訓練過程。在OCSVM訓練中,采用OCSVM算法對電網流量數據進行訓練,由于電網一般情況下都工作在正常的狀態下,因此采集的數據也大多為正常數據,OCSVM算法只需要正常數據就可訓練,在訓練時假設坐標原點為異樣樣本,在特征空間中構建一個最優的劃分面區分正常和異常數據,得到分類決策函數,OCSVM算法運行階段詳細流程如圖2所示。
圖2 電網異常流量檢測流程
通過上述流程訓練得到的OCSVM分類決策函數就可以對電網流量進行檢測,判斷其為正常數據還是異常數據。
3 實驗驗證
為了驗證本文所提技術的測試效率,我們選取了目前較為常用的協議Fuzzing工具SPIKE、Peach與本文所提技術分別對相同的IEC104樣本報文進行測試。
表1從測試用例數、有效測試用例數、測試用例有效率、代碼覆蓋率、測試時間以及發現的漏洞數六個方面,對SPIKE、Peach、本文所提技術在9類IEC104協議報文測試完全時的測試結果進行了對比。
表1 IEC104協議測試效果對比
從表1的數據可以看出,雖然SPIKE與Peach生成的總測試用例數相當,但測試用例的有效率卻遠遠低于Peach。這是由于SPIKE采用平坦的塊序列結構,對于協議報文中的結構和約束關系表達能力不足,因而生成過多的無效測試用例,并且只能發現21個異常流量包。對比Peach和本文所提技術,本文所提技術發現了更多的漏洞,并且本文所提技術使用更少的測試用例實現了更高的代碼覆蓋率,這說明文法驅動的Fuzzing技術測試效率更高。此外還需說明的是:在定義測試腳本時,SPIKE和Peach需要對每種類型的IEC104報文格式編寫測試腳本,冗余性較大且腳本工作繁重;而本文所提技術只需定義單個文法模型就可以描述所有類型的報文格式,形式更簡潔。
4 結論
本文提出單類支持向量機實現電網終端流量的異常檢測技術實現應用層指令級異常檢測,主要是通過提取出能識別協議特征的關鍵字段,與設計的語法語義規則和攻擊特征庫匹配實現畸形報文和攻擊報文的檢測,提取業務指令特征碼、業務指令頻次等業務特征值,通過聚類分析識別違規業務指令。
經過上述對電網網絡流量的異常監測以對應用層指令監測,可構建電網智能終端業務行為模型,可實現基于終端業務行為模型的指令級攻擊模式在線識別,解決了電網智能終端中大量規約指令級新型攻擊識別的難題。
作者簡介:
張坤三(1991-),男,福建漳浦人,工程師,學士,現就職于國網福建省電力有限公司漳州供電公司,主要從事電網工控安全、網絡安全方面的研究。
傅 杰(1991-),男,福建仙游人,工程師,碩士,現就職于國網福建省電力有限公司信息通信分公司,主要從事網絡安全監督方面的研究。
倪文書(1991-),男,福建永泰人,工程師,碩士,現就職于國網福建省電力有限公司信息通信分公司,主要從事電力通信與信息系統方面的研究。
黃泰寧(1981-),男,福建福州人,工程師,學士,現就職于國網信通億力科技有限責任公司,主要從事信息系統方面的研究。
參考文獻:
[1] Maglaras L A, Jiang J, Cruz T. Integrated OCSVM Mechanism for Intrusion Detection in SCADA Systems[J]. Electronics Letters,2014, 50 (25) : 1935 - 1936.
[2] 馮愛民, 薛暉, 劉學軍, 等. 增強型單類支持向量機[J]. 計算機研究與發展, 2008, 45 (11) : 7.
[3] 胡雷, 胡蔦慶, 秦國軍. 雙閾值單類支持矢量機在線故障檢測算法及應用[J]. 機械工程學報, 2009, 45 (3) : 5.
[4] 胡蔦慶, 胡雷, 秦國軍, 等. 基于單類支持向量機的故障診斷方法: CN201010184895.0[P]. CN101907088B, 2023.
[5] 鄭黎明, 鄒鵬, 賈焰, 等. 網絡流量異常檢測中分類器的提取與訓練方法研究[J]. 計算機學報, 2012, 35 (4) : 12.
[6] 鄭黎明, 鄒鵬, 賈焰. 多維多層次網絡流量異常檢測研究[J]. 計算機研究與發展, 2011, 48 (8) : 11.
[7] 呂軍, 李星. 一種網絡流量異常檢測算法[J]. 計算機應用研究, 2006, 23 (11) : 217 - 219.
[8] 王海龍, 楊岳湘. 基于信息熵的大規模網絡流量異常檢測[J]. 計算機工程, 2007, 33 (18) : 4.
[9] 呂軍, 李星. 一種網絡流量異常檢測算法[J]. 計算機應用研究, 2006 (11) : 223 - 225.
[10] Jun L V, Xing L I, 呂軍, et al. Network Traffic Anomaly Detection based on Adaptive Filter Theory一種網絡流量異常檢測算法[J]. 計算機應用研究, 2006, 23 (11) : 217 - 219.
[11] 楊丹. 網絡流量異常檢測方法研究及仿真平臺研制[D]. 成都: 電子科技大學, 2023.
[12] 黃南天, 張書鑫, 蔡國偉, 等. 采用EWT和OCSVM的高壓斷路器機械故障診斷[J]. 儀器儀表學報, 2015, 36 (12) : 9.
[13] 劉松, 周清雷. 基于OCSVM的DDOS攻擊實時檢測模型[J]. 計算機工程與設計, 2011.
[14] 李琳. 基于OCSVM的工業控制系統入侵檢測算法研究[D]. 沈陽: 沈陽理工大學, 2016.
摘自《自動化博覽》2024年4月刊