0 引言
工業控制系統(Industry Control Systems,ICS)是國家基礎設施的重要組成部分,被廣泛應用于電力、交通、水利、石油化工、核能、航空等領域,是這些重要基礎設施穩定運行的“大腦”。隨著信息技術的發展以及工業與信息化的深度融合,現代工業控制系統越來越多地采用通用的TCP/IP協議及操作系統,同辦公系統等其他信息系統的連接也越來越多。由于工業控制系統在實時性、穩定性方面的特殊性,造成了在應用信息技術時忽略了網絡安全因素,加之工業控制系統自身的漏洞并未得到足夠的重視,使得目前工業控制系統面臨的安全威脅日益嚴重。2010年爆發的“震網病毒”(Stuxnet)是第一個被檢測出來專門攻擊破壞工業控制系統的病毒,“震網病毒”造成伊朗鈾濃縮工廠多臺離心機損壞,布什爾核電站因此推遲啟動[1]。2011年和2012年,又相繼發現了“Duqu病毒”和“火焰病毒”,但與“震網病毒”不同的是,前者主要目的是造成工業破壞,而后兩者則被用來收集與其攻擊目標有關的各種情報。由此充分說明,針對工業控制系統的復雜信息安全攻擊已經成為現實。
ICS系統安全防護技術手段主要有防火墻技術、入侵檢測技術、ICS系統漏洞挖掘技術、風險評估技術等。后兩者并不能提供實時的網絡安全防護,防火墻雖然能夠有效地阻止來自外部的攻擊,但不能防止來自ICS系統內部的攻擊,入侵檢測技術被稱為防火墻之后的第二道安全閘門,可實現對內、外部入侵的實時檢測。
本文對異常檢測技術中的非參數CUSUM算法進行改進,重新設計算法中偏移常數的生成方法,提出具有自適應特征的動態檢測門限設置規則,給出改進算法(D-CUSUM)在ICS系統入侵檢測中的應用,通過仿真實驗給出算法的檢測性能分析。
1 相關研究
目前,對ICS網絡安全的研究整體還處于起步階段,本節主要介紹CUSUM算法在入侵檢測技術以及ICS入侵檢測中應用的相關研究。
文獻[2]通過將網絡劃分成多個簇,在各簇設置單獨的自治網絡管理單元,在各自治網絡管理單元上部署基于CUSUM算法的入侵檢測系統,實現檢測DDoS攻擊的目的。文獻[3]針對無線傳感器網絡的特征,分別研究多級CUSUM算法、基于信噪比的CUSUM算法以及統計CUSUM算法,用于對無線傳感器網絡攻擊的檢測。張云貴等在文獻[4-5]中研究了CUSUM異常檢測算法在工業控制系統入侵檢測中的應用。
上述研究中采用的都是基于固定檢測門限的CUSUM算法,并且通常憑經驗值設置固定的偏移常數。針對這一問題,本文基于概率論理論提出一種自適應的偏移常數生成方法,給出具有自適應特征的動態檢測門限設置規則。仿真結果證明本文算法明顯提升了ICS入侵檢測技術的性能。
2 算法的改進
2.1 CUSUM算法描述
CUSUM異常檢測算法是一種序貫分析法,由劍橋大學的E.S.Page于1954年提出,是工業控制過程異常監控的常用算法,它可以檢測到一個統計過程均值的變化。CUSUM算法基于這樣一個事實:如果有變化發生,則隨機序列的概率分布也會發生改變。
以上為標準CUSUM算法。
2.2 非參數CUSUM算法
應用CUSUM算法需要事先知道隨機序列的參數模型(如隨機序列服從標準正態分布等),以便使用概率密度函數來監控序列。正常情況下,工業控制系統中傳感器的預測值可通過數學模型或經驗公式獲得,但網絡攻擊的概率分布卻難以獲得,也就無法得知攻擊狀態下監控序列的概率分布,所以需要一種模型無關的檢測算法。而非參數CUSUM算法主要是累積明顯比正常情況下的平均水平高的Xn值,不需要具體的模型,并且能夠以連續方式監控輸入的隨機變量,從而達到實時檢測。
非參數CUSUM算法的定義為:
上式為非參數CUSUM算法的遞歸形式。
非參數CUSUM算法不要求檢測序列的概率分布,但要求檢測序列{xn}在正常情況下具有負的期望值E(X)<0,變化發生后具有正的期望值E(X)>0,這是應用非參數CUSUM算法的前提條件。
2.3 自適應設置檢測門限的改進非參數CUSUM算法(D-CUSUM)
2.3.1 數據預處理
令獨立隨機變量序列X={x1,x2,x3,…}表示輸入數據。由2.2節可知,非參數CUSUM算法要求樣本序列的數學期望值為負值,為了保證滿足這一條件,需要對數據進行預處理,通常做法是設置一個偏移常數β,令=X-β,使
滿足正常狀態下
。目前ICS系統非參數CUSUM入侵檢測算法大多設置固定的偏移常數,本文算法與其不同,基于概率論中著名的柯爾莫哥洛夫(Kolmogorov)不等式生成偏移常數β。主要步驟如下:
(1)對原始數據X的均值μn(n=2,3,…)和方差(n=2,3,…)進行在線估計和更新。具體方法為:
2.3.2 自適應設置檢測門限
為了降低處理開銷,本文算法采用非參數CUSUM算法的遞歸形式,處理過程如下:
由式(9)可知:
(5)讀取xn+1,重復步驟(2)~(4),開始下一輪檢測。
(6)算法結束。
需要指出的是,在步驟(4)中算法設計引入了閾值系數ρ與告警控制參數K。對這兩個參數的設置要求比較寬松,取決于用戶對虛警概率和異常檢測時延的要求。增大ρ、K的取值,可以在一定范圍內降低虛警概率,但同時也增加了檢測時延。
3 算法的應用及仿真
本節研究了上述改進算法(D-CUSUM)在溫度控制系統入侵檢測中的應用。實驗應用MATLAB Simulink仿真環境搭建溫度控制系統,模擬攻擊者對某一溫度傳感器實施攻擊。
令xn和τN表示該溫度傳感器在時刻n的測量值和告警閾值。正常情況下,序列{xn}是均值平穩序列,攻擊發生時,病毒修改傳感器的測量值,序列均值發生明顯變化。實驗仿真針對ICS的幾何攻擊[8],其攻擊特征為:,其中0<γ<1。攻擊從k=0時刻開始。開始時,傳感器信號變化微小,當k>n后,攻擊突然大幅增加,傳感器的測量信號會突然變大,如果在這之前,沒有檢測到攻擊的發生,會對ICS的安全帶來威脅,甚至對實際生產過程造成損害。
假設正常情況下溫度傳感器的測量值為(1 000±20)℃,超過1 020 ℃就會造成物理損壞。幾何攻擊參數設置為:η=20,n=100,γ=0.817。EWMA平滑因子α=0.98,累積和計算長度L=50,采樣周期Ts=100 s。圖1給出了(ρ,K)=(0.5,4)時的結果。
圖1 入侵檢測仿真結果
從圖1中可以看出,在時刻k=100Ts時,溫度傳感器達到了ICS允許的最大溫度值。采用本文算法D-CUSUM檢測系統,在時刻k=81Ts時檢測到異常,系統告警,ICS遭到攻擊;采用固定門限CUSUM算法[8],在時刻k=90Ts系統告警。由此可見,在本文仿真環境下,本算法能在ICS系統產生物理損壞前19Ts=1 900 s發出告警,在檢測實時性方面優于固定門限算法90Ts-81Ts=9Ts=900 s。
4 結論
本文根據工業控制系統高實時性和高可用性的要求,針對CUSUM異常檢測算法存在的固定偏移常數和固定檢測門限問題,提出了一種面向工業控制系統、具有自適應特征的非參數CUSUM(D-CUSUM)入侵檢測方法。算法的自適應特征體現在兩點:(1)基于柯爾莫哥洛夫不等式理論設置非參數CUSUM偏移常數β;(2)通過外部參數-告警控制參數動態設置檢測門限τN。針對溫度控制系統的攻擊仿真實驗結果證明,本文提出的改進算法改善了檢測的實時性和誤報率,能夠實現對工業控制系統的低誤報率實時入侵檢測。
參考文獻
[1] 李戰寶,潘卓.透視“震網”病毒[A].第26次全國計算機安全學術交流會論文集[C],2011.
[2] Patrick P C Lee,Tian Bu,Thomas Woo.On the detection of signaling DoS attacks on 3G wireless networks[J].Computer Network,2009,53(15):2601-2606.
[3] Xiao Zhenghong,Chen Zhigang,Deng Xiaoheng.Anomaly detection based on a multi-class CUSUM algorithm for WSN[J].Journal of Computers,2010,5(2):306-313.
[4] 張云貴,趙華,王麗娜.基于工業控制模型的非參數CUSUM入侵檢測方法[J].東南大學學報(自然科學版),2012,42(A01):55-59.
[5] 張云貴,佟為明,趙永麗.CUSUM異常檢測算法改進及在工控系統入侵檢測中的應用[J].冶金自動化,2014,38(5):1-5.