張成 李永忠



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