專利名稱:網絡安全設備的制作方法
技術領域:
本發(fā)明涉及工業(yè)網絡安全,尤其涉及網絡安全設備以及部署和管理這些設備以保護工業(yè)裝置的方法。
背景技術:
在對諸如發(fā)電和配電、石油生產、運輸、制造和健康服務之類的關鍵工業(yè)系統(tǒng)進行 管理時使用的監(jiān)視控制和數據采集(SCADA)和自動控制設備通過使用諸如Ethernet、TCP/IP和web服務之類的流行通信技術日益互連起來。雖然SCADA和自動控制設備的聯網以改進的信息流和效率的形式帶來相當多的優(yōu)點,但是一旦從世界各地都可以訪問分離的裝置和網絡時,這些系統(tǒng)也有可能受到病毒、黑客和恐怖分子的威脅。當前,存在大量的保護不充分的控制裝置遍布世界各地。這些控制裝置負責諸如電力傳輸變電所、氣體管線、制造工廠等等的關鍵系統(tǒng)和基礎設施的安全操作,然而同時很大程度上未對它們進行保護以避免它們成為惡意攻擊的目標。傳統(tǒng)的安全解決方案是基于用來保護不安全的內部裝置或計算機不受外界攻擊的中心防火墻,這種設計不能滿足工業(yè)控制領域的要求。現存的控制器不提供驗證、完整(integrity)或加密機制,并且可以被任何能夠發(fā)現或“ping”該網絡和相關裝置的個人完全地控制。另外,他們不易于被修補或者添加安全特性。一旦病毒或黑客設法沖破(或已經進入)傳統(tǒng)防火墻,由防火墻保護的諸如典型的可編程邏輯控制器(PLC)或分布控制系統(tǒng)(DCS)之類的裝置就成為易于攻擊的目標。在很多諸如輸油管線或配電系統(tǒng)的工業(yè)環(huán)境中,在包括偏遠區(qū)域的寬廣地域上可以分布著數以百計的控制器裝置。在這些偏遠區(qū)域通常沒有具備管理傳統(tǒng)安全裝置技能的人員,因此即使裝置只需要進行少量本地配置也是無法接受的。例如,提供“透明的”操作的當前防火墻產品仍然需要網絡屬性(諸如IP地址、網關和網絡掩碼)的本地配置,否則它們就無法被遠程控制,這是SCADA領域的一個嚴重的缺點。同樣地,由于在這些分布控制系統(tǒng)中存在大量的分離區(qū)域(每個都需要防火墻),所以需要從中心區(qū)域同時管理數以百計的防火墻的技術,這就排除了采用基于“逐個”管理的流行小型辦公室防火墻解決方案。使該問題復雜化的是市場上存在數以千計不同的工業(yè)控制裝置的零部件,其中每一個零部件采用了 350種以上的已知SCADA通信協議中的一種或多種進行通信。每種控制裝置都需要非常特殊的安全規(guī)則以被正確保護,例如一種流行的PLC對于包含超過125個字符的URL的web請求具有不常見但是眾所周知的安全問題。在傳統(tǒng)防火墻中人工地為每個被保護裝置的各個漏洞創(chuàng)建不同的規(guī)則會使整個防火墻配置極度地復雜并且有很可能導致配置錯誤。
最后,操作和維護這些SCADA系統(tǒng)的工作人員必然是進行了高度培訓的控制系統(tǒng)專家,而不是信息技術或安全專家。因此,這些安全系統(tǒng)的管理需要基于控制技術人員能夠理解的新范例,而不是傳統(tǒng)的關注于網絡系統(tǒng)的管理和配置的網絡技術。如果沒有針對控制技術人員和控制產品的解決方案,則可能在任何安全解決方案的建立和管理中出現嚴重缺陷。因此,需要用于SCADA和自動控制設備的網絡安全設備,該網絡安全設備易于配置并且可被遠程可控,并且有助于保護廣泛分布工業(yè)環(huán)境中的具備網絡功能的控制設備。
發(fā)明內容
提供了一種用于保護網絡環(huán)境中的工業(yè)裝置的方法、設備和系統(tǒng)。在工業(yè)裝置的通信路徑上配置安全設備或節(jié)點,所述安全設備或節(jié)點在裝置和網絡之間透明地橋接業(yè)務。當與管理服務器通信時,安全設備利用工業(yè)裝置的網址,并且管理服務器使用該裝置的 地址訪問該安全設備。安全設備沒有唯一的地址,并且通過利用裝置地址而不是唯一的地址并利用數據加密來提供隱身能力。安全設備通過監(jiān)視經過的業(yè)務來獲知正在被保護的裝置的特征。該特征然后被提供給管理服務器,該管理服務器能使軟件和安全規(guī)則適合于裝置的特殊網絡漏洞和裝置所使用的控制協議。配置數據通過安全連接被傳送給裝置,然后被用于配置安全設備的安全模塊。安全設備攔截數據包并且確定該包是來自于管理服務器還是網絡上的其它裝置,以及是否應該被發(fā)送到終端裝置或從終端裝置發(fā)送。如果業(yè)務指向終端裝置,則安全模塊管理業(yè)務以保證裝置安全。安全設備利用裝置網址將周期心跳消息發(fā)送給管理服務器。心跳消息還可以描述需要從管理服務器向節(jié)點提供附加軟件的異常事件。因此,本發(fā)明的一方面提供一種采用安全設備保護網絡工業(yè)裝置的方法,該安全設備將網絡工業(yè)裝置耦接到數據網絡,該方法包括以下步驟在安全設備中,監(jiān)視從工業(yè)裝置到其它通過數據網絡可訪問的裝置的數據業(yè)務,用于確定與該工業(yè)裝置相關聯的屬性;在安裝設備中,從被尋址到所述裝置的包中接收源自于與數據網絡相連接的管理服務器的加密管理連接數據;利用與該裝置相關聯的地址作為包的始發(fā)地址來將確定的裝置屬性發(fā)送給管理服務器;在安全設備中,從被尋址到所述裝置的包中接收源自于與數據網絡相連接的管理服務器的加密配置數據,其中配置數據是由管理服務器基于所提供的裝置屬性選擇的;基于配置后的數據管理工業(yè)裝置和網絡之間的包;以及利用與該裝置相關聯的地址作為包的始發(fā)地址將加密心跳數據周期地發(fā)送給管理服務器。本發(fā)明的另一方面提供一種用于保護處在數據網絡中安全設備的下游的一個或多個工業(yè)裝置的安全設備,該安全設備包括心跳模塊,心跳模塊用于產生加密心跳消息,并且利用與該裝置中的一個相關聯的地址作為該包地始發(fā)地址;通信模塊,用于處理從管理服務器傳輸的并且發(fā)給安全設備下游的一個裝置的包,該通信模塊對嵌入包內的數據進行解密;以及一個或多個可由管理服務器配置的安全模塊,該模塊基于與工業(yè)裝置的每個或多個相關聯的安全描述檔對經過安全模塊的數據進行安全管理,安全模塊處于網絡上的裝置和安全設備下游的一個或多個工業(yè)設備之間。本發(fā)明的另一方面提供一種數據網絡,該數據網絡包括多個網絡工業(yè)裝置;多個安全設備,每個設備與多個工業(yè)設備中的一個或多個相關聯,安全設備透明地將工業(yè)裝置橋接到數據網絡,并且基于相關聯的工業(yè)裝置的識別特征來對傳送到工業(yè)裝置的和來自工業(yè)裝置的數據提供管理;管理服務器,用于管理多個安全設備;其中管理服務器通過利用相關聯的工業(yè)裝置中的一個工業(yè)裝置的地址與多個安全設備進行通信,多個安全設備利用相關聯的裝置的地址信息作為心跳消息源將加密心跳信息周期地發(fā)送給管理服務器。在參考附圖對本發(fā)明的特定實施例進行如下描述后,本發(fā)明的其它方面和特點對于本領域的普通技術人員來說是顯見的。
結合附圖,通過接下來的詳細描述,本發(fā)明的其它特點和優(yōu)點將變得顯見,其中圖I圖示了與裝置串聯的安全設備的部署拓撲;圖2圖示了集成在網絡交換機中的多個安全設備的部署拓撲; 圖3圖示了與裝置集成在一起的安全設備的部署拓撲;圖4a圖示了保護多個裝置的安全設備的部署拓撲;圖4b是圖4a所示的部署拓撲的邏輯圖;圖5以框圖形式圖示了安全設備;圖6以框圖形式圖示了管理服務器;圖7圖示了預初始化階段消息流;圖8圖示了在裝置側的安全設備中的獲知模式的方法;圖9圖示了在網絡側的安全設備中的獲知模式的方法;圖10圖示了初始化階段的消息流;圖11圖示了安全設備中的初始化階段的方法;圖12圖示了操作階段的消息流;圖13圖示了在操作階段中安全節(jié)點處理業(yè)務的方法;圖14圖示了安全節(jié)點更新過程的方法;圖15圖示了管理服務器建立與安全設備連接的方法;以及圖16圖示了管理服務器監(jiān)視接收到的心跳數據包的業(yè)務的方法。注意,在附圖中,相同的標號表不相同的特征。
具體實施例方式參考圖I至16,下面僅通過示例的方式描述本發(fā)明實施例。保證工業(yè)裝置的網絡安全已經變得越來越重要。終端裝置包括任何具備網絡功能的裝置,諸如計算裝置、工業(yè)處理設備(諸如智能測量裝置)、工業(yè)控制裝置(諸如PLC-可編程邏輯控制器、RTU-遠程遙測/終端單元、IED-智能電子裝置和DCS-分布控制系統(tǒng))、醫(yī)療裝置等等。例如,在SCADA (監(jiān)視控制和數據采集)系統(tǒng)中,RTU (遠程終端單元)是安裝在偏遠地區(qū)的裝置,該裝置收集數據,將數據編碼為可以傳輸的格式,并且將該數據傳輸返回到中心站或主站。RTU還從主站收集信息,并且執(zhí)行由主站指示的處理。RTU可以配備用于感測或測量的輸入信道,用于控制、指示或報警的輸出信道以及通信端口。SCADA和自動控制系統(tǒng)通常是用于收集和分析實時數據以及控制工業(yè)處理的計算機系統(tǒng)。SCADA系統(tǒng)可以被用于監(jiān)視和控制諸如電信、自來水和廢水控制、能源、石油和天然氣提煉和運輸等工業(yè)中的工廠或設備。SCADA系統(tǒng)收集諸如沿管線的壓力描述信息,將信息傳遞回中心站點以警告主站壓力可能高于或低于安全界限,執(zhí)行必要的分析和控制諸如確定情況是否緊急,并且以邏輯和組織的形式顯示該信息。為了保護終端裝置,網絡安全設備或安全節(jié)點可以被連續(xù)地部署在終端裝置的上游路徑中,該終端裝置需要諸如防火墻、侵入檢測、抗病毒掃描等等的保護。安全節(jié)點沒有IP地址,因此簡化了配置并且很難直接攻擊該節(jié)點。當安全節(jié)點取得被保護的裝置中的一個裝置的IP地址時,由安全節(jié)點產生的業(yè)務看起來來自該裝置。當安全節(jié)點利用層2和層3級別的現有裝置地址與管理服務器進行通信時,不需要通過傳統(tǒng)防火墻中采用的諸如通過經由動態(tài)主機配置協議(DH CP)分配動態(tài)尋址或通過手動配置靜態(tài)尋址的公共IP尋址方法來進行裝置地址的重新映射。假如管理服務器能將報文傳送到要被保護的終端裝置中的任何一個,則可以在控制或SCADA網絡中的任何位置,或通過互連的網絡來管理安全節(jié)點。通過安全管理連接協議對安全節(jié)點進行管理。在管理服務器與安全節(jié)點連接的過程中,只有流向或來自管理服務器的加密業(yè)務被允許進入或流出節(jié)點。所有離開節(jié)點的業(yè)務被警報為好像來自該節(jié)點所保護的終端裝置。尤其,如果攻擊者沒有獲得需要建立連接的所有信息,則他們甚至不知道節(jié)點就在那里。安全節(jié)點可適用能運行在因特網協議(IP)之上的任何協議。具體的應用協議可以包括超文本傳輸協議(HTTP)(用于通過web瀏覽器查看要被保護的裝置);文件傳輸協議(FTP)(用于發(fā)送裝置數據文件);Ethernet/IP、MODBUS, DNP3、ICCP, OPC (所有公共 SCADA和PLC協議)和IEEE P1073醫(yī)療信息總線。當末端裝置和網絡中的其它裝置或計算機之間的業(yè)務通過時,安全節(jié)點被動地收集信息并且可以將該信息提供給管理服務器。安全節(jié)點提供用于在節(jié)點(網絡安全設備)和管理服務器之間檢測、建立和維護安全通信鏈路的裝置,同時又保持節(jié)點本身在網絡中無法被檢測到。這種安全鏈路可以利用諸如SSL或IPSec的各種已證實的安全協議。安全節(jié)點允許有效地部署,而無需本地操作者或節(jié)點安裝者進行任何配置。如上所述,無需重新配置各種節(jié)點和/或終端裝置的IP地址。管理服務器以安全的方式遠程配置網絡安全設備的功能。為了啟動遠程配置,負責管理節(jié)點的策略和設置的管理服務器系統(tǒng)能夠通過網絡與至少一個該節(jié)點將要保護的裝置進行通信。安全節(jié)點裝置策略可以于節(jié)點部署之前在管理服務器上進行設置,并且將由節(jié)點在其連接到網絡并接通電源時下載。這種策略下載使裝置在通過或獲取狀態(tài)中花費的時間能夠最小化。然而,還可以在管理服務器被配置前保護和部署節(jié)點。初始部署安全設置針對安全設備所處網絡的位置和設置是特有的??蛇x地,安全節(jié)點可以獨立地確定被保護裝置的特性,并且在與管理服務器連接前自動地實施一些基本的安全功能。加密心跳機制允許大量(例如數千個)節(jié)點報告返回單個管理服務器。心跳機制在SCADA環(huán)境內共有的帶寬限制系統(tǒng)中是有用的。心跳機制將足夠的信息發(fā)送返回到管理服務器,用以向安裝在節(jié)點上的每個安全應用報告當前的狀態(tài)和條件。通過調節(jié)安全節(jié)點的心跳設置還可以遠程控制報告信息的數量。這種心跳機制還通過使用將異常事件報告給管理服務器的異常報告而避免了基于輪詢管理系統(tǒng)比如簡單網絡管理協議(SNMP)所共有的網絡業(yè)務負荷問題。這些類型的事件可以包括攻擊報告、到達臨界系統(tǒng)設置以及其它管理服務器應該立刻知道已經出現了某事的問題。每個安全節(jié)點的心跳模塊可以用它自己的一套密鑰來進行設置。在接收到心跳數據后,確定源并且在管理服務器監(jiān)視站上完成適當的解密。為了提高可量測性,可以使用多組監(jiān)視站。圖I至4描述了多個網絡安全設備的部署拓撲。如圖I所示,各種終端裝置102、104和106與網絡10連接。計算機150和152或其它管理或監(jiān)控裝置通過網絡10從終端裝置發(fā)送和接收數據。網絡10可以是利用諸如Internet協議(IP)的各種網絡路由協議的控制網絡、內部網絡或Internet。如在圖中和描述中所示,安全節(jié)點103和105代表網絡安全設備,網絡安全設備為與網絡連接的終端裝置提供安全和防火墻類型的功能。如圖I所示,裝置102是一個暴露于潛在攻擊的·未被保護裝置,而裝置104和106具有在通信路徑上與它們分別串聯的安全節(jié)點103和105。因此所有到達裝置和來自裝置的通信必須經過相關聯的安全節(jié)點,安全節(jié)點在基礎水平上用作從裝置到網絡的橋接器。管理服務器20可以與安全節(jié)點103和105連接到相同網絡,也可以通過網絡10被一個或多個網絡互連。管理服務器20將管理和控制功能提供給網絡中的安全節(jié)點。圖2示出一個示例,其中裝置102、104被網絡交換機200互連,網絡交換機200主控各個安全節(jié)點103、105到107。網絡交換機實質上代表主控多個裝置的子網絡。圖3描述了集成的裝置和安全節(jié)點300。在該示例中,安全節(jié)點103可以與裝置102集成在相同的封裝中。依據整個裝置300的結構,實際的裝置功能和安全節(jié)點功能可以共享軟件和硬件。出于操作考慮,安全節(jié)點仍然可以以獨立于裝置102的方式操作。圖4a和4b描述了由單個安全節(jié)點103保護的多個裝置102、104和106。在圖4a中,安全節(jié)點103完全地保護和互連多個裝置。安全節(jié)點103可以具有集成的集線器、交換機或路由器,或者它可以與實際的安全節(jié)點103分離,它的作用是將數據業(yè)務分配給相關聯的裝置。如圖4b所示,安全節(jié)點103通過提供單獨例子的安全節(jié)點105、107和109看起來像分別給每個裝置102、104和106提供單獨的保護。安全節(jié)點103可以為每個下游裝置提供唯一的保護。如果需要,管理服務器20可以獨立地實施對裝置的管理。圖5示出安全節(jié)點103的模塊。裝置接口 502連接安全節(jié)點和被保護的終端裝置104。網絡接口 504連接安全節(jié)點和網絡側。這些接口可以執(zhí)行諸如Ethernet PHY管理的標準協議和物理層處理。利用處理器506來處理流經裝置接口 502和網絡接口 504的業(yè)務。根據安全節(jié)點103的操作狀態(tài),處理器可以通過與該節(jié)點的其它模塊交互來執(zhí)行一些功能。在建立與管理服務器20的安全管理連接的過程中利用通信模塊508。認證模塊510保存安全節(jié)點和管理服務器之間交換的資格的認證過程中所利用的信息。利用數據庫模塊511來保存安全節(jié)點所保護裝置的裝置描述檔和已知對話者的數據庫,所述對話者即與正被保護的裝置進行通信的外部裝置。心跳模塊509將周期性的心跳發(fā)送給管理服務器20。在諸如企圖侵入或發(fā)現新裝置的異常事件的情況下,可以發(fā)送異常心跳來通知管理服務器20并且保證執(zhí)行適當的行動。當安全節(jié)點103處于操作狀態(tài)時,可以利用各種網絡模塊來管理網絡業(yè)務。例如侵入檢測模塊512監(jiān)視業(yè)務以確定是否存在惡意訪問裝置104的企圖,并且執(zhí)行適當程序以記錄和拒絕訪問。類似地,防火墻模塊514提供能與特殊裝置104的漏洞適合的防火墻功能。其它模塊諸如模塊516可以被部署在安全節(jié)點103中,這些模塊可以提供各種功能諸如裝置識別、虛擬專用網(VPN)、網絡統(tǒng)計收集、帶寬檢測和業(yè)務調整等。
在與管理服務器進行安全通信的過程中,通信模塊提供由安全節(jié)點103觀察到的關于業(yè)務的細節(jié),并且能請求對模塊512、514和516進行軟件更新。遠程可部署的軟件模塊以及這些模塊的配置和命令可以經由從管理服務器20通過網絡10到達通信模塊508的安全連接被安全地發(fā)送到安全節(jié)點103??梢酝ㄟ^安全通信鏈路來部署新的或更新的模塊512、514 和 516。為了使安全節(jié)點不具有確定的網絡地址,每個節(jié)點可以使用隱身IP尋址方案,其中不將任何的Internet協議(IP)地址分配給節(jié)點(甚至不分配諸如O. O. O. O或192. 168. I. I的泛用地址)。節(jié)點從其所保護的終端裝置中的一個裝置借用IP地址,并且使用這個地址來配置和管理通信,以達到上述要求。因此,所有由該節(jié)點產生的業(yè)務看起來好像來自于下游終端裝置中的一個或多個,并且不能被追溯到該節(jié)點,這使它不能被看到并且易于配置。另外,安全節(jié)點可以采取諸如裝置的媒介訪問控制(MAC)的第二層身份識別以保證隱身能力。圖6示出管理服務器20的模塊。管理服務器具有網絡接口 602,網絡接口 602用 于在管理控制下接收業(yè)務并且將業(yè)務傳輸給安全節(jié)點。管理服務器通過多個網絡可以操縱任何數量的安全節(jié)點。處理器604通過網絡接口 602接收并且發(fā)送業(yè)務。處理器604與通信模塊606和遠程應用程序接口 608交互,用于建立與網絡中的安全節(jié)點的連接。利用數據庫子系統(tǒng)610存儲網絡中節(jié)點上的信息和特殊類型裝置的描述檔。然后該描述檔可以被下載到適當節(jié)點和該安全節(jié)點的相關聯安全模塊上。心跳記錄器模塊612記錄來自于網絡上的安全設備的周期性心跳消息。與心跳記錄器模塊612串接的是心跳監(jiān)視模塊614,心跳監(jiān)視模塊614用于檢查記錄的心跳數據,判斷其中是否存在需要服務器進行自動操作或引起管理服務器操作者注意的錯誤或警告條件。與管理服務器20的接口被概括為管理API 616,以便各種用戶接口系統(tǒng)618可以被用于各種交互功能。用戶接口系統(tǒng)618可以包括本地圖形用戶接口(⑶I)客戶端、命令行接口(CLI)客戶端或安全web服務器接口,它們可以在管理系統(tǒng)中被直接訪問或者通過直接連接的或通過網絡10連接的計算機終端620遠程訪問。圖7示出在預初始化階段中終端裝置102和管理服務器20之間的消息流。在部署和初始化節(jié)點103之前,在裝置102和網絡10上的其它設備之間可以具有或不具有未被保護的雙向網絡業(yè)務。如果節(jié)點103物理上就位(但是未被初始化),則它將允許業(yè)務702通過。然而,節(jié)點103將記錄該業(yè)務,用于確定它將保護的裝置的類型。在這個預初始化階段中,管理服務器20將在網絡10上周期性地發(fā)送管理連接請求(MCR)包704,發(fā)送地址是最終將被節(jié)點103保護的裝置102,但是將如圖11所示地被節(jié)點103攔截。圖8是安全節(jié)點基于來自裝置側的業(yè)務的獲知過程的方法圖。當節(jié)點被初始安裝并引導啟動,并且處于獲知模式時,節(jié)點確定它將保護的下游終端裝置的網絡信息。在獲知階段過程中和在管理服務器進行配置前,所有裝置業(yè)務被透明橋接??梢酝ㄟ^被設置在安全節(jié)點上的缺省防火墻規(guī)則對包進行過濾(在很多情況下,在這個階段沒有任何防火墻規(guī)貝U,因此將不完成任何過濾)。以被動方式完成裝置信息收集并且不產生任何的網絡業(yè)務。在啟動狀態(tài)中,在步驟802,安全節(jié)點監(jiān)視源于裝置側的業(yè)務。如果該包源于新的源MAC、IP地址或端口號(在步驟804中為是),則將裝置描述記錄在位于安全節(jié)點內的裝置描述數據庫806中。然后在步驟808將該包轉發(fā)到網絡。如果已知該包的源(在步驟804中為否),則將沒有任何修改的包轉發(fā)到裝置描述數據庫中。當安全節(jié)點已被配置并且處于檢測其它新裝置的操作階段時,獲知模式也可以操作。獲知模式可以在較低執(zhí)行優(yōu)先級操作或者可以在安全節(jié)點完全操作的周期間隔中操作。與監(jiān)視裝置側的業(yè)務類似,安全節(jié)點也監(jiān)視網絡側的業(yè)務。圖9是安全節(jié)點在網絡側的獲知過程的方法圖。在步驟902,監(jiān)視進入的業(yè)務。如果目標地址不在裝置描述數據庫內(在步驟904中為否),則在步驟910將該包轉發(fā)到裝置接口。如果目標裝置處于裝置描述數據庫內(在步驟904中為是),則在步驟906確定業(yè)務的源。如果源處于存儲在安全節(jié)點數據庫模塊511內的已知的對話者數據庫中(在步驟906中為是),則在步驟910轉發(fā)該包。如果該裝置不在已知的對話者數據庫內(在步驟906中為否),則在步驟908記錄源信息,然后在步驟910轉發(fā)該包。在圖8的步驟808和在圖9的步驟910中的轉 發(fā)包的步驟可以是將包直接轉發(fā)到對側的網絡接口(可以是裝置接口 502或網絡接口 504),或者可以在將包從節(jié)點轉發(fā)出去之前將包轉發(fā)到安全模塊512、514和516進行進一步的處理。如果該包未能通過某個安全模塊所進行的檢查,則該包可以被丟棄。圖10示出在初始化階段的安全節(jié)點103和管理服務器20之間的消息流。當節(jié)點103處于適當位置,被接通電源并且已經攔截管理連接請求(MCR)包1002時,初始化階段開始。帶著收集的基本裝置信息,節(jié)點等待來自管理服務器20的MCR觸發(fā)。MCR是諸如用戶數據報協議(UDP)包的無連接包類型,其包括關于管理服務器20的加密信息、理想管理服務器設置和連接時序。將MCR包尋址到節(jié)點后的一個終端裝置,但是該包具有該終端裝置不使用的端口號。當在步驟1002被安全節(jié)點接收時,MCR被捕獲,被從網絡10移除并且被進行密碼檢查。該密碼針對該節(jié)點被部署的位置和終端裝置被部署進的網絡設置是特定的。節(jié)點103將試圖對MCR包進行解密并且確認MCR包(詳細內容參考圖11和12)。MCR包含可以被用來建立管理服務器連接的IP地址、端口號、加密類型和時序。一旦有效的MCR被接收并且被認證,則節(jié)點進入管理服務器連接設置模式1004并且以連接肯定應答1006來對服務器作出響應。然后在節(jié)點103和管理服務器20之間建立了安全雙向連接1008。然后,安全節(jié)點103和管理服務器20以安全方式交換信息。設置諸如TCP (傳輸控制協議)的面向連接協議連接攔截機制,以僅接收來自管理服務器IP地址和在MCR中規(guī)定的源端口的業(yè)務,以及將業(yè)務引導至目標IP地址和在MCR中規(guī)定的目的地端口。這種連接攔截系統(tǒng)將連接業(yè)務傳遞給一個在安全節(jié)點上運行的控制軟件,并且與管理服務器20建立諸如安全套接層(SSL)連接的加密連接。圖11是安全節(jié)點103的初始化階段的流程圖。圖12示出在操作階段中的安全節(jié)點103和管理服務器20之間的消息流。在步驟1102,安全節(jié)點103攔截可能是網絡10上的包而不管其目的地地址。在步驟1104,對該包進行分析以確定它是否是MCR包。如果該包不包含MCR信息(在步驟1104中為否),則在步驟1122將其轉發(fā)。如果該包包含MCR信息(在步驟1104中為是),則在步驟1106檢查該包的密碼以確定該包是否可以被解密。如果MCR可以被解密(在步驟1106中為是),然后在步驟1108對管理通信鏈路捕獲進行準備。如果解密失敗(在步驟1106為否),則在步驟1122釋放該包以將其轉發(fā)。在步驟1110,將連接請求中的加密目的地IP地址與安全節(jié)點的數據庫511中的橋接列表進行對比檢查,以確定它是否屬于安全節(jié)點的下游裝置。如果IP地址驗證正確(在步驟1110中為是),則安全節(jié)點開始偵聽安全管理連接(MCE) 1112。如果IP地址證明無效(在步驟1110中為否),則在步驟1120丟棄(在步驟1108中確立的)連接捕獲并復位,在步驟1122將該包轉發(fā)。節(jié)點僅在一段時間內偵聽安全管理服務器連接,這有效地限制了管理服務器20能與節(jié)點103連接的時間(即超時管理)。如果安全管理連接在這段時間內沒有開始,而在步驟1112節(jié)點103正在偵聽時,連接捕獲被丟棄和復位(在步驟1114中為否)。如果在超時前接收到連接請求(在步驟1114中為是),則在步驟1116檢查連接安全并且完成連接。如果成功完成連接(在步驟1118中為是),然后安全設備103進入操作階段。如果連接不成功(在步驟1118中為否),則將該包轉發(fā)。應該注意,依照MCR和MCE包的結構,如果包不含有有效載荷信息或任何與終端裝置相關聯的信息,則可以丟棄該包而不是將該包轉發(fā)。如果MCR和MCE信息被嵌入包內并且該過程失敗或成功,則在將其轉發(fā)至終端裝置前將該信息從包中剝離。已確立的MCE連接是安全加密鏈路。通過設置數字證書的重新生效水平來完成連接的安全維護。圖12是安全節(jié)點103的操作階段的流程圖。一旦確立管理連接,節(jié)點103就進入 操作階段。管理服務器20將在1202把基本節(jié)點配置上載給節(jié)點103,這將定義將被節(jié)點103所使用的軟件模塊、基本配置和心跳設置(參考圖5)。當節(jié)點103確定新的終端裝置的類型時,它將通過安全管理服務器連接來發(fā)送針對裝置102的裝置安全描述檔請求1204,裝置類型描述檔是基于用于獲知模式的被保護裝置的已知屬性。當管理服務器20接收到裝置安全描述檔請求,則它在管理服務器的裝置數據庫中查詢裝置類型。裝置的安全描述檔被產生并且如在管理服務器上所記錄地被添加到安全節(jié)點的現存安全描述檔中。然后在1206新節(jié)點安全描述檔可以被優(yōu)化并且被下載到節(jié)點。如果節(jié)點103 (或軟件模塊512、514和516)需要被關注或在心跳模塊中出現周期性請求報告,則節(jié)點103可以被觸發(fā)以將心跳消息1208發(fā)送到管理服務器20。心跳消息1208包含管理服務器關注的請求和請求的原因。當管理服務器20接收到這些心跳請求包中的一個時(通過心跳記錄器612和監(jiān)視器614),依照請求的原因和在管理服務器20上的當前用戶優(yōu)選設置,它選擇服務請求或延遲服務。請求的服務包括建立管理服務器與節(jié)點103 (如果節(jié)點沒有被激活)的連接,以及以命令和響應1210的形式來采取適當的命令動作。命令和響應通信還可以被用于重新配置在節(jié)點103上的可部署軟件模塊512、514和516或者部署新的模塊??梢酝ㄟ^持續(xù)連接進行安全節(jié)點和管理服務器之間的通信或基于消息問答的方式啟動該通信。在管理服務器連接確立前的等待時間中,連同圖8所述的獲知程序,節(jié)點103可以使用已確立的被動采指紋技術(諸如“xprobe”和“pOf ”開源軟件產品中所使用的技術)來識別什么裝置將可能需要被保護。甚至在管理服務器配置后,仍可繼續(xù)使用指紋技術以便對被添加到被保護網絡中的新裝置進行檢測。圖13是安全節(jié)點在操作階段處理業(yè)務的流程圖。從初始化階段(圖11)開始,安全節(jié)點現在進入了操作階段。在步驟1302,在安全節(jié)點的裝置接口 502或網絡接口 504接收業(yè)務。在步驟1304檢查該業(yè)務,以將CMP相關業(yè)務從非CMP相關業(yè)務分離出來。采用標準TCP業(yè)務跟蹤技術以及對解密的CMP包進行排序的包來識別來自CMP通信業(yè)務的包。CMP消息是被引導到安全節(jié)點的嵌入包,其需要安全節(jié)點執(zhí)行更新。如果識別結果是CMP業(yè)務(在步驟1304中為是),則如在CMP消息中所定義地更新節(jié)點或執(zhí)行命令。如果識別結果不是CMP業(yè)務(在步驟1304中為否),則在步驟1306利用安全模塊512、514和516來管理包。如果安全模塊中的一個識別出該包存在異常條件(在步驟1308中為是),例如包被尋址到對特別裝置關閉的端口,或該包包含惡意命令,則在步驟1310基于各個安全模塊所定義的管理規(guī)則來處理業(yè)務。在此階段還可以記錄關于該包的細節(jié),用于進一步的分析。然后,在步驟1312,心跳模塊將異常心跳發(fā)送給管理服務器20,管理服務器20識別出事件發(fā)生。每次事件,心跳消息都發(fā)生,或者在一定數量事件發(fā)生后被觸發(fā)。安全節(jié)點(網絡安全設備)和管理服務器之間的通信操作基于“心跳”信令和“異常報告”的原則。采用心跳信令以將節(jié)點的當前狀態(tài)條件發(fā)送給管理服務器。異常報告通信用于將發(fā)生在節(jié)點上的異常條件發(fā)送信號到管理服務器。采用加密可以保護從節(jié)點到管理服務器通信的這兩個原則。如果業(yè)務經過安全模塊,而且沒有檢測到異常業(yè)務(在步驟1308中為否),則在步驟1314出現用以確定周期心跳是否被發(fā)送到管理服務器的檢查。如果需要心跳(在步驟
1314中為是),則在步驟1316發(fā)送心跳,并且在步驟1318將該包轉發(fā)到適當接口。如果不需要心跳(在步驟1314中為否),則包被轉發(fā)到適當接口并且安全節(jié)點繼續(xù)檢測到來的業(yè)務1302。圖14是安全節(jié)點更新過程的流程圖。如果安全節(jié)點在圖13的步驟1304接收到CMP消息,則在步驟1402對包進行解密。包的有效載荷可以包含諸如安全描述檔或軟件更新的配置信息。在步驟1404實施適當配置改變,在步驟1406執(zhí)行軟件模塊512、514和516的更新。依照安全節(jié)點的操作,如果需要,可以執(zhí)行諸如節(jié)點本身的熱重啟或冷重啟等其它步驟以實施軟件或硬件更新。圖15是管理服務器20確立與安全節(jié)點的MCE連接的流程圖。在步驟1502,使用屬于特定安全節(jié)點所保護的裝置的地址,管理服務器將MCR消息發(fā)送到該節(jié)點。在一段預定義時間后,在步驟1504發(fā)送MCE包。如果連接不成功(在步驟1506中為否),在與理想節(jié)點的連接被確立或預定義時間期滿前,管理服務器20繼續(xù)1502的發(fā)送。如果MCE成功,并且適當的數字證書和密碼短語正確,連接已被接受并且與安全節(jié)點確立了安全通信(在步驟1506為是),則在步驟1508接收節(jié)點信息。然后,在步驟1510,節(jié)點將其通過監(jiān)視業(yè)務所確定的裝置信息傳輸給終端裝置。然后,在步驟1512,管理服務器20可以為裝置確定適當的安全描述檔。如果可以獲得安全描述檔信息(在1512中為是),則在步驟1514從管理服務器20數據庫取回適當的規(guī)則和軟件。如果在數據庫中不存在裝置描述檔(在步驟1512中為否),則在步驟1520取回一般描述檔,并且可以在步驟1522基于對安全節(jié)點在步驟1510所提供的裝置信息的分析創(chuàng)建定制描述檔。然后,在步驟1516,將該描述檔作為CMP業(yè)務發(fā)送給安全節(jié)點,并且在步驟1518將其激活。當啟動安全節(jié)點時發(fā)生描述檔上載,但是當在管理服務器20接收到表示終端裝置發(fā)生了某些變化或已經檢測到新的安全威脅的異常心跳時,也可以發(fā)生描述檔上載。市場上存在成千上萬種不同的工業(yè)控制裝置的零部件,每個零部件采用350種以上的已知的SCADA通信協議中的一個或多個進行通信。每種控制裝置需要非常特殊的安全規(guī)則以被正確保護,例如,一種流行的PLC (終端裝置的示例)對于包含超過125個字符的URL的web請求具有不常見但是已知的安全問題。當另一個PLC接收到具有選擇碼為4的MODBUS對話消息并且需要電源復位以恢復時,它會停止所有通信。在傳統(tǒng)的防火墻中,手動創(chuàng)建規(guī)則以滿足這些問題則要求具有關于控制產品缺點和怎樣創(chuàng)建用戶防火墻的規(guī)則集的廣泛知識。這也可能使整個防火墻設置過度復雜,也增加了在設置中產生嚴重錯誤的可能性。在管理服務器上的數據庫子系統(tǒng)610內提供了為公共控制產品開發(fā)的特殊裝置規(guī)則模板。針對上面提到的第二 PLC的這種模板示例可以是特殊漏洞保護規(guī)則,諸如 拒絕來自所有地址的選擇碼為4的MODBUS對話消息 拒絕來自所有地址的HTTP消息 拒絕來自所有地址的Vx Works 生產商開發(fā)者端口消息可以提供裝置特殊業(yè)務控制規(guī)則,諸如·允許來自PLC編程站的MODBUS固件加載消息 拒絕來自所有其它地址的MODBUS固件加載信息·允許來自操作站的MODBUS讀消息 拒絕來自所有其它地址的MODBUS讀消息 拒絕來自所有地址的所有其它MODBUS消息 基于前述的裝置發(fā)現過程,規(guī)則集可以被自動加載到安全節(jié)點。在本發(fā)明中,采用軟件語言編譯器中共用的已知技術來組合和優(yōu)化多個規(guī)則集,但是這些技術在安全設備領域是未知的??梢圆捎梦谋拘问交驁D形形式來進行用戶確認(如果需要),其中用戶在模板中的推薦規(guī)則上進行點擊并且拖曳允許裝置的圖標以調整針對特殊地址的規(guī)則。如上所述,代替由安全管理器20為安全節(jié)點創(chuàng)建規(guī)則集并且上載它們,根據要被保護的終端裝置可以自動創(chuàng)建規(guī)則集。注意,規(guī)則集是依據要被保護的終端裝置的需要而設計,而不是依據節(jié)點的需要。例如,節(jié)點獲知需要被保護的PLC或RTU (終端裝置的示例)的構造,并且通知管理站。然后,管理站進行數據庫查詢,并且推薦用于保護該裝置的適當的防火墻或IDS (侵入檢測系統(tǒng))模板。然后,安全管理器判斷這些規(guī)則是否滿足它們的需要,并對它們進行相應地修改以及將他們部署到現場(這同樣適用于當節(jié)點保護多個不同終端裝置時的情況)。對于操作者,看起來好像這些規(guī)則被直接發(fā)送給裝置,并且看起來好像其中不包括節(jié)點/防火墻。這降低了規(guī)則的復雜性,并且將焦點集中在保護裝置(例如PLC、RTU等)不受不必要業(yè)務的干擾。在將節(jié)點部署在現場前,也可以創(chuàng)建規(guī)則集,以便該裝置在加電時自動獲得它的配置。圖16是管理服務器20監(jiān)視接收到的心跳數據包的業(yè)務的流程圖。在步驟1602,心跳記錄器612監(jiān)視進入管理服務器20的業(yè)務。如果在步驟1604接收到心跳包,則在步驟1606執(zhí)行節(jié)點查詢并且對該包進行解密。如果該包不能被解密(在步驟1608中為否),則丟棄它。如果該包可以被解密(在步驟1608中為是),則對心跳有效載荷進行處理以確定安全節(jié)點的狀態(tài)并且在步驟1612確定是否有反常條件被報告。如果存在表示需要改變安全策略的條件,則利用現存的MCE或建立一個新的MCE以將更新的描述檔發(fā)送給安全節(jié)點。適合的計算系統(tǒng)環(huán)境或可以適合實施各種實施例的配置的示例包括一般用途個人計算機(PC);掌上或手提式計算機;基于多處理器的系統(tǒng);基于微處理器的系統(tǒng);可編程消費電子裝置;網絡計算機、小型計算機、大型計算機;分布計算環(huán)境;工業(yè)處理設備;工業(yè)控制設備(諸如PLC、RTU、IED, DCS)和醫(yī)療設備等等。典型計算裝置的組件包括,但是不限于,處理單元、輸入/輸出接口、系統(tǒng)內存和系統(tǒng)總線。系統(tǒng)總線與上面提到的組件和許多其它協同交互組件可通信地連接。輸入/輸出接口通過輸入/輸出單元(可以包括鍵盤、鼠標類型的控制器、監(jiān)視器、媒體讀取器/寫入器等等)與外部組件交互。系統(tǒng)內存例示了根據本發(fā)明實施例的網絡安全設備的各種組件和操作。詳細描述并不將本發(fā)明實施例的實施局限于任何特定的計算機編程語言。只要OS(操作系統(tǒng))提供了可以支持計算機程序產品要求的設備,則計算機程序產品可以用很多計算機編程語言實現。本發(fā)明的示范性實施例可以用C或C++計算機編程語言實現,或可以用其它受支持的編程語言混合實現。所提出的任何限制可能是特定類型的操作系統(tǒng)、計算機編程語言或數據庫管理系統(tǒng)所導致的結果,而不是對本文所述的本發(fā)明的實施例的限制。上述的本發(fā)明實施例僅僅是為了說明目的。本發(fā)明的范圍僅被附加的權利要求唯一地限制?!?br>
權利要求
1.一種采用安全設備保護網絡裝置的方法,該安全設備將網絡裝置耦接至數據網絡,該方法包括以下步驟 在所述安全設備中,從被尋址到所述網絡裝置的包中接收源于被連接至所述數據網絡的管理服務器的加密管理連接數據; 利用與所述網絡裝置相關聯的地址作為所述包的起始地址,將與所述網絡裝置相關的裝置屬性發(fā)送給所述管理服務器; 在所述安全設備中,從被尋址到所述網絡裝置的包中接收來自于所述管理服務器的加密配置數據,其中所述管理服務器基于所述裝置屬性來選擇所述配置數據; 基于所述配置數據來對所述網絡裝置和通過所述數據網絡能夠訪問的其他裝置之間的包進行管理;以及 利用與所述網絡裝置相關聯的地址作為所述包的起始地址,將多個加密心跳消息發(fā)送到所述管理服務器。
2.根據權利要求I的方法,其中所述包的地址還包括沒有被所述網絡裝置利用的TCP或者UDP端口號。
3.根據權利要求I的方法,其中當將數據發(fā)送到所述管理服務器時,所述安全設備既利用所述網絡裝置的層2的地址又利用所述網絡裝置的層3的地址。
4.根據權利要求I的方法,其中基于對所述包進行的管理針對多個異常事件生成所述心跳。
5.根據權利要求I的方法,其中所述多個異常事件中的至少一個異常事件使所述管理服務器將重新配置數據發(fā)送到所述安全設備。
6.根據權利要求I的方法,其中從包括防火墻模塊、裝置識別模塊、虛擬專用網絡(VPN)模塊、侵入檢測模塊、網絡統(tǒng)計收集模塊以及帶寬監(jiān)視和業(yè)務調整模塊的組中選擇配置軟件。
7.根據權利要求I的方法,其中所述通信模塊接收來自所述管理服務器的管理連接請求,用于建立與所述管理服務器的加密連接。
8.根據權利要求I的方法,其中通過安全套接鏈路(SSL)或IPSec安全連接對所述配置數據進行加密。
9.根據權利要求I的方法,其中所述配置數據包括與所述網絡裝置所利用的控制協議相關聯的安全規(guī)則和軟件模塊。
10.根據權利要求I的方法,其中所述心跳消息和所述加密管理連接數據利用無連接包類型。
11.根據權利要求I的方法,還包括通過監(jiān)視所述網絡裝置和通過所述數據網絡能夠訪問的其他裝置之間的業(yè)務來確定所述裝置屬性。
12.一種用于保護處在數據網絡內的安全設備下游的一個或多個網絡裝置的安全設備,該安全設備包括 心跳模塊,其利用與所述一個或多個網絡裝置中的一個網絡裝置相關聯的地址作為包的起始地址,來將狀態(tài)信號傳輸到所述數據網絡中的管理服務器; 通信模塊,其用于處理從所述管理服務器傳輸的并且尋址到所述安全設備下游的一個網絡裝置的包,所述通信模塊對嵌入所述包內的數據進行提取,以用于對所述安全設備的管理;以及 可由所述管理服務器配置的一個或多個安全模塊,所述安全模塊基于與所述安全設備下游的一個或多個網絡裝置相關聯的安全描述檔對經過所述安全模塊的數據提供安全管理,其中所述安全模塊處于所述安全設備下游的一個或多個網絡裝置和所述數據網絡上的其他裝置之間,所述安全描述檔是由所述安全設備下游的一個或多個網絡裝置的裝置屬性確定的。
13.根據權利要求12的安全設備,其中從包括防火墻模塊、裝置識別模塊、虛擬專用網絡(VPN)模塊、侵入檢測模塊、網絡統(tǒng)計收集模塊以及帶寬監(jiān)視和業(yè)務調整模塊的組中選擇所述一個或多個安全模塊。
14.根據權利要求12的安全設備,其中所述心跳模塊產生異常狀態(tài)信號和定時狀態(tài)信號,當所述一個或多個安全模塊識別出異常事件時所述異常狀態(tài)信號產生。
15.根據權利要求12的安全設備,其中所述通信模塊還包括用于對所述安全設備和所述管理服務器之間的數據進行認證的認證模塊。
16.根據權利要求12的安全設備,其中所述管理服務器基于所述一個或多個網絡裝置的屬性來配置所述一個或多個安全模塊。
17.根據權利要求12的安全設備,其中所述通信模塊配置為接收加密包和處理加密包,該加密包是以所述安全設備下游的一個裝置的IP地址和預定義端口號來尋址的。
18.一種數據網絡,其包括 多個安全設備,每個安全設備均與多個網絡裝置的一個或多個相關聯,其中每個安全設備透明地將一個或多個相關網絡裝置橋接到所述數據網絡,并且基于與一個或多個相關網絡裝置的屬性相關聯的安全描述檔來對流入和流出一個或多個相關網絡裝置和與所述數據網絡耦接的其他裝置的數據通信提供管理; 管理服務器,其用于管理所述多個安全設備并且將所述安全描述檔提供給與網絡裝置相關的安全設備,所述網絡裝置與所述安全描述檔相關聯;并且 其中所述管理服務器通過利用相關網絡裝置之一的地址與多個安全設備進行通信,并且所述多個安全設備利用相關網絡裝置的地址信息作為狀態(tài)消息源來將狀態(tài)消息周期性地發(fā)送到所述管理服務器。
19.根據權利要求18的數據網絡,其中所述多個安全設備和所述管理服務器能夠建立用于交換配置數據的加密數據連接。
20.根據權利要求18的數據網絡,其中所述管理服務器配置為基于所述網絡裝置的一個或多個識別特征將配置數據提供給所述多個安全設備中的每一個,其中所述配置數據與所述網路裝置所用的控制協議相關并且是基于所述網絡裝置的相關安全漏洞來配置的。
全文摘要
一種網絡安全設備,該設備通過將業(yè)務透明地橋接至終端裝置來給工業(yè)環(huán)境中的裝置提供安全。安全設備與管理服務器進行安全地通信,以通過加密的通信為安全設備中的安全模塊的操作接收配置數據。當與管理服務器進行通信時,安全設備利用工業(yè)裝置的網絡地址,管理服務器通過采用與該安全設備相關聯的被保護裝置中的一個的地址對該安全設備進行尋址。安全設備將獲知的裝置特征提供給管理服務器,管理服務器使軟件和安全規(guī)則適合裝置和控制協議的特定網絡漏洞。安全設備采用裝置的網絡地址將周期性的心跳消息發(fā)送給管理服務器。心跳消息還可以報告異常事件,這種異常事件要求管理服務器將另外的軟件提供給該節(jié)點。
文檔編號H04L12/26GK102904749SQ201210350428
公開日2013年1月30日 申請日期2006年10月5日 優(yōu)先權日2005年10月5日
發(fā)明者埃里克·拜爾斯, 達雷恩·利斯摩爾, 約翰·卡爾施, 凱·李 申請人:拜爾斯安全公司