《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于自適應深度檢測的工控安全防護系統(tǒng)設計
基于自適應深度檢測的工控安全防護系統(tǒng)設計
2019年電子技術應用第1期
郭肖旺,閔曉霜,韓慶敏
中國電子信息產(chǎn)業(yè)集團有限公司第六研究所,北京100083
摘要: 為了解決工控防火墻及其他網(wǎng)絡防護設備在接口流量過大、資源占用過多時,容易成為響應瓶頸的問題,研究一種基于自適應深度檢測的工控安全防護系統(tǒng)。系統(tǒng)安裝在被保護設備的上游,實現(xiàn)對工控協(xié)議的識別和深度解析,以及工控網(wǎng)絡協(xié)議的深度檢測過濾,并根據(jù)工控現(xiàn)場網(wǎng)絡狀態(tài)自適應動態(tài)調(diào)整深度檢測算法級別。系統(tǒng)能夠處理目前比較流行的各種工控協(xié)議,并對之進行深度解析,對工控現(xiàn)場網(wǎng)絡起到保護作用。
中圖分類號: TP309.2
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.181173
中文引用格式: 郭肖旺,閔曉霜,韓慶敏. 基于自適應深度檢測的工控安全防護系統(tǒng)設計[J].電子技術應用,2019,45(1):85-87,91.
英文引用格式: Guo Xiaowang,Min Xiaoshuang,Han Qingmin. Design of industrial control safety protection system based on adaptive depth detection[J]. Application of Electronic Technique,2019,45(1):85-87,91.
Design of industrial control safety protection system based on adaptive depth detection
Guo Xiaowang,Min Xiaoshuang,Han Qingmin
The 6th Research Institute of China Electronics Corporation,Beijing 100083,China
Abstract: Industrial control firewall and other network protection devices are easy to become response bottleneck when the interface flow is too large and resources are too occupied. In order to solve the problem, this paper proposes a kind of industrial safety protection system based on adaptive depth detection. The system is installed in the upstream of protection equipment, it can realize the recognition of industrial control protocol and parse protocol data deeply, and realize the depth of the realization of industrial control network protocol and testing or filtration. According to the state of industrial control field network, the system can adjust the level of depth detection algorithm dynamically, it can be able to handle all kinds of industrial control protocols in the current environment and analyzes protocol in-depth,which protects the industrial control site network.
Key words : depth detection;industrial control safety;adaptive

0 引言

    在現(xiàn)有技術中,工業(yè)控制系統(tǒng)的安全防護一般采取逐層防護的方式部署,即在攻擊路徑上的任意位置(如企業(yè)網(wǎng)入口、監(jiān)控層網(wǎng)絡入口、現(xiàn)場層網(wǎng)絡入口)設置特定的防護措施,以阻斷攻擊,實現(xiàn)對安全等級最高的現(xiàn)場層的保護。傳統(tǒng)防火墻是專家根據(jù)經(jīng)驗實現(xiàn)設定好過濾規(guī)則[1-2],以實現(xiàn)系統(tǒng)的安全防護,需要預先定義各種總線協(xié)議及防護規(guī)則,通過對每種應用服務建立專門的代理服務程序,但是只能按照事先定義好的過濾規(guī)則,在網(wǎng)絡層對數(shù)據(jù)報進行監(jiān)控與分析,只能提供單一層面的、靜態(tài)的網(wǎng)絡安全防護。其過濾規(guī)則是由網(wǎng)絡安全專家根據(jù)經(jīng)驗和已有的知識設定,很難適應網(wǎng)絡的千變?nèi)f化[3-4]。雖然可以實現(xiàn)監(jiān)控和控制應用層通信流的作用,但是其速度較慢,消耗過多的CPU資源,使得防護設備成為安全防護的瓶頸。尤其是在防護設備的CPU資源占用較多、接口流量過大時,處理速度過慢,安全防護設備成為響應瓶頸,對一切數(shù)據(jù)進行過濾分析導致速度過慢,數(shù)據(jù)交換有較大的時延,不適應工控系統(tǒng)的實時性要求,嚴重影響工控現(xiàn)場網(wǎng)絡,甚至造成網(wǎng)絡癱瘓,無法動態(tài)地適應現(xiàn)場情況,進而造成無法彌補的損失。

    本文研究基于自適應深度檢測工控安全防護系統(tǒng),所要解決的問題是克服現(xiàn)有技術的不足,提供一種自適應深度檢測方法及系統(tǒng),對安全防護設備的實際情況進行動態(tài)自適應分析,根據(jù)用戶配置和防護設備的狀態(tài)動態(tài)調(diào)整安全防護級別,避免造成設備癱瘓的情況。

1 系統(tǒng)設計

    如圖1所示,基于自適應深度檢測的工控安全防護系統(tǒng)包含6個模塊:網(wǎng)絡連接管理模塊、設備狀態(tài)檢測模塊、工控協(xié)議數(shù)據(jù)包深度檢測模塊、自適應檢測模塊、用戶配置子系統(tǒng)、日志管理子系統(tǒng)。本系統(tǒng)安裝在工控前置機上工作,工控前置機安裝在被保護設備的上游,需提前配置網(wǎng)絡信息和保護規(guī)則。

jsj3-t1.gif

    (1)網(wǎng)絡連接管理模塊:包含統(tǒng)透明代理、加載網(wǎng)絡驅(qū)動、網(wǎng)絡監(jiān)聽服務、會話管理、內(nèi)存池管理、接口管理等功能。

    (2)設備狀態(tài)檢測模塊:檢測設備的狀態(tài),檢測指標包括并發(fā)用戶數(shù)、接口流量、內(nèi)存使用、進程數(shù)、CPU占用。這些指標檢測可用戶配置,以使用戶能夠靈活地在不同的環(huán)境下配置需要監(jiān)測的網(wǎng)絡狀態(tài),給后續(xù)的自適應算法提供計算依據(jù)。

    (3)工控協(xié)議數(shù)據(jù)包深度檢測模塊:實現(xiàn)協(xié)議識別、協(xié)議深度檢測、協(xié)議過濾規(guī)則庫管理等功能。

    ①協(xié)議識別是根據(jù)協(xié)議端口、動態(tài)端口檢測等識別工控協(xié)議;

    ②協(xié)議深度檢測模塊即調(diào)用網(wǎng)絡狀態(tài)檢測算法、工控協(xié)議數(shù)據(jù)包深度檢測算法、自適應檢測算法等完成協(xié)議的深度檢測;

    ③協(xié)議過濾規(guī)則庫管理:包括預置規(guī)則、用戶自定義規(guī)則。

    (4)自適應檢測調(diào)整模塊:根據(jù)用戶配置的檢測級別適應規(guī)則,自動按照系統(tǒng)狀態(tài)進行深度檢測的自適應調(diào)整。

    (5)用戶配置子系統(tǒng):用戶可以通過界面或者Console命令方式配置如下配置項:自適應算法檢測指標(并發(fā)用戶數(shù)、接口流量、內(nèi)存使用、進程數(shù)、CPU占用);前置機設備網(wǎng)絡接口、DNS配置;系統(tǒng)工作模式(代理模式、路由模式)配置;網(wǎng)絡訪問控制的IP、MAC、IP范圍、子網(wǎng)掩碼、阻斷/通過;工控防護自適應級別配置;端口控制配置。

    (6)日志管理子系統(tǒng):日志審計部分記錄系統(tǒng)運行日志、安全防護日志、訪問日志、安全監(jiān)控日志等,審計的內(nèi)容包括協(xié)議檢查、過濾、交換、阻斷等內(nèi)容,包括正常操作和異常操作,每一條審計日志至少應包括事件發(fā)生的日期、時間、源IP、目的IP、協(xié)議、事件描述和結果。

1.1 設備狀態(tài)檢測模塊

    設備狀態(tài)檢測模塊用于根據(jù)用戶配置的檢測指標,提供不同指標的檢測信息,用戶能夠靈活地在不同的環(huán)境下配置需要監(jiān)測的網(wǎng)絡狀態(tài),以給后續(xù)的自適應算法提供計算依據(jù)。檢測指標包括:響應時間、并發(fā)用戶數(shù)、吞吐量、服務器指標(內(nèi)存使用、進程數(shù)、CPU占用)。

    算法步驟如下:

    (1)響應時間,檢測對請求作出響應所需要的時間;

    (2)并發(fā)用戶數(shù),檢測系統(tǒng)并發(fā)連接的數(shù)量;

    (3)吞吐量,檢測系統(tǒng)吞吐量,記錄服務器承受的壓力和系統(tǒng)的負載能力;

    (4)檢測服務器或操作系統(tǒng)性能的一些數(shù)據(jù)指標,如使用內(nèi)存數(shù)、進程時間等。

1.2 工控協(xié)議數(shù)據(jù)包深度檢測模塊

    深度檢測分為不同的檢測級別,從0~5共6個級別,級別0為最低。定義如下:

    0級:基于IP、MAC地址的網(wǎng)絡訪問控制;

    1級:流量控制、端口控制;

    2級:協(xié)議控制、完整性檢查、合法性檢查等;

    3級:功能碼控制、參數(shù)控制;

    4級:預置規(guī)則庫匹配控制;

    5級:參數(shù)范圍自定義設置,更加深入地匹配協(xié)議的每個控制位和數(shù)據(jù)位,用戶可以設定具體到協(xié)議每個數(shù)據(jù)位的數(shù)據(jù)保護規(guī)則。

    本模塊完成不同工控協(xié)議的數(shù)據(jù)包深度檢測,檢測過程如下:

    (1)啟動前置,捕獲每一個經(jīng)過它的網(wǎng)絡數(shù)據(jù)包;

    (2)根據(jù)檢測級別,獲取匹配的檢測順序,該檢測順序按照級別從低到高,不允許跨級檢測;

    (3)檢測網(wǎng)絡訪問控制,根據(jù)規(guī)則過濾;

    (4)根據(jù)網(wǎng)絡數(shù)據(jù)包端口號過濾;

    (5)識別協(xié)議,網(wǎng)絡數(shù)據(jù)包格式符合協(xié)議完整性檢查、合法性檢查等規(guī)則,過濾出數(shù)據(jù)包;

    (6)根據(jù)對應的預置工控協(xié)議功能碼控制、參數(shù)控制規(guī)則,檢測協(xié)議中的各個數(shù)據(jù)位;

    (7)根據(jù)用戶配置的自定義規(guī)則,檢測協(xié)議中的各個數(shù)據(jù)位。

1.3 自適應檢測調(diào)整模塊

    自適應檢測調(diào)整模塊用于根據(jù)網(wǎng)絡狀態(tài)進行自動調(diào)整,調(diào)整流程如下:

    (1)調(diào)用網(wǎng)絡狀態(tài)檢測算法,獲得網(wǎng)絡狀態(tài)數(shù)據(jù)結構。

    (2)根據(jù)網(wǎng)絡狀態(tài)及用戶配置的檢測級別適應規(guī)則自動調(diào)整深度檢測算法的檢測級別。默認狀態(tài)下,系統(tǒng)按照最高深度檢測級別工作,自適應算法按照網(wǎng)絡狀態(tài)逐級降級調(diào)整,網(wǎng)絡并發(fā)最大數(shù)量默認500,超過500后系統(tǒng)降級深度檢查;用戶根據(jù)網(wǎng)絡擁塞狀態(tài)、流量控制信息和系統(tǒng)信息等配置降級工作規(guī)則。

2 系統(tǒng)工作流程

    本系統(tǒng)利用工控前置機進行工作,工控前置機設置在工業(yè)網(wǎng)絡和被保護設備網(wǎng)段之間,外部設備向被保護設備發(fā)送數(shù)據(jù)包,數(shù)據(jù)包被前置機截獲,系統(tǒng)工作流程如圖2所示。

jsj3-t2.gif

2.1 深度檢測模塊

    嵌入在前置機設備內(nèi)的自適應深度檢查方法處理所述數(shù)據(jù)包,按照0~5級控制順序,逐級檢測數(shù)據(jù)包是否合法:

    (1)判斷該數(shù)據(jù)包的IP地址、MAC地址是否合法,合法則進入下一步,不合法則丟棄,并記錄日志;

    (2)解析數(shù)據(jù)包得到數(shù)據(jù)包的源端口、目的端口,判斷端口是否合法,合法進入下一步,不合法丟棄,并記錄日志;

    (3)判斷數(shù)據(jù)包的協(xié)議類型,根據(jù)用戶配置的協(xié)議控制要求,判斷該協(xié)議數(shù)據(jù)包的完整性、合法性,合法進入下一步,不合法丟棄,并記錄日志;

    (4)根據(jù)協(xié)議類型,判斷該協(xié)議中某些字段,如功能碼控制、參數(shù)控制等是否合法,合法進入下一步,不合法丟棄并記錄日志;

    (5)根據(jù)協(xié)議類型匹配預置規(guī)則庫匹配,合法進入下一步,不合法丟棄并記錄日志;

    (6)對用戶自定義規(guī)則進行批評,合法進入下一步,不合法則丟棄并記錄日志。

2.2 自適應檢測模塊

    設備狀態(tài)檢測模塊周期性運行檢查設備狀態(tài),每5 s運行一次,檢測設備狀態(tài)包括并發(fā)用戶數(shù)、接口流量、內(nèi)存使用、進程數(shù)、CPU占用,檢測到的結果提供給自適應檢測模塊。

    自適應檢測模塊接收到設備檢測模塊檢測到的數(shù)據(jù),根據(jù)用戶配置到觸發(fā)條件,動態(tài)調(diào)節(jié)深度檢測級別:

    (1)設備狀態(tài)為:并發(fā)用戶數(shù)500、接口流量30 MB/s、內(nèi)存使用60%、進程數(shù)50、CPU占用70%;

    (2)用戶配置可自適應動態(tài)調(diào)整觸發(fā)為真;

    (3)假設用戶配置的觸發(fā)條件為:

    ①并發(fā)用戶數(shù)<500、接口流量<20 MB/s、內(nèi)存使用

    <50%、進程數(shù)<50、CPU占用<50%時,第二步深度檢測為完全檢測,即2.1節(jié)(1)~(6)完全步驟檢測;

    ②接口流量20~50 MB/s、CPU占用50%~80%時, 第二步深度檢測為不完全檢測,即2.1節(jié)(1)~(5)不完全步驟檢測,降級減少用戶自定義規(guī)則匹配部分;

    ③接口流量50~100 MB/s、CPU占用80%~90%時深度檢測基本降級,第二步工作步驟設置為2.1節(jié)(1)~(4);

    ④接口流量>100 MB/s、CPU大于95%時,采用不檢查機制,完全放行,或完全阻塞;

    (4)根據(jù)用戶配置條件,系統(tǒng)根據(jù)當時的設備狀態(tài),動態(tài)調(diào)整第二步工作步驟為2.1節(jié)(1)~(5)不完全檢測。

    這樣系統(tǒng)處理速度加快,待系統(tǒng)恢復正常時,自適應檢測算法會再一次調(diào)整到完全檢測狀態(tài),防止系統(tǒng)因為某一時段過大的數(shù)據(jù)流量或設備高負載時造成設備宕機,引起系統(tǒng)癱瘓。

    (5)在用戶任務網(wǎng)絡不夠安全時,可設置可自適應動態(tài)調(diào)整觸發(fā)為假,系統(tǒng)不再進行自適應深度調(diào)整,則工作方式與一般工控防火墻一致。

3 測試對比

    在不使用本系統(tǒng)的工控前置機中,采用透明代理防火墻工作方式保護現(xiàn)場工控網(wǎng)絡,該前置機為內(nèi)存4 GB的1U設備,安裝一般防火墻軟件,在防火墻軟件中設定網(wǎng)絡連接數(shù)最大500,接口流量最大為100 Mb/s;測試采用2臺PC,兩臺PC仿真客戶端與服務器之間的TCP通信過程。在保持舊的通信會話聯(lián)接仍有效的基礎上,以批量方式增加新的通信會話過程,通過調(diào)整批量的大小,測試裝有一般防火墻軟件前置機能支持的有效TCP并發(fā)連接速率,當并發(fā)數(shù)量在每秒200左右時出現(xiàn)延遲,延遲最大為0.046 s,并發(fā)數(shù)量超過300每秒時,出現(xiàn)延遲最大為0.53 s,嚴重影響現(xiàn)場工作;

    采用本系統(tǒng)的前置機進行測試,前置機為內(nèi)存4 GB的1U設備,測試方法相同。此時用戶設置深度檢測規(guī)則為200<并發(fā)用戶數(shù)<300時,采用自適應深度調(diào)整,取消級別5的檢測;在300<并發(fā)用戶數(shù)<400時,取消級別4的檢測。測試時,在每秒220左右連接時,系統(tǒng)出現(xiàn)延遲,系統(tǒng)自適應深度檢測級別調(diào)整后,延遲消失;繼續(xù)增加并發(fā)數(shù)量超過320每秒時,再次出現(xiàn)延遲,延遲最大為0.025 s,系統(tǒng)再次自適應調(diào)整,延遲消失;降低并發(fā)連接數(shù)到270時,系統(tǒng)自動調(diào)整添加級別4的檢測。在整個過程中,系統(tǒng)不會出現(xiàn)延遲越來越嚴重的想象,不會造成系統(tǒng)癱瘓,且如果用戶關閉自適應深度調(diào)整,本系統(tǒng)的工作方式將與防火墻等防護系統(tǒng)的工作方式一致,不會形成因自動調(diào)整而降低安全策略的情況。

4 總結

    本文研究了基于自適應深度檢測的工控安全防護系統(tǒng),并提出了自適應深度檢測的相關方法。采用對比測試的方法比較了傳統(tǒng)防火墻和本系統(tǒng)的測試結果,證明本研究可以提供一種自適應深度檢測方法及系統(tǒng),對安全防護設備的實際情況進行動態(tài)自適應分析,避免造成設備癱瘓的情況。

參考文獻

[1] STOUFFER K,F(xiàn)ALCO J,SCARFONE K.Guide to industrial control systems(ICS) security[J].NIST Special Publication,2011,800 (82):1-2.

[2] GAO W,MORRIS T H.On cyber attacks and signature based intrusion detection for MODBUS based industrial control systems[J].Journal of Digital Forensics,Security and Law,2014,9(1):37-56.

[3] 譚湘.基于防火墻的企業(yè)網(wǎng)絡安全設計與實現(xiàn)[D].西安:西安電子科技大學,2013.

[4] 郝玉潔.深度包檢測主機防火墻的研究與實現(xiàn)[D].成都:電子科技大學,2010.



作者信息:

郭肖旺,閔曉霜,韓慶敏

(中國電子信息產(chǎn)業(yè)集團有限公司第六研究所,北京100083)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。