使用 NVIDIA BlueField DPU 偵測頻外惡意程式

作者 NVIDIA Developer

在網路威脅無所不在及資料中心攻擊不斷增加的時代,安全性已成為所有保護使用者資料之電腦應包含的基本要素。但是,許多資安產品在面對惡意程式時毫無招架之力。此外,以軟體為基礎的安全性消耗,應分配給使用者的運算和記憶體資源。

NVIDIA BlueField SmartNIC 是先進、可程式化的乙太網路 SmartNIC,配備了大量的 Arm 處理器核心以及整合式 NVIDIA ConnectX-5 網路控制器。它可以解決保護資料中心的問題,同時讓使用者能夠享受應有的運算資源。

SmartNIC 核心的 BlueField SoC 是在與潛在惡意程式不同,且隔離的受信任網域中執行頻外安全性軟體。由於安全性軟體是在 SmartNIC Arm 核心上執行,因此使用者可以運用所有的伺服器運算資源。SmartNIC 可以利用隔離環境安全地存取應用程式資料,以進行自我檢查,同時可避免惡意程式竄改資料,而不留下存取資料之時間及資料類型的足跡。此創新設計使 BlueField 成為惡意程式偵測和鑑識調查的最佳解決方案。

惡意程式惡毒及隱密。它可以採用隱藏技術,避免被傳統的軟體資安產品偵測到。因為通常偵測惡意程式的資料都存在固有問題。通常,安全性解決方案會在資料收集階段,使用資料瞭解惡意程式的活動。在傳統方法中,資料收集階段是以在被檢查之電腦上執行的軟體為基礎。如果惡意程式竄改其試圖偵測的資料,則可能會無法確定入侵。隱藏而不被觀察者,例如尋找入侵跡象(IOC)的偵測軟體,稱為反鑑識技術。惡意程式可以採用相同的技術,避免被入侵偵測系統(IDS)和入侵預防系統(IPS)偵測到。

無法偵測惡意活動,可能會發生在處理序的任何步驟。關鍵要素是資料擷取。如果用於檢查的資料不可靠,則偵測系統可能會找不到任何 IOC,因為惡意程式隱藏了所有的 IOC 跡象。針對用來確定信任層級的資料擷取方法,可以提出許多問題:安全性 IDS/IPS 應用程式如何擷取資料?惡意程式是否可以竄改 IDS 擷取的資料?

有多種用於擷取資料的技術,以及多種用於分析用途的資料。本文章簡要介紹了主要方法,以及與各種方法有關的資料類型和缺點。

防惡意程式掃描器

防惡意程式軟體對於永久儲存的檔案(又稱為靜態資料)有效。可以透過在同一部電腦上執行的防惡意程式軟體分析磁碟,或透過未遭入侵的另一部電腦從外部進行分析。當從外部分析,且磁碟未加密時,可以建立檔案系統樹狀結構,並掃描磁碟是否有已知的 IOC。例如,掃描磁碟中的檔案,即可重建檔案,以計算雜湊值。如果根據雜湊值判定檔案為惡意檔案時,則各種線上資源皆可提供資訊。但是,如果惡意程式未儲存在硬碟上,可能不會在檔案系統上留下任何足跡,因此,防惡意程式掃描器技術將無法偵測到系統已被入侵。

網路入侵偵測系統

大多數攻擊都會在網路上留下一些足跡。以從主機電腦竊取機密,並傳送給遠端攻擊者的情況為範例。偵測此類事件,可以判斷執行攻擊的 IP 位址及其目標。現在,大多數 IDS 和 IPS 解決方案都會觀察網路上是否有惡意活動。可由同一部電腦在近端或從外部(例如使用 SmartNIC 或交換器)收集網路資料。

記憶體分析

執行階段資料提供了最佳的系統可見性,且有兩種擷取此類資料的方法:對作業系統具侵入性或不具侵入性。侵入性選項是指一種可以透過作業系統中的功能,掛鉤至事件及觸發的特殊權限軟體。例如,開啟或關閉檔案/通訊端的事件,將會觸發資料收集,以確定開啟或關閉哪一個檔案或通訊端,以及何時開啟或關閉。

另一個範例是分支出新處理序。偵測軟體是利用分支觸發器和執行新處理序,偵測惡意活動。例如,它可以協助判斷新處理序是否為惡意程式。正在執行的處理序是否會分支出新處理序?精密的惡意程式可以操縱這些勾點。

惡意程式偵測

在理想的情況下,應從三個主要來源收集可反映系統狀態和當下活動的資料:磁碟、網路和記憶體。

大多數偵測技術都是使用網路或磁碟方法偵測 IOC。可惜,不足以應對現代惡意程式的挑戰。研究人員指出,現代惡意程式有許多花招,且標準不斷提高。

例如,某些惡意程式可以攻擊系統,而不在磁碟上產生任何足跡,以隱藏其存在和惡意活動,不被以磁碟為基礎的偵測技術發現。使用網路運作的惡意程式無法完全隱藏。但是,雖然網路流量可能包含許多入侵跡象,在許多情況下,流量卻都無狀態、過大、隨機與複雜。即使發現 IOC,也無法分析惡意程式的行為。想要瞭解惡意程式的行為及解讀網路流量,必須仔細檢視執行階段環境。

想要透視惡意程式的活動,必須在執行期間擷取資料。執行階段資料可以提供更佳的事件和操作可見性,例如正在執行的處理序、網路連線,以及作業系統提供的不同基元。執行階段資料可以深入瞭解惡意程式的行為,因此,偵測軟體可以更準確地識別惡意活動。

擷取此類資料極具挑戰性。以軟體為基礎的解決方案會產生觀察者效應,因為惡意程式和 IDS 是在相同的網域上執行,並共用相同的資源。惡意程式可以操縱 IDS 擷取資料的勾點和功能,而導致資料不可靠和外洩。理想的替代方案是使用安全的方法,從主機的實體記憶體(系統的執行階段執行環境)中取得原始資料,而不是使用容易被惡意程式修改的勾點和功能。假設存有可以從主機的實體記憶體擷取原始資料的防竄改方法,則能重建系統狀態。其中包括核心記憶體和程式碼以及使用者空間環境。

從原始記憶體傾印中建立的資料提供了抽象化,以檢查和偵測攻擊。如果發生攻擊,無論是注入程式碼、操縱處理序記憶體、分支出新處理序,或與遠端攻擊者建立新的網路連線,都會表現為實體記憶體變化。影響越大,留在記憶體中的成品越多。

大多數鑑識調查都包含來自網路的資料,以及來自主機實體記憶體的資料。此組合可以建立準確的系統狀態複本。本文章探討了能可靠擷取主機實體記憶體資料的創新提議。

頻外惡意程式偵測

為了偵測和分析惡意程式,頻外裝置會在不提供存取發生時間指示的情況下擷取資料。現代電腦架構以及 PCI Express(PCIe)裝置存取主機實體記憶體的方式中,以硬體為基礎的資料擷取方法,被視為最可靠及最受信任的惡意程式偵測方法。在大多數情況下,周邊裝置具有直接記憶體存取(DMA)功能,可以利用 PCIe 協定讀寫主機實體記憶體,而不會對於在主機電腦上執行的任何軟體產生副作用,包括惡意程式。在附加卡上使用 PCIe 介面時,將能以每通道 8 Gbps(Gen3)或 16 Gbps(Gen4)的速率,發送記憶體讀取和記憶體寫入交易至主機實體記憶體。

1:使用 PCIe 介面從主機實體記憶體讀取資料的入侵偵測系統。

主機實體記憶體分成多個可在啟動期間進行對映的區域,包括系統 RAM、IO 空間和 ROM。在大多數情況下,惡意程式攻擊的資料和區域是位於核心和存在惡意程式的系統 RAM 中。在資料擷取方面,擷取裝置會發送記憶體讀取交易,以擷取 RAM 區域的實體分頁。圖 2 所示為執行 Linux Ubuntu 16.04 之電腦的記憶體對映。

2IDS 使用之 Ubuntu 主機電腦的記憶體對映。

交易是從 PCIe 附加卡,經由 PCIe 鏈路移動至記憶體控制器,進而提供存取實體記憶體。如圖 1 所示為不涉及在主機上執行的軟體,而是遵循隱藏惡意程式的路徑。這種解決方案與以軟體為基礎的解決方案不同,不會在被調查的主機電腦上執行任何新軟體,而違反鑑識要求。

接下來是確保可被分析的常數資料。例如,假設存取了主機實體記憶體中的兩個分頁,其中一頁指向另一頁。如果指向的分頁變更了實體位址,則資料擷取工具將會讀取記憶體中的錯誤分頁。任何擷取實體記憶體的工具都存有此風險,無論以硬體或軟體為基礎的擷取工具。擷取記憶體的時間越長,不一致的可能性就越高。擷取時間越短,發生的變更也越少,即可提高獲得可靠資料的可能性。

同樣地,以硬體為基礎之方法,因優異的速度和更高的效率而優於軟體方法。例如,使用軟體工具擷取 64 GB 的 RAM 可能需要幾分鐘的時間。使用以 Gen4 速率運作的 PCIe 附加卡時,將會以每通道 16 Gbps 的速度擷取資料。使用 Gen4 時,具有 16 個連接至主機電腦之 PCIe 通道的裝置,能以 32 GB/s 的速度擷取資料。

BlueField SmartNIC 用於偵測惡意程式

我的團隊調查了 BlueField SmartNIC 對於即時記憶體鑑識的適用性。我們使用具有八個通道的 BlueField SmartNIC 變體進行調查。我們在使用揮發性記憶體鑑識框架時,延伸了框架,以支援從 BlueField SmartNIC 進行即時記憶體鑑識。揮發性記憶體鑑識框架是惡意程式研究人員、鑑識調查人員和事件應變人員使用的著名開放原始碼框架,可以與記憶體映像檔案搭配使用。

揮發性使用 Python 應用程式(vol.py),擷取處理序清單、網路連線、核心模組等資訊,以協助鑑識調查人員瞭解惡意程式的足跡及行為。該框架可以讓開發人員和調查人員檢視記憶體傾印,以分析主機電腦。 我的團隊開發出新的擴充功能,可以使用在 BlueField SmartNIC Arm 核心上執行的揮發性框架,分析主機實體記憶體中的惡意程式。它可以隨需擷取實體記憶體的區段,以進行即時記憶體分析。揮發性的正常模式可以與有時候可能會達到 64 GB 和 128 GB 的記憶體檔案搭配使用。擴充功能可以擷取特定目的(例如建立處理序清單)需要的資料。

新的揮發性外掛程式會連線至允許使用 BlueField DMA 功能的記憶體存取 SDK。SDK 提供不同的記憶體存取方式,可以快速存取記憶體,並在擷取資料時降低延遲。BlueField SmartNIC 內建記憶體可以從主機實體記憶體複製資料,並使用 Arm 核心,在近端進行分析,而無須擔心資料遭到主機修改。

總結

目前之偵測和預防技術的能力,已遠遠落後於變得越來越隱密和複雜的攻擊。硬體輔助資料擷取可以擷取資料,以進行分析,已被視為最可靠及最受信任的方法。BlueField 可以進行硬體輔助記憶體擷取,保護現今的伺服器。其可在頻外進行入侵偵測和鑑識調查。在獲得授權之後,可以快速存取主機實體記憶體,同時可在隔離環境中保護安全性應用程式,例如 IDS。BlueField 有利於進行鑑識調查、事件應變、惡意程式偵測和入侵偵測系統。