前言:尋找寫作靈感?中文期刊網用心挑選的火電廠設備層通信網絡安全問題,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
[摘要]火電廠傳統分散控制系統(DCS)設備層采用硬接線方式,不存在通信安全問題,隨著公開、透明的工控協議通信網絡代替傳統DCS硬接線進入設備層,工控協議所具有的協議漏洞及容易受到網絡攻擊的特性開始顯現。本文分析了火電廠控制系統設備層通信網絡協議存在的漏洞和攻擊問題,重點分析了攻擊防護,并給出了攻擊方式的示例。最后提出,在漏洞防護上,應采用管理措施和技術措施相結合;在攻擊防護上,建議在實現PROFIBUS、MODBUS等工控協議時,增加時間戳和會話機制,或在建立PROFIBUS、MODBUS等工控協議通信前,實現基于身份的驗證機制。
[關鍵詞]DCS;通信安全;設備層;協議漏洞;網絡攻擊;火電廠;防護措施
分散控制系統(DCS)、可編程控制器(PLC)等工業控制系統與現場總線通信網絡的有機結合,產生了兼容型的現場總線控制系統(FCS)[1]——設備層采用現場總線通信網絡的DCS。兼容型的FCS是指在DCS設備層中使用現場總線智能儀表和執行機構,將智能設備的變量輸入或輸出與DCS控制層相連接。兼容型FCS的控制層和網絡層與傳統DCS一致,這種結構的DCS能夠接入智能型總線設備,能夠通過DCS對智能設備進行直接的參數訪問、診斷和報警訪問。當前火電廠DCS網絡安全防護重點放在網絡層計算機信息安全的管理[2],并且要求不斷加強控制層安全防護功能。但是現場總線智能設備層缺乏相對應的安全檢測及防護手段。
1火電廠控制系統存在安全問題
目前火電廠控制系統中,以公開、透明的工控協議通信網絡代替傳統硬接線信號作為火電廠設備層通信網絡,其優勢是突破了傳統硬接線的信息數量限制[3],所采用的數字化通信網絡,給火電廠帶來眾多生產和管理信息;其弱點在于像所有工控協議一樣,具有一定的程序設計漏洞并且容易受到網絡攻擊。1.1工控系統協議漏洞漏洞是在硬件、軟件、協議的具體實現或系統安全策略上存在的缺陷[4],可以使攻擊者能夠在未授權的情況下訪問或破壞系統。來自幾大供應商的PLC被曝存在漏洞,攻擊者可利用漏洞執行任意代碼。存在漏洞的產品來自多個企業,包括SchneiderElectric、GE和Alley-Bradley等。其中,影響Schneider的漏洞為CVE-2017-6034/6032[5],攻擊者可以基于MODBUS協議,對工業控制設備進行基于指令的操作,包括打開或關閉閥門,讀寫線圈數據,啟動或停止PLC,甚至可以更改控制邏輯,下載梯形圖等危險操作?,F場總線協議跟其他工控協議一樣存在漏洞,如2019年底,西門子向全球公告稱:SPPA-T3000應用服務器存在19個漏洞,SPAA-T3000MS3000遷移服務器存在35個安全漏洞[6]。在這54個漏洞中,有些被評為嚴重漏洞,可被利用來進行拒絕服務(DoS)攻擊或在服務器上執行任意代碼。攻擊者通過訪問PROFIBUS現場總線協議中的ApplicationHighway或AutomationHighway實行遠程攻擊。另外,現場總線技術集成了工業以太網協議的新趨勢[7],也帶來了相應的漏洞安全隱患。現場總線標準的應用非常廣泛,大部分現場總線標準是基于已有的串行通信協議標準設計的,與以太網技術有著很大的區別。隨著系統復雜程度的增加,基于串行通信協議標準設計的現場總線難以滿足通用性和高性能的要求,使得設備生產商轉向采用基于以太網的通信技術。在上述需求的指引下,很多現場總線標準都已經集成到工業以太網協議中,在實現實時通信和工業互聯的同時,較好地兼容了原有現場總線的軟件和硬件。但是,由此也同時引入了工業以太網協議所天然具備的漏洞問題。1.2工控協議攻擊控制層與現場設備層智能設備之間的工控協議標準是公開、透明的,這些數據很容易被解釋為有意義的信息,即各個節點之間的通信就沒有任何保密性可言。工控協議數據交換中的這種不安全因素來自工控協議本身。工控協議采用類似局域網的廣播報文方式進行通信[8],因此上述的這種竊聽就可以獲取設備層通信的所有信息。對于火電廠而言,機、爐、電、水、煤、灰渣等各系統傳遞的參數是火電廠安全生產的關鍵,如果這些信息被竊取甚至被篡改,后果將難以估計。例如,如果攻擊者充分了解目標使用的工控協議,則可以在控制系統中執行中間人攻擊[9]。攻擊者可以修改傳輸中的數據包,可以實現對操作員人機界面的欺騙,實現對控制系統的全面控制。通過在指令流中插入或修改指令,攻擊者可以發出任意或者特定的指令,通過修改返回數據,欺騙操作員看到一個數據被修改過的監控頁面。
2安全問題對策
2.1漏洞防護
目前,針對工控協議存在的漏洞,一般從管理和技術2個方面采取相應措施。
2.1.1管理措施
1)加強管理,禁止未授權人員直接對設備層現場總線通信網絡進行訪問。2)針對授權使用者,建議只在局域網進行操作,使用者調試時所使用的便攜式工具(包括筆記本電腦、編程器等)不能直接連接互聯網。3)當便攜工具必須連接到互聯網時,應采取必要的防護措施,如與設備生產商確認風險,提前做好數據及系統備份等應急方式準備。2.1.2技術措施1)安裝設備生產商提供的相應補丁程序,并升級設備固件版本,以便不受已發現漏洞的威脅。2)及時修改配置,關閉不需要使用的部分功能,使系統更加安全。3)設置漏洞掃描,及時發現不合法的命令。
2.2攻擊防護
在工業通信中,攻擊防護的第一步是要完全掌握設備層工控協議的內容。工控協議在任何時刻都不能出現不合法報文幀,一旦發現此類報文即認為是一種篡改式攻擊行為。即使合法的報文幀,出現在不合適的地方,也可能是一種插入命令式攻擊行為。
2.2.1攻擊分析
PROFIBUS和MODBUS都是典型的工控應答協議,其中MODBUS協議格式(圖2)較為簡單,而PROFIBUS協議格式(圖3)則較為復雜。
2.2.2攻擊示例
1)篡改式攻擊
篡改功能碼工控協議中,部分FC(功能碼)是協議強制要求規定的,另外一部分功能碼允許不同廠商進行自定義[12]。PROFIBUS協議的MS0通信協議主要由診斷、設置參數、檢查組態和數據交換等數據協議組成。其中設置參數協議是主站對從站的操作方式,包括通信參數、功能設定、裝置參數和ID號等的設定,該協議在進行組態時自動產生。當出現異常時,MS0提供了一個方便、功能強大的診斷數據協議,用以分享故障。數據交換協議采用Default-SAP(不適用SAP)方式[13]。數據交換協議中的功能碼FC=0x08,表示這是一個低優先級的報文幀。當主站與從站已經處于Data_Exchange狀態下時,從站突發故障,此時必須及時報告給主站,通過將數據交換協議中的FC(功能碼)設置為0x0A,來達到通知主站的目的。主站會在下一個總線循環周期發出診斷請求報文幀,用以中斷數據交換請求報文幀的發送,這樣從站就可以把診斷響應報文幀傳送給主站。攻擊者如果在正常數據交換時對FC實施篡改,將其置為0x0A,則會造成通信由數據交換至診斷狀態的跳轉,導致數據刷新中斷,嚴重影響設備層數據通信的穩定。篡改目的或源地址為達到防止設備地址沖突的目的,PROFIBUS和MODBUS協議都是通過設備地址唯一性來識別現場設備的[14]。攻擊者如果對地址進行篡改,將可能導致原本下發給A設備的命令,最終被B設備執行;或者篡改設備地址一致即地址沖突,引起2個或多個設備無法被主站所識別,最終導致設備從通信網絡中離線。
2)插入命令式攻擊
DSAP和SSAP指明了具體的服務類型,通過它們就能夠知道某個協議具體是診斷、設置參數、檢查組態和數據交換協議中的哪一個。攻擊者如果在數據交換階段插入帶有服務訪問點的協議報文幀,將會導致不合法協議的出現,大量占據通信帶寬[15],造成數據交換的暫停,導致數據刷新中斷,嚴重影響設備層數據通信的穩定。
2.2.3防護建議
通過分析協議應用場景,可以看出攻擊者可訪問設備層通信網絡,攔截發往DCS、PLC的數據,一旦獲取明文傳輸的協議,攻擊者就能發送請求篡改任意命令。即攻擊者可以通過簡單發送不同功能碼的報文,就可以達到惡意操作設備的目的。針對設備生產商,建議在實現PROFIBUS、MODBUS等工控協議時,增加時間戳和會話機制,防止攻擊者通過簡單協議重放達到不可預期的目的。或者,在建立PROFIBUS、MODBUS等工控協議通信之前,實現基于身份的驗證機制。上述措施能夠在篡改、屏蔽、插入新命令等協議攻擊發生的情況下,第一時間發現安全風險并進行防護。
3結語
發電廠控制系統網絡安全性問題至關重要,在生產實踐中,不但要加強網絡層和控制層網絡安全,而且對設備層工控協議通信網絡存在的安全問題也應引起足夠重視。設備層通信網絡安全問題主要來自協議漏洞和協議攻擊兩方面。在今后的工作中,應從工控協議漏洞掃描和工控協議深度解析2個方向,逐步加強對設備層工控協議通信網絡的防護水平,進而建立涵蓋DCS網絡層、控制層和設備層的網絡安全防護體系。
作者:崔逸群 王文慶 劉超飛 畢玉冰 董夏昕 單位:西安熱工研究院有限公司