張成 李永忠
摘 要:為提高工業(yè)控制系統(tǒng)入侵檢測的準確性,針對工業(yè)控制系統(tǒng)應用最廣泛的Modbus協(xié)議缺陷,采用蜜罐技術將ModbusTCP協(xié)議數(shù)據(jù)包引入蜜罐系統(tǒng)中,研究其在蜜罐系統(tǒng)的活動記錄,提取Modbus通信協(xié)議特征和蜜罐活動特征。采用核主成分分析法對非線性、高復雜度的Modbus通信行為進行特征優(yōu)化;針對蜜罐系統(tǒng)中正負樣本不平衡特點,采用加權SVM進行有效地精準分類。最后搭建仿真環(huán)境,利用Conpot蜜罐模擬工業(yè)控制系統(tǒng)場景,通過準確率、誤報率和檢測時間3個維度對檢測方法進行對比。實驗結果表明,該方法整體準確率達98.2%,可以應用于工控系統(tǒng)入侵檢測,精確判別異常行為。
關鍵詞:ModbusTCP;蜜罐技術;核主成分分析;支持向量機;網(wǎng)絡安全;工業(yè)控制
DOI:10. 11907/rjdk. 201296????????????????????????????????????????????????????????????????? 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP312 ? 文獻標識碼:A ??????????????? 文章編號:1672-7800(2020)011-0202-04
Research on Intrusion Detection Algorithm of Industrial Control Network
Based on Honeypot Technology
ZHANG Cheng,LI Yong-zhong
(School of Computer, Jiangsu University of Science and Technology, Zhenjiang 212003,China)
Abstract: In order to improve the accuracy of industrial control system intrusion detection, aiming at the defects of the Modbus protocol which is the most widely used, industrial control system, this article uses honeypot technology to introduce ModbusTCP protocol data packets into the honeypot system studies its activity records in the honeypot system and extracts Modbus communication protocol characteristics and honeypot activity characteristics. The kernel principal component analysis method is used to optimize the nonlinear and high-complexity Modbus communication behaviors; weighted SVM is used to accurately and accurately classify the characteristics of the imbalance between the positive and negative samples in the honeypot system. Finally, a simulation environment is set up, and the industrial control system scene is simulated by using the Conpot honeypot. The detection methods are compared through three dimensions, i.e., accuracy, false alarm rate and detection time. Experimental results show that the overall accuracy of the method reaches 98.2%, and the method can be applied to intrusion detection of industrial control systems to accurately discern abnormal behavior.
Key Words: Modbus TCP; honeypot technology; kernel principal component analysis; support vector machine; network security; industrial control
0 引言
工業(yè)控制系統(tǒng)(Industrial Control System,ICS)是關系民生大計的重要組成部分,已廣泛應用于工業(yè)生產(chǎn)領域和其它公共服務領域[1]。自2010年“震網(wǎng)”事件被揭露以來,工業(yè)控制信息安全威脅逐步加重[2]。近年來,大量國內(nèi)外學者針對工業(yè)控制系統(tǒng)異常檢測及安全防護進行研究[3]。文獻[4]以ICS中的網(wǎng)絡通信協(xié)議為特征,并基于這些特征建立異常檢測規(guī)則;文獻[5]通過選擇功能碼,利用SVM提出一種基于支持向量機的Modbus通訊協(xié)議異常檢測方法;文獻[6]通過選擇功能碼、窗口流量大小、報文長度、寄存器地址、相同服務連接數(shù)、連接時間共6項特征代表原數(shù)據(jù)包的行為信息,基于SVM的異常行為對ModbusTCP通信協(xié)議進行建模和異常判別。
上述研究均采取了傳統(tǒng)的入侵檢測方法,但并未考慮到工業(yè)數(shù)據(jù)非線性強、復雜度高的特點。同時,由于入侵檢測缺乏對未知攻擊的檢測能力,因此將蜜罐系統(tǒng)引入入侵檢測中可以更好地解決現(xiàn)有缺陷。本文提出利用蜜罐技術模擬工業(yè)控制場景,捕獲Modbus協(xié)議數(shù)據(jù)包,并提取蜜罐系統(tǒng)中Modbus異常入侵特征的方法。利用核主成分分析對特征進行降維,選擇最優(yōu)特征子集,針對蜜罐系統(tǒng)中正負樣本不平衡特點,采用加權SVM分類器完成異常檢測。
1 蜜罐技術
蜜罐技術[7]作為一種主動防御技術,通常用以監(jiān)視、檢測攻擊并加以分析,蜜罐通過捕獲入侵信息、記錄攻擊行為檢測未知攻擊,以分析入侵者攻擊手段等[8]。
蜜罐技術通過軟件編程模擬出工廠虛擬場景,用于迷惑網(wǎng)絡攻擊者,當攻擊發(fā)生時記錄攻擊過程痕跡,并分析捕獲的攻擊數(shù)據(jù),從而提高工控網(wǎng)絡安全性。將蜜罐技術與入侵檢測相結合,能夠減少傳統(tǒng)入侵檢測誤報率和漏報率,更容易檢測到未知攻擊,提高檢測能力。
2 核主成分分析與加權支持向量機
2.1 核主成分分析原理
核主成分分析[9](Kernel Principal Component Analysis,KPCA)是一種使用最廣泛的數(shù)據(jù)降維算法。核主成分分析是在主成分分析的基礎上,考慮數(shù)據(jù)中潛在的非線性,從而獲得數(shù)據(jù)的高階特征[10]。
假設φ為訓練樣本集X={x1,x2,…,xM}的非線性映射,M為訓練樣本總數(shù),F(xiàn)為對應空間,則X的協(xié)方差矩陣為:
C=1Mj-1M?(xj)?(xj)T???? (1)
對C進行特征分解得:λυ=Cυ,其中υ為特征向量,λ為特征值,有:
υ=i=1Nαi?(xi)?????????? (2)
式中,αi為常數(shù)。由于映射?的具體形式未知,引入核函數(shù)代替協(xié)方差。假設N×N維核矩陣:
K=Ki,jN×N=?(xi)??(xj)????? (3)
式中,i,j=1,2,?,N。將式(3)代入特征方程得:
Nλα=Kα?????????? (4)
式中,α為矩陣K的特征向量。
為了解除K的最大若干特征向量問題,將求解特征向量問題轉(zhuǎn)化為求解式(4)的特征向量α。K為對稱矩陣,因此需要將變換后獲得的核矩陣K中心化變成核矩K1,有:
K1=K-K×L-L×K+L×K×L (5)
其中,L為N階矩陣,滿足Li,j=1N。
2.2 加權支持向量機原理
支持向量機(SVM)是一種利用統(tǒng)計學理論的機器學習方法[11],在針對高維度、非線性的小樣本分類問題中,具有全局最優(yōu)、泛化能力強的優(yōu)勢。加權SVM是針對樣本數(shù)據(jù)不平衡特點,對數(shù)據(jù)樣本作加權處理,從而尋找最優(yōu)超平面[12]。
其基本思想是利用核函數(shù)在高維空間內(nèi)構造一個最優(yōu)分類超平面[13],從而轉(zhuǎn)化為二次回歸問題,構造的目標函數(shù)為:
minω,b,ε12w2+Ci=1mλyisiζi
s.t.y(i)(wT?(x(i))+b)≥1-ζi??? (6)
ζi≥0i=1,2?m
其中,λyi為數(shù)據(jù)樣本類別yi的加權系數(shù),si是對數(shù)據(jù)樣本的加權系數(shù),C為懲罰常數(shù),ε為松弛變量,?為原特征空間到高維空間的映射函數(shù)。
3 基于KPCA與加權SVM的ModbusTCP協(xié)議特征融合異常檢測算法
本文基于Modbus TCP協(xié)議攻擊檢測分析,利用蜜罐技術模擬工業(yè)控制場景,捕獲Modbus協(xié)議數(shù)據(jù)包,提取基于蜜罐系統(tǒng)中的Modbus異常入侵特征從而完成異常檢測。
基于KPCA與加權SVM異常檢測算法結構如圖1所示,利用核主成分分析對特征進行降維,選擇最優(yōu)特征子集,同時針對蜜罐系統(tǒng)中正負樣本不平衡問題,采用加權SVM分類器完成異常檢測。本文算法主要分為3個模塊,分別為數(shù)據(jù)捕獲、特征向量提取優(yōu)化、異常檢測。
3.1 數(shù)據(jù)捕獲
當攻擊者通過探測腳本或者攻擊工具對蜜罐發(fā)送請求指令,蜜罐收到消息并回復,便產(chǎn)生了一個事件[14]。圖2給出了蜜罐中Modbus協(xié)議502端口的一個掃描記錄。
對采集到的數(shù)據(jù)進行預處理,提取蜜罐日志中關于Modbus協(xié)議活動記錄特征屬性:時間信息、IP信息、端口信息和Modbus數(shù)據(jù)幀。
3.2 特征向量提取優(yōu)化
Modbus通信協(xié)議中的選擇特征主要是通過協(xié)議幀特征反映[15]。而蜜罐中Modbus通信行為特征構造主要考慮ModbusTCP的攻擊操作模式,解析蜜罐中入侵者的行為反映。例如,入侵者反復訪問同一個蜜罐,在相對較長時間內(nèi)重復連接蜜罐能夠反映異常行為模式的數(shù)據(jù)特征,因此構造通信時間和重復連接次數(shù)、異常連接次數(shù)表征蜜罐中Modbus通信行為特征。