基於OPC協議的工控網絡係統防護淺析
一、協議概述
提到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(轉載)
最後更新:2017-11-16 16:35:05