新聞中心
【.com 獨(dú)家特稿】Zero Wine是一個(gè)開源的(GPL v2)研究項(xiàng)目,用來對(duì)惡意軟件的行為進(jìn)行動(dòng)態(tài)分析。實(shí)際上,Zero Wine只是使用WINE在一個(gè)安全的虛擬沙箱(也就是在一個(gè)隔離的環(huán)境中)運(yùn)行惡意軟件來收集該程序調(diào)用的API的有關(guān)信息。Wine使用調(diào)試環(huán)境變量WINEDEBUG來輸出惡意軟件調(diào)用過的API,當(dāng)然也包括惡意軟件所傳遞的值。有了這些信息,惡意軟件的行為分析將變得非常輕松。

創(chuàng)新互聯(lián)建站是專業(yè)的利川網(wǎng)站建設(shè)公司,利川接單;提供網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行利川網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
一、工作原理
Zero Wine是作為QEMU的虛擬機(jī)映像發(fā)行的,它帶有一個(gè)已安裝的Debian操作系統(tǒng)。這個(gè)虛擬機(jī)映像包括加載和分析惡意軟件并根據(jù)收集到的信息生成報(bào)告的軟件,該軟件位于/home/malware/zerowine。通過正確的命令行選項(xiàng)運(yùn)行該虛擬機(jī),可以使用一個(gè)基于web的圖形界面(一個(gè)使用Python語言編寫的CGI)來加載要分析的惡意軟件。
加載一個(gè)新的惡意軟件的時(shí)候,會(huì)將其復(fù)制到/tmp/vir/MD5_OF_THE_FILE目錄,以前創(chuàng)建的WINE環(huán)境會(huì)被刪除,并對(duì)一個(gè)備份系統(tǒng)進(jìn)行解壓縮,該備份系統(tǒng)是/home/malware/backup/backup.tar.gz。加載后,會(huì)通過shell腳本malware_launcher.sh來執(zhí)行這個(gè)惡意軟件,此shell腳本存儲(chǔ)在/home/malware/bin文件夾中。
需要注意的是,當(dāng)前系統(tǒng)不允許一次分析一個(gè)以上的惡意軟件,將來每當(dāng)加載一個(gè)新的惡意軟件文件的時(shí)候,它會(huì)放入一個(gè)隊(duì)列以供今后分析之用,并且還將創(chuàng)建一個(gè)新的WINEPREFIX專門用于運(yùn)行這個(gè)惡意軟件。
二、使用QEMU運(yùn)行虛擬機(jī)
使用QEMU運(yùn)行虛擬機(jī)時(shí)必須提供一些必要的參數(shù),最重要的一個(gè)參數(shù)就是 -redir tcp:8000::8000。這個(gè)參數(shù)將本地8000端口重定向到該虛擬機(jī)的8000端口。當(dāng)然,您可以改變這個(gè)端口,不過要注意,在基于Unix/Linux的系統(tǒng)中不應(yīng)該在端口80上運(yùn)行它,因?yàn)檫@要求root權(quán)限,這會(huì)帶來巨大的安全隱患:想像一下如果惡意軟件逃離虛擬機(jī)并掌控了您的實(shí)際系統(tǒng)后會(huì)怎樣。
當(dāng)該虛擬機(jī)結(jié)束引導(dǎo)處理(基于Debian的操作系統(tǒng)的引導(dǎo)時(shí)間通常需要2分鐘左右)后,可以用您的瀏覽器導(dǎo)航至http://localhost:8000。您將看到如下所示的一個(gè)web頁面:
| 圖1 |
現(xiàn)在可以通過該Web接口將測(cè)試文件(通常為PE格式)加載到虛擬機(jī),指定超時(shí)時(shí)間,就可以讓Zero Wine分析該程序的行為了。稍等片刻,就會(huì)受到如下所示的報(bào)告摘要:
| 圖2 |
三、相關(guān)報(bào)告的介紹
分析結(jié)束時(shí),會(huì)出現(xiàn)一個(gè)帶有四個(gè)鏈接的報(bào)告摘要頁面,這些鏈接分別是“report”、“Strings”、“Headers”和“Signature”。關(guān)于這些報(bào)告我們將在下面進(jìn)行分別介紹。
完整的報(bào)告
我們首先有介紹的是“Report”鏈接,這是由WINE生成的一份完整的原始跟蹤文件。 這個(gè)文件通常很大,并且也不太容易讀,因?yàn)槠渲邪薟INE本身調(diào)用的大量應(yīng)用程序接口以及惡意軟件調(diào)用的應(yīng)用程序接口,不過它對(duì)于全面理解程序到底做了些什么卻是很有幫助的。以下是病毒MyTob的一個(gè)示例報(bào)告,我們看到這的確很長,并且讀起來很晦澀:
| 圖3 |
一般說來,其中的大量API調(diào)用都是WINE的內(nèi)部調(diào)用,這些對(duì)我們的分析工作沒有多大用處,并且對(duì)我們來說通常是枯燥無味的。請(qǐng)記住,雖然這些調(diào)用看上去很枯燥,但是卻可能對(duì)分析的惡意軟件的理解有所裨益。
關(guān)于字符串報(bào)告
Linux命令“strings”的輸出。為了便于了解惡意軟件,有時(shí)候您可以探索一些字符串、URL等等。以下是一個(gè)例子(MyTob):
| 圖4 |
關(guān)于文件頭報(bào)告
這個(gè)報(bào)告展示了使用PEIdSignatures的特征碼找出的用于給該程序加殼的工具(如果有的話),以及利用開源的程序庫PEFile對(duì)給定PE程序分析得到的一份詳盡輸出。生成的報(bào)告類似于下圖:
| 圖5 |
在本例中,頭部似乎是遭到了破壞,這說明惡意軟件試圖給反匯編制造困難。
關(guān)于特征碼報(bào)告
這個(gè)是當(dāng)惡意軟件運(yùn)行后,由Zero Wine生成的最有趣的報(bào)告 這個(gè)報(bào)告展示了最令人感興趣的API調(diào)用和值。下面的例子很容易理解:
| 圖6 |
“Signature”報(bào)告告訴我們,該惡意軟件創(chuàng)建了互斥鎖“H-E-L-L-B-O-T”(進(jìn)程標(biāo)識(shí)符0009),并且將自身復(fù)制到 c:\windows\system32\msmgrxp.exe,然后,執(zhí)行了這個(gè)文件(process 0018)。惡意軟件的這個(gè)副本將檢查互斥鎖“H-E-L-L-B-O-T”,如果該互斥鎖業(yè)已存在,則將該二進(jìn)制文件拷貝到c:\\funny_pic.scr及其它地方。
有了上面的這些報(bào)告,編寫一份簡單的行為報(bào)告已經(jīng)不成問題。
四、加殼軟件
總的說來,Zero Wine能夠較好地運(yùn)行惡意軟件,然而,當(dāng)它遇到加殼軟件時(shí)就會(huì)出現(xiàn)各種問題,例如wine幾乎總是無法對(duì)付被Armadillo 加過殼的PE程序;并且,有時(shí)候“Report”和“Signature”這兩個(gè)部分會(huì)同時(shí)收不到任何數(shù)據(jù)。好在“Headers”和“Strings”報(bào)告部分總能提供二進(jìn)制文件(盡管不是惡意軟件的行為)的有關(guān)信息。
五、對(duì)于Zero Wine的檢測(cè)
對(duì)于WINE 環(huán)境的檢測(cè)其實(shí)很簡單。例如,可以通過注冊(cè)表項(xiàng)HKLM\Software\Wine或者HKCU\Software\Wine來檢測(cè)它。同時(shí)還可以檢查所有的Windows關(guān)鍵系統(tǒng)文件的文件大小來進(jìn)行檢測(cè)。當(dāng)運(yùn)行在WINE中的時(shí)候,這些文件會(huì)小得令人難以置信,但是同樣的文件在實(shí)際的Windows系統(tǒng)中卻具有碩大的身軀。另外一種“高級(jí)”檢測(cè)技術(shù)是,打開任意一個(gè)關(guān)鍵的Windows系統(tǒng)文件,并反編譯入口點(diǎn)。當(dāng)運(yùn)行在WINE中的時(shí)候,反編譯后將得到如下所示的一些簡單指令:
.text:10001000 public start
.text:10001000 start proc near
.text:10001000 mov eax, 1
.text:10001005 retn 4
.text:10001005 start endp
對(duì)于比較懶惰的人來說,只需在.text:10001000中搜索二進(jìn)制串B8 01 00 00 00 C2 04 00就可以了。
六、使用Zero Wine的危險(xiǎn)性
首先請(qǐng)記住,在自己的計(jì)算機(jī)上運(yùn)行惡意軟件絕不是一個(gè)好主意。如果可能的話,要盡量將虛擬機(jī)(或物理機(jī)器)與現(xiàn)實(shí)世界隔離開來。有時(shí)候,我們迫不得已允許惡意軟件連接現(xiàn)實(shí)世界,但請(qǐng)記住,這樣做可能傷及無辜。更重要的是,您還必須記住,即使把WINE的沙箱配置成只能使用C盤,但是對(duì)于一個(gè)能夠逸出WINE沙箱的惡意軟件來說,它不僅能夠跑到C盤之外,還能夠波及您的物理計(jì)算機(jī)以及整個(gè)網(wǎng)絡(luò)。
七、結(jié)束語
Zero Wine是一個(gè)開源的(GPL v2)研究項(xiàng)目,用來對(duì)惡意軟件的行為進(jìn)行動(dòng)態(tài)分析。Zero Wine只是使用WINE在一個(gè)安全的虛擬沙箱(也就是在一個(gè)隔離的環(huán)境中)運(yùn)行惡意軟件來收集該程序調(diào)用的API的有關(guān)信息。Wine使用調(diào)試環(huán)境變量WINEDEBUG來輸出惡意軟件調(diào)用過的API,當(dāng)然也包括惡意軟件所傳遞的值。有了這些信息,惡意軟件的行為分析將變得非常輕松。
本文詳細(xì)介紹了Zero Wine的工作原理以及使用方法,并對(duì)Zero Wine生成的報(bào)告進(jìn)行了相應(yīng)的解釋,最后介紹了在使用Zero Wine過程中需要注意的問題,希望本文對(duì)您的工作學(xué)習(xí)能夠有所幫助。
【.COM 獨(dú)家特稿,轉(zhuǎn)載請(qǐng)注明出處及作者!】
網(wǎng)站名稱:利用ZeroWine進(jìn)行惡意軟件行為分析
網(wǎng)址分享:http://m.fisionsoft.com.cn/article/dhpcpeg.html


咨詢
建站咨詢
