張成 李永忠
摘 要:為提高工業(yè)控制系統(tǒng)入侵檢測的準(zhǔn)確性,針對工業(yè)控制系統(tǒng)應(yīng)用最廣泛的Modbus協(xié)議缺陷,采用蜜罐技術(shù)將ModbusTCP協(xié)議數(shù)據(jù)包引入蜜罐系統(tǒng)中,研究其在蜜罐系統(tǒng)的活動記錄,提取Modbus通信協(xié)議特征和蜜罐活動特征。采用核主成分分析法對非線性、高復(fù)雜度的Modbus通信行為進(jìn)行特征優(yōu)化;針對蜜罐系統(tǒng)中正負(fù)樣本不平衡特點(diǎn),采用加權(quán)SVM進(jìn)行有效地精準(zhǔn)分類。最后搭建仿真環(huán)境,利用Conpot蜜罐模擬工業(yè)控制系統(tǒng)場景,通過準(zhǔn)確率、誤報率和檢測時間3個維度對檢測方法進(jìn)行對比。實(shí)驗(yàn)結(jié)果表明,該方法整體準(zhǔn)確率達(dá)98.2%,可以應(yīng)用于工控系統(tǒng)入侵檢測,精確判別異常行為。
關(guān)鍵詞:ModbusTCP;蜜罐技術(shù);核主成分分析;支持向量機(jī);網(wǎng)絡(luò)安全;工業(yè)控制
DOI:10. 11907/rjdk. 201296????????????????????????????????????????????????????????????????? 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
中圖分類號:TP312 ? 文獻(xiàn)標(biāo)識碼: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)是關(guān)系民生大計的重要組成部分,已廣泛應(yīng)用于工業(yè)生產(chǎn)領(lǐng)域和其它公共服務(wù)領(lǐng)域[1]。自2010年“震網(wǎng)”事件被揭露以來,工業(yè)控制信息安全威脅逐步加重[2]。近年來,大量國內(nèi)外學(xué)者針對工業(yè)控制系統(tǒng)異常檢測及安全防護(hù)進(jìn)行研究[3]。文獻(xiàn)[4]以ICS中的網(wǎng)絡(luò)通信協(xié)議為特征,并基于這些特征建立異常檢測規(guī)則;文獻(xiàn)[5]通過選擇功能碼,利用SVM提出一種基于支持向量機(jī)的Modbus通訊協(xié)議異常檢測方法;文獻(xiàn)[6]通過選擇功能碼、窗口流量大小、報文長度、寄存器地址、相同服務(wù)連接數(shù)、連接時間共6項(xiàng)特征代表原數(shù)據(jù)包的行為信息,基于SVM的異常行為對ModbusTCP通信協(xié)議進(jìn)行建模和異常判別。
上述研究均采取了傳統(tǒng)的入侵檢測方法,但并未考慮到工業(yè)數(shù)據(jù)非線性強(qiáng)、復(fù)雜度高的特點(diǎn)。同時,由于入侵檢測缺乏對未知攻擊的檢測能力,因此將蜜罐系統(tǒng)引入入侵檢測中可以更好地解決現(xiàn)有缺陷。本文提出利用蜜罐技術(shù)模擬工業(yè)控制場景,捕獲Modbus協(xié)議數(shù)據(jù)包,并提取蜜罐系統(tǒng)中Modbus異常入侵特征的方法。利用核主成分分析對特征進(jìn)行降維,選擇最優(yōu)特征子集,針對蜜罐系統(tǒng)中正負(fù)樣本不平衡特點(diǎn),采用加權(quán)SVM分類器完成異常檢測。
1 蜜罐技術(shù)
蜜罐技術(shù)[7]作為一種主動防御技術(shù),通常用以監(jiān)視、檢測攻擊并加以分析,蜜罐通過捕獲入侵信息、記錄攻擊行為檢測未知攻擊,以分析入侵者攻擊手段等[8]。
蜜罐技術(shù)通過軟件編程模擬出工廠虛擬場景,用于迷惑網(wǎng)絡(luò)攻擊者,當(dāng)攻擊發(fā)生時記錄攻擊過程痕跡,并分析捕獲的攻擊數(shù)據(jù),從而提高工控網(wǎng)絡(luò)安全性。將蜜罐技術(shù)與入侵檢測相結(jié)合,能夠減少傳統(tǒng)入侵檢測誤報率和漏報率,更容易檢測到未知攻擊,提高檢測能力。
2 核主成分分析與加權(quán)支持向量機(jī)
2.1 核主成分分析原理
核主成分分析[9](Kernel Principal Component Analysis,KPCA)是一種使用最廣泛的數(shù)據(jù)降維算法。核主成分分析是在主成分分析的基礎(chǔ)上,考慮數(shù)據(jù)中潛在的非線性,從而獲得數(shù)據(jù)的高階特征[10]。
假設(shè)φ為訓(xùn)練樣本集X={x1,x2,…,xM}的非線性映射,M為訓(xùn)練樣本總數(shù),F(xiàn)為對應(yīng)空間,則X的協(xié)方差矩陣為:
C=1Mj-1M?(xj)?(xj)T???? (1)
對C進(jìn)行特征分解得:λυ=Cυ,其中υ為特征向量,λ為特征值,有:
υ=i=1Nαi?(xi)?????????? (2)
式中,αi為常數(shù)。由于映射?的具體形式未知,引入核函數(shù)代替協(xié)方差。假設(shè)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 加權(quán)支持向量機(jī)原理
支持向量機(jī)(SVM)是一種利用統(tǒng)計學(xué)理論的機(jī)器學(xué)習(xí)方法[11],在針對高維度、非線性的小樣本分類問題中,具有全局最優(yōu)、泛化能力強(qiáng)的優(yōu)勢。加權(quán)SVM是針對樣本數(shù)據(jù)不平衡特點(diǎn),對數(shù)據(jù)樣本作加權(quán)處理,從而尋找最優(yōu)超平面[12]。
其基本思想是利用核函數(shù)在高維空間內(nèi)構(gòu)造一個最優(yōu)分類超平面[13],從而轉(zhuǎn)化為二次回歸問題,構(gòu)造的目標(biāo)函數(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的加權(quán)系數(shù),si是對數(shù)據(jù)樣本的加權(quán)系數(shù),C為懲罰常數(shù),ε為松弛變量,?為原特征空間到高維空間的映射函數(shù)。
3 基于KPCA與加權(quán)SVM的ModbusTCP協(xié)議特征融合異常檢測算法
本文基于Modbus TCP協(xié)議攻擊檢測分析,利用蜜罐技術(shù)模擬工業(yè)控制場景,捕獲Modbus協(xié)議數(shù)據(jù)包,提取基于蜜罐系統(tǒng)中的Modbus異常入侵特征從而完成異常檢測。
基于KPCA與加權(quán)SVM異常檢測算法結(jié)構(gòu)如圖1所示,利用核主成分分析對特征進(jìn)行降維,選擇最優(yōu)特征子集,同時針對蜜罐系統(tǒng)中正負(fù)樣本不平衡問題,采用加權(quán)SVM分類器完成異常檢測。本文算法主要分為3個模塊,分別為數(shù)據(jù)捕獲、特征向量提取優(yōu)化、異常檢測。
3.1 數(shù)據(jù)捕獲
當(dāng)攻擊者通過探測腳本或者攻擊工具對蜜罐發(fā)送請求指令,蜜罐收到消息并回復(fù),便產(chǎn)生了一個事件[14]。圖2給出了蜜罐中Modbus協(xié)議502端口的一個掃描記錄。
對采集到的數(shù)據(jù)進(jìn)行預(yù)處理,提取蜜罐日志中關(guān)于Modbus協(xié)議活動記錄特征屬性:時間信息、IP信息、端口信息和Modbus數(shù)據(jù)幀。
3.2 特征向量提取優(yōu)化
Modbus通信協(xié)議中的選擇特征主要是通過協(xié)議幀特征反映[15]。而蜜罐中Modbus通信行為特征構(gòu)造主要考慮ModbusTCP的攻擊操作模式,解析蜜罐中入侵者的行為反映。例如,入侵者反復(fù)訪問同一個蜜罐,在相對較長時間內(nèi)重復(fù)連接蜜罐能夠反映異常行為模式的數(shù)據(jù)特征,因此構(gòu)造通信時間和重復(fù)連接次數(shù)、異常連接次數(shù)表征蜜罐中Modbus通信行為特征。