俄羅斯Sednit APT首次在野使用UEFI rootkit——LoJax
ESET研究人員已經表明,Sednit使用LoJax惡意軟體的不同元件來針對巴爾幹、中歐以及東歐的一些政府組織。
UEFI rootkit被廣泛視為實施網路攻擊的極其危險的工具,因為它們難以檢測並且能夠在安全措施(例如作業系統重新安裝甚至更換硬碟)中生存。一些UEFI rootkit已被提出作為PoC,也有少數人知道,政府機構可以使用。不過,直到我們發現Sednit APT組織在受害者系統上成功部署了惡意UEFI模組的行動之前,在野外並沒有檢測到UEFI rootkit。
出於兩個原因,第一個在野外發現的UEFI rootkit值得注意。
首先,它表明UEFI rootkit是一個真正的威脅,而不僅僅是一個有吸引力的會議主題。
其次,它可以作為一個提醒,特別是對所有可能成為Sedni目標的人。該APT組織,也被稱為APT28,STRONTIUM,Sofacy和Fancy Bear,可能比以前想象的更危險。
我們對使用UEFI rootkit的Sednit行動的分析於9月27日在2018年的Microsoft BlueHat會議上釋出,並在我們的“LoJax:第一個在野外發現的UEFI rootkit,由Sednit組織提供”白皮書中詳細描述。在本文中,我們總結了我們的主要發現。
Sednit組織自2004年以來一直在運營,並且在過去幾年中經常成為頭條新聞:它被認為是多次攻擊的幕後黑手。例如,美國司法部認定該組織在2016年美國大選之前對民主黨全國委員會(DNC)進行黑客攻擊。該組織還被認為是全球電視網TV5Monde,世界反興奮劑機構(WADA)電子郵件洩密以及許多其他黑客攻擊的始作俑者。該組織在其武器庫中擁有多種多樣的惡意軟體工具,我們之前在2016年的Sednit白皮書中記錄了若干例子。
我們的調查已經確定惡意行為者至少成功的將惡意UEFI模組寫入系統的SPI快閃記憶體一次。此模組能夠在引導過程中釋放並執行磁碟上的惡意軟體。這種永續性方法特別具有侵入性,因為它不但在重新安裝作業系統後可以繼續使用,即便替換硬碟也可以繼續使用。此外,清理系統的UEFI韌體意味著重新重新整理它,這種操作並不常見,當然對使用者來說也很少這麼做。
我們的研究表明,Sednit運營商使用LoJax惡意軟體的不同元件來針對巴爾幹以及中歐和東歐的一些政府組織。
一、LoJack變成LoJax
在2018年5月,Arbor Networks的一篇博文描述了Absolute Software的LoJack客戶端rpcnetp.exe的幾個木馬化樣本。這些惡意樣本與惡意C&C伺服器而不是合法的Absolute Software伺服器通訊,因為他們的硬編碼配置設定已被更改。 LoJax樣本中發現的一些域名之前已經被發現:它們在2017年末被用作臭名昭著的Sednit第一階段後門SedUploader的C&C域名。由於此攻擊行動惡意使用LoJack客戶端,我們將此惡意軟體稱為LoJax。
LoJack是防盜軟體。它的早期版本稱為Computrace。正如其名稱所暗示的那樣,一旦服務被啟用,計算機將回聯其C&C伺服器,如果它丟失或被盜,將通知其所有者的位置。Computrace引起了安全社群的注意,主要是因為其不尋常的永續性方法。由於該軟體的目的是保護系統免遭盜竊,因此它必須能夠抵抗作業系統重新安裝或更換硬碟驅動器。因此,它被實現為UEFI / BIOS模組,能夠在這些情況中存活。該解決方案預先安裝在由各種OEM製造的大量膝上型電腦的韌體中,等待其所有者啟用。
在研究LoJax時,我們發現了一些有趣的東西,這讓我們相信威脅攻擊者試圖模仿Computrace的永續性方法。
二、使用惡意軟體修補SPI快閃記憶體
在LoJax攻擊的目標系統上,我們發現了各種能夠訪問和修補UEFI / BIOS設定的工具。所有工具均使用核心驅動程式RwDrv.sys來訪問UEFI / BIOS設定。此核心驅動程式與RWEverything捆綁在一起,這是一個免費的Web實用工具,可用於讀取幾乎所有計算機的底層設定資訊,包括PCI Express,記憶體,PCI選件ROM等。此核心驅動程式屬於合法軟體,它使用有效的程式碼簽名證書進行簽名。
與LoJax客戶端一起發現了三種不同型別的工具。第一個是將底層系統設定的資訊轉儲到文字檔案的工具。由於繞過對非法韌體更新的保護是高度依賴於平臺的,因此收集有關係統平臺的資訊至關重要。第二個工具的目的是通過讀取UEFI / BIOS所在的SPI快閃記憶體的內容,將系統韌體的映像儲存到檔案中。第三個工具的目的是將惡意UEFI模組新增到韌體映像並將其寫回SPI快閃記憶體,從而有效的在系統上安裝UEFI rootkit。此修補工具使用不同的技術來濫用配置錯誤的平臺或繞過SPI快閃記憶體防寫。如下圖所示,如果平臺允許對SPI快閃記憶體進行寫操作,它將繼續寫入。如果沒有,它實際上實現了對已知漏洞的利用。
新增到韌體映像的UEFI rootkit只有一個作用:將使用者區惡意軟體釋放到Windows作業系統分割槽上,並確保在啟動時執行它。
三、保護措施
Sednit的UEFI rootkit沒有正確簽名,因此可以阻止此類攻擊的第一種安全機制是Secure Boot。啟用安全啟動後,韌體載入的每個元件都需要正確簽名,從而確保韌體的完整性。我們強烈建議啟用它。這是針對UEFI韌體的攻擊的基本防禦,可以在引導時通過系統的UEFI設定啟用。
更新系統韌體對於惡意行為者來說也不是輕而易舉。平臺提供不同的保護,以防止未經授權寫入系統SPI快閃記憶體。僅當SPI快閃記憶體保護易受攻擊或配置錯誤時,上述工具才能更新系統韌體。因此,應該確保升級到適用於主機板的最新UEFI / BIOS。此外,由於被利用的漏洞僅影響較舊的晶片,因此請確保關鍵系統具有平臺控制器中樞的現代晶片組(2008年引入的英特爾系列5晶片組)。
不幸的是,對於終端使用者來說,更新系統的韌體並非易事。因此,韌體安全性主要掌握在UEFI / BIOS供應商手中。平臺提供的安全機制需要由系統韌體正確配置,以便實際保護它。韌體必須從頭開始構建,並考慮到安全性。幸運的是,越來越多的安全研究人員正在研究韌體安全性,從而有助於改善這一領域並提高UEFI / BIOS供應商的認知度。
基於UEFI韌體攻擊的修復是一個難題。沒有簡單的方法可以自動從系統中刪除此類威脅。在我們上面描述的情況下:為了刪除rootkit,需要使用特定於主機板的乾淨韌體映像重新重新整理SPI快閃記憶體。這是一項必須手動執行的精細操作。絕對不是大多數計算機所有者熟悉的。重新重新整理UEFI / BIOS的唯一選擇是徹底更換受感染系統的主機板。
四、與Sednit APT組織的關聯
如上所述,一些LoJax的C&C伺服器過去曾被SedUploader使用,SedUploader是Sednit運營商常規使用的第一階段後門。此外,在LoJax攻擊的情況下,其他Sednit工具的痕跡從未遠離。事實上,LoJax所針對的系統通常也會出現這三個Sednit惡意軟體:
· SedUploader, 第一階段後門
· XAgent, Sednit的旗艦後門
· Xtunnel, 一種網路代理工具,可以在Internet上的C&C伺服器和本地網路內的端點計算機之間中繼任何型別的網路流量
這些事實使我們確認LoJax歸屬於Sednit組織。
五、總結
多年來我們一直在跟蹤Sednit組織,我們釋出了許多關於其活動的報告,從0 day使用到開發的自定義惡意軟體,如Zebrocy。但是,上面描述的UEFI rootkit元件屬於它自己獨有。
LoJax行動表明,高價值目標是部署罕見甚至是獨特威脅的主要候選,而且這些目標應該始終注意感染的跡象。此外,這項研究告訴我們的一件事是,儘可能深入地挖掘是非常重要的!
可以在上找到IOC和樣本的完整列表。
有關後門的詳細分析,請訪問我們的白皮書 ofollow,noindex">LoJax: First UEFI rootkit found in the wild, courtesy of the Sednit group 。