共用方式為


無檔案威脅

什麼是無檔案威脅? 「無檔案」一詞表示威脅不會出現在檔案中,例如只存在於機器記憶體中的後門。 不過,沒有任何無檔案惡意代碼的定義。 詞彙廣泛使用,有時用來描述依賴檔案運作的惡意代碼系列。

攻擊涉及 數個功能階段 ,例如執行、持續性或信息竊取。 攻擊鏈結的某些部分可能是無檔案的,有些部分可能以某種形式涉及文件系統。

為了清楚起見,無檔案威脅會分組為不同的類別。

無檔案惡意代碼的完整圖表。
圖 1: 無檔案惡意代碼的完整圖表

無檔案威脅可依其進入點分類,這表示無檔案惡意代碼如何抵達計算機。 它們可以透過惡意探索、透過遭入侵的硬體,或透過應用程式和腳本的定期執行來抵達。

接下來,列出進入點的形式。 例如,惡意探索可以以檔案或網路數據為基礎,PCI 周邊是一種硬體向量,而腳本和可執行檔則是執行向量的子類別。

最後,分類感染的主機。 例如,Flash 應用程式可能包含各種威脅,例如惡意探索、簡單的可執行檔,以及來自硬體裝置的惡意韌體。

分類可協助您分割和分類各種類型的無檔案威脅。 有些比較危險,但也比較難以實作,而有些則是較常用的,儘管 (或因為) 不是很進階。

從此分類中,您可以根據受感染計算機上可能留下多少指紋,搜集三種主要類型的無檔案威脅。

類型 I:未執行檔案活動

完全無檔案的惡意代碼可視為永遠不需要在磁碟上寫入檔案的惡意代碼。 這類惡意代碼一開始會如何感染計算機? 其中一個範例是目標計算機會收到惡意網路封包,而這些封包會利用 DurableBlue 弱點。 此弱點允許安裝 DoublePulsar 後門文件,最後只位於核心記憶體中。 在此情況下,沒有任何檔案或任何寫入檔案的數據。

遭入侵的裝置也可能在裝置韌體 (中隱藏惡意代碼,例如 BIOS) 、USB 周邊 (,例如 BadUSB 攻擊) ,或網路卡的韌體中。 所有這些範例都不需要在磁碟上執行檔案,而且理論上只能存在於記憶體中。 惡意代碼會在重新啟動、磁碟重新格式化和操作系統重新安裝後繼續運作。

這種類型的感染可能特別難以偵測,因為大部分的防病毒軟體產品都無法檢查韌體。 在產品能夠檢查及偵測惡意韌體的情況下,此層級的威脅補救仍有重大挑戰。 這種類型的無檔案惡意代碼需要高度複雜性,而且通常取決於特定的硬體或軟體設定。 這不是可以輕鬆可靠地惡意探索的攻擊媒介。 這種類型的威脅雖然有危險,但對於大部分的攻擊而言並不常見且不實用。

類型 II:間接檔案活動

有其他方法可讓惡意代碼在計算機上達到無檔案狀態,而不需要進行大量的工程工作。 此類型的無檔案惡意代碼不會直接在文件系統上寫入檔案,但最後可能會間接使用檔案。 例如, 使用 Poshspy 後門程式 攻擊者時,會在 WMI 存放庫內安裝惡意 PowerShell 命令,並設定 WMI 篩選器以定期執行命令。

您可以透過命令行執行這類安裝,而不需要已經在檔案上使用後門。 惡意代碼可以安裝並理論上執行,而不需要觸碰文件系統。 不過,WMI 存放庫會儲存在 CIM 物件管理員所管理中央儲存區域中的實體檔案上,而且通常包含合法的數據。 即使感染鏈結在技術上使用實體檔案,它仍被視為無檔案攻擊,因為WMI存放庫是無法偵測和移除的多用途數據容器。

類型 III:操作所需的檔案

某些惡意代碼可以有一種無檔案持續性,但不能不使用檔案來操作。 此案例的範例是Kovter,它會在登錄中建立隨機擴展名的殼層開啟動詞處理程式。 開啟具有這類擴展名的檔案會導致透過合法工具 mshta.exe 執行腳本。

Kovter 登錄機碼的影像。
圖 2: Kovter 的登錄機碼

叫用開啟的動詞命令時,會啟動登錄中的相關聯命令,這會導致執行小型腳本。 此腳本會從進一步的登錄機碼讀取數據並加以執行,進而導致載入最終承載。 不過,若要在第一個位置觸發開啟的動詞,Kovter 必須卸除具有上述範例中動詞 (目標相同擴展名的檔案,擴展名是 .bbf5590fd) 。 它也必須設定自動執行密鑰,以在機器啟動時開啟這類檔案。

Kovter 被視為無檔案威脅,因為文件系統沒有實際用途。 具有隨機擴展名的檔案包含無法在驗證威脅是否存在時使用的垃圾數據。 儲存登錄的檔案是容器,如果惡意內容存在,則無法偵測和刪除這些容器。

依感染主機分類無檔案威脅

描述過廣泛的類別之後,我們現在可以深入瞭解詳細數據,並提供感染主機的細目。 這個完整的分類涵蓋通常稱為無檔案惡意代碼的全景。 它推動我們努力研究並開發新的保護功能,以中和攻擊類別,並確保惡意代碼不會在競爭中占上層。

利用

檔案型 (類型 III:可執行檔、Flash、Java、檔) :初始檔案可能會利用操作系統、瀏覽器、Java 引擎、Flash 引擎等,在記憶體中執行殼層程式代碼並傳遞承載。 雖然承載是無檔案的,但初始專案向量是檔案。

網路型 (類型 I) :利用目標電腦中弱點的網路通訊,可以在應用程式或核心的內容中達到程式代碼執行。 其中一個範例是 WannaCry,它會利用 SMB 通訊協定中先前已修正的弱點,在核心記憶體內傳遞後門。

硬體

裝置型 (類型 I:網路卡、硬碟) :硬碟和網路卡等裝置需要晶片組和專用軟體才能運作。 位於裝置晶元組中並執行的軟體稱為韌體。 雖然是複雜的工作,但韌體可能會受到惡意代碼感染。

CPU 型 (類型 I) :新式 CPU 很複雜,可能包含執行韌體以供管理之用的子系統。 這類韌體可能會容易遭到劫持,並允許執行會從 CPU 內運作的惡意代碼。 在 2017 年 12 月,兩位研究人員回報了一個弱點,可讓攻擊者在管理引擎內執行程式碼 , (ME) 出現在 Intel 的任何新式 CPU 中。 同時,觀察到攻擊者群組的 INVISIBLE 能夠使用 Intel 的 Active Management Technology (AMT) 來執行 不可見的網路通訊,而略過已安裝的操作系統。 ME 和 AMT 基本上是位於 CPU 內且在非常低層級運作的自發性微電腦。 因為這些技術的目的是要提供遠端管理性,所以它們可以直接存取硬體、與操作系統無關,而且即使計算機已關閉也可執行。

除了在韌體層級上容易受到攻擊之外,CPU 也可以使用直接插入硬體電路的後門程序來製造。 過去曾研究過此攻擊並證明可能發生此攻擊。 已報告某些 x86 處理器模型包含類似 RISC 的次要內嵌 CPU 核心,可 有效地提供後門,讓一 般應用程式可以透過該後門程式獲得特殊許可權的執行。

USB 型 (類型 I) :各種類型的 USB 裝置都可以使用惡意韌體重新設計,以惡意的方式與操作系統互動。 例如, BadUSB 技術 可讓重新架構的 USB 遊戲桿作為鍵盤,透過按鍵將命令傳送至計算機,或做為可隨時重新導向流量的網路卡。

BIOS 型 (類型 I) :BIOS 是在晶片組內執行的韌體。 它會在電腦開機時執行、初始化硬體,然後將控制權轉移至開機扇區。 BIOS 是一個重要的元件,可在低階運作,並在開機扇區之前執行。 您可以使用惡意代碼重新設計 BIOS 韌體,就像 過去使用 Mebromi rootkit 一樣。

Hypervisor 型 (類型 I) :新式 CPU 提供硬體 Hypervisor 支援,可讓操作系統建立健全的虛擬機。 虛擬機會在受限的模擬環境中執行,理論上並不知道模擬。 接管機器的惡意代碼可能會實作小型 Hypervisor,以將自己隱藏在執行中操作系統的領域之外。 這種惡意代碼在過去已經過分類,最終觀察 真正的 Hypervisor rootkit,但目前已知很少。

執行和插入

檔案型 (類型 III:可執行檔、DLL、LNK 檔案、排程的工作) :這是標準執行向量。 簡單的可執行檔可以啟動為第一階段惡意代碼,以在記憶體中執行額外的承載,或插入其他合法執行的進程。

以宏為基礎的 (類型 III:Office 檔) : VBA 語言 是一種彈性且功能強大的工具,其設計目的是要將編輯工作自動化,並將動態功能新增至檔。 因此,攻擊者可能會濫用它來執行惡意作業,例如譯碼、執行或插入可執行承載,或甚至實作整個勒索軟體,例如 qkG 的情況。 宏會在 Office 進程的內容中執行, (例如,Winword.exe) 並以腳本語言實作。 防病毒軟體沒有可檢查的二進位可執行檔。 雖然 Office 應用程式需要用戶明確同意才能從檔執行宏,但攻擊者會使用社交工程技術來誘騙使用者允許宏執行。

腳本型 (類型 II:檔案、服務、登錄、WMI 存放庫、殼層) :依預設,Windows 平臺上會提供 JavaScript、VBScript 和 PowerShell 腳本語言。 腳本與宏具有相同的優點,它們是文字檔案, (不是二進位可執行檔) ,並且在解釋器 (的內容中執行,例如 wscript.exe、powershell.exe) ,這是乾淨且合法的元件。 腳本是多功能的,可以從檔案 (執行,方法是按兩下它們) 或直接在解釋器的命令行上執行。 在命令行上執行可讓惡意代碼將惡意腳本編碼為自動啟動登錄 機碼 內的服務,作為 WMI存放庫中的WMI事件訂 用帳戶。 此外,取得受感染計算機存取權的攻擊者可能會在命令提示字元上輸入腳本。

磁碟型 (類型II:開機記錄) :開機記錄是磁碟或磁碟區的第一個扇區,並包含啟動作業系統開機程式所需的可執行程序代碼。 Petya 之類的威脅可藉由使用惡意代碼覆寫開機記錄來感染它。 當機器開機時,惡意代碼會立即取得控制權。 開機記錄位於文件系統外部,但操作系統可以存取它。 新式防病毒軟體產品能夠掃描和還原它。

破壞無檔案惡意代碼

在 Microsoft,我們會主動監視安全性環境,以識別新的威脅趨勢,並開發解決方案來降低威脅類別。 我們會檢測可有效抵禦各種威脅的持久保護。 透過反惡意代碼掃描介面 (AMSI) 、行為監視、記憶體掃描和開機扇區保護,適用於端點的 Microsoft Defender 可以檢查無檔案威脅,即使混淆過重也一樣。 雲端中的機器學習技術可讓我們針對新的和新興的威脅調整這些保護。

若要深入瞭解,請參閱: 看不見但看不見:使用行為監視、AMSI 和下一代防 V 來破壞無檔案惡意代碼

其他資源和資訊

瞭解如何跨 Microsoft 365 E5 部署威脅防護功能