91精品人妻互换日韩精品久久影视|又粗又大的网站激情文学制服91|亚州A∨无码片中文字慕鲁丝片区|jizz中国无码91麻豆精品福利|午夜成人AA婷婷五月天精品|素人AV在线国产高清不卡片|尤物精品视频影院91日韩|亚洲精品18国产精品闷骚

您當前位置:首頁 > 新聞頻道 > 行業(yè)動態(tài) > 正文
抗擊惡意軟件的最新手段

     作者:鄭曉蒙

    基于模擬器的沙箱系統(tǒng)研究內(nèi)容簡介:

    關(guān)于惡意軟件分析的研究由來已久,惡意軟件分析方法主要分為靜態(tài)和動態(tài)兩種。靜態(tài)分析是指在不運行軟件的前提下進行的分析過程。靜態(tài)分析通過IDA PRO等反匯編工具獲得惡意軟件的控制流和數(shù)據(jù)流,進而分析惡意軟件的行為。惡意代碼是一個自修改的程序,它使用多態(tài)、加殼等技術(shù),反匯編得到的行為描述并不能反映它的真實目的。另外,惡意代碼也可能使用混淆、加密等手段,破壞反匯編的結(jié)果。

    動態(tài)分析是將惡意代碼放到受限的環(huán)境下運行,觀察其在實際運行時行為特征的方法;趧討B(tài)分析的實現(xiàn)可被稱為沙箱系統(tǒng)。與靜態(tài)分析相比,動態(tài)分析的優(yōu)點在于只有實際執(zhí)行的代碼才被分析,因此,動態(tài)分析能夠應對自修改的代碼以及混淆后的代碼。

    然而,沙箱系統(tǒng)并非真實的物理環(huán)境,存在與真實物理環(huán)境不同的特征,惡意軟件通常在破壞系統(tǒng)之前檢測這些差異特征,從而判斷出是否處于沙箱環(huán)境下。惡意軟件通過檢測到差異特征的存在,從而在沙箱環(huán)境下退出或者表現(xiàn)出正常的行為的技術(shù)被稱為反調(diào)試、反虛擬化的技術(shù)。為了對抗惡意軟件的反調(diào)試、反虛擬化技術(shù),研究透明的沙箱系統(tǒng)是十分必要的。

    1沙箱系統(tǒng)研究現(xiàn)狀

    在沙箱系統(tǒng)中,語義監(jiān)控主要關(guān)注點為惡意軟件執(zhí)行的系統(tǒng)調(diào)用。這是因為在操作系統(tǒng)中,用戶層程序不能直接與物理沒備打交道,只能通過操作系統(tǒng)提供的接口即系統(tǒng)調(diào)用(在Win dows系統(tǒng)中此接口為Windows API)才能完成相應功能。為了監(jiān)控進程執(zhí)行的系統(tǒng)調(diào)用,現(xiàn)有的沙箱系統(tǒng)通常采用掛鉤技術(shù)( Hooking)來監(jiān)控系統(tǒng)調(diào)用的執(zhí)行。目前,主流的沙箱系統(tǒng)包括與惡意軟件共存在同一操作系統(tǒng)內(nèi)的CWSandbox,基于模擬器的沙箱系統(tǒng)TTanalyze以及Cuckoo Sandbox,基于硬件虛擬化的沙箱系統(tǒng)Ether。

    1.1 CWSandbox

    CWSandhox是由德國曼海姆大學的研究人員開發(fā)設(shè)計的沙箱系統(tǒng)。CWSandbox與惡意軟件共存在同一操作系統(tǒng)內(nèi),在分析過程中首先利用遠程線程注入技術(shù)將自定義的動態(tài)鏈接庫(圖1中的cwmonitor.dll)注入到惡意軟件地址空間,該動態(tài)鏈接庫利用Inline-Hook技術(shù)劫持惡意軟件對Window API的調(diào)用,從而監(jiān)控惡意軟件的行為。CWSandbox的系統(tǒng)架構(gòu)圖如圖1所示。

    1.2基于模擬器的沙箱系統(tǒng)

    1) Cuckoo Sandbox沙箱系統(tǒng)

Cuckoo Sandbox起源于2010年Google編程夏令營,到目前為止仍然是比較熱門的開源的沙箱系統(tǒng)。Cuckoo Sandbox同樣也是將惡意軟件放置在虛擬機中運行,虛擬機軟件默認是VirtualBox,也可以設(shè)置成Qemu,客戶操作系統(tǒng)默認使用Windows XP SP3。通過在虛擬機內(nèi)利用DLL注入、Hooking等技術(shù)劫持惡意軟件對Windows API的調(diào)用,監(jiān)控惡意軟件的行為。Cuckoo Sandbox的系統(tǒng)架構(gòu)圖如圖2所示。

    2) TTanalyze

    TTanalvze是基于系統(tǒng)模擬器Qemu實現(xiàn)的沙箱系統(tǒng),Qemu能夠?qū)φ麄PC硬件以軟件的方式進行模擬。Trlan alyze是Anubis的前身,本文研究TTanalyze而非Anubis的原因是Anubis并不是開源的,沒有公開詳細的資料。TTanalvze通過監(jiān)控Windows API以及Native API的調(diào)用,能夠記錄惡意軟件對文件、注冊表、進程、網(wǎng)絡(luò)以及Windows服務的操作。TTanalyze的架構(gòu)圖如圖3所示。

    Cuckoo Sandbox啟動新的惡意軟件分析任務后,位于宿主機上的Cuckoo調(diào)度程序?qū)阂廛浖䴓颖疽约癆nalyzer程序以zip壓縮包的形式上傳到虛擬機中。虛擬機中運行的RPC服務器負責接收調(diào)度程序傳進來的zip壓縮包,將其解壓后運行Analyzer程序。該Analyzer程序進行一些初始化工作,以掛起的方式啟動惡意軟件,然后將cuckoomon.dll注入到惡意軟件進程中。cuckoomon.dll負責劫持惡意軟件對Windows API的調(diào)用,進而監(jiān)控惡意軟件的行為。

    1.3基于硬件虛擬化的沙箱系統(tǒng)

    Ether是美國喬治亞理工大學的研究人員設(shè)計開發(fā)的基于硬件虛擬化( Intel-VT)的沙箱系統(tǒng)。Intel-VT通過擴展x86指令集,向Intel處理器添加了一系列輔助虛擬化的指令,這些指令能夠執(zhí)行兩種處理器模式,分別是VMX根模式與VMX非根模式。這兩種模式可以相互轉(zhuǎn)換,從VMX根模式轉(zhuǎn)換到VMX非根模式的操作叫做VMEntry,從VMX非根模式轉(zhuǎn)換到VMX根模式的操作叫做VMExit。

    對于軟件虛擬化來說,不管是傳統(tǒng)的解釋還是動態(tài)二進制翻譯,一條目標指令都會被翻譯成多條主機指令,這個過程中存在翻譯的代價以及額外增加指令的代價。然而,Intel-VT技術(shù)會使得無害指令可以直接在主機CPU上運行,只有敏感指令才會退出VM,進行模擬操作,提高了CPU模擬的效率。

    Ether基于Xen虛擬機監(jiān)視器,Xen運行在VMX根模式下,客戶操作系統(tǒng)即沙箱運行在VMX非根模式下。在VMX非根模式下,敏感指令的執(zhí)行會自動導致CPU轉(zhuǎn)換到VMX根模式下。Ether系統(tǒng)架構(gòu)如圖4所示。

    Ether并沒有在客戶操作系統(tǒng)里設(shè)置任何代理,它能監(jiān)控到惡意進程執(zhí)行的指令以及系統(tǒng)調(diào)用。監(jiān)控進程的指令執(zhí)行依賴于Ether位于虛擬機監(jiān)視器層,它的特權(quán)級要比客戶操作系統(tǒng)的特權(quán)級別高。為了監(jiān)控惡意進程指令的執(zhí)行,Ether在每條指令的后面設(shè)置調(diào)試異常標志,這個標志實際設(shè)置在物理CPU上,對于客戶虛擬機的虛擬CPU是透明的。這樣,惡意進程的指令執(zhí)行后會引發(fā)調(diào)試異常,導致控制權(quán)從虛擬機切換到Ether,Ether會執(zhí)行記錄指令操作以及設(shè)置下一次調(diào)試異常標志。

    2安全性分析

    1) CWSandbox

    對現(xiàn)有沙箱系統(tǒng)的總結(jié)如表l所示,由于CWSandbox使用了DLL注入,惡意軟件可以通過如下方式檢測到注入的DLL:

    (1)惡意軟件每隔一段時間枚舉所加載的DLL,查看是否存在cwmonltor.dll(圖2中惡意軟件被注入的DLL)

    (2) DLL注入通常使用如圖5所示的代碼片段,惡意軟件通過設(shè)置TLS回調(diào)函數(shù),使得新的線程被創(chuàng)建時(CWSandbox調(diào)用CreateRemoteThread)收到通知;如果發(fā)現(xiàn)新創(chuàng)建的線程的起始地址恰好是LoadLibrary的地址,那么說明存在被注入的DLL。

    由于CWSandbox使用了Hooking技術(shù),會修改惡意軟件的代碼,惡意軟件可以通過檢測代碼的完整性從而判斷是否被掛鉤。另外,由于惡意軟件與沙箱系統(tǒng)共存在同一操作系統(tǒng)內(nèi),獲得內(nèi)核特權(quán)級別的Rootkit程序有能力檢測到沙箱系統(tǒng)的存在,從而繞過沙箱系統(tǒng)的檢測而對宿主機造成破壞。例如,根據(jù)Neugschwandtner等人的實驗,存在Rootkit會檢測是否存在watchdog.sys驅(qū)動程序,而這個程序正是CWSandbox加載的驅(qū)動程序。

    2) Cuckoo Sandbox

    與CWSandbox相比,Cuckoo Sandbox在虛擬機中使用了DLL注入與Hooking技術(shù),所以Cuckoo Sandbox存在同樣的安全性問題。Cuckoo Sandbox將一部分分析工具(圖2中的Analyzer與Cuckoomon.dll)與惡意軟件放在同一操作系統(tǒng)中,即沙箱系統(tǒng)在虛擬機中存在代理,這使得具有高特權(quán)級的惡意軟件有能力檢測到分析工具的存在,如實驗中的Rootkit程序。另外,由于Cuckoo Sandbox是開源的,允許在遵守GPL許可下使用源碼,惡意軟件的制造者可以很容易得到Analyzer和cuckoomon.dll的信息,所以Cuckoo Sandbox更容易受到反虛擬化的攻擊。相比CWSandbox,Cuckoo Sandbox的優(yōu)點是使用了虛擬機作為惡意軟件的隔離工具,即使惡意軟件逃出分析工具的檢測,也不會對宿主機造成破壞,具有很好的隔離性。

    3) TTanalyze

    TTanalyze通過將惡意軟件放置在Qemu虛擬機中運行,在客戶操作系統(tǒng)的外部觀察其行為,即使惡意軟件檢測到沙箱的存在,也不會對宿主機造成危害。將惡意軟件放到虛擬機環(huán)境下進行分析提供了非常好的隔離性。另外,由于Qemu模擬了整個PC硬件系統(tǒng),TTanlyze能夠看到惡意軟件對整個操作系統(tǒng)所做的操作,包括對進程、文件、注冊表以及網(wǎng)絡(luò)等的相關(guān)操作。值得注意的是,TTanalyze并沒有在虛擬機中使用DLL注入以及Hooking技術(shù),所以不存在CWSandbox與Cuckoo Sandbox的安全性問題,但是為了解決語義鴻溝問題,TTanalyze會在客戶操作系統(tǒng)設(shè)置代理,具有高特權(quán)級的惡意軟件有能力檢測到沙箱系統(tǒng)的存在,TTanalyze依然存在透明性不足的問題。

    4) Ether

    Ether沒有在客戶操作系統(tǒng)里設(shè)置任何代理,所以它能提供非常好的透明性。雖然Ether能提供非常好的透明性以及監(jiān)控到細粒度(指令級)和粗粒度(系統(tǒng)調(diào)用級)的語義信息,但是在監(jiān)控每一條指令時都會陷入虛擬機監(jiān)視器層,導致它的運行速度要比實際機器慢大約3000多倍,所以它的監(jiān)控效率很低,而且由于需要在高特權(quán)級別的虛擬機監(jiān)視器層做修改,Ether的實現(xiàn)過程十分復雜。

    5) Qemu

    通過以上對現(xiàn)有沙箱系統(tǒng)的分析,得出基于模擬器( Qemu)的沙箱有如下優(yōu)點:

    (1)隔離性:相比惡意軟件與分析系統(tǒng)共存在同一操作系統(tǒng)環(huán)境下的沙箱系統(tǒng),基于Qemu的沙箱系統(tǒng)將惡意軟件放置在虛擬機中運行,并在虛擬機外部觀察其行為,即使惡意軟件檢測到沙箱環(huán)境的存在也不會對宿主機造成破壞,能夠提供非常好的隔離性。

    (2)全系統(tǒng)視角:基于Qemu的沙箱系統(tǒng)能夠看到惡意軟件對整個操作系統(tǒng)的操作,包括對進程、文件、注冊表以及網(wǎng)絡(luò)等的相關(guān)操作,能夠更完整地反映惡意軟件的行為。

    (3)效率:雖然基于硬件虛擬化的沙箱系統(tǒng)能夠滿足透明性的要求,而且能夠監(jiān)控到指令級以及系統(tǒng)調(diào)用級的語義信息,但是由于其監(jiān)控效率低、實現(xiàn)復雜,并不滿足實際需求。相比基于硬件虛擬化的方案,基于Qemu的沙箱系統(tǒng)由于在低特權(quán)級就能夠完全控制客戶虛擬機的運行,在監(jiān)控效率以及實現(xiàn)的復雜性方面有優(yōu)勢,所以研究基于Qemu的沙箱系統(tǒng)的實現(xiàn)是十分必要的。

    3基于模擬器的沙箱系統(tǒng)相關(guān)研究

    3.1 Qemu的動態(tài)二進制翻譯

    系統(tǒng)模擬器Qemu完全模擬了整個PC系統(tǒng),其中對CPU的模擬采用動態(tài)二進制翻譯的技術(shù),比基于解釋的方法效率更高,所以主流的沙箱系統(tǒng)都是基于Qemu實現(xiàn)的。動態(tài)二進制翻譯的過程如下:1)客戶機代碼被反匯編成客戶機指令并翻譯成中間形式,叫做TCG微操作,每一個TCG微操作都是一個C函數(shù);2)TCG微操作被編譯成宿主機指令,并放到緩存中;3)指令指針跳轉(zhuǎn)到緩存中剛翻譯好的宿主機指令處,并開始執(zhí)行。動態(tài)二進制翻譯過程如圖6所示。

    目標指令翻譯成TCG微指令時是以多條指令作為基本塊為翻譯單元進行翻譯的,一個基本塊包含多條指令,其中最后一條指令是跳轉(zhuǎn)指令或者是不能在翻譯期間判定CPU狀態(tài)的指令。

    3.2 TTanalyze的實現(xiàn)原理

    通過第2部分的分析,基于Qemu的沙箱系統(tǒng)具有隔離性好、全系統(tǒng)視角以及監(jiān)控效率高的優(yōu)勢,F(xiàn)有的基于Qemu的沙箱系統(tǒng)中,由于TTanalyze沒有在虛擬機中使用DLL注入以及Hooking技術(shù),同時能監(jiān)控到Native API以及Windows API的語義信息,所以TTanalyze相比其他基于模擬器的沙箱系統(tǒng)透明性要更好一些,但是TTanalyze在客戶操作系統(tǒng)中存在代理,具有高特權(quán)級的惡意軟件有能力檢測到代理所存在的缺點。

    1)語義監(jiān)控的實現(xiàn)

    TTanalyze為了實現(xiàn)監(jiān)控Windows API,在每一個基本塊執(zhí)行前,檢測當前虛擬CPU的PC值與Windows API函數(shù)的虛擬地址(API函數(shù)的第一條指令一定是一個基本塊的第一條指令)是否相同,如果相同就說明當前WindowsAPI正被調(diào)用。

    2)存在代理的原岡

    圖3中,在Qemu模擬的Win XP系統(tǒng)內(nèi),TTanalyz安裝了InsideTM Server和InsideTM Driver代理。InsideTM Server作為RPC服務器用來接收TTanalyze傳進來的惡意軟件樣本,啟動樣本以及發(fā)送分析結(jié)果,而InsideTM Driver是作為內(nèi)核驅(qū)動加載進操作系統(tǒng)內(nèi)核,其作用是為了將語義監(jiān)控限定在惡意軟件的進程中。

    將語義限定在惡意進程中是由于Qemu不僅模擬了惡意進程執(zhí)行的指令,而且模擬了其他進程的指令,包括操作系統(tǒng)的指令,我們只需要記錄惡意進程的指令執(zhí)行。根據(jù)操作系統(tǒng)的原理,可以通過每個進程的頁目錄表的地址(在Linux操作系統(tǒng)中,該值為struct mm中的成員變量pgd)唯一區(qū)分每個進程。虛擬機CPU的CR3的值總是等于當前正在運行進程的pgd值,TTanalyze在虛擬機中安裝驅(qū)動程序,該程序負責在惡意進程啟動時讀取CR3的值,即惡意進程的pgd值。虛擬CPU在運行過程中,只有CR3的值等于此pgd值才會執(zhí)行監(jiān)控操作,從而實現(xiàn)將語義監(jiān)控限定在惡意進程中。

    4結(jié)束語

    本文對現(xiàn)有的沙箱系統(tǒng)的語義監(jiān)控能力以及實現(xiàn)原理進行了介紹,研究了它們存在的安全性問題,通過分析我們知道大部分沙箱系統(tǒng)存在著透明性不足的問題。雖然基于硬件虛擬化的沙箱系統(tǒng)能夠做到完全的透明性,但它的缺點卻非常明顯,如監(jiān)控效率低、實現(xiàn)復雜性高。相比基于硬件虛擬化的沙箱,基于系統(tǒng)模擬器Qemu的沙箱在監(jiān)控效率以及實現(xiàn)上都有很大的優(yōu)勢,但是現(xiàn)有的基于Qemu的沙箱系統(tǒng)在虛擬機中設(shè)置了代理,所以容易受到反虛擬化技術(shù)的攻擊。在下一步的工作中,我們將依托Qemu研究透明的、不存在代理的沙箱系統(tǒng)。

    評述:惡意軟件為了防止被分析,通過檢測其是否在沙箱環(huán)境下而表現(xiàn)出不同的行為,

    這種技術(shù)被稱為反調(diào)試、反虛擬化技術(shù)。為了對抗這種技術(shù),惡意軟件的分析人員一直致力于保證沙箱環(huán)境和真實機器的一致性。文章通過分析現(xiàn)有沙箱系統(tǒng)的語義監(jiān)控能力、實現(xiàn)原理以及存在的安全性問題,總結(jié)出現(xiàn)有的基于模擬器的沙箱系統(tǒng)具有隔離性好、全系統(tǒng)視角以及監(jiān)控效率高的優(yōu)勢。另外,文章分析了現(xiàn)有的基于模擬器的沙箱系統(tǒng)存在的透明性不足的原因。

關(guān)鍵字:

招商信息月點擊排行

About Us - 關(guān)于我們 - 服務列表 - 付費指導 - 媒體合作 - 廣告服務 - 版權(quán)聲明 - 聯(lián)系我們 - 網(wǎng)站地圖 - 常見問題 - 友情鏈接
Copyright©2014安裝信息網(wǎng) m.78375555.com. All rights reserved.
服務熱線:0371-61311617 郵箱:zgazxxw@126.com 豫ICP備18030500號-4
未經(jīng)過本站允許,請勿將本站內(nèi)容傳播或復制
安全聯(lián)盟認證