從 MITRE ATT&CK 手法、技巧與程序 (TTP) 的角度探討 IoT Linux 惡意程式的演進
我們的研究使用 MITRE ATT&CK 框架的手法、技巧與程序 (TTP) 來描述惡意程式的功能和特性,並從這個角度探討 IoT Linux 惡意程式的演進。
在這篇部落格中,我們將分享有關物聯網(IoT ,Internet of Thing)Linux 惡意程式的一些研究發現,並探討這些惡意程式家族的演進。我們使用 MITRE ATT&CK 框架的手法、技巧與程序 (TTP) 來描述惡意程式的功能和特性。
我們的研究顯示,IoT Linux 惡意程式一直都在不斷演進,尤其是 IoT 殭屍網路惡意程式。除了增加新功能之外,它們也會隨時間而淘汰一些原有的功能。值得注意的是,「資料外傳」與「橫向移動」兩項功能的發展似乎不太成功,所以近來這類惡意程式已經開始將重心放在感染系統。
「表 1」列出我們蒐集到的惡意程式最常具備的 10 種功能 (也就是技巧)。
ATT&CK 手法 | 技巧 (TTP) | 惡意程式家族數量 |
搜尋 | 檔案與目錄搜尋 (T1083) | 10 |
幕後操縱 (C&C) | 應用程式層次的通訊協定:網站通訊協定 (T1071.001) | 9 |
突破防線 | 外部遠端服務 (T1133) | 8 |
執行攻擊 | 指令與腳本解譯器:Unix 指令列介面 (T1059.004) | 7 |
造成衝擊 | 網路阻斷服務:直接的網路洪水攻擊 (T1498.001) | |
存取登入憑證 | 暴力破解:猜測密碼 (T1110.001) | 6 |
搜尋 | 處理程序搜尋 (T1057) | |
執行攻擊 | 原生 API (T1106) | 5 |
造成衝擊 | 將資料加密來造成衝擊 (T1486 ) | |
躲避防禦 | 清除在主機上的痕跡:刪除檔案 (T1070.004) | 4 |
橫向移動 | 利用遠端服務 (T1210) | |
常駐系統 | 排程工作:Cron (T1053.003) | |
表 1:10 種最常具備的技巧。 |
研究方法
本研究採用 MITRE ATT&CK 框架來描述 IoT Linux 惡意程式的功能。藉由 ATT&CK 框架,我們就能有系統地描述威脅,並且在不涉及實作的情況下比較惡意程式的功能。這些功能是經由靜態與動態分析得來,分析之後再對應到 ATT&CK 的手法、技巧與程序 (TTP)。
這套方法包含四個步驟:
- 蒐集惡意程式。我們挑選了 2019 年 1 月至 2021 年 8 月間發現的惡意程式。
- 惡意程式分析。我們同時運用了靜態分析 (Ghidra、IDA Pro) 與動態分析 (strace、ltrace、GDB) 來找出惡意程式的功能。並針對每一惡意程式樣本,仔細研究其所有面向,包括:攻擊之前與之後的步驟,例如:突破防線的途徑、如何橫向移動、如何造成衝擊。
- 對應。我們將惡意程式的功能對應到 MITRE ATT&CK TTP。
- 分析。對應到 TTP 之後,接著比較一下惡意程式樣本之間的差異和相似之處。
「圖 1」列出這套方法中的各個步驟。
新的 IoT 殭屍網路技巧
在觀察期間,我們注意到駭客增加了四個新的技巧。其中一個殭屍網路家族採用的新技巧是「 障眼法:利用合法名稱或地點掩蓋非法 (T1036.005)」。這屬於一種「躲避防禦」技巧,很可能是為了因應 IoT 裝置製造商日益強化的資安防禦。這項技巧是利用合法、受信任的應用程式名稱和地點來掩蓋惡意的執行檔以躲避偵測。
另一個與 IoT Linux 惡意程式慣用技巧「清除在主機上的痕跡:刪除檔案 (T1070.004)」類似的技巧是「檔案與目錄權限修改:Linux 和 Mac 檔案與目錄權限修改 (T1222.002 )」,這大約是在 2020 年中期的惡意程式上開始出現。我們發現在 Dark Nexus 惡意程式上尤其能看到這些新增的功能。大部分平台都提供兩個重要指令可用來篡改檔案與目錄的存取控制清單 (ACL):chown (變更擁有者) 及 chmod (變更模式)。
除此之外,在 2021 年發現的家族當中,有一個 StealthWorker GO 的變種 (採用 Golang 語言撰寫的惡意程式) 新增了「排程工作:Cron (T1053.003)」這個技巧。這是一種執行攻擊的手法,可讓惡意程式常駐在系統內。此軟體工具藉由排程工作讓駭客在特定時間執行一些指令來常駐於系統內。
被淘汰的技巧
除上述新增技巧之外,我們也發現了 3 個與橫向移動手法相關的技巧被淘汰。我們在最近發現的惡意程式家族中看到的一項趨勢就是:駭客將散播惡意程式的責任又交回到幕後操縱 (C&C) 伺服器手中。舉 Dark Nexus 家族為例,我們發現它是透過 C&C 伺服器來散播惡意程式。我們的分析發現有兩個與「橫向移動」手法相關的技巧:「遠端服務 (T1021)」與「利用遠端服務 (T1210)」已經被淘汰。此外,另一個與此相關的網路資訊搜尋技巧「系統網路組態搜尋 (T1016)」也同樣不再使用。
不常見的技巧
同時,我們也注意到,IoT Linux 惡意程式的開發者似乎對竊取資料不感興趣。在我們的樣本中,只有一個惡意程式 (QSnatch) 具備了典型的資料外洩手法,如:蒐集和外傳。而且我們也發現,權限提升也不是 IoT 惡意程式開發者關心的重點。或許,從惡意程式開發者的角度來看,需要取得更高權限才能執行的惡意程式所帶來的效益,不值得他們所花費的工夫。此外,目標裝置內建的預設帳號通常就具備了讓惡意程式順利執行、寫入檔案系統、建立新連線等等的所有權限。
勒索病毒與殭屍網路惡意程式之間的差異
藉由 ATT&CK 框架的分析,我們就能比較不同的 IoT 惡意程式類別之間的差異,例如:勒索病毒與殭屍網路家族。
根據我們的資料指出,兩者之間有一些共通的技巧,例如取得登入憑證的方式,其中「暴力破解:猜測密碼 (T1110.001)」是兩種惡意程式最常採用的技巧。這一點其實不令人訝異,因為我們很常看到一些 IoT 裝置還在使用出廠預設的使用者名稱和密碼。使用者通常不曉得 IoT 裝置暴露在網際網路上的風險,事實上,許多裝置在安裝之後就從未變更過預設的登入憑證,也未開啟過遠端存取安全機制。
這兩種惡意程式還有一個常見的共通技巧是「外部遠端服務 (T1133)」(歸在「突破防線」手法之下),這基本上就是缺乏安全防護及暴露在外的網際網路服務,例如:Telnet 和 SSH。這項技巧可讓駭客從遠端攻擊企業對外服務來突破防線,甚至常駐於網路內部。此外,駭客也經常利用暴露在外且又不需身分認證的服務。
此外,兩種惡意程式還有一個共通點是 C&C 機制,兩者都採用「應用程式層次的通訊協定:網站通訊協定 (T1071.001)」。這很可能是因為「惡意程式服務」(Malware-as-a-Service) 的市場正在逐漸成長,所以,提供一種簡易的使用介面來讓其他駭客 (也就是客戶) 操控其惡意程式是一件重要的事。
除此之外,我們也藉由比較 TTP 的數量來分析不同惡意程式家族在實作上的差異。我們發現,雖然不同的勒索病毒家族之間有許多共通的技巧,但殭屍網路惡意程式似乎就比較創新,喜歡開發各種不同的 TTP 來攻擊各種服務。這或許是因為殭屍網路惡意程式的偵測技術發展得比較成熟,所以需要經常變換技巧以避免被輕易偵測。「圖 2」列出這些差異。
結論
隨著連網裝置數量不斷成長,連網的威脅也與日俱增。了解 IoT 裝置惡意程式的演進是做好防範及防禦措施的基本功。
這些年來,我們看到 IoT 惡意程式正慢慢不斷發展,尤其殭屍網路威脅特別活躍,其功能時常在汰舊換新,這不僅反映了駭客行為、也反映了這些裝置的防禦機制正在進步。MITRE ATT&CK 框架有助於建立一套標準化的方式來描述今日發現的威脅。顯而易見地,了解惡意程式常用的 TTP 可幫助企業和使用者更有效保護自己的裝置和網路。例如,我們的研究證明了變更所有連網裝置預設密碼的重要性。
企業機構及一般使用者可考慮採取以下步驟來確保自身裝置的安全:
- 做好漏洞管理,盡速套用修補更新。若能在廠商一釋出修補更新就盡速套用,可降低漏洞遭到攻擊的機會。
- 使用安全的組態設定。安全的組態設定可縮小資安破口,防範駭客入侵或遠端攻擊。
- 使用高強度不易猜測的密碼。除了變更預設密碼之外,使用者還可使用高強度的密碼並啟用雙重認證 (若有的話) 來避免密碼遭到暴力破解的情況。
原文出處:The Evolution of IoT Linux Malware Based on MITRE ATT&CK TTPs