2017年底,位於中東的一家石油工廠突然發生設備故障的緊急事件,導致生產流程被迫中斷。由於一些製程安全控制器自動切換至失效保護模式,讓該公司察覺事態不對勁,遂尋求資安公司協助事件調查。結果,終於揭發第一起入侵製程安全系統的工控系統安全事件。

根據資安公司FireEye子公司Mandiant與工控安全廠商Dragos各別的調查,皆發現該石油公司所使用的施耐德(Schneider)Triconex製程安全系統(Safety Instrumented System, SIS),被植入特別設計的惡意程式,讓攻擊者可由遠端控制製程安全系統。他們分別將此惡意程式命名為Triton與TRISIS。

Triton是工控安全領域首次被發現的製程安全系統入侵事件,製程安全系統主要監控生產設備的狀況,確保生產系統的正常運作,避免發生意外當機與超過負載的危險。製程安全系統通常會連結致動器,以便在超過安全範圍時,跳過製程系統的控制權,直接強制製程停止運行。例如製程安全系統可以監測壓力與溫度感測器,當壓力或溫度超過安全警界值時,強制關閉壓力閥或是停止加熱器的運作,以避免壓力過大爆炸或燃燒。

在過去幾起知名的工控系統安全事件中,不論是入侵伊朗核電廠的Stuxnet惡意程式,或是造成烏克蘭大停電的BlackEnergy惡意程式,目的皆為破壞系統,使其運作中斷。然而,Triton惡意程式刻意入侵製程安全系統,可操控安全系統,使其保護失效,再讓運轉的機件超過其安全負荷而失控,影響所及就不再只是營運中斷,或是電腦系統故障而已,而可能釀成實體的大災難。

根據資安專家調查,攻擊者先是入侵分散式控制系統DCS(Distributed Control System),繼而在SIS製程安全系統的工作站電腦植入一個以Trilog命名的攻擊程式,試圖偽裝成Triconex正常的日誌檢查檔,企圖長期寄居而不被察覺。

Trilog攻擊程式接著以Triconex系統正常使用的TriStation通訊協定,將惡意程式碼載入Triconex控制器,並沒有利用零日漏洞入侵Triconex控制器。由於TriStation是施耐德未公開的私有通訊協定,顯然攻擊者已經以逆向工程手法,成功分析出TriStation通訊協定的細節。

TRISIS攻擊流程圖(資料來源:Dragos)

資安專家調查發現,這起製程安全系統入侵事件,之所以造成設備運作停擺,並非是攻擊者真正發動了攻擊,而是攻擊者在嘗試摸索系統運作邏輯時,觸發了Triconex的保護機制。

由於製程安全系統肩負著為系統安全把關的重要任務,其架構設計必須考量備援與高可靠度。以Triconex控制器為例,內建的3個處理器模組是獨立且同步運算,系統最後會比對三個模組的運算結果,驗證其有效性,以避免採取了錯誤的決定。此次攻擊事件之所以引起廠方的注意,就是因為三個模組的運算結果無法通過有效性驗證,導致系統進入失效保護模式。

從這起事件的種種調查結果來看,資安專家普遍認為背後的主謀應該是國家支持的駭客組織,而不是網路犯罪組織。主要是攻擊行動鎖定製程安全系統,試圖造成實體設備破壞的企圖非常明顯,而這不符合網路犯罪組織所追求的經濟效益。

再者,攻擊者在入侵SIS工作站之後,很快就部署Triton攻擊所需的相關程式,這表示攻擊者是有備而來,早就已經在類似的環境測試。而且,攻擊者不是利用系統的漏洞入侵,而是以系統正常使用,但未曾公開的通訊協定。

根據跡象顯示,如此針對Triconex製程安全系統,特別開發入侵攻擊程式,顯然攻擊者必須投入大量的資源,而若非國家支持的駭客組織,很難有此充沛的資源。

不過,資安專家也提醒大家不必過於恐慌,因為工控設備的共通性不似一般電腦,如Triton所針對的Triconex 3008機型,其採用的處理器與同一系列的其他款式不同,因而攻擊程式無法在其他機種上運作。同時,工控系統所控制的設備與運作邏輯也大不相同,很難快速複製同一種攻擊程式與攻擊方法,因此攻擊行動不易於擴大規模。

此外,每個工廠的設備都不盡相同,即便是使用同一個機型的工業系統控制器,其所控制的工業設備不見得一樣,而且流程與運作邏輯也大不相同,因此攻擊者若想要針對工控系統發動攻擊,往往必須花更多時間了解目標對象,很難快速複製同一種攻擊程式與攻擊方法,一般而言攻擊行動不易擴大規模。

然而,Triton的攻擊概念卻會很快被模仿,可預見未來工控安全的威脅,不僅只是工廠被迫停工而已,亦有可能發生傷害生命的工安事件。Triton攻擊的浮出水面,無疑敲響了工控安全與關鍵基礎設施防護的警鐘。


Advertisement

更多 iThome相關內容