999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

工業控制系統中基于單類支持向量機異常檢測方法研究

2017-12-18 11:04:41蔡宇晴黃學臻
網絡安全與數據管理 2017年23期
關鍵詞:功能檢測模型

李 超,蔡宇晴,賈 凡,黃學臻

(1. 公安部第一研究所,北京 100048; 2.中國電子科技集團第十二研究所,北京 100015;3. 北京交通大學,北京 100044)

工業控制系統中基于單類支持向量機異常檢測方法研究

李 超1,蔡宇晴2,賈 凡3,黃學臻1

(1. 公安部第一研究所,北京 100048; 2.中國電子科技集團第十二研究所,北京 100015;3. 北京交通大學,北京 100044)

Modbus TCP/IP協議作為工業控制系統中常用的通信協議,存在其自身的脆弱性。文章主要研究了Modbus TCP/IP協議的異常檢測方法,首先介紹了基于單類支持向量機的異常檢測模型的實現過程,對單類支持向量機選擇不同的滑動窗口長度和核函數進行測試,設計與傳統支持向量機、標準RBF算法、BP神經網絡、異常檢測模型的對比實驗,并對實驗結果進行分析。還設計了與基于功能碼序列的異常檢測模型的對比實驗,驗證選取功能碼和寄存器地址組合對作為特征的優越性。

工業控制系統;Modbus TCP/IP協議;單類支持向量機;異常檢測

0 引言

隨著工業以太網技術的不斷發展,工業控制系統(ICS)越來越多地采用開放性的通用協議和軟件,也使得原本傳統的ICS變得不再封閉,使得ICS系統所面臨的安全風險和攻擊威脅頻繁上升;全球的工業控制系統每年由于遭受惡意攻擊而發生的安全事故數量也在不斷增加,不僅給國家帶來了巨大的經濟損失,也給人們的生活帶來了很大的災難和影響。Modbus協議作為工業控制系統中典型的通信協議[1],其自身存在較大的缺陷也會引發網絡安全問題的發生[2]。

為檢測出工業控制系統面臨的安全威脅,建立工業控制系統網絡安全的防護體系,發現未知的攻擊形式和異常行為,選取了面向工業控制系統的入侵檢測這一問題進行分析研究。本文主要將工業控制系統中的Modbus TCP/IP通信協議結合入侵檢測技術進行研究,設計了基于單類支持向量機異常檢測模型,利用滑動窗口抽取模式子序列構建頻率特征向量的方法對正常通信狀態的Modbus功能碼和寄存器地址的組合對序列進行數據預處理,采用單類支持向量機算法對其進行訓練并建立異常檢測模型,從而能夠識別Modbus TCP/IP流量中的異常流量。

1 工業控制系統的異常檢測方法

針對工業控制系統中數據的異常檢測在本質上來講屬于二分類問題,即通過提取系統中樣本數據的特征并對其進行訓練得到一種分類器,該分類器能夠對系統中的實時數據進行識別,將其分為正常數據和異常數據。目前,異常檢測的主要方法有特征選擇、機器學習、數學統計等,機器學習的算法有很多,比如神經網絡[3]、遺傳算法[4]、支持向量機[5-6]等,但其中,遺傳算法編碼復雜度較高,訓練所需要的時間較長;基于神經網絡的異常檢測算法則計算復雜度較高,對樣本的要求也較高,分類效率較低,這對工業控制系統的實時檢測影響較大。支持向量機作為機器學習方法的一種,在異常檢測方面的數據處理上與其他算法相比具有一定的優勢,具體可分為以下三點:

(1)適用于樣本量較少的訓練集合,其目標是為了得到現有條件下的最優解。

(2)該算法最終是為了演變成凸二次歸化問題,從而獲得全局最優解,解決了神經網絡中出現的局部極值問題。

(3)該算法將問題通過非線性變換方式由低維轉變為高維特征空間來解決,巧妙地避免了維數災難問題,這樣使得算法復雜度與樣本空間維數無關。

綜上,支持向量機算法與其他機器學習算法相比具有訓練樣本少、推廣能力強、數據維度高、全局最優的優點。

雖然支持向量機在分類問題上表現出很大的優勢,但是傳統的支持向量機適用于多分類問題,需要正常和異常兩類樣本作為訓練集合訓練分類模型,其分類邊界需要依靠兩類實例提供支持,但是有些時候由于某種原因會導致某一邊不能提供很好的支持,比如如果訓練集合中的異常樣本較少,那么最優分類超平面就會嚴重偏離。由于SCADA系統通信過程中產生的數據異常樣本量較少,多數為正常狀態下的數據,因此,訓練集會出現正負樣本不平衡的情況,若以此建立分類模型,其分類準確度會降低。因此,本文針對SCADA系統數據的特點,選取單類支持向量機來建立異常檢測模型。

2 單類支持向量機異常檢測模型設計

單類支持向量機是在傳統的支持向量機基礎上發展而來的,也是一種用途比較廣泛的分類器,通過對采樣的目標樣本進行學習,然后形成一個對該類別數據的準確描述,由給定的相似性度量和提前設置好的閾值來判別測試樣本的類別。該分類器常常被用于負類樣本比較難于采集的領域中,例如系統的故障檢測問題、遙感數據的分類問題、離群點識別問題以及異常檢測問題。單類支持向量機同樣需要小樣本訓練集就可以建立分類模型,并且只需要一種類型的樣本就可以滿足訓練條件,而且運行時間較短,對樣本中的噪聲數據也具有一定的魯棒性,因此,將單類支持向量機算法應用于Modbus TCP/IP通信網絡的異常檢測中具有明顯的優勢。

2.1 單類支持向量機異常檢測算法

單類支持向量機算法的主要思想是將輸入向量通過核函數映射到高維空間中,假定坐標原點為異常樣本,目標是構造一個最優分類超平面將輸入向量與原點盡可能地分開,實現目標數據與原點的最大間隔,因此,單類支持向量機的分類過程即是求解最優分類超平面的過程。

本文對于單類支持向量機算法的最優分類超平面的求解,采用拉格朗日優化方法將其轉化為一個對偶問題:

(1)

對式(1)對偶模型進行求解,由于支持向量處于超平面上,可以從某個支持向量xi及其對應的αi得到ρ:

(2)

代入不同的核函數,即可求出最終的決策函數為:

(3)

將待檢測的數據經過數據預處理之后得到的特征向量x輸入到所求得的決策函數f(x)中,如果f(x)輸出的結果大于0,則認為該樣本為正常類,如果f(x)的輸出結果為負,則認為該樣本為異常類。

2.2 單類支持向量機異常檢測模型

針對SCADA系統正常狀態的數據多,異常樣本少的特點,本文設計了一種基于單類支持向量機算法對功能碼和寄存器地址組合對序列進行檢測的模型,算法流程圖如圖1所示,具體步驟如下:

(1)Modbus TCP/IP流量數據采集。獲取正常的Modbus TCP/IP報文序列,由于單位時間內通過的Modbus TCP/IP通信流量是隨機的,根據設定的單位時間可以將Modbus TCP/IP報文序列隨機劃分為不同長度的組合對子序列,剔除報文序列中IP地址、源地址、目的地址、端口號等冗余字段,只留下報文序列中的功能碼和寄存器地址兩個關鍵特征,構成訓練樣本序列集合。

(2)Modbus TCP/IP報文序列的數據預處理。采用構建頻率特征向量的方法對正常的功能碼和寄存器地址的組合對序列進行數據預處理,使之變為單類支持向量機異常檢測模型可以處理的數據,得到的特征向量具有相同的維數,并以此來描述功能碼和寄存器地址的組合對序列的通信特征。

(3)單類支持向量機核函數的選擇以及參數ν的設定。正確選擇常用的核函數,包括線性核、多項式核以及高斯核等核函數直接關系到單類支持向量機異常檢測模型的準確率和泛化能力。參數v為可調參數,v∈(0,1),該參數可以作為控制總的樣本數中錯誤樣本比例的上界。

(4)建立單類支持向量機的訓練模型。以正常的功能碼和寄存器地址的組合對序列構成的訓練集合構造并求解最優超平面,對于超平面的求解轉化為對偶問題,可以從某個支持向量xi及其對應的αi,求解得到ρ,然后將αi、ρ以及選定的核函數一起代入式(3),得到最終的決策函數f(x),完成單類支持向量機模型的建立。

(5)利用基于單類支持向量機的異常檢測模型對測試集進行檢測。首先對測試數據集進行貼標簽處理,其中,正常的功能碼和寄存器地址的組合對序列標簽設置為1,異常的功能碼和寄存器地址的組合對序列標簽設置為-1,方便分析分類模型的準確率、誤報率以及漏報率。將測試數據集輸入到單類支持向量機檢測模型進行測試,若輸出結果為1,則認為該數據為正常的Modbus TCP/IP流量;若輸出結果為-1,則認為該數據為異常的Modbus TCP/IP流量。

圖1 基于單類支持向量機的異常檢測模型

3 單類支持向量機異常檢測模型實現

基于異常的入侵檢測模型對于網絡層和傳輸層的入侵行為進行檢測有較高的誤報率和漏報率,而且對于網絡層和傳輸層報文的特征提取需要耗費一定的時間,同時又增加了特征空間的維度,不滿足數據采集監控系統的實時性要求,因此,針對工業控制系統網絡所具有的流量特點,本文總結SCADA系統正常穩定通信時的流量特征,對應用層Modbus TCP/IP流量進行特征提取,利用單類支持向量機對正常的功能碼和寄存器地址的組合對序列進行訓練,建立異常檢測模型,從而識別出Modbus TCP/IP系統違反正?;顒訝顟B的流量。首先利用Modbus Poll和Modbus Slave模擬Modbus TCP/IP通信,然后介紹利用Wireshark進行Modbus TCP/IP流量采集的過程,將數據預處理后的樣本數據集輸入單類支持向量機進行訓練,最后利用測試樣本集測試該檢測模型的精度、誤報率和漏報率指標,并與其他分類模型進行對比分析。

3.1 實驗環境

本次實驗利用軟件Modbus Poll和Modbus Slave分別模擬客戶機和服務器建立Modbus TCP/IP通信,Modbus Poll是Modbus主設備的模擬工具,可以向從站發送命令包,采集從站的數據,它可以幫助Modbus通信設備開發人員進行Modbus通信協議的模擬和測試,用于監控、測試以及調試Modbus通信設備,在Modbus Poll工具中可以使用多個窗口同時監控Modbus從站設備,支持功能碼01、02、03、04、05、06、15、16、22和23,監視串口數據。該工具支持以下協議的調試:Modbus RTU、Modbus ASCII和Modbus TCP/IP協議。Modbus Slave是Modbus從站設備的模擬工具,用來接收主站的命令包,向主站回送數據包。它可以仿真32個從站設備和地址域,與Modbus Poll的界面相同。

具體的測試環境搭建如圖2所示,主站客戶機和從站服務器進行通信,基本上體現出了SCADA系統中控制層和現場總線層的網絡關系,然后在通信旁路進行Modbus TCP/IP通信的捕獲,用于進行基于單類支持向量機的組合對序列異常檢測。

圖2 測試環境

主站和從站使用運行Windows 7系統的PC進行模擬,在主站安裝Modbus Poll軟件模擬Modbus客戶端,在從站安裝Modbus Slave軟件模擬Modbus服務器端,在服務器端設置一個Modbus服務進行基于工業控制協議的通信,異常檢測模塊配置端對主站發送不同的數據包進行獲取并檢測。

3.2 流量采集

在建立Modbus TCP/IP通信服務之后,在異常檢測模塊安裝Wireshark抓包工具對數據包進行獲取,Wireshark是一個網絡封包分析軟件,可以獲取網絡封包,顯示出詳細的封包資料,包括報文中的各個字段以及數據內容。通過Wireshark進行抓包,實現對Modbus協議的解析,從而獲取到Modbus TCP/IP協議中的功能碼以及其他重要字段。

首先在客戶端與服務器進行通信時,通過Wireshark抓取Modbus TCP/IP通信流量,剔除通信流量中不包含功能碼的Modbus TCP/IP數據包,例如TCP/IP的三次握手連接、確認重傳等數據包,得到Modbus客戶端和服務器端的通信流量;然后,去除Modbus TCP/IP數據包中的冗余字段,只得到含有功能碼和寄存器地址的組合對序列,以單位時間為截取點,將按照時間順序到達的Modbus TCP/IP序列隨機劃為不同長度的子序列,由功能碼和寄存器地址構成的子序列作為下一步數據預處理的樣本集合。

3.3 數據預處理

由于單類支持向量機不能直接處理Modbus TCP/IP流量,基于Modbus TCP/IP報文序列的頻率特征向量構建的數據預處理方法將其處理成單類支持向量機可以識別的向量[7-8],具體步驟如下:

(1)針對每一個包含不同數目的功能碼和寄存器地址的組合對序列,長度為nj,采用滑動窗口將其劃分為nj-l+1個模式子序列,計算其模式子序列對應的頻率特征Fj,并將該頻率特征值存儲為max(Fj);

3.4 OCSVM訓練與檢測

將所有正常的功能碼和寄存器地址的組合對序列對應的p維特征向量輸入到單類支持向量機中進行訓練,得到基于正常通信行為建立的訓練模型。

將待檢測的數據集所對應的p維特征向量輸入到單類支持向量機檢測模型中進行測試,如果決策函數的輸出值大于0,則認為該數據為正常的Modbus TCP/IP流量,反之,則認為該數據為異常流量。

4 實驗比對和結果分析

為了驗證本文提出的異常檢測模型的可行性以及優越性,本文與傳統的支持向量機算法、標準RBF神經網絡算法以及BP神經網絡算法的異常檢測模型進行對比實驗,為了能夠客觀真實地反應測試結果,確保實驗結果的準確性,對以每種算法建立的異常檢測模型進行10次分類實驗,并對其取平均值,對4種模型的準確率和誤報率進行對比分析,不同模型得到的準確率結果如圖3所示。

圖3 不同分類模型準確率對比圖

之前的研究者選取Modbus TCP/IP序列中的功能碼作為特征進行研究[10],研究對象單一,而本文選取功能碼和寄存器地址的組合對序列為特征,將Modbus TCP/IP通信流量的異常檢測轉化為對連續的功能碼和寄存器地址組合對序列的異常檢測,為了驗證其有效性,與基于功能碼序列異常檢測模型進行了對比實驗。

測試結果如圖4所示,由第一組實驗結果可以看出,基于功能碼序列的異常檢測模型的測試分類準確率略高于基于功能碼和寄存器地址組合對序列的異常檢測模型,原因在于第一組測試數據中的異常樣本僅為功能碼異常,因此,兩種異常檢測模型均能較好地識別異常流量。但是隨著功能碼和寄存器地址的組合對序列異常的比例逐漸增加,基于功能碼序列的異常檢測模型分類準確率持續下降,而且下降幅度較大,第五組實驗的分類準確率僅有51.31%,而基于功能碼和寄存器地址的異常檢測模型的準確率走勢比較平穩,浮動較小,始終在90%以上,原因在于功能碼和寄存器地址的組合對序列異常中存在寄存器地址被非法修改的情況,對于此種異常序列,基于功能碼序列的異常檢測模型不能準確識別,導致其分類準確率偏低。

圖4 兩種異常檢測模型對比圖

由此可見,選取Modbus TCP/IP序列中的功能碼建立異常檢測模型具有一定的局限性和片面性,僅能檢測出功能碼序列的異常,并不能準確識別功能碼和寄存器地址組合對序列的異常。而將功能碼和寄存器地址作為組合特征進行異常檢測則具有一定的可行性,與基于功能碼序列的異常檢測模型相比,能夠準確地識別出Modbus TCP/IP通信中的異常流量。

5 結論

本文主要設計了一種基于單類支持向量機的異常檢測模型,以正常的功能碼和寄存器地址的組合對序列進行訓練并建立模型,從而識別Modbus TCP/IP通信過程中的異常流量。本文共設計了4個對比實驗,首先在不同長度的滑動窗口和不同的核函數問題上進行研究,實驗結果表明當滑動窗口長度l=5時為全局最優值,異常檢測分類準確率最高;選取徑向基核函數時各項性能指標最好。然后與傳統的支持向量機、標準RBF以及BP神經網絡的異常檢測模型進行對比,實驗結果表明基于單類支持向量機分類準確率高于其他三種算法,且誤報率在四種算法中最低,可見在SCADA系統的異常檢測中具有一定的優勢。

[1] Modbus Organization. Modbus application protocol specification[EB/OL]. [2017-08-01].http://www. modbus.org/docs/Modbus Application Protocol V1 1b.pdf.

[2] 楊靜.SCADA系統的Modbus/TCP/IP協議安全性研究[D].北京:北京工業大學,2016.

[3] LINDA O, VOLLMER T, MANIC M. Neural network based intrusion detection system for critical infrastructures[C].International Joint Conference on Neural Networks. IEEE Press, 2009:102-109.

[4] ANOOP A, SREEJA M S. New genetic algorithm based intrusion detection system for SCADA[J]. International Journal of Engineering Innovations & Research, 2013, 2(2):171-175.

[5] ONODA T, MAI K. Analysis of intrusion detection in control system communication based on outlier detection with one-class classifiers[C]. International Conference on Neural Information Processing, 2012:275-282.

[6] MAGLARAS L, JIANG J. Intrusion detection in SCADA systems using machine learning techniques[C]. Science and Information Conference, 2014: 626-631.

[7] EREZ N, WOOL A. Control variable classification, modeling and anomaly detection in Modbus/TCP/IP SCADA systems[J]. International Journal of Critical Infrastructure Protection, 2015(10): 59-70.

[8] 萬明,尚文利,曾鵬,等. 基于功能碼深度檢測的Modbus/TCP/IP通信訪問控制方法[J].信息與控制,2016,45(2): 248-256.

[9] CAN O, SAHINGOZ O K. A survey of intrusion detection systems in wireless sensor networks[J]. IEEE Communications Surveys & Tutorials, 2013(16):266-282.

[10] 尚文利,張盛山,萬明,等.基于PSO-SVM的Modbus TCP/IP通訊的異常檢測方法[J].電子學報,2014,42(11):2314-2320.

[11] GOLDENBERG N, WOOL A. Accurate modeling of Modbus/TCP/IP for intrusion detection in SCADA systems[J]. International Journal of Critical Infrastructure Protection, 2013,6(2):63-75.

Research on anomaly detection based on one-class support vectormachine in industrial control systems

Li Chao1, Cai Yuqing2, Jia Fan3, Huang Xuezhen1

(1. The First Research Institute of Ministry of Public Security of PRC, Beijing 100048, China; 2. The Twelfth Research Institute of China Electronics Technology Group Corporation, Beijing 100015, China;3. Beijing Jiaotong University, Beijing 100044, China)

Modbus TCP/IP protocol, as a common communication protocol in industrial control system, has its own vulnerabilities. This paper mainly studies the different detection methods of Modbus TCP/IP protocol. Firstly, it introduces how to implement the anomaly detection model of single class support vector machine, based on single class support vector machine to choose different length of the sliding window and different kernel functions for testing, and designs a contrast experiment with the traditional support vector machine, RBF algorithm, BP neural network and anomaly detection model, and the experimental results are analyzed. This paper also designs a contrast experiment with anomaly detection model based on function code sequence, and verifies the superiority of selecting function code and register address combination as features.

industrial control system; Modbus TCP/IP protocol; one-class support vector machine; anomaly detection

TP309

A

10.19358/j.issn.1674- 7720.2017.23.003

李超,蔡宇晴,賈凡,等.工業控制系統中基于單類支持向量機異常檢測方法研究[J].微型機與應用,2017,36(23):9-12,20.

2017-09-10)

李超(1979-),男,博士,副研究員,主要研究方向:信息與網絡安全。

蔡宇晴(1993-),女,碩士,工程師,主要研究方向:信息與網絡安全。

賈凡(1976-),男,博士,副教授,主要研究方向:信息與網絡安全。

猜你喜歡
功能檢測模型
一半模型
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
關于非首都功能疏解的幾點思考
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應用
主站蜘蛛池模板: 啦啦啦网站在线观看a毛片| 女人18毛片一级毛片在线 | 无码专区国产精品第一页| 香蕉精品在线| av在线5g无码天天| 538精品在线观看| 五月婷婷丁香色| 她的性爱视频| 日韩欧美91| 亚洲不卡网| 中国毛片网| 久久人搡人人玩人妻精品一| 2022精品国偷自产免费观看| 欧美久久网| 九九热在线视频| 欧美色图久久| 国产在线日本| 在线国产91| 亚洲女同欧美在线| 久久亚洲高清国产| 精品亚洲麻豆1区2区3区| 欧美激情网址| 九九九久久国产精品| 国产精品免费露脸视频| 国产无码制服丝袜| 国产jizz| 精品无码一区二区在线观看| 日本人又色又爽的视频| 精品久久777| 國產尤物AV尤物在線觀看| 久久精品中文字幕免费| 国产乱人免费视频| 欧美精品成人| 国产天天色| 亚洲va精品中文字幕| 国产成人精品亚洲日本对白优播| 国产人妖视频一区在线观看| 波多野结衣一区二区三区四区| 成人国产精品2021| 成人免费网站久久久| 高清乱码精品福利在线视频| 国产黄在线观看| 69视频国产| 草逼视频国产| 婷婷综合在线观看丁香| 久久久久免费精品国产| 人人爽人人爽人人片| 香蕉精品在线| 中文字幕亚洲无线码一区女同| 美女无遮挡拍拍拍免费视频| 亚洲Aⅴ无码专区在线观看q| 日韩精品一区二区三区视频免费看| 97免费在线观看视频| 国产午夜一级淫片| 黄色网站在线观看无码| 内射人妻无套中出无码| 国产玖玖视频| 亚洲色无码专线精品观看| 少妇被粗大的猛烈进出免费视频| 欧美综合一区二区三区| 无码高潮喷水在线观看| 国产AV无码专区亚洲A∨毛片| 久久久久国产精品嫩草影院| 欧美成在线视频| 欧美日本二区| 激情国产精品一区| a网站在线观看| 亚洲天堂视频在线播放| 久草视频中文| 99国产精品免费观看视频| 精品三级在线| 国产精品不卡永久免费| 狠狠色丁香婷婷| 国产自产视频一区二区三区| 中文字幕无码中文字幕有码在线 | 国产黄色片在线看| 国产亚洲欧美在线中文bt天堂| 国产二级毛片| 国产精品永久不卡免费视频| 四虎永久在线精品影院| 亚洲国产精品不卡在线| 亚洲系列无码专区偷窥无码|