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