文獻(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.
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ī)則,。
(1)網(wǎng)絡(luò)連接管理模塊:包含統(tǒng)透明代理,、加載網(wǎng)絡(luò)驅(qū)動(dòng)、網(wǎng)絡(luò)監(jiān)聽服務(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所示,。
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)