国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

惡意代碼動態(tài)分析中的反虛擬化問題研究①

2019-01-07 02:40莫建平應凌云蘇璞睿王嘉捷
計算機系統(tǒng)應用 2018年12期
關鍵詞:進程虛擬化樣本

莫建平,應凌云,蘇璞睿,王嘉捷

1(中國科學院 軟件研究所,北京 100190)

2(中國科學院大學,北京 100049)

3(中國信息安全測評中心,北京 100085)

動態(tài)分析具有不受加殼、混淆等代碼保護技術影響的優(yōu)點,是分析新惡意代碼的首選方法.動態(tài)分析通常在虛擬環(huán)境中運行樣本,利用監(jiān)控模塊提取樣本的進程、內存、文件、注冊表、網絡等行為數(shù)據(jù),通過對這些行為數(shù)據(jù)的匯總分析來推斷樣本的功能和惡意性.反虛擬化是造成動態(tài)分析系統(tǒng)無法獲取樣本全部行為數(shù)據(jù)的重要因素.樣本在檢測到運行在虛擬環(huán)境后,隱藏惡意行為或直接退出,導致動態(tài)分析系統(tǒng)只能獲取樣本的部分行為數(shù)據(jù),影響動態(tài)分析的準確性.本文將對現(xiàn)有的針對惡意代碼動態(tài)分析的反虛擬化技術進行調研,并提出系統(tǒng)的反虛擬化對抗方案,接著將反虛擬化對抗應用到已有的基于QEMU的動態(tài)分析系統(tǒng)上,通過實驗驗證了反虛擬化對抗有效性.

本文的組織結構如下,第一節(jié)介紹現(xiàn)有的反虛擬化對抗方法并指出其存在的不足,第二節(jié)對目前的反虛擬化方法進行分類闡述,接著第三節(jié)介紹如何對抗這些反虛擬化方法,第四節(jié)將反虛擬化對抗應用到已有的惡意代碼動態(tài)分析系統(tǒng),并通過實驗驗證對抗的有效性,最后第五節(jié)是全文的總結和展望.

1 反虛擬化對抗現(xiàn)狀

針對樣本的反虛擬化問題,目前提出的解決思路主要有兩種.一是構建更難被檢測,更透明的分析系統(tǒng).如基于硬件虛擬化技術實現(xiàn)的動態(tài)分析系統(tǒng)Ether[1],V2E[2],基于真實硬件(bare-metal)的BareBox[3],BareCloud[4]和LO-PHIL[5]都試圖通過增加分析系統(tǒng)的透明性對抗反虛擬化檢測.但是Thomas Raffetseder[6]等人指出硬件虛擬化技術能被檢測出來,基于baremetal的方法則代價高昂,難以大規(guī)模應用,并且由于缺乏對樣本執(zhí)行的細粒度監(jiān)控,容易受到樣本的拖延技術(樣本通過睡眠,空操作等方式使動態(tài)分析超時的技術)的影響.

二是識別樣本對虛擬環(huán)境的檢測手段并繞過檢測.如Cobra[7]使用二進制翻譯來監(jiān)控每個基本塊的執(zhí)行,通過替換掉所有可能的針對Cobra的檢測指令來繞過樣本反虛擬化檢查,但是Cobra使用細粒度的二進制插樁,性能下降明顯.而Balzarotti[8]等人在虛擬分析環(huán)境上重放參考主機(物理主機)上的執(zhí)行記錄,通過比較樣本在兩次執(zhí)行中的差異來發(fā)現(xiàn)樣本對虛擬環(huán)境的檢測方法.

動態(tài)分析環(huán)境包括主機環(huán)境,網絡環(huán)境和用戶交互環(huán)境三個方面,僅僅考慮主機環(huán)境的反虛擬化對抗是不夠的,樣本可以通過對網絡環(huán)境或用戶交互的探測進行反虛擬化.

2 反虛擬化方法概述

樣本的反虛擬化基于模擬分析環(huán)境和真實環(huán)境的差異進行,這樣的差異可以分為主機環(huán)境差異,網絡環(huán)境差異和用戶交互環(huán)境差異三個方面.

2.1 基于主機環(huán)境差異的反虛擬化方法

動態(tài)分析系統(tǒng)主機環(huán)境的構建主要有基于硬件模擬器 (如 Bochs,QEMU),基于硬件虛擬化 (如VirtualBox,VMware),基于虛擬機監(jiān)視器 (又稱hypervisor,如 Xen,VMware ESXi)和基于真實硬件四類.現(xiàn)有針對主機環(huán)境差異的虛擬化檢測方法主要包括基于硬件特征的檢測方法和基于系統(tǒng)特征的檢測方法兩類.

硬件特征主要包括CPU、內存、硬盤驅動器、CD/DVD驅動器、BIOS、ACPI、顯卡和網卡幾類.表1對這些檢測方法進行了總結.表中列出了針對每類特征的各個檢測項并舉例說明,注釋部分對檢測項或例子做出了說明.比如針對內存大小的檢測項,動態(tài)分析系統(tǒng)由于考慮到資源的消耗和分析的并行度,一般會分配給虛擬機較小的內存,如1 GB.

表1 基于硬件特征的反虛擬化方法

CPU個數(shù)和核數(shù),內存大小,硬盤大小等特征為通用的反虛擬化特征,對所有類型的虛擬化平臺都適用.其它硬件特征則是虛擬化平臺相關的,不同的虛擬化平臺含有不同的特征值,同一虛擬化平臺的不同版本的特征值可能也不一樣.基于真實硬件的主機環(huán)境由于使用真實的硬件,并且一般CPU為多個或為多核,內存和硬盤空間比較大,因而不包含用于反虛擬化的硬件特征.

基于系統(tǒng)特征的檢測方法可以分為兩類:一是查找系統(tǒng)進程列表,文件,注冊表,服務列表等是否含有模擬器相關的特征字符串.二是基于時間的檢測方法,包括檢測系統(tǒng)啟動時間,通過比較在真實系統(tǒng)和虛擬機上執(zhí)行特定代碼或任務的絕對或相對時間差來探測虛擬機的存在.

虛擬化平臺為了實現(xiàn)虛擬化的功能或增加平臺的易用性,需要向guest引入必要的組件,如設備驅動,DLL文件,EXE文件等,可能還會注冊隨系統(tǒng)啟動的服務或程序,這些組件的信息會在系統(tǒng)安裝或運行過程中保存到注冊表或日志文件中.虛擬化平臺額外引入的這些文件成為反虛擬化利用的特征.這些特征是虛擬化平臺相關的.表2總結了基于系統(tǒng)特征的反虛擬方法.其中進程和服務特征可以通過遍歷進程列表和服務列表進行檢查.

表2 基于系統(tǒng)特征的反虛擬化方法

硬件模擬器需要模擬所有的硬件操作,還需要將guest CPU的代碼動態(tài)翻譯成宿主機CPU的代碼,基于硬件虛擬化或hypervisor的虛擬化平臺雖然減輕了在硬件操作上的模擬壓力,但在性能上還是比相同配置的物理主機要低,這樣的性能差異通過可以測量虛擬機和物理主機運行特定代碼或任務耗時絕對時間差或相對時間差體現(xiàn)出來.絕對時間差是指運行同一代碼或任務,虛擬機和物理機耗時的差值或比值,而相對時間差是指兩段不同代碼或兩個不同任務在虛擬機和物理機上耗時的差值或比值之間的差異.為了增加測量的穩(wěn)定性,通常會循環(huán)執(zhí)行特定代碼或任務多次,取平均值作為測量結果.時間的測定使用rdtsc指令,GetLocalTime,GetTickCount,QueryPerformance-Counter和 QueryPerformanceFrequency 等 API.特定代碼包括cpuid指令,GetProcessHeap和CloseHandle及其它在虛擬機和物理機上執(zhí)行時間有顯著差異的代碼或任務.基于時間的檢測方法為通用的反虛擬化方法,適用于所有虛擬化平臺.

2.2 基于網絡環(huán)境差異的反虛擬化方法

真實網絡的站點和服務程序數(shù)量巨大,而模擬網絡在實現(xiàn)上往往只模擬一個程序和一個站點,這樣的矛盾性導致了基于網絡環(huán)境差異的反虛擬化方法.模擬網絡和真實網絡的差異可以歸納為如下兩個方面:1)性能差異,模擬網絡通常與分析主機處于同一局域網,對請求響應迅速,延時比真實網絡小,2)服務細節(jié)差異,模擬服務往往響應固定模式的消息,和真實服務在細節(jié)方面存在差異,如DNS查詢總是響應相同的IP,HTTP對不同動態(tài)參數(shù)的url響應相同頁面,不同HTTPS站點使用相同的證書等.表3總結了針對常見協(xié)議的反虛擬化方法.其中性能差異的數(shù)據(jù)表示模擬網絡服務的響應速度,括號中數(shù)據(jù)為真實服務的響應速度,測量的是服務成功連接后,一次請求的響應時間.選用國內常見站點作為測試目標.

2.3 基于用戶交互環(huán)境差異的反虛擬方法

惡意代碼動態(tài)分析系統(tǒng)為了提高分析效率,往往采用自動化分析,沒有用戶使用系統(tǒng),因而與有用戶使用的系統(tǒng)存在明顯差異.基于用戶交互環(huán)境差異的檢測方法可以分為用戶使用記錄和用戶交互動作兩類.

表3 常見協(xié)議的反虛擬化方法

用戶使用記錄是指用戶在使用操作系統(tǒng)時留下的用戶痕跡,包括如下幾點:剪切板是否有臨時數(shù)據(jù);常見的軟件是否安裝;是否有一定量的個人數(shù)據(jù),圖片,文檔,音視頻等;是否有近期的瀏覽器歷史記錄;是否具有一定量的用戶登錄記錄,系統(tǒng)日志等.

用戶交互動作主要指鼠標的移動點擊和鍵盤的擊鍵.鍵盤和鼠標是PC機的主要輸入設備,用戶使用系統(tǒng)時會經常進行鼠標和鍵盤的操作,而動態(tài)分析系統(tǒng)由于是自動化分析,故缺乏相關的用戶交互動作.鼠標的位置可以使用 GetCursorPos API獲取,鍵盤擊鍵的可以通過安裝全局hook進行監(jiān)視.表4總結了基于用戶交互環(huán)境差異的反虛擬化方法.

表4 基于用戶交互環(huán)境差異的反虛擬化方法

3 反虛擬化對抗

3.1 對抗基于主機環(huán)境差異的反虛擬化方法

雖然部分特征可以通過定制鏡像或inbox的API hook應對,但是并不徹底.比如注冊表中硬盤相關的字符串,可以通過修改注冊表鍵值移除,但是系統(tǒng)重啟之后,原有的鍵值由于備份的原因仍然會出現(xiàn),而通過inbox的hook注冊表鍵值打開,查詢等API的方式隱藏相關字符串方式,難免對操作系統(tǒng)做出修改,使得隱藏本身引入了新的檢測虛擬環(huán)境的特征.由于QEMU在惡意代碼動態(tài)分析中被廣泛使用,并且是開源的硬件模擬器,便于從源碼移除字符串類型的特征,實現(xiàn)outbox的API hook隱藏系統(tǒng)信息,因此本文選取在QEMU實現(xiàn)對抗基于主機環(huán)境的反虛擬化方法.

從源碼移除硬件特征需要熟悉QEMU啟動流程,通過搜索得到所有可能的硬件特征字符串,然后利用靜態(tài)數(shù)據(jù)流分析,判斷可疑字符串是否為模擬硬件使用,并評估是否可移除或替換,最后重新編譯,測試修改是否有效及是否對系統(tǒng)運行產生負面影響.

對于不便從源碼移除的特征,如內存大小,hypervisor bit及基于性能差異的反虛擬化方法,采用outbox的 API hook 進行對抗.Outbox 的 API hook 框架如圖1所示.首先獲取被監(jiān)控目標,每當遇到一個新的進程時,通過進程的環(huán)境控制塊TEB獲取進程名,與樣本名比較,若一致則表明該進程為被監(jiān)控目標,提取進程控制塊ETHREAD地址和當前CR3為進程標志.然后利用得到的CR3和ETHREAD對輪轉的進程/線程進行過濾,當命中目標進程且當前IP地址為需要監(jiān)控的API地址時,接管當前進程控制流,進行 hook 處理.最后重置相關參數(shù),進行清理工作,為下一輪hook做準備.

API hook 的實現(xiàn)需要注意如下問題:(1)需要對被監(jiān)控進程/線程及其子進程/子線程進行;(2)避免對虛擬機運行產生負面影響;(3)盡量減少hook帶來的性能損耗.為了監(jiān)控目標進程派生的線程樹和進程樹,對進程/線程的創(chuàng)建和銷毀的API進行監(jiān)控,使用列表維護目標進程派生的后代,在進程過濾時查找該列表.為了避免對虛擬機運行產生負面影響,API監(jiān)控只針對目標進程及其后代進程和線程.而為了降低hook帶來的性能消耗,在過濾進程時,若當前IP處在用戶空間,則認為進程沒有切換,不再查找當前進程的ETHREAD地址進行進程過濾.在首次尋找目標進程時,可以維持一個列表用于緩存已經檢視過的進程ETHREAD和CR3,以加速目標進程的匹配.目前的實現(xiàn)沒有對目標進程的子進程樹和子線程樹進行監(jiān)控.

表5中總結了基于硬件特征的反虛擬化對抗方法.根據(jù)表2,針對基于系統(tǒng)特征的反虛擬化方法主要包括6類.其中進程列表和服務列表不包含QEMU相關特征字符串,無需對抗.而注冊表鍵值和特殊文件所包含的特征字符串全部是硬件相關的,經過測試,在從源碼移除硬件特征字符串后,注冊表和特殊文件(使用新的系統(tǒng)鏡像)不再包含QEMU相關特征字符串.

圖1 Outbox 的 API hook 流程圖

表5 基于硬件特征的反虛擬化對抗方法

針對基于時間的檢測方法,沒有通用有效的對抗方案.雖然隨著版本的更新迭代,硬件模擬器的性能在不斷提升,但目前仍然存在某些特殊任務能在宏觀或微觀上區(qū)分模擬硬件和真實硬件.如使用GPU渲染高幀率的游戲畫面,在模擬硬件上耗時遠超過真實硬件.Windows XP 上 GetProcessHeap 與 CloseHandle API調用耗時的比值在模擬硬件上超過10倍,而在真實硬件上兩者耗時相近.對于特征明顯,并且使用特定指令或API進行時間測量的任務,可以通過hook相關API,修改時間測量結果的方法對抗.但是對于樣本運行某些在真實硬件耗時很少,而虛擬硬件耗時較多的”正?!钡娜蝿?從而使動態(tài)分析超時的拖延戰(zhàn)術,在耗時任務不易識別的情況下,很難實施有效的對抗方法.

時間測量計算的是代碼執(zhí)行前后時間的差值,因此hook API時關注的不是函數(shù)當前的返回值,而是前后兩次返回值的差值.簡單的將前后兩次的差值置為定值或定值加上一個小范圍的隨機數(shù),不能滿足對抗的需要.差值為定值容易被檢測出來,且不符合現(xiàn)實情況,因為操作系統(tǒng)任務調度和外部事件的不確定性,即使相同代碼,執(zhí)行時間也可能不一致.加上隨機值模擬了執(zhí)行時間的不確定性,但仍可以通過測量Sleep的執(zhí)行時間進行檢測.如果測量得到的差值遠小于Sleep指定的時間,則說明Sleep函數(shù)或時間測量函數(shù)被patch,這都指示了樣本運行在虛擬機中.因此本文提出了如圖2所示的差值修改方法.

圖2 時間測量函數(shù)返回值曲線

圖中虛線為未調整的返回值曲線,斜率為1,實線為調整后的返回值曲線.實線形狀類似向上的臺階,臺階平面波動向上,即差值隨機化.臺階向上躍遷即不做修改,直接返回函數(shù)調用結果.躍遷的條件是自上次測量函數(shù)的調用經過了超過閾值的時間,或者這期間調用了Sleep,SleepEx和NtDelayExecution等延時函數(shù),躍遷可以對抗通過測量Sleep執(zhí)行時間檢測虛擬機的方法,減小對兩次差值測量之間的代碼執(zhí)行時間產生的影響.閾值的大小決定了隱藏性能差異的大小.樣本第一次調用時間測量函數(shù)時,不對返回值進行修改.返回值修改只針對被監(jiān)控進程進行,不影響系統(tǒng)中其它進程對時間測量函數(shù)的調用.差值修改方法雖然在QEMU上實現(xiàn),但對其它虛擬化平臺也適用.表6總結了針對QEMU的基于系統(tǒng)特征的反虛擬化對抗方法.

表6 基于系統(tǒng)特征的反虛擬化對抗方法

3.2 對抗基于網絡環(huán)境差異的反虛擬化方法

INetSim[9](Internet Service Simulation Suite)是一款由Perl編寫的開源網絡服務模擬軟件.其提供DNS,HTTP,SMTP,IRC 等多種常見的網絡服務模擬,以支持惡意軟件的動態(tài)分析,同時支持使用配置文件對模擬服務進行個性化配置.因此本文在INetSim上實現(xiàn)基于網絡環(huán)境差異的反虛擬化方法的對抗.

基于網絡環(huán)境差異的反虛擬化方法包括性能差異和服務細節(jié)差異.針對性能差異,在服務響應請求時延時一定時間,如 20 ms 至 40 ms,以與正常網絡的延時相近.由于INetSim采取Fork模式,每個請求都Fork一個子進程進行處理,因此使用進程睡眠延時的方式雖然降低了服務的吞吐率,但是不會對后續(xù)同類型和和其它類型請求造成影響.

針對服務細節(jié)差異,主要采用隨機化的方法改變原來服務返回的固定信息進行對抗,如DNS服務在解析不同域名時,從指定IP池中隨機返回一個,在服務初始化時,從指定的程序版本中隨機返回一個等.由于網絡服務獨立于主機環(huán)境,實現(xiàn)在INetSim的對抗方法適用于所有虛擬化平臺.表7總結了針對常用協(xié)議的反虛擬化對抗方法.

表7 常用協(xié)議的反虛擬化對抗方法

3.3 對抗基于用戶交互環(huán)境差異的反虛擬化方法

根據(jù)表4,基于用戶交互環(huán)境差異的反虛擬化方法主要包括用戶使用記錄和用戶交互動作兩類.針對用戶交互記錄,主要通過定制鏡像的方法進行對抗.由于組內惡意代碼動態(tài)分析系統(tǒng)已有的系統(tǒng)鏡像經過了幾年的定制更新,常見的軟件,用戶數(shù)據(jù),瀏覽器記錄,系統(tǒng)登錄日志等用戶使用記錄都具備,滿足對抗要求.考慮到從新的系統(tǒng)鏡像重新進行一輪定制的時間代價和最終效果,本文直接使用這個系統(tǒng)鏡像對抗基于用戶使用記錄的反虛擬化方法.

使用腳本模擬鼠標的移動點擊和鍵盤的擊鍵,屬于inbox的方式,在對抗的同時也引入了新的反虛擬化特征.因此本文提出通過發(fā)送硬件事件的outbox方式提供用戶鼠標和鍵盤動作的模擬.真實用戶操作在基于QEMU的虛擬機上,都是以發(fā)送事件的方式改變鼠標和鍵盤的狀態(tài).本文實現(xiàn)了3種發(fā)送硬件事件的方式,分別是基于QEMU主循環(huán)的,基于線程的和基于QEMU定時器的.QEMU使用一個大循環(huán)處理外部事件和中斷,基于主循環(huán)的方式即在主循環(huán)中插入發(fā)送事件的代碼,但由于主循環(huán)執(zhí)行的頻率較高,而正常用戶的操作速度較慢,因此需要一個計數(shù)器指定主循環(huán)執(zhí)行若干次后觸發(fā)硬件發(fā)送事件,但是使用循環(huán)次數(shù)不好估計時間,難以精確事件發(fā)送的間隔.基于線程的方式則在QEMU啟動時單獨創(chuàng)建一個線程,線程在隨機睡眠一段時間后發(fā)送硬件事件,為了便于控制,模擬鼠標和鍵盤的操作至少需要兩個線程.QEMU時鐘支持定時器以定期完成某些任務,每次主循環(huán)都會檢測是否有到期的定時器,如果有,則執(zhí)行定時器預設的函數(shù).基于定時器的方式在QEMU時鐘上安裝定時器,定時器注冊的函數(shù)發(fā)送硬件事件并重置定時器,該函數(shù)的執(zhí)行時間不能過長,否則影響對其它外部事件的響應.考慮到三種實現(xiàn)方式的侵入性和性能損耗,采用基于定時器的實現(xiàn)鼠標隨機移動和點擊,采用基于線程的方式實現(xiàn)鍵盤的隨機擊鍵.表7總結了基于用戶交互環(huán)境差異的反虛擬化對抗方法.

表8 基于用戶交互環(huán)境差異的反虛擬化對抗方法

4 實驗與分析

4.1 實驗方案

實驗使用的樣本包括兩個部分,來源為網絡收集,組內已有樣本和作者編寫的樣本.樣本集一的分布如表9示,總計113個.其中包括2個開源反虛擬化軟件pafish[10]和al-khaser[11],它們包含了多項針對主機環(huán)境差異和用戶交互環(huán)境差異的反虛擬檢測技術.除了針對QEMU,VMware,VBOX等常見虛擬化平的的反虛擬化樣本外,還包括31個自編寫樣本,根據(jù)第2節(jié)總結的反虛擬方法,為每個檢測項編寫對應的反虛擬化樣本作為補充,同時為了使樣本具有”惡意功能”,樣本在相應的反虛擬檢測通過后,會表現(xiàn)出若干敏感行為,包括設置自身為開機自啟動,訪問baidu.com獲取當前時間,啟動記事本進程并在5秒后將其關閉及在系統(tǒng)目錄創(chuàng)建名為invasion.txt的空文件.樣本集二為隨機選擇的1274個樣本,用于測試改進在真實樣本上的效果.

表9 反虛擬化對抗實驗樣本分布

如果改進后的動態(tài)分析系統(tǒng)觀察到更多的樣本行為,則認為改進是有效的.樣本行為數(shù)目統(tǒng)計樣本的進程操作,網絡訪問,文件操作和注冊表操作的數(shù)量.針對樣本可能在不同的運行過程中訪問不同站點,創(chuàng)建不同的文件名的臨時文件等影響樣本行為條目的隨機性問題,在統(tǒng)計相同類型行為數(shù)量時,只關注行為操作對象的相異性,而不關注操作對象的具體值,如樣本在一次運行過程中訪問 A,B,C 3 個站點,在另一次運行過程中訪問了 A,B,D 3 個站點,則認為樣本兩次運行產生的網絡行為數(shù)目相同,都訪問了3個不同的站點.

本文將反虛擬化對抗應用到組內已有的基于QEMU的惡意代碼動態(tài)分析系統(tǒng)上,并進行改進前后對比實驗.實驗中每個樣本的分析時間為默認的2分鐘,虛擬機鏡像為 Windows XP 32 位.

4.2 實驗結果

將樣本集上傳到改進前和改進后的動態(tài)分析系統(tǒng),然后下載XML格式的分析報告和網絡數(shù)據(jù)包cap文件,統(tǒng)計樣本的行為數(shù)目,進行對比分析.表10匯總了開源反虛擬化工具pafish和al-khaser在改進前后針對QEMU的檢測項的通過情況,其中”X”表示未通過,“√”表示通過.可以看到,經過反虛擬化對抗,動態(tài)分析系統(tǒng)通過了pafish和al-khaser所有針對QEMU的反虛擬化檢測項.

表10 pafish 和 al-khaser實驗結果

表11展示了所有反虛擬化樣本的實驗結果(不計pafish和al-khaser).可見,改進后的動態(tài)分析系統(tǒng)在所有針對QEMU的作者編寫樣本和收集樣本中都觀察到了更多行為.而針對VMware和VBOX的反虛擬化樣本則和改進前的分析系統(tǒng)表現(xiàn)相同,這是因為改進前后的動態(tài)分析系統(tǒng)都是基于QEMU的,針對VMware和VBOX的反虛擬化方法自然不起作用,因此改進后的動態(tài)分析系統(tǒng)并沒有觀察到這些樣本的更多行為.

在樣本集二中,378個樣本觀察到更多行為數(shù)據(jù),為總樣本數(shù)的29.7%..說明反虛擬化對抗使動態(tài)分析系統(tǒng)更全面的了解樣本行為,同時也說明反虛擬化在實際樣本中使用廣泛.綜合樣本集一和樣本集二的實驗結果,反虛擬化對抗顯著增強了動態(tài)分析系統(tǒng)獲取樣本行為數(shù)據(jù)的能力.

表11 反虛擬化對抗實驗結果 (不計 pafish 和 al-khaser)

5 結論和展望

本文對當前針對惡意代碼動態(tài)分析系統(tǒng)的反虛擬化方法進行了分類總結,提出從惡意代碼動態(tài)分析系統(tǒng)的主機環(huán)境,網絡環(huán)境和用戶交互環(huán)境三個方面進行系統(tǒng)的反虛擬對抗的方法,并將反虛擬化對抗應用到已有的基于QEMU的動態(tài)分析系統(tǒng)上,實驗結果表明反虛擬化對抗有效地幫助了動態(tài)分析系統(tǒng)對樣本行為的全面了解.現(xiàn)代CPU功能強大,硬件邏輯復雜,又缺乏公開的指令設計文檔,模擬CPU的指令執(zhí)行效果難免會有與真實CPU出入的地方,從而成為惡意代碼檢測虛擬CPU的特征.本文目前沒有對基于CPU語義差異的反虛擬方法進行對抗,這是未來工作方向之一.

猜你喜歡
進程虛擬化樣本
債券市場對外開放的進程與展望
改革開放進程中的國際收支統(tǒng)計
基于OpenStack虛擬化網絡管理平臺的設計與實現(xiàn)
規(guī)劃·樣本
隨機微分方程的樣本Lyapunov二次型估計
社會進程中的新聞學探尋
俄羅斯現(xiàn)代化進程的阻礙
“官員寫作”的四個樣本
淺談虛擬化工作原理
用戶怎樣選擇虛擬化解決方案
泊头市| 镇平县| 阳西县| 九龙城区| 井研县| 谷城县| 寻甸| 博爱县| 天等县| 涞水县| 竹山县| 怀来县| 鲁山县| 措勤县| 长治县| 汾阳市| 资溪县| 昌宁县| 肃南| 建平县| 静乐县| 石林| 马尔康县| 安仁县| 和平县| 桦川县| 湾仔区| 名山县| 临武县| 勃利县| 广元市| 肇东市| 迁安市| 南岸区| 桑植县| 崇信县| 平和县| 金塔县| 宣威市| 东乡族自治县| 灵石县|