乾貨分享|基於OPC協議的工控網路系統防護淺析

一、協議概述

提到OPC協議,大家想到最多的就是OPC Classic3.0,實際上現在OPC協議有兩個大類,一種是基於微軟COM/DCOM技術的「Classic」,另一種是基於Webservice的OPCUA。前者在DCOM協議之上,誕生較早,已廣泛應用在各種工業控制系統現場,成為工業自動化領域的事實標準。後者與前者比出生較晚,但在設計時考慮了安全因素,有了加密機制,不過目前應用範圍較小。本文主要討論的是前者在工控系統中的防護。

微軟的DCOM協議是在網路安全問題被廣泛認識之前設計的,而基於DCOM協議的OPCClassic基本沒有增加任何安全相關的特性,幾乎所有著名的工業自動化軟體(包括HMI軟體、先進控制與優化軟體、監控平台軟體、綜合集成軟體等)都是基於windows平台開發,都採用或部分採用了OPC技術,所以對使用OPC協議進行通信的工控系統進行防護也變得複雜和困難。

Advertisements

二、動態埠

與大多數應用層協議不同,OPC的基礎協議DCOM協議使用動態埠機制,在真正建立數據連接之前通訊雙方還需要協商需要使用的埠。示例圖如下:

圖 1 OPC動態埠協商過程

上圖中,OPC客戶端使用5568作為源埠首先向OPC伺服器的135埠發起連接,連接成功后再經過OPC伺服器分配新埠1118,並通過介面ISystemActivator的方法RemoteCreateInstance的應答報文返回給客戶端,之後客戶端使用5569作為源埠向伺服器的1118埠發起新的連接用來後面的真正數據的傳輸。

三、面臨的安全威脅

基於OPC協議的工控網路系統面臨各種各樣的威脅。在「兩網」融合的大背景下,工業控制系統的隔離性被打破,面臨來自網路的威脅空前加劇。無用埠的開放、工業軟體依賴的操作系統本身存在的安全漏洞、工業協議本身安全性的缺失等等都將給工業控制網路帶來巨大的安全隱患。在真正接入到企業管理網、互聯網之前,基於OPC協議的工業控制系統必須加入相應的安全設備進行防護,才能提高自身網路的安全。由於OPC協議不同於傳統的IT應用層協議,對OPC協議的解析深度決定了安全產品在工業控制系統安全防護中的真正作用。

Advertisements

四、防護方案簡介

1、傳統IT系統防火牆

如果在基於OPC協議的工業控制系統中安裝傳統IT系統防火牆(以下簡稱:傳統防火牆)進行防護,由於傳統防火牆不支持OPC協議的任何解析,為了能夠保證OPC業務的正常使用,不得不開放OPC伺服器的所有可開放埠,而OPC伺服器可以分配的埠號範圍很廣。如果OPC伺服器安裝在WindowsServer 2008,超過16000個埠號都可能被使用,早期的Windows版本則超過了48000個埠號。

圖 2 傳統防火牆部署示意圖

上圖中傳統防火牆安裝在企業管理網和生產控制網的邊界進行防護,由於OPC伺服器可能使用任何可使用的埠來進行真正的數據連接,而具體使用的埠號在響應客戶端請求的應答報文中。傳統防火牆無法識別出OPC伺服器具體使用的埠號,為確保OPC客戶端可以正常連接OPC伺服器,防火牆需要配置全部埠可訪問,這樣的傳統防火牆形同虛設,生產控制網的門口大開,幾乎完全暴露在攻擊者面前。

2.埠防護工業防火牆

區別於傳統防火牆,近年來發展起來的專門用於防護工業控制現場的工業級防火牆基本支持了OPC的深度解析,但依據解析深度的不同,在OPC協議為基礎的網路中,工業防火牆的防護能力也有所不同。

對OPC進行簡單解析的工業防火牆可以跟蹤OPC連接建立的動態埠,最小化的開放工業控制網路的埠。如下圖:

圖 3 埠防護級工業防火牆部署示意圖

埠防護級工業防火牆同樣部署在企業生產網和生產控制網的邊界,此時配置策略只需要配置開放OPC伺服器的135埠,當OPC客戶端與伺服器建立連接時,埠防護級防火牆跟蹤並解析OPC伺服器與OPC客戶端協商出來的動態埠,然後自動將動態埠加入到防火牆的開放埠中,從而最小化開放生產控制網的埠,與傳統防火牆相比防護能力有了進一步提升。

3.指令防護工業防火牆

埠防護工業防火牆相比傳統防火牆雖然提升了防護能力,但攻擊者仍然可以通過建立的數據通道發送惡意的OPC操作指令,所以僅僅做到動態埠跟蹤還無法保證基於OPC協議的工業控制系統安全。所以對OPC協議的進一步解析,催生了指令級防護工業防火牆,這也是目前市面上主流的工業防火牆。OPC協議的深度解析要求也加入到了工業防火牆國家標準的草稿中(此標準尚未正式發布)。下圖是指令級防護工業防火牆的典型部署:

圖 4 指令級防護工業防火牆部署圖

部署在企業管理網和生產控制網邊界處的指令級工業防火牆,深度解析OPC協議到指令級別,不僅可以跟蹤OPC伺服器和OPC客戶端之間協商的動態埠,最小化開放生產控制網的埠,還對OPC客戶端與OPC伺服器之間傳輸的指令請求進行實時檢測,對於不符合安全要求的操作指令進行攔截和報警,極大提升了基於OPC協議的工業控制系統的網路安全。

除了做到指令防護外,還有更人性化一點的工業防火牆內置只讀模板,滿足使用OPC協議的大部分業務場景,因為使用OPC協議的工業控制現場一般只是用來採集數據,使用只讀模板來防護完全滿足現場安全要求。工業防火牆內置的只讀模板一鍵部署,安全、方便,降低管理員維護成本,有效保障工業控制系統數據不被惡意篡改。

4.優缺點比較

五.結論

隨著國家網路安全法的頒布和國家「中國製造2025」戰略的要求,逐漸打破物理隔離的工業生產網路對安全的需求越來越迫切。對於生產現場有OPC協議的企業來講,綜合自身實力選擇適合自己的安全防護產品顯得越來越重要。而對OPC協議的解析到指令級還不夠,後續還需要深度解析到OPC協議操作指令所操作的對象是否在安全範圍內,對操作對象的值進行安全檢測,確保OPC協議發送的每一個位元組都是可識別、可控制、安全無害的。

Advertisements

你可能會喜歡