一、協定概述
提到OPC協定,大家想到最多的就是OPC Classic
3.0,實際上現在OPC協定有兩個大類,一種是基于微軟COM/DCOM技術的“Classic”,另一種是基于Web service的OPC
UA。前者在DCOM協定之上,誕生較早,已廣泛應用在各種工業控制系統現場,成為工業自動化領域的事實标準。後者與前者比出生較晚,但在設計時考慮了安全因素,有了加密機制,不過目前應用範圍較小。本文主要讨論的是前者在工控系統中的防護。
微軟的DCOM協定是在網絡安全問題被廣泛認識之前設計的,而基于DCOM協定的OPC
Classic基本沒有增加任何安全相關的特性,幾乎所有著名的工業自動化軟體(包括HMI軟體、先進控制與優化軟體、監控平台軟體、綜合內建軟體等)都是基于windows平台開發,都采用或部分采用了OPC技術,是以對使用OPC協定進行通信的工控系統進行防護也變得複雜和困難。
二、動态端口
與大多數應用層協定不同,OPC的基礎協定DCOM協定使用動态端口機制,在真正建立資料連接配接之前通訊雙方還需要協商需要使用的端口。示例圖如下:

OPC動态端口協商過程
上圖中,OPC用戶端使用5568作為源端口首先向OPC伺服器的135端口發起連接配接,連接配接成功後再經過OPC伺服器配置設定新端口1118,并通過接口ISystemActivator的方法RemoteCreateInstance的應答封包傳回給用戶端,之後用戶端使用5569作為源端口向伺服器的1118端口發起新的連接配接用來後面的真正資料的傳輸。
三、面臨的安全威脅
基于OPC協定的工控網絡系統面臨各種各樣的威脅。在“兩網”融合的大背景下,工業控制系統的隔離性被打破,面臨來自網絡的威脅空前加劇。無用端口的開放、工業軟體依賴的作業系統本身存在的安全漏洞、工業協定本身安全性的缺失等等都将給工業控制網絡帶來巨大的安全隐患。在真正接入到企業管理網、網際網路之前,基于OPC協定的工業控制系統必須加入相應的安全裝置進行防護,才能提高自身網絡的安全。由于OPC協定不同與傳統的IT應用層協定,對OPC協定的解析深度決定了安全産品在工業控制系統安全防護中的真正作用。
四、防護方案簡介
1. 傳統IT系統防火牆
如果在基于OPC協定的工業控制系統中安裝傳統IT系統防火牆(以下簡稱:傳統防火牆)進行防護,由于傳統防火牆不支援OPC協定的任何解析,為了能夠保證OPC業務的正常使用,不得不開放OPC伺服器的所有可開放端口,而OPC伺服器可以配置設定的端口号範圍很廣-如果OPC伺服器安裝在Windows
Server 2008,超過16000個端口号都可能被使用,早期的Windows版本則超過了48000個端口号。
傳統防火牆部署示意圖
上圖中傳統防火牆安裝在企業管理網和生産控制網的邊界進行防護,由于OPC伺服器可能使用任何可使用的端口來進行真正的資料連接配接,而具體使用的端口号在響應用戶端請求的應答封包中。傳統防火牆無法識别出OPC伺服器具體使用的端口号,為確定OPC用戶端可以正常連接配接OPC伺服器,防火牆需要配置全部端口可通路,這樣的傳統防火牆形同虛設,生産控制網的門口大開,幾乎安全暴露在攻擊者面前。
2. 端口防護工業防火牆
差別與傳統防火牆,近年來發展起來的專門用于防護工業控制現場的工業級防火牆基本支援了OPC的深度解析,但依據解析深度的不同,在OPC協定為基礎的網絡中,工業防火牆的防護能力也有所不同。
對OPC進行簡單解析的工業防火牆可以跟蹤OPC連接配接建立的動态端口,最小化的開放工業控制網絡的端口。如下圖:
端口防護級工業防火牆部署示意圖
端口防護級工業防火牆同樣部署在企業生産網和生産控制網的邊界,此時配置政策隻需要配置開放OPC伺服器的135端口,當OPC用戶端與伺服器建立連接配接時,端口防護級防火牆跟蹤并解析OPC伺服器與OPC用戶端協商出來的動态端口,然後自動将動态端口加入到防火牆的開放端口中,進而最小化開放生産控制網的端口,與傳統防火牆相比,防護能力有了進一步提升。
3. 指令防護工業防火牆
端口防護工業防火牆相比傳統防火牆雖然提升了防護能力,但攻擊者仍然可以通過建立的資料通道發送惡意的OPC操作指令,是以僅僅做到動态端口跟蹤還無法保證基于OPC協定的工業控制系統的安全。是以對OPC協定的進一步解析,催生了指令級防護工業防火牆,這也是目前市面上主流的工業防火牆。OPC協定的深度解析要求也加入到了工業防火牆國家标準的草稿中(此标準尚未正式釋出)。下圖是指令級防護工業防火牆的典型部署:
指令級防護工業防火牆部署圖
部署在企業管理網和生産控制網邊界處的指令級工業防火牆,深度解析OPC協定到指令級别,不僅可以跟蹤OPC伺服器和OPC用戶端之間協商的動态端口,最小化開放生産控制網的端口,還對OPC用戶端與OPC伺服器之間傳輸的指令請求進行實時檢測,對于不符合安全要求的操作指令進行攔截和報警,極大提升了基于OPC協定的工業控制系統的網絡安全。
除了做到指令防護外,還有更人性化一點的工業防火牆内置隻讀模闆,滿足使用OPC協定的大部分業務場景,因為使用OPC協定的工業控制現場一般隻是用來采集資料,使用隻讀模闆來防護完全滿足現場安全要求。工業防火牆内置的隻讀模闆一鍵部署,安全、友善,降低管理者維護成本,有效保障工業控制系統資料不被惡意篡改。
4. 優缺點比較
五、結論
随着國家網絡安全法的頒布和國家“中國制造2025”戰略的要求,逐漸打破實體隔離的工業生産網絡對安全的需求越來越迫切。對于生産現場有OPC協定的企業來講,綜合自身實力選擇适合自己的安全防護産品顯得越來越重要。而對OPC協定的解析到指令級還不夠,後續還需要深度解析到OPC協定操作指令所操作的對象是否在安全範圍内,對操作對象的值進行安全檢測,確定OPC協定發送的每一個位元組都是可識别、可控制、安全無害的。
本文轉自d1net(轉載)