《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 基于自适应深度检测的工控安全防护系统设计
基于自适应深度检测的工控安全防护系统设计
2019年电子技术应用第1期
郭肖旺,闵晓霜,韩庆敏
中国电子信息产业集团有限公司第六研究所,北京100083
摘要: 为了解决工控防火墙及其他网络防护设备在接口流量过大、资源占用过多时,容易成为响应瓶颈的问题,研究一种基于自适应深度检测的工控安全防护系统。系统安装在被保护设备的上游,实现对工控协议的识别和深度解析,以及工控网络协议的深度检测过滤,并根据工控现场网络状态自适应动态调整深度检测算法级别。系统能够处理目前比较流行的各种工控协议,并对之进行深度解析,对工控现场网络起到保护作用。
中圖分類號: 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è)網入口、監(jiān)控層網絡入口、現(xiàn)場層網絡入口)設置特定的防護措施,以阻斷攻擊,實現(xiàn)對安全等級最高的現(xiàn)場層的保護。傳統(tǒng)防火墻是專家根據(jù)經驗實現(xiàn)設定好過濾規(guī)則[1-2],以實現(xiàn)系統(tǒng)的安全防護,需要預先定義各種總線協(xié)議及防護規(guī)則,通過對每種應用服務建立專門的代理服務程序,但是只能按照事先定義好的過濾規(guī)則,在網絡層對數(shù)據(jù)報進行監(jiān)控與分析,只能提供單一層面的、靜態(tài)的網絡安全防護。其過濾規(guī)則是由網絡安全專家根據(jù)經驗和已有的知識設定,很難適應網絡的千變萬化[3-4]。雖然可以實現(xiàn)監(jiān)控和控制應用層通信流的作用,但是其速度較慢,消耗過多的CPU資源,使得防護設備成為安全防護的瓶頸。尤其是在防護設備的CPU資源占用較多、接口流量過大時,處理速度過慢,安全防護設備成為響應瓶頸,對一切數(shù)據(jù)進行過濾分析導致速度過慢,數(shù)據(jù)交換有較大的時延,不適應工控系統(tǒng)的實時性要求,嚴重影響工控現(xiàn)場網絡,甚至造成網絡癱瘓,無法動態(tài)地適應現(xiàn)場情況,進而造成無法彌補的損失。

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

1 系統(tǒng)設計

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

jsj3-t1.gif

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

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

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

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

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

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

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

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

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

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

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

    算法步驟如下:

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

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

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

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

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

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

    0級:基于IP、MAC地址的網絡訪問控制;

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

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

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

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

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

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

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

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

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

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

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

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

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

1.3 自適應檢測調整模塊

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

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

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

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

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

jsj3-t2.gif

2.1 深度檢測模塊

    嵌入在前置機設備內的自適應深度檢查方法處理所述數(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ù)、接口流量、內存使用、進程數(shù)、CPU占用,檢測到的結果提供給自適應檢測模塊。

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

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

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

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

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

    <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)調整第二步工作步驟為2.1節(jié)(1)~(5)不完全檢測。

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

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

3 測試對比

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

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

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è)網絡安全設計與實現(xiàn)[D].西安:西安電子科技大學,2013.

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



作者信息:

郭肖旺,閔曉霜,韓慶敏

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

此內容為AET網站原創(chuàng),未經授權禁止轉載。