《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于自適應(yīng)深度檢測(cè)的工控安全防護(hù)系統(tǒng)設(shè)計(jì)
基于自適應(yīng)深度檢測(cè)的工控安全防護(hù)系統(tǒng)設(shè)計(jì)
2019年電子技術(shù)應(yīng)用第1期
郭肖旺,閔曉霜,韓慶敏
中國(guó)電子信息產(chǎn)業(yè)集團(tuán)有限公司第六研究所,北京100083
摘要: 為了解決工控防火墻及其他網(wǎng)絡(luò)防護(hù)設(shè)備在接口流量過(guò)大、資源占用過(guò)多時(shí),容易成為響應(yīng)瓶頸的問(wèn)題,研究一種基于自適應(yīng)深度檢測(cè)的工控安全防護(hù)系統(tǒng)。系統(tǒng)安裝在被保護(hù)設(shè)備的上游,實(shí)現(xiàn)對(duì)工控協(xié)議的識(shí)別和深度解析,以及工控網(wǎng)絡(luò)協(xié)議的深度檢測(cè)過(guò)濾,并根據(jù)工控現(xiàn)場(chǎng)網(wǎng)絡(luò)狀態(tài)自適應(yīng)動(dòng)態(tài)調(diào)整深度檢測(cè)算法級(jí)別。系統(tǒng)能夠處理目前比較流行的各種工控協(xié)議,并對(duì)之進(jìn)行深度解析,對(duì)工控現(xiàn)場(chǎng)網(wǎng)絡(luò)起到保護(hù)作用。
中圖分類號(hào): TP309.2
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.181173
中文引用格式: 郭肖旺,閔曉霜,韓慶敏. 基于自適應(yīng)深度檢測(cè)的工控安全防護(hù)系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,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)有技術(shù)中,工業(yè)控制系統(tǒng)的安全防護(hù)一般采取逐層防護(hù)的方式部署,即在攻擊路徑上的任意位置(如企業(yè)網(wǎng)入口、監(jiān)控層網(wǎng)絡(luò)入口、現(xiàn)場(chǎng)層網(wǎng)絡(luò)入口)設(shè)置特定的防護(hù)措施,以阻斷攻擊,實(shí)現(xiàn)對(duì)安全等級(jí)最高的現(xiàn)場(chǎng)層的保護(hù)。傳統(tǒng)防火墻是專家根據(jù)經(jīng)驗(yàn)實(shí)現(xiàn)設(shè)定好過(guò)濾規(guī)則[1-2],以實(shí)現(xiàn)系統(tǒng)的安全防護(hù),需要預(yù)先定義各種總線協(xié)議及防護(hù)規(guī)則,通過(guò)對(duì)每種應(yīng)用服務(wù)建立專門的代理服務(wù)程序,但是只能按照事先定義好的過(guò)濾規(guī)則,在網(wǎng)絡(luò)層對(duì)數(shù)據(jù)報(bào)進(jìn)行監(jiān)控與分析,只能提供單一層面的、靜態(tài)的網(wǎng)絡(luò)安全防護(hù)。其過(guò)濾規(guī)則是由網(wǎng)絡(luò)安全專家根據(jù)經(jīng)驗(yàn)和已有的知識(shí)設(shè)定,很難適應(yīng)網(wǎng)絡(luò)的千變?nèi)f化[3-4]。雖然可以實(shí)現(xiàn)監(jiān)控和控制應(yīng)用層通信流的作用,但是其速度較慢,消耗過(guò)多的CPU資源,使得防護(hù)設(shè)備成為安全防護(hù)的瓶頸。尤其是在防護(hù)設(shè)備的CPU資源占用較多、接口流量過(guò)大時(shí),處理速度過(guò)慢,安全防護(hù)設(shè)備成為響應(yīng)瓶頸,對(duì)一切數(shù)據(jù)進(jìn)行過(guò)濾分析導(dǎo)致速度過(guò)慢,數(shù)據(jù)交換有較大的時(shí)延,不適應(yīng)工控系統(tǒng)的實(shí)時(shí)性要求,嚴(yán)重影響工控現(xiàn)場(chǎng)網(wǎng)絡(luò),甚至造成網(wǎng)絡(luò)癱瘓,無(wú)法動(dòng)態(tài)地適應(yīng)現(xiàn)場(chǎng)情況,進(jìn)而造成無(wú)法彌補(bǔ)的損失。

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

1 系統(tǒng)設(shè)計(jì)

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

jsj3-t1.gif

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

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

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

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

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

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

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

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

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

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

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

    算法步驟如下:

    (1)響應(yīng)時(shí)間,檢測(cè)對(duì)請(qǐng)求作出響應(yīng)所需要的時(shí)間;

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

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

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

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

    深度檢測(cè)分為不同的檢測(cè)級(jí)別,從0~5共6個(gè)級(jí)別,級(jí)別0為最低。定義如下:

    0級(jí):基于IP、MAC地址的網(wǎng)絡(luò)訪問(wèn)控制;

    1級(jí):流量控制、端口控制;

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

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

    4級(jí):預(yù)置規(guī)則庫(kù)匹配控制;

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

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

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

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

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

    (4)根據(jù)網(wǎng)絡(luò)數(shù)據(jù)包端口號(hào)過(guò)濾;

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

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

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

1.3 自適應(yīng)檢測(cè)調(diào)整模塊

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

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

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

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

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

jsj3-t2.gif

2.1 深度檢測(cè)模塊

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

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

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

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

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

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

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

2.2 自適應(yīng)檢測(cè)模塊

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

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

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

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

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

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

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

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

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

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

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

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

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

3 測(cè)試對(duì)比

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

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

4 總結(jié)

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

參考文獻(xiàn)

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

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



作者信息:

郭肖旺,閔曉霜,韓慶敏

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

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