在網(wǎng)絡(luò)威脅無處不在,且對于數(shù)據(jù)中心的攻擊日益猖獗的時代,安全保障已成為每臺機(jī)器保護(hù)用戶數(shù)據(jù)的必要條件。但是,許多安全產(chǎn)品無法有效地防御惡意軟件。此外,基于軟件的安全保障會消耗本應(yīng)分配給用戶業(yè)務(wù)的計(jì)算和內(nèi)存資源。
NVIDIA BlueField 智能網(wǎng)卡是一個先進(jìn)的、可編程的以太網(wǎng)智能網(wǎng)卡,配備一系列 Arm 處理器核并集成了 NVIDIA ConnectX-5 網(wǎng)絡(luò)控制器。它解決了數(shù)據(jù)中心的安全保障,同時讓用戶獲得了應(yīng)得的計(jì)算資源。
BlueField SoC 是智能網(wǎng)卡的核心,它在與潛在惡意軟件不同且隔離的可信域中運(yùn)行帶外安全軟件。由于安全軟件運(yùn)行在智能網(wǎng)卡的 Arm 核上,因此所有主機(jī)的計(jì)算資源均可留給用戶。在這個隔離環(huán)境中,智能網(wǎng)卡可以安全地訪問應(yīng)用程序的數(shù)據(jù)來進(jìn)行自檢,同時避免惡意軟件篡改數(shù)據(jù),不會保留關(guān)于訪問時間和訪問數(shù)據(jù)的足跡。這項(xiàng)創(chuàng)新設(shè)計(jì)助力 BlueField 成為惡意軟件檢測和取證調(diào)查的出色解決方案。
惡意軟件是惡性、隱蔽的。它可以使用隱藏技術(shù),避免被傳統(tǒng)軟件安全解決方案檢測到。這是因?yàn)橥ǔS糜跈z測惡意軟件的數(shù)據(jù)本身就有問題。通常情況下,安全解決方案有數(shù)據(jù)采集階段,在此階段數(shù)據(jù)用于了解惡意軟件的活動。在傳統(tǒng)方法中,用于數(shù)據(jù)采集的軟件運(yùn)行在同一臺被檢查的機(jī)器上。如果惡意軟件篡改了將要用于檢測的數(shù)據(jù),則可能無法確定是否入侵。躲避觀察工具(例如,用于發(fā)現(xiàn)異常現(xiàn)象 [IOC – Indications Of Compromise] 的檢測軟件)的技術(shù)稱為反取證技術(shù)。惡意軟件可以使用相同的技術(shù)避開入侵檢測系統(tǒng) (IDS) 和入侵防御系統(tǒng) (IPS) 的檢測。
對于惡意行為的檢測失敗,可能發(fā)生在整個流程的任意一步。獲取數(shù)據(jù)是非常關(guān)鍵的一步。如果用于檢查的數(shù)據(jù)不可靠,則檢測系統(tǒng)可能找不到任何 IOC,因?yàn)樗械?IOC 標(biāo)志都被惡意軟件隱藏了。從數(shù)據(jù)的獲取方法到定義信任的級別,都有許多待解答的問題:如安全 IDS/IPS 應(yīng)用程序如何獲取數(shù)據(jù)?惡意軟件能否篡改 IDS 獲取的數(shù)據(jù)?
用于獲取數(shù)據(jù)的技術(shù)有很多,而且用于分析的數(shù)據(jù)也有多種類型。在本文中,我將簡單介紹一些常見的數(shù)據(jù)獲取方法和數(shù)據(jù)類型,以及它們之間的關(guān)系及其缺點(diǎn)。
反惡意軟件掃描工具
反惡意軟件用于我們要長久存儲的文件,也稱為靜態(tài)數(shù)據(jù)。我們可以在同一臺計(jì)算機(jī)上運(yùn)行反惡意軟件來對磁盤進(jìn)行分析,或從外部在另一臺不相關(guān)的機(jī)器上進(jìn)行分析。當(dāng)從外部對未加密的磁盤進(jìn)行分析時,有可能來構(gòu)建文件系統(tǒng)樹并掃描磁盤以尋找已知的 IOC。例如,通過掃描磁盤中的某個文件,可以對這個文件進(jìn)行重構(gòu),并計(jì)算出一個哈希值。接著,利用不同的在線資源幫助我們來根據(jù)哈希值判斷其相關(guān)的文件是否惡意。但是,如果惡意軟件沒有存在硬盤上,則它在文件系統(tǒng)上可能沒有任何痕跡,導(dǎo)致反惡意軟件掃描技術(shù)無法檢測到受攻擊系統(tǒng)。
網(wǎng)絡(luò)入侵檢測系統(tǒng)
大多數(shù)攻擊都會在網(wǎng)絡(luò)上留下一些痕跡。例如,從主機(jī)中竊取機(jī)密并將其發(fā)送給遠(yuǎn)程攻擊者的場景。檢測此類事件可以判斷出哪個 IP 地址可能執(zhí)行了攻擊及其攻擊目標(biāo)。如今,大多數(shù) IDS 和 IPS 解決方案通過觀察網(wǎng)絡(luò)來發(fā)現(xiàn)惡意行為。網(wǎng)絡(luò)數(shù)據(jù)可以通過本機(jī)在本地收集,也可以從外部(例如,使用智能網(wǎng)卡或交換機(jī))收集。
內(nèi)存分析
運(yùn)行時數(shù)據(jù)為您提供了更好的關(guān)于系統(tǒng)的可見性。通常通過兩種方法來獲取數(shù)據(jù):侵入操作系統(tǒng)和不侵入操作系統(tǒng)。侵入方式是指一個授權(quán)的軟件可以關(guān)聯(lián)的操作系統(tǒng)中相關(guān)功能的事件和開關(guān)。例如,打開或關(guān)閉文件/ Socket 的事件將觸發(fā)收集關(guān)于哪個文件或Socket被打開或關(guān)閉,以及何時被打開和關(guān)閉的數(shù)據(jù)。
另一個例子是派生一個新進(jìn)程。偵測軟件使用派生進(jìn)程開關(guān)和執(zhí)行新進(jìn)程的方法來檢測惡意行為。例如,它可以幫助解答新進(jìn)程是否為惡意軟件。正在運(yùn)行的進(jìn)程應(yīng)該會派生新進(jìn)程嗎?高級的惡意軟件有可能操控這些關(guān)聯(lián)機(jī)制。
惡意軟件檢測
理想情況下,您想要從磁盤、網(wǎng)絡(luò)和內(nèi)存三個地方來收集能反映系統(tǒng)狀態(tài)和行為狀態(tài)的數(shù)據(jù)。
大多數(shù)檢測技術(shù)都從網(wǎng)絡(luò)或磁盤來檢測 IOC。遺憾的是,此方法不足以應(yīng)對現(xiàn)代惡意軟件的挑戰(zhàn)。研究人員指出,現(xiàn)代惡意軟件“詭計(jì)多端”,并且攻擊手段變得越來越高明。
例如,一些惡意軟件可以在攻擊系統(tǒng)而不再磁盤上留下任何痕跡,從而防止那些基于磁盤的檢測技術(shù)發(fā)現(xiàn)其蹤跡和惡意行為。通過網(wǎng)絡(luò)進(jìn)行攻擊的惡意軟件就無法完全隱藏。但是,雖然網(wǎng)絡(luò)流量中可能包含許多受攻擊標(biāo)志,但在很多時候,這些網(wǎng)絡(luò)流量是無狀態(tài)的、而且數(shù)量龐大、隨機(jī)性強(qiáng)且復(fù)雜難分析。即使發(fā)現(xiàn)了 IOC,也很難分析出惡意軟件影響到了哪些行為。要了解惡意軟件的行為和網(wǎng)絡(luò)流量包含的正確信息,您需要更深入地分析運(yùn)行時環(huán)境。
要獲得惡意軟件活動的 “X 光”視圖,您需要在執(zhí)行過程中采集數(shù)據(jù)。通過運(yùn)行時數(shù)據(jù),可以更好地洞察事件和操作,例如正在運(yùn)行的進(jìn)程、網(wǎng)絡(luò)連接以及操作系統(tǒng)提供的各種初始值。透過運(yùn)行時數(shù)據(jù),可以更好地了解惡意軟件的行為;因此,檢測軟件可以更準(zhǔn)確地識別惡意活動。
采集此類數(shù)據(jù)具有挑戰(zhàn)性。基于軟件的解決方案會產(chǎn)生觀察者效應(yīng),因?yàn)閻阂廛浖?IDS 均在同一域運(yùn)行并共享相同的資源。惡意軟件就可能操控 IDS 用于獲取數(shù)據(jù)的Hook和函數(shù),從而導(dǎo)致數(shù)據(jù)的不可靠和受損。與其使用可能會被惡意軟件更改的Hook和函數(shù),不如使用安全的方法從主機(jī)的物理內(nèi)存(即系統(tǒng)的運(yùn)行時執(zhí)行的地方)中獲取裸數(shù)據(jù)(Raw Data)。假設(shè)存在一種防篡改方法,可從主機(jī)的物理內(nèi)存采集裸數(shù)據(jù)(Raw Data),則可以重建系統(tǒng)狀態(tài)。這包括內(nèi)核內(nèi)存、代碼和用戶態(tài)環(huán)境。
從原始內(nèi)存(Raw Memory )的Dump中構(gòu)建的數(shù)據(jù)可以提供一個抽象來檢查和檢測攻擊。如果發(fā)生攻擊,無論是注入代碼、操控進(jìn)程內(nèi)存、派生新進(jìn)程,還是為遠(yuǎn)程攻擊者打開一個新網(wǎng)絡(luò)連接,都會表現(xiàn)為物理內(nèi)存的變更。影響越大,內(nèi)存中的失真現(xiàn)象越嚴(yán)重。
大部分的取證調(diào)查信息既包括網(wǎng)絡(luò)數(shù)據(jù),也包括主機(jī)物理內(nèi)存中的數(shù)據(jù)。這種組合可以構(gòu)建準(zhǔn)確的系統(tǒng)狀態(tài)副本。本文討論一種新穎提案,就是對于主機(jī)物理內(nèi)存的可靠數(shù)據(jù)獲取。
帶外惡意軟件檢測
為檢測和分析惡意軟件,帶外設(shè)備會不定時地訪問和采集數(shù)據(jù)。得益于現(xiàn)代計(jì)算機(jī)架構(gòu)以及 PCI Express (PCIe) 設(shè)備訪問主機(jī)物理內(nèi)存的方式,基于硬件的數(shù)據(jù)采集方法被視為更加可靠且值得信賴的惡意軟件檢測方法。在大多數(shù)情況下,通過 PCIe 協(xié)議時,外圍設(shè)備可以直接訪問內(nèi)存 (DMA) ,并對主機(jī)物理內(nèi)存進(jìn)行讀寫操作,而不會對主機(jī)上運(yùn)行的軟件(包括惡意軟件)產(chǎn)生副作用。在一張PCIe卡上通過 PCIe 接口,能以每通道 8 Gbps (Gen3) 或 16 Gbps (Gen4) 的速度向主機(jī)物理內(nèi)存進(jìn)行讀寫操作。
圖 1.入侵檢測系統(tǒng)使用 PCIe 接口從主機(jī)物理內(nèi)存讀取數(shù)據(jù)。
主機(jī)物理內(nèi)存被分割為多個區(qū)域,在啟動時被映射到系統(tǒng) RAM、IO 空間和 ROM等。大多數(shù)情況下,惡意軟件攻擊的數(shù)據(jù)和位置在系統(tǒng)的 RAM區(qū)域,這正是內(nèi)核和惡意軟件的活動的地方。在數(shù)據(jù)采集時,采集設(shè)備會通過讀內(nèi)存指令來獲得 RAM 區(qū)域的物理頁面。圖 2 顯示的是運(yùn)行在 Linux Ubuntu 16.04 上的計(jì)算機(jī)的內(nèi)存映射
圖 2.IDS 所用的基于Ubuntu的主機(jī)內(nèi)存映射。
該操作從 PCIe 卡上通過 PCIe 鏈路到達(dá)內(nèi)存控制器,進(jìn)而訪問物理內(nèi)存的權(quán)限。如圖 1 所示,該操作不涉及主機(jī)上運(yùn)行的軟件,而是通過了一條惡意軟件中不知道的路徑。與基于軟件的解決方案不同,這個方案不會在受檢查的主機(jī)上運(yùn)行任何新軟件,因此不會違反取證要求。
下一步就是要確保可以分析常數(shù)。例如,訪問主機(jī)物理內(nèi)存中的兩個頁面,其中一個頁面指向另一個頁面。如果被指向的頁面改變了它的物理地址,那么數(shù)據(jù)采集工具會讀到內(nèi)存中的錯誤頁面。這是對于任何采集物理內(nèi)存的工具(無論是基于硬件的還是基于軟件的采集工具)都存在的風(fēng)險(xiǎn)。采集內(nèi)存的時間越長,存在不一致性的可能性就越高。采集時間越短,可能發(fā)生的變化就越少,獲得可靠數(shù)據(jù)的可能性就越高。
再次,基于硬件的方法以其超快的速度和更高的效率超越了相應(yīng)的軟件實(shí)現(xiàn)。例如,使用軟件工具從RAM采集 64GB的數(shù)據(jù)可能需要數(shù)分鐘的時間。當(dāng)使用 Gen4 速率的PCIe 卡時,數(shù)據(jù)采集速度可達(dá)每通道 16 Gbps。如果設(shè)備通過 16 個 PCIe 通道連接到主機(jī),在 Gen4速度下,數(shù)據(jù)采集速度就達(dá)到了 32 GB/s。
用于惡意軟件檢測的 BlueField 智能網(wǎng)卡
我的團(tuán)隊(duì)調(diào)研了 BlueField 智能網(wǎng)卡是否適用于實(shí)時內(nèi)存取證。在研究中,我們使用了一種八個PCIe通道的 BlueField 智能網(wǎng)卡。采用了 Volatility 內(nèi)存(Volatility Memory)取證框架,并將其擴(kuò)展為支持通過 BlueField 智能網(wǎng)卡進(jìn)行實(shí)時內(nèi)存取證。Volatility 內(nèi)存取證框架是一個惡意軟件研究人員、取證調(diào)查人員和事件響應(yīng)人員常用的知名開源框架,可以操作內(nèi)存鏡像文件。
Volatility 使用 Python 應(yīng)用程序 (vol.py),提取進(jìn)程列表、網(wǎng)絡(luò)連接和內(nèi)核模塊等信息,以幫助取證人員了解惡意軟件的痕跡及其行為。該框架允許開發(fā)人員和調(diào)查人員通過查看內(nèi)存的Dump文件對主機(jī)進(jìn)行分析。我的團(tuán)隊(duì)將其擴(kuò)展到了使用 BlueField 智能網(wǎng)卡的 Arm 處理器來運(yùn)行該 Volatility 框架,對主機(jī)物理內(nèi)存中的惡意軟件進(jìn)行分析。這樣一來,可以按需采集物理內(nèi)存分段,進(jìn)行實(shí)時內(nèi)存分析。Volatility 在正常情況下處理內(nèi)存文件時,有時可達(dá) 64 GB 和 128 GB。擴(kuò)展程序允許采集特定用途(例如構(gòu)建進(jìn)程列表)所需的精選數(shù)據(jù)。
新 Volatility 插件連接到內(nèi)存訪問 SDK,允許使用 BlueField的 DMA 功能。該 SDK 提供不同的內(nèi)存訪問方式,允許快速訪問內(nèi)存并降低數(shù)據(jù)采集時的延遲。BlueField 智能網(wǎng)卡板載內(nèi)存允許從主機(jī)物理內(nèi)存復(fù)制數(shù)據(jù),然后使用 Arm 核進(jìn)行本地分析,而無需擔(dān)心主機(jī)是否會修改這些數(shù)據(jù)。以下視頻展示了 BlueField Arm 處理器運(yùn)行的 Volatility 框架。
總結(jié)
攻擊變得越來越隱蔽、復(fù)雜,而當(dāng)前的檢測和預(yù)防技術(shù)難以與之抗衡。硬件輔助的數(shù)據(jù)采集被視為采集數(shù)據(jù)以進(jìn)行分析的最可靠、最值得信賴的方法。BlueField 支持硬件輔助的內(nèi)存采集,可以您的服務(wù)器更安全。它支持帶外入侵檢測和取證調(diào)查。獲得授權(quán)后,它可以快速訪問主機(jī)物理內(nèi)存,并將安全應(yīng)用程序(例如 IDS)保護(hù)在一個隔離的環(huán)境中。BlueField 對取證調(diào)查、事件響應(yīng)、惡意軟件檢測和入侵檢測系統(tǒng)頗有助益。
審核編輯:郭婷
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9415瀏覽量
86466 -
數(shù)據(jù)中心
+關(guān)注
關(guān)注
16文章
4951瀏覽量
72658 -
SDK
+關(guān)注
關(guān)注
3文章
1050瀏覽量
46641
發(fā)布評論請先 登錄
相關(guān)推薦
NVIDIA網(wǎng)絡(luò)安全AI平臺助力保護(hù)關(guān)鍵基礎(chǔ)設(shè)施
深度防御策略:構(gòu)建USB安全防線的五大核心層次
利用NVIDIA DPF引領(lǐng)DPU加速云計(jì)算的未來

在NVIDIA BlueField-3 DPU上運(yùn)行WEKA客戶端的實(shí)際優(yōu)勢

NVIDIA DOCA-OFED的主要特性
IDS、IPS與網(wǎng)安防御
簡單認(rèn)識NVIDIA網(wǎng)絡(luò)平臺
IaaS+on+DPU(IoD)+下一代高性能算力底座技術(shù)白皮書
NVIDIA BlueField-3 DPU助力思科提高工作負(fù)載安全性和運(yùn)營效率
NVIDIA 通過 Holoscan 為 NVIDIA IGX 提供企業(yè)軟件支持
借助NVIDIA DOCA 2.7增強(qiáng)AI 云數(shù)據(jù)中心和NVIDIA Spectrum-X
NVIDIA DPU編程入門開課儀式在澳門科技大學(xué)成功舉辦
Nvidia的AI芯片路線圖分析與解讀

NVIDIA 發(fā)布全新交換機(jī),全面優(yōu)化萬億參數(shù)級 GPU 計(jì)算和 AI 基礎(chǔ)設(shè)施

評論