2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論