FireEye報告:揭露新型工控系統惡意軟件TRITON |
來源:聚銘網絡 發(fā)布時間:2017-12-24 瀏覽次數: |
信息來源:FreeBuf Mandiant最近針對中東某企業(yè)關鍵基礎設施遭受的攻擊事件進行了安全響應,攻擊者通過部署特制的惡意軟件來控制目標工業(yè)安全系統,由于工業(yè)安全系統具備對工控系統的緊急關閉功能,因此我們有足夠信心斷定,該惡意軟件是攻擊者針對工控系統的硬件破壞或突然關停而開發(fā)的。目前,我們把這種惡意軟件命名為TRITON,攻擊者利用TRITON攻擊框架能與施耐德電氣公司的Triconex安全儀表系統控制器(SIS)形成通信交互,盡管我們暫時還未追溯定位到實際的攻擊者,但我們肯定該攻擊事件的幕后黑手為國家支持型黑客。 TRITON特點TRITON是繼2010年針對伊朗的Stuxnet和2016年針對烏克蘭的Industroyer后,為數不多可以被公開檢測識別到的工控系統惡意軟件系列之一,TRITON與這些攻擊類似,它可以破壞工控系統安全機制并執(zhí)行預期惡意功能,從而造成嚴重的物理破壞攻擊后果。 攻擊事件概述攻擊者通過獲得安全儀表系統(SIS)工作站的遠程訪問控制權限,對SIS控制器進行了重編譯,進而在SIS系統中部署了TRITON攻擊框架。 此次攻擊事件中,一些SIS控制器都形成了失效保護狀態(tài)(failed safe state),造成工控進程的自動關閉,因此引起了管理者的察覺并展開了調查。調查后發(fā)現,當應用代碼在冗余處理單元之間驗證失效時(可引發(fā)量產診斷錯誤消息),就會導致SIS控制器進入安全關閉狀態(tài)。 我們確信攻擊者希望隱蔽執(zhí)行自動關閉操作造成對工控系統的物理破壞,主要基于以下幾方面原因:
攻擊溯源針對此次攻擊事件,FireEye目前還暫未準確溯源定位到實際的攻擊者,但可以肯定的是這是國家支持型的黑客攻擊。攻擊以關鍵基礎設施為目標,具備持續(xù)性,且缺乏明確的經濟利益目的,結合創(chuàng)建TRITON攻擊框架所需的充足技術資源來看,這明顯是國家黑客形為??梢詮囊韵聨追矫鎭碜鞒雠袛啵?
過程控制和安全儀表系統(Safety Instrumented Systems)背景現代工業(yè)過程控制和自動化系統依靠各種先進的控制系統和安全功能,這些系統和功能通常被稱為工業(yè)控制系統(ICS)或操作技術(OT)。 分布式控制系統(DCS)為操作人員提供遠程監(jiān)視和控制工業(yè)過程的能力。它是由計算機、軟件應用程序和控制器組成的計算機控制系統。工程工作站是用來對控制系統應用和其他控制系統設備進行配置、維護和診斷的獨立計算機。 安全儀表系統(Safety Instrumented Systems,SIS)是一個獨立的控制系統,可獨立監(jiān)控受控過程狀態(tài)。如果過程超過定義危險狀態(tài)的參數,則SIS會嘗試將過程恢復到安全狀態(tài)或自動執(zhí)行過程的安全關閉。如果SIS和DCS控制都失效,那么只有看工業(yè)設施的安全設計了,如對設備(e.g防爆片)的機械保護、物理警報、應急程序和其他危險狀況的緩解機制。 資產設備管理者會采用不同方法將工廠的DCS與SIS系統連接起來,傳統方法是依賴通信基礎設施和控制策略的隔離原則。至少在過去十年間,基于低成本、易用性和信息交流目的,出現了集成DCS和SIS設計的趨勢。此次TRITON攻擊反映出了DCS與SIS集成設計雙向通信的安全風險。 安全儀表系統(SIS)威脅建模和攻擊場景針對工控系統(ICS)破壞性攻擊的生命周期與其他類型網絡攻擊類似,但有幾個關鍵的區(qū)別。 首先,攻擊者的任務是破壞業(yè)務流程而不是竊取數據;其次,攻擊者必須進行OT偵察,并有足夠的專業(yè)工程知識來了解目標系統工業(yè)過程,以實現對其成功的控制利用。 上圖表示過程控制環(huán)境中的網絡安全和安全控制之間的關系,即使網絡安全措施失效,安全控制措施也會防止物理破壞,為了最大化實現物理破壞,網絡攻擊者還需繞過一些安全控制手段。 以下安全儀表系統(SIS)威脅模型揭露了多種攻擊者可用的攻擊路徑:
攻擊意圖分析我們認為攻擊者的長期目的是造成物理破壞,基于這樣的事實,攻擊者具備了操縱過程或關閉設備的能力后,首先會在DCS系統上形成駐留,以伺機入侵SIS系統。對DCS和SIS系統的入侵會導致物理和機械保障措施的最大程度破壞。 一旦滲透進入SIS網絡后,攻擊者會立即部署預先構建的TRITON攻擊框架,利用TriStation協議與SIS控制器發(fā)起通信,攻擊者可以發(fā)送停止命令形成進程關閉,或向SIS控制器上傳惡意代碼造成保護失效。與此不同的是,攻擊者為了在SIS控制器中形成功能控制邏輯,會在一段時間內反復進行多次嘗試,即使由于攻擊腳本的條件檢查提示出錯,但攻擊者還會繼續(xù)嘗試,這也表明攻擊者的最終意圖就是要造成控制進程的意外關閉。 值得注意的是,我們曾多次發(fā)現了一些長期入侵工控系統(ICS)但并未造成系統破壞或中斷的攻擊事件,如長年入侵西方ICS的俄羅斯沙蟲團隊(Sandworm)等組織,他們似乎只是入侵,還沒表現出明顯的指哪打哪的系統中斷攻擊能力。 TRITON惡意軟件功能TRITON攻擊框架具備多種惡意功能,包括程序讀寫、各種功能讀寫以及查詢SIS控制器狀態(tài),但trilog.exe樣本只具備某些功能,不包括TRITON的全面?zhèn)刹旃δ堋? TRITON惡意軟件具備與Triconex SIS控制器進行通信的能力(如發(fā)送特定指令,實現關?;騼热葑x取),并可用攻擊者定義的Payload對其進行遠程重編譯。Mandiant分析的TRITON樣本中包含了攻擊者制作的運行Triconex控制器執(zhí)行表的程序,該樣本包含了一個正常且監(jiān)控控制器運行狀態(tài)的合法程序,如果控制器發(fā)生失效故障,TRITON會嘗試返回一個偽造的正常運行狀態(tài);如果控制器發(fā)生故障而在規(guī)定時間內未恢復到安全狀態(tài)時,則該樣本將會用無效數據覆蓋SIS控制器中的惡意程序形成隱蔽。 TRITON攻擊技術分析TRITON攻擊框架會被部署在運行有Windows操作系統的SIS工程工作站中,其中的惡意軟件偽裝成合法的用于查看日志的TriStation Triconex Trilog應用程序,并通過一個Py2EXE編譯后的Python腳本進行植入,而該Python腳本程序又依賴于一個包含標準Python庫和開源庫的zip壓縮文件,以及攻擊者開發(fā)的用于與Triconex控制器交互的Triconex攻擊框架。 與可執(zhí)行的惡意程序一起,還會生成兩個二進制文件inject.bin(惡意功能代碼)和imain.bin(惡意控制邏輯)作為攻擊控制器的Payload,這兩個文件名也被硬編碼寫入到了Py2EXE編譯的python腳本中。 Trilog.exe在命令行中會選擇目標Triconex設備IP地址作為攻擊選項,它沒有利用底層TRITON庫的Triconex設備發(fā)現功能,而是為環(huán)境中的每個目標控制器分別調用trilog.exe實例,一旦被調用,trilog.exe將檢查控制器狀態(tài),然后讀取由TriStation協議公開的配置信息,如果控制器處于運行狀態(tài),trilog.exe會把兩個Payload文件inject.bin和imain.bin進行編碼,并將它們傳遞給通信庫,以便將其附加到控制器的程序存儲器和執(zhí)行表中。 當Payload文件被插入Triconex控制器內存后,腳本開始倒計時,并執(zhí)行控制器狀態(tài)定期檢查,如果檢測到控制器錯誤,通信庫的方法SafeAppendProgramMod會嘗試使用TriStation協議命令將控制器重置為之前狀態(tài),如果檢測到控制器失效,trilog.exe會向內存嘗試寫入一個小的“虛擬”程序。我們認為這是一種反取證技術,用于隱藏Triconex控制器中的攻擊代碼。 Mandiant與被攻擊企業(yè)合作,利用實驗室環(huán)境中有效的Triconex控制器運行trilog.exe后,在惡意軟件中發(fā)現了一個防止Payload文件持久駐留的檢查條件,Mandiant通過修改攻擊腳本刪除該檢查條件后,Payload文件則會持久駐留于控制器內存中,且不影響控制器運行。 TRITON可以執(zhí)行合法TriStation應用程序的TriStation協議,并通過該協議來配置SIS控制器。 另外,攻擊者還創(chuàng)建了一個名為TsHi的高層接口,通過該接口使用TRITON框架實現攻擊腳本執(zhí)行。TsHi接口暴露了惡意軟件的偵察和攻擊能力,這些功能實現通常需要接收來自用戶的二進制數據,并在數據傳遞到低級庫中以進行序列化到網絡的過程之前,會進行代碼“簽名”和校驗步驟。 另一個攻擊者編寫的模塊TsBase則包含了TsHi調用函數,它能將攻擊者的預期操作轉化為相應的TriStation協議功能代碼。對于某些功能而言,它還可將數據打包填充為適當格式。 TsLow攻擊模塊實現了TriStation UDP通信協議。TsBase庫則主要依賴ts_exec方法,該方法采用功能代碼和預期響應代碼,并通過UDP將Payload命令序列化,它還會檢查控制器對期望值的響應,并當檢查成功或失敗時,返回相應的數據結構表示對象。 TsLow中還包含了用于檢查目標控制器連通性的連接測試方法,如果調用沒發(fā)現目標,它會運行設備發(fā)現功能detect_ip,該功能使用IP廣播包方式,通過腳本調用,在TriStation協議中執(zhí)行“ping”消息,來探測控制器。 防護建議為避免遭受TRITON類攻擊,資產設備管理者可以考慮以下幾種防護措施:
下圖為Triconex系統主機架鑰匙開關:
IoC威脅指標
|