Opc安全網(wǎng)關(guān)系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)信息安全領(lǐng)域,特別是涉及一種OPC安全網(wǎng)關(guān)系統(tǒng)。
【背景技術(shù)】
[0002]在工業(yè)控制領(lǐng)域中,為了實(shí)現(xiàn)工業(yè)控制系統(tǒng)的應(yīng)用軟件和硬件產(chǎn)品之間的互操作性,需要在應(yīng)用層面上解決系統(tǒng)集成和數(shù)據(jù)通信問題。為此,國(guó)際上成立了一個(gè)稱為OPC基金會(huì)的國(guó)際組織,制定了 OPC 標(biāo)準(zhǔn),OPC 是 Object Linking and Embedding for ProcessControl的簡(jiǎn)稱?,F(xiàn)在,OPC基金會(huì)的會(huì)員已超過220家,包括世界上所有主要的自動(dòng)化控制系統(tǒng)、儀器儀表及過程控制系統(tǒng)的公司,因此OPC標(biāo)準(zhǔn)成為事實(shí)上的國(guó)際標(biāo)準(zhǔn)。
[0003]OPC標(biāo)準(zhǔn)的核心是微軟公司的組件對(duì)象模型COM和分布式組件對(duì)象模型DCOM技術(shù),它是一種基于客戶/服務(wù)器模式的通信協(xié)議,定義了 OPC客戶端與OPC服務(wù)器之間的通信協(xié)議和數(shù)據(jù)包格式,包括一整套相關(guān)的接口、屬性和方法,在Windows應(yīng)用程序和現(xiàn)場(chǎng)過程控制設(shè)備之間建立起一個(gè)橋梁,使兩者很容易實(shí)現(xiàn)系統(tǒng)集成和數(shù)據(jù)通信。因此,OPC標(biāo)準(zhǔn)已成為工業(yè)控制系統(tǒng)集成和互連的首選方案,絕大多數(shù)的工業(yè)控制設(shè)備和應(yīng)用軟件都支持OPC標(biāo)準(zhǔn),否則就會(huì)被淘汰。
[0004]隨著工業(yè)和信息化的深度融合,在電力、能源、化工、水利、制藥、污水處理、石油天然氣、交通運(yùn)輸以及航空航天等工業(yè)企業(yè)中,通常建有企業(yè)信息網(wǎng)和工業(yè)控制網(wǎng)兩種網(wǎng)絡(luò)系統(tǒng),通過OPC協(xié)議,實(shí)現(xiàn)企業(yè)信息網(wǎng)與工業(yè)控制網(wǎng)的互連,用戶使用企業(yè)信息網(wǎng)中的計(jì)算機(jī)能夠遠(yuǎn)程地監(jiān)控工業(yè)控制網(wǎng)中的工業(yè)設(shè)備,并獲取相應(yīng)的生產(chǎn)數(shù)據(jù)。
[0005]另一方面,在企業(yè)信息網(wǎng)與工業(yè)控制網(wǎng)的互連中,也存在著一些安全風(fēng)險(xiǎn),企業(yè)信息網(wǎng)中常見的安全威脅被引入到工業(yè)控制網(wǎng)中,如網(wǎng)絡(luò)病毒、黑客攻擊以及惡意操作等,給工業(yè)控制網(wǎng)帶來嚴(yán)重的信息安全問題,“震網(wǎng)”病毒事件就是典型的例子。
[0006]由于工業(yè)控制系統(tǒng)與普通信息系統(tǒng)在系統(tǒng)結(jié)構(gòu)和通信協(xié)議上存在一些差異,現(xiàn)有的防火墻等網(wǎng)絡(luò)安全產(chǎn)品并不能直接應(yīng)用于工業(yè)控制系統(tǒng)中,需要研宄和開發(fā)適合于工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)安全技術(shù)和產(chǎn)品,確保工業(yè)控制系統(tǒng)的信息安全。
【發(fā)明內(nèi)容】
[0007]為了克服現(xiàn)有企業(yè)信息網(wǎng)與工業(yè)控制網(wǎng)的互連中安全性差的不足,本發(fā)明提供一種OPC安全網(wǎng)關(guān)系統(tǒng)。該系統(tǒng)包括OPC客戶端安全認(rèn)證模塊、OPC數(shù)據(jù)包合規(guī)性檢查模塊、OPC數(shù)據(jù)包內(nèi)容檢查模塊、異常事件檢測(cè)和報(bào)警模塊、日志記錄與安全審計(jì)模塊、網(wǎng)絡(luò)資產(chǎn)識(shí)別和管理模塊、系統(tǒng)管理接口模塊和遠(yuǎn)程管理工具。企業(yè)信息網(wǎng)的信息通過OPC安全網(wǎng)關(guān)系統(tǒng)進(jìn)入工業(yè)控制網(wǎng),OPC安全網(wǎng)關(guān)系統(tǒng)對(duì)其通信行為進(jìn)行安全認(rèn)證,對(duì)數(shù)據(jù)包進(jìn)行合格性檢查和內(nèi)容檢查,識(shí)別和濾除惡意的通信行為及OPC數(shù)據(jù)包,并將OPC數(shù)據(jù)包轉(zhuǎn)發(fā)給目標(biāo)節(jié)點(diǎn)。防止非法用戶入侵工業(yè)控制網(wǎng),防止異?;蜃儺怬PC數(shù)據(jù)包攻擊工業(yè)控制網(wǎng),防止通過虛假命令對(duì)工業(yè)控制網(wǎng)進(jìn)行攻擊和破壞??梢蕴岣咂髽I(yè)信息網(wǎng)與工業(yè)控制網(wǎng)的互連中的安全性。
[0008]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種OPC安全網(wǎng)關(guān)系統(tǒng),其特點(diǎn)是包括OPC客戶端安全認(rèn)證模塊、OPC數(shù)據(jù)包合規(guī)性檢查模塊、OPC數(shù)據(jù)包內(nèi)容檢查模塊、異常事件檢測(cè)和報(bào)警模塊、日志記錄與安全審計(jì)模塊、網(wǎng)絡(luò)資產(chǎn)識(shí)別和管理模塊、系統(tǒng)管理接口和遠(yuǎn)程管理工具。
[0009]OPC客戶端安全認(rèn)證模塊采用白名單策略,事先將允許與OPC服務(wù)器通信的OPC客戶端及用戶名列入白名單中。在OPC客戶端與OPC服務(wù)器建立連接時(shí),通過解析OPC數(shù)據(jù)包,提取出OPC數(shù)據(jù)包中所包含的OPC客戶端及用戶信息,然后依據(jù)白名單進(jìn)行檢查,禁止任何未列入白名單中的OPC客戶端及用戶名與OPC服務(wù)器進(jìn)行通信,防止非法用戶入侵工業(yè)控制網(wǎng)。
[0010]OPC數(shù)據(jù)包合規(guī)性檢查模塊通過建立OPC協(xié)議規(guī)范與通信規(guī)則,用于檢查OPC數(shù)據(jù)包類型及格式是否符合OPC協(xié)議規(guī)范。在OPC客戶端與OPC服務(wù)器數(shù)據(jù)通信過程中,通過解析OPC數(shù)據(jù)包,提取出OPC數(shù)據(jù)包類型及格式,然后依據(jù)OPC協(xié)議規(guī)范與通信規(guī)則進(jìn)行檢查,濾除任何違反OPC協(xié)議規(guī)范與通信規(guī)則的異?;蜃儺怬PC數(shù)據(jù)包,防止異?;蜃儺怬PC數(shù)據(jù)包攻擊工業(yè)控制網(wǎng)。
[0011]OPC數(shù)據(jù)包內(nèi)容檢查模塊。在工業(yè)控制系統(tǒng)中,OPC客戶端按照規(guī)定的命令格式通過OPC數(shù)據(jù)包向OPC服務(wù)器發(fā)送控制命令,OPC服務(wù)器執(zhí)行控制命令并將執(zhí)行結(jié)果返回給OPC客戶端。根據(jù)工業(yè)控制系統(tǒng)的控制命令及其格式,事先將允許使用的控制命令及其格式列入白名單中。在OPC客戶端與OPC服務(wù)器數(shù)據(jù)通信過程中,通過解析客戶端的OPC數(shù)據(jù)包,提取出OPC數(shù)據(jù)包中的控制命令,然后依據(jù)白名單進(jìn)行檢查,濾除任何未列入白名單中的控制命令及其格式,防止通過虛假命令對(duì)工業(yè)控制網(wǎng)及其工控設(shè)備進(jìn)行攻擊和破壞。
[0012]以上三項(xiàng)檢測(cè)通過后,OPC安全網(wǎng)關(guān)系統(tǒng)允許OPC客戶端與OPC服務(wù)器建立連接,并將OPC數(shù)據(jù)包轉(zhuǎn)發(fā)給目標(biāo)節(jié)點(diǎn)。
[0013]異常事件檢測(cè)和報(bào)警模塊。在OPC客戶端與OPC服務(wù)器數(shù)據(jù)通信過程中,對(duì)于OPC安全網(wǎng)關(guān)系統(tǒng)檢測(cè)出任何違反安全策略的異常事件和數(shù)據(jù)包,包括安全認(rèn)證未通過、合規(guī)性檢查未通過以及內(nèi)容檢查未通過,阻斷本次通信操作,并發(fā)出報(bào)警信息,報(bào)警方式有屏幕顯示、手機(jī)短信以及電子郵件,同時(shí)將異常事件詳細(xì)信息記錄在日志文件中,供日后查詢、審計(jì)和追溯。
[0014]日志記錄與安全審計(jì)模塊。在OPC客戶端與OPC服務(wù)器數(shù)據(jù)通信過程中,OPC安全網(wǎng)關(guān)系統(tǒng)在其日志文件中詳細(xì)記錄兩類信息:正常通信行為信息和異常通信行為信息,并根據(jù)異常事件的嚴(yán)重程度標(biāo)識(shí)出不同的危險(xiǎn)等級(jí)。日志文件采用標(biāo)準(zhǔn)日志格式進(jìn)行滾動(dòng)記錄,日志文件即將記滿時(shí)給出提示信息,要求及時(shí)備份日志文件。
[0015]網(wǎng)絡(luò)資產(chǎn)識(shí)別和管理模塊。在OPC客戶端與OPC服務(wù)器數(shù)據(jù)通信過程中,OPC安全網(wǎng)關(guān)系統(tǒng)從OPC數(shù)據(jù)包中提取并識(shí)別出相關(guān)工控設(shè)備的工作狀態(tài)和資產(chǎn)信息,為監(jiān)測(cè)和管理工控設(shè)備運(yùn)行狀態(tài)提供基礎(chǔ)。
[0016]系統(tǒng)管理接口包括角色分離的系統(tǒng)管理員和安全審計(jì)員,系統(tǒng)管理員主要負(fù)責(zé)白名單和安全策略建立與編輯、異常事件報(bào)警信息處理、檢查算法更新和維護(hù)、網(wǎng)絡(luò)資產(chǎn)監(jiān)測(cè)和管理以及系統(tǒng)配置與管理等操作;安全審計(jì)員主要負(fù)責(zé)日志信息查詢、審計(jì)以及備份操作。
[0017]遠(yuǎn)程管理工具為用戶提供基于C/S三層結(jié)構(gòu)的工業(yè)安全網(wǎng)關(guān)管理平臺(tái),包括安全配置管理、系統(tǒng)運(yùn)行管理、異常事件管理、網(wǎng)絡(luò)資產(chǎn)管理以及日志查詢、安全審計(jì)功能。系統(tǒng)管理員和安全審計(jì)員的角色和賬戶是分開設(shè)置的,各自單獨(dú)登錄和身份鑒別,構(gòu)成相互制約的監(jiān)督機(jī)制,確保工業(yè)安全網(wǎng)關(guān)管理的安全性和可信性。
[0018]本發(fā)明的有益效果是:該系統(tǒng)包括OPC客戶端安全認(rèn)證模塊、OPC數(shù)據(jù)包合規(guī)性檢查模塊、OPC數(shù)據(jù)包內(nèi)容檢查模塊、異常事件檢測(cè)和報(bào)警模塊、日志記錄與安全審計(jì)模塊、網(wǎng)絡(luò)資產(chǎn)識(shí)別和管理模塊、系統(tǒng)管理接口模塊和遠(yuǎn)程管理工具。企業(yè)信息網(wǎng)的信息通過OPC安全網(wǎng)關(guān)系統(tǒng)進(jìn)入工業(yè)控制網(wǎng),OPC安全網(wǎng)關(guān)系統(tǒng)對(duì)其通信行為進(jìn)行安全認(rèn)證,對(duì)數(shù)據(jù)包進(jìn)行合格性檢查和內(nèi)容檢查,識(shí)別和濾除惡意的通信行為及OPC數(shù)據(jù)包,并將OPC數(shù)據(jù)包轉(zhuǎn)發(fā)給目標(biāo)節(jié)點(diǎn)。防止非法用戶入侵工業(yè)控制網(wǎng),防止異?;蜃儺怬PC數(shù)據(jù)包攻擊工業(yè)控制網(wǎng),防止通過虛假命令對(duì)工業(yè)控制網(wǎng)進(jìn)行攻擊和破壞。提高了企業(yè)信息網(wǎng)與工業(yè)控制網(wǎng)的互連中的安全性。
[0019]下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作詳細(xì)說明。
【附圖說明】
[0020]圖1是OPC安全網(wǎng)關(guān)系統(tǒng)部署示意圖。
[0021]圖2是本發(fā)明OPC安全網(wǎng)關(guān)系統(tǒng)結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0022]參照?qǐng)D1-2。本發(fā)明所涉及的基本概念如下:
[0023]1.0PC通信過程。
[0024]識(shí)別OPC通信行為是OPC安全網(wǎng)關(guān)系統(tǒng)的重要功能,它涉及到OPC協(xié)議特定的通信過程。OPC通信過程主要分為兩個(gè)階段。
[0025](I)OPC通信發(fā)起階段。在發(fā)起階段,OPC客戶端向OPC服務(wù)器發(fā)起通信,獲取服務(wù)器的基本信息和綁定信息,具體操作流程如下:
[0026]①OPC客戶端使用隨機(jī)端口(如14963)向OPC服務(wù)器135端口發(fā)起TCP連接請(qǐng)求,經(jīng)過三次握手,建立TCP連接;
[0027]②OPC客戶端使用bind請(qǐng)求包向OPC服務(wù)器發(fā)送綁定請(qǐng)求;綁定接口為1XIDResolve,其接口標(biāo)識(shí)符為:99fcfec4-5260-101b-bbcb-00aa0021347a ;
[0028]③OPC服務(wù)器使用bind-ack應(yīng)答包向OPC客戶端返回綁定結(jié)果,其中包含有綁定是否成功的標(biāo)志;
[0029]④OPC客戶端調(diào)用接口 1XIDResolve中的serverAlive2函數(shù),向OPC服務(wù)器請(qǐng)求執(zhí)行遠(yuǎn)程過程調(diào)用;
[0030]⑤OPC服務(wù)器返回serverAlivd函數(shù)的執(zhí)行結(jié)果,其中包括OPC服務(wù)器的基本信息和綁定信息。
[0031](2)創(chuàng)建遠(yuǎn)程對(duì)象實(shí)例階段。OPC客戶端獲取了 OPC服務(wù)器的基本信息后,OPC客戶端便可以向OPC服務(wù)器發(fā)起數(shù)據(jù)通信,創(chuàng)建遠(yuǎn)程對(duì)象實(shí)例,具體操作流程如下:
[0032]①OPC客戶端使用14964端口向OPC服務(wù)器的135端口發(fā)起TCP連接請(qǐng)求,經(jīng)過三次握手,建立TCP連接。
[0033]②OPC客戶端使用bind請(qǐng)求包向OPC服務(wù)器發(fā)送綁定請(qǐng)求;綁定接口為IsystemActivator,其接口標(biāo)識(shí)符為:000001a0-0000-0000-c000-000000000046 ;
[0034]③OPC服務(wù)器用bind-ack應(yīng)答包向OPC客戶端返回綁定結(jié)果,其中包含有綁定是否成功的標(biāo)志;
[0035]④OPC客戶端利用Auth3請(qǐng)求包向OPC服務(wù)器發(fā)送認(rèn)證信息,包括OPC客戶端的域名、用戶名、主機(jī)名以及認(rèn)證信息等;
[0036]⑤OPC客戶端調(diào)用接口 IsystemActivator 的 RemoteCreateInstance 函數(shù),向 OPC服務(wù)器請(qǐng)求執(zhí)行遠(yuǎn)程過程調(diào)用,創(chuàng)建OPC Server Browser對(duì)象實(shí)例;
[0037]⑥OPC服務(wù)器返回RemoteCreateInstance函數(shù)的執(zhí)行結(jié)果,其中包括OPC服務(wù)器動(dòng)態(tài)分配的端口號(hào)。
[0038]2.動(dòng)態(tài)端口解析。
[0039]在OPC客戶端與OPC服務(wù)器通信