基于流量的工業(yè)控制系統(tǒng)入侵檢測技術
引 言
工業(yè)控制系統(tǒng)(Industrial Control System,ICS)指能夠對工業(yè)生產起到調控作用的系統(tǒng),包含監(jiān)視控制與數據采集系統(tǒng)(SCADA)、分布式控制系統(tǒng)(DCS)及其他工業(yè)有關部門和生產現(xiàn)場的小型控制系統(tǒng)(PLC)等,是電力、能源、化工等國家關鍵基礎設施的核心 [1-2]。
互聯(lián)與共享成為工業(yè)控制系統(tǒng)新的發(fā)展方向,工控系統(tǒng)與企業(yè)辦公網和互聯(lián)網逐漸相連,工業(yè)控制網絡環(huán)境變得越來越開放。而由于傳統(tǒng)工業(yè)控制系統(tǒng)本身缺乏對網絡信息安全的保障,缺乏專門的安全防御措施 [3]。近年來,工業(yè)控制系統(tǒng)新型攻擊手段層出不窮,尤其是震網(Stuxnet)病毒事件發(fā)生后,鑒于工業(yè)控制系統(tǒng)的安全直接關系到國家關鍵基礎設施的安危,影響社會穩(wěn)定,因此引起各國高度重視。
工業(yè)控制系統(tǒng)需從設備安全和信息數據安全兩方面保障系統(tǒng)穩(wěn)定運行,從 ICS 自身結構看,由于通信協(xié)議相對簡單、操作系統(tǒng)和軟件沒有相應的防護措施,這些漏洞都可被利用進行破壞性的操作 ;從外部網絡環(huán)境看,ICS 廣泛使用 TCP/IP等通信協(xié)議,導致傳統(tǒng)的 IT系統(tǒng)攻擊行為蔓延到工控網絡, 致使工業(yè)控制系統(tǒng)面臨更大的安全威脅 [4]。
1 工業(yè)控制系統(tǒng)入侵檢測技術發(fā)展現(xiàn)狀
目前,工業(yè)控制入侵檢測系統(tǒng)(IDS)是依據安全架構和策略進行設計,并對系統(tǒng)進行安全漏洞掃描、安全配置加強、身份認證處理,同時采用訪問控制、滲透檢測等技術進行安全防御,保障工控系統(tǒng)安全穩(wěn)定運行 [5]。入侵檢測是一種主動的安全防護技術,通過對系統(tǒng)通信行為的實時監(jiān)視、分析, 以檢測出異常的攻擊行為操作,并在攻擊行為產生危害前進行攔截、報警、系統(tǒng)恢復等操作 [6]。
當前,已經有很多面向 ICS 的安全產品,如殺毒軟件、工控火墻、網閘等。但安全產品的研發(fā)需考慮 ICS 的特殊性, 若直接使用IT 領域原有的產品,不但達不到期望的效果,反而會帶來新的適應性問題。
2 基于流量的入侵檢測設計
目前廣泛應用的 ICS 入侵檢測主要采用基于特征和基于異常兩種原理?;谔卣鞯臋z測技術類似殺毒軟件,對于已發(fā)生的攻擊方式檢測效率較高,但無法識別新類型的攻擊方式 ;基于異常的入侵檢測與攻擊方式無關,因此具有更高的安全性[7]。但由于技術發(fā)展尚不成熟,誤報率和漏報率相比前者要高。對于傳統(tǒng)的 TCP/IP 網絡,入侵檢測系統(tǒng)是一個研究成熟的領域,但由于通信協(xié)議和工業(yè)安全要求的特殊性,傳統(tǒng)的入侵檢測系統(tǒng)不能提供針對工業(yè)控制系統(tǒng)攻擊的有效安全防護。以 SCADA 系統(tǒng)為例,最近發(fā)布了一些可檢測針對SCADA 協(xié)議的攻擊的規(guī)則和預程序模型,利用這些規(guī)則的IDS 能夠確定基于單包的攻擊。然而,針對 SCADA 的攻擊不僅基于單包,需要一個攻擊的關聯(lián)機制。本文提出了一種基于流量的入侵檢測方法,其原理是根據通過數據包的 IP 地址和端口號來確定不同的通信雙方,從而可更加準確地檢測通過的數據包,提高入侵檢測系統(tǒng)的準確性。
2.1 入侵檢測技術的原理
實際的工業(yè)生產基本都具有周期性特點,這也是 ICS 網絡跟傳統(tǒng) IT 網絡之間的區(qū)別。IT 網絡由于使用者的隨機性很強,比如在某個辦公網內,不能保證各時間段內使用人數不變, 因此網絡流量呈現(xiàn)出不確定的特點 ;但針對工業(yè)控制系統(tǒng)通信網絡來說,由于生產流程需預先設定,因此周期性特點較突出, 而這也是將流量特征作為檢測特征的原因。
工業(yè)控制系統(tǒng)通信網絡具有周期性特點,這是基于流量特征的入侵檢測模塊的適用條件?;诹髁刻卣鞯娜肭謾z測模塊選取的檢測特征是流量特征,具體來說即某個時間段內, 由IP 地址和端口號確定通信雙方通過的數據包數量。流量特征的選取意味著要求工業(yè)控制系統(tǒng)通信網絡需要具有周期性特點假設工業(yè)控制系統(tǒng)通信網絡不具有周期性特點,即任意時間段內,由 IP 地址和端口號確定的通信雙方之間通過的數據包數量是隨機的,將會導致流量特征失效,無法使用流量特征作為入侵模塊的檢測特征。
根據工業(yè)控制系統(tǒng)環(huán)境中通信的周期性特點,將實際的通信流量和時間的對應關系作為一種檢測特征,根據生產工藝特征,計算出不同時間段內通過流量的上限閾值和下限閾值。檢測過程中,若某個時間段內出現(xiàn)數值不在上、下閾值范圍內的情況則報警。
2.2 入侵檢測流程
本文提出了一種基于流量特征的入侵檢測方法,先記錄下控制端和執(zhí)行端的 IP 和端口號等,再處理數據,將流量和時間對應的特征建立向量集合,最后進行入侵檢測 ;若發(fā)現(xiàn)有未知 IP 地址或端口進行通信,且某個時間段內的通信流量大于或小于學習階段的閾值,則報警。這種方法能極大地提高系統(tǒng)的通信安全性,具體流程如圖 1 所示。
圖1 基于流量統(tǒng)計的入侵檢測流程圖
當系統(tǒng)數據包經過基于流量特征的入侵檢測模塊時,檢測模塊會統(tǒng)計對應時間段內通過的數據包數量,并跟預先設定的對應數據包數量做比對,若檢測合法則令其通過,否則報警。
該流程為基于流量特征的入侵檢測流程,其中數據包截取字段后需要處理成(YIP,Yd,DIP,Dd,T,N)向量格式。YIP是通信數據包的源 IP 地址 ;Yd為通信數據包源端口;DIP為通信數據包目的IP 地址 ;Dd為通信數據包目的端口;T 為時刻值 ; N 為T 時間段內通過的數據包數量。超過統(tǒng)計合法數據包范圍, 判斷為通信異常,這代表攻擊者通過對服務器端發(fā)送大量的請求數據包使得服務器端無法正常響應。
2.3 檢測技術的應用
假設主設備 1 的 IP 地址是 192.10.16.222, 端口號是228,跟 3個不同的從設備通信分別使用 3個不同的端口1228,2228,3228,3個從設備的 IP地址分別為 192.10.16.101,192.10.16.102,192.10.16.103,此處從設備通信對待檢測的工業(yè)控制系統(tǒng)通信進行數據包檢測、識別和分析。首先進行數據包截取,提取的字段包括源 IP 地址、源端口號、目的 IP 地址、目的端口號等。
根據雙方通信的數據包數量進行統(tǒng)計分析,而此處的通信雙方不僅是不同的主設備和從設備組合,還包含同樣的主設備、從設備組合中的不同端口組合。通信數據包的上限為 60, 下限為 30,第 3行中通信數據包的數量是 120,遠遠超過了統(tǒng)計合法數據包范圍,判斷為通信異常,這代表攻擊者通過對通信的服務器端發(fā)送大量的請求數據包,使得服務器端無法響應流量數據包樣本見表 1所列。
對于多設備間互相傳輸的工業(yè)控制系統(tǒng)來說,可將數據包組合成 M×N 組向量的形式。在 M×N 組數據中,分別將每組數據組成向量(YIP,Yd,DIP,Dd,T,N),再將 M×N 組向量傳入檢測模塊,基于兩個條件判斷其是否異常:
基于時間流量的入侵檢測模塊監(jiān)測某一組向量是否出現(xiàn)非法 IP,非法端口或非法組合,若出現(xiàn)非法的數據包流向, 則判斷該組向量異常;
根據源 IP地址和設備端口號確定通信雙方,若時刻值 T通信雙方的通信數據包數量 N在合法的通信數據包上、下限閾值之間,則判斷該組向量正常,否則判斷該組向量異常, 并報警。
3 結 語
針對當今工業(yè)控制系統(tǒng)入侵檢測技術針對性不強的問題, 本文根據工業(yè)生產周期性的特點,提出了一種基于流量特征的入侵檢測技術,通過 IP地址和端口號將不同的通信方區(qū)分開, 針對工業(yè)控制網絡設備多、線路多的特點,先通過數據流向判斷其是否合法,再根據流量的上、下限閾值識別出異常數據, 提高檢測的準確性,經驗證,該方法有效、可靠。





