版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、虛擬機檢測技術(shù)剖析虛擬機檢測技術(shù)剖析作者:riusksk(泉哥)主頁::riusksk.前言前言在當(dāng)今信息安全領(lǐng)域,特別是惡意軟件分析中,經(jīng)常需要利用到虛擬機技術(shù),以提高病毒分析過程的安全性以及硬件資源的節(jié)約性,因此它在惡意軟件領(lǐng)域中是應(yīng)用越來越來廣泛。這里我們所謂的虛擬機(VirtualMachine)是指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng)。通過虛擬機軟件(比如VMware,VirtualP
2、CVirtualBox),你可以在一臺物理計算機上模擬出一臺或多臺虛擬的計算機,這些虛擬機完全就像真正的計算機那樣進行工作,例如你可以安裝操作系統(tǒng)、安裝應(yīng)用程序、訪問網(wǎng)絡(luò)資源等等。攻擊者為了提高惡意程序的隱蔽性以及破壞真實主機的成功率,他們都在惡意程序中加入檢測虛擬機的代碼,以判斷程序所處的運行環(huán)境。當(dāng)發(fā)現(xiàn)程序處于虛擬機(特別是蜜罐系統(tǒng))中時,它就會改變操作行為或者中斷執(zhí)行,以此提高反病毒人員分析惡意軟件行為的難度。本文主要針對基于In
3、telCPU的虛擬環(huán)境VMware中的WindowsXPSP3系統(tǒng)進行檢測分析,并列舉出當(dāng)前常見的幾種虛擬機檢測方法。方法一:通過執(zhí)行特權(quán)指令來檢測虛擬機方法一:通過執(zhí)行特權(quán)指令來檢測虛擬機Vmware為真主機與虛擬機之間提供了相互溝通的通訊機制,它使用“IN”指令來讀取特定端口的數(shù)據(jù)以進行兩機通訊,但由于IN指令屬于特權(quán)指令,在處于保護模式下的真機上執(zhí)行此指令時,除非權(quán)限允許,否則將會觸發(fā)類型為“EXCEPTION_PRIV_INST
4、RUCTION”的異常,而在虛擬機中并不會發(fā)生異常,在指定功能號0A(獲取VMware版本)的情況下,它會在EBX中返回其版本號“VMXH”;而當(dāng)功能號為0x14時,可用于獲取VMware內(nèi)存大小,當(dāng)大于0時則說明處于虛擬機中。VMDetect正是利用前一種方法來檢測VMware的存在,其檢測代碼分析如下:boolIsInsideVMWare()boolrc=true__try__asmpushedxpushecxpushebxmove
5、axVMXhmovebx0將ebx設(shè)置為非幻數(shù)’VMXH’的其它值movecx10指定功能號,用于獲取VMWare版本,當(dāng)它為0x14時用于獲取VMware內(nèi)存大小movedxVX端口號ineaxdx從端口dx讀取VMware版本到eax若上面指定功能號為0x14時,可通過判斷eax中的值是否大于0,若是則說明處于虛擬機中cmpebxVMXh判斷ebx中是否包含VMware版本’VMXh’,若是則在虛擬機中WDIDTLimitIDT的大
6、小WDLowIDTbaseIDT的低位地址WDHiIDTbaseIDT的高位地址IDTINFO由于只存在一個IDTR,但又存在兩個操作系統(tǒng),即虛擬機系統(tǒng)和真主機系統(tǒng)。為了防止發(fā)生沖突,VMM(虛擬機監(jiān)控器)必須更改虛擬機中的IDT地址,利用真主機與虛擬機環(huán)境中執(zhí)行sidt指令的差異即可用于檢測虛擬機是否存在。著名的“紅丸”(redpill)正是利用此原理來檢測VMware的。Redpill作者在VMware上發(fā)現(xiàn)虛擬機系統(tǒng)上的IDT地址
7、通常位于0xFFXXXXXX,而VirtualPC通常位于0xE8XXXXXX,而在真實主機上正如圖2所示都位于0x80xxxxxx。Redpill僅僅是通過判斷執(zhí)行SIDT指令后返回的第一字節(jié)是否大于0xD0,若是則說明它處于虛擬機,否則處于真實主機中。Redpill的源碼甚是精簡,源碼分析如下:#includeintmain()unsignedm[24]rpill[]=“x0fx01x0dx00x00x00x00xc3“相當(dāng)于SID
8、T[adrr]其中addr用于保存IDT地址((unsigned)將sidt[addr]中的addr設(shè)為m的地址((void()())執(zhí)行SIDT指令,并將讀取后IDT地址保存在數(shù)組m中printf(“idtbase:%#xn“((unsigned)由于前2字節(jié)為IDT大小,因此從m[2]開始即為IDT地址if(m[5]0xd0)printf(“InsideMatrix!n“m[5])當(dāng)IDT基址大于0xd0xxxxxx時則說明程序處于
9、VMware中elseprintf(“NotinMatrix.n“)return0測試結(jié)果如圖2所示:圖2利用此IDT檢測的方法存在一個缺陷,由于IDT的值只針對處于正在運行的處理器而言,在單CPU中它是個常量,但當(dāng)它處于多CPU時就可能會受到影響了,因為每個CPU都有其自己的IDT,這樣問題就自然而然的產(chǎn)生了。針對此問題,OffensiveComputing組織成員提出了兩種應(yīng)對方法,其中一種方法就是利用Redpill反復(fù)地在系統(tǒng)上循
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 虛擬機健壯入侵檢測技術(shù)的研究.pdf
- kvm虛擬機遷移技術(shù)分析
- 虛擬機命令
- 虛擬機遷移技術(shù)研究
- vm虛擬機技術(shù)應(yīng)用初探
- 基于節(jié)能的虛擬機部署與虛擬機整合技術(shù)研究.pdf
- 基于模糊虛擬機的軟件漏洞檢測技術(shù)研究.pdf
- java虛擬機
- virtualpc虛擬機教程
- 面向虛擬機的網(wǎng)絡(luò)入侵檢測系統(tǒng).pdf
- 虛擬機健壯主機入侵檢測數(shù)據(jù)采集技術(shù)的研究.pdf
- 虛擬機系統(tǒng)的可信檢測與度量.pdf
- 虛擬機實時遷移技術(shù)研究.pdf
- 虛擬機管理平臺中的虛擬機代理服務(wù)機制研究.pdf
- 怎樣安裝vmware虛擬機
- 虛擬機機制研究.pdf
- 虛擬機相關(guān)技術(shù)研究及實踐.pdf
- 結(jié)合虛擬機間性能互擾度量的虛擬機遷移方法研究.pdf
- 基于虛擬機的內(nèi)核rootkits檢測研究與實現(xiàn).pdf
- Xen虛擬機研究.pdf
評論
0/150
提交評論