《Towards an Understanding of Anti-virtualization and Anti-debugging Behavior in Modern Malware》

--------PATCH----------

看到評(píng)論里說(shuō)例" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > 軟件如何判斷自己運(yùn)行在虛擬機(jī)中?

軟件如何判斷自己運(yùn)行在虛擬機(jī)中?

時(shí)間:2024-01-02 02:12:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2024-01-02 02:12:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

軟件如何判斷自己運(yùn)行在虛擬機(jī)中?:關(guān)于這個(gè)問(wèn)題可以推薦篇論文

《Towards an Understanding of Anti-virtualization and Anti-debugging Behavior in Modern Malware》


--------PATCH----------

看到評(píng)論里說(shuō)例子太少,稍微補(bǔ)充一點(diǎn)。

首先是兩個(gè)工具

https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/checkvm/checkvm.chttp://www.trapkit.de/tools/scoopyng/

checkvm和scoopyNG,都是針對(duì)VMware虛擬機(jī)的檢測(cè)工具。

各個(gè)檢測(cè)方法的例子補(bǔ)充下下面的分類當(dāng)中,不過(guò)有些例子可能只能在舊版本和特定廠商的虛擬機(jī)中起作用。

--------PATCH----------

有很多種不同的方法,我大致回憶一下:



前面就有回答提到過(guò),vbox和vmware這類的軟件都會(huì)在虛擬機(jī)中創(chuàng)建一些特定名稱的device和驅(qū)動(dòng),只要檢測(cè)到這些東西的存在就多半是虛擬機(jī)了。

e.g. 經(jīng)常配置VMware虛擬機(jī)的同學(xué)們肯定會(huì)注意到,安裝了VMware的Host與虛擬機(jī)內(nèi)部都會(huì)多出來(lái)兩個(gè)(虛擬)網(wǎng)卡設(shè)備:一個(gè)是VMnet1,使用Host Only的方式聯(lián)網(wǎng);一個(gè)是VMnet8,采用NAT的方式聯(lián)網(wǎng)。

類似的,還有Bus- Logic BT-958,VMware提供的SCSI驅(qū)動(dòng)報(bào)錯(cuò)中會(huì)出現(xiàn)這個(gè)設(shè)備名稱信息。

由于虛擬機(jī)實(shí)現(xiàn)的問(wèn)題,很多細(xì)節(jié)會(huì)與真實(shí)設(shè)備不同。比如某些特定指令的效果,再比如操作系統(tǒng)中某些特定功能的實(shí)現(xiàn)。

.e.g. IDT(Interrupt Descriptor Table)是Windows處理中斷時(shí)用于查找中斷處理程序的一塊內(nèi)存,為了隔離Host與Guest OS,虛擬機(jī)與宿主機(jī)的IDT在內(nèi)存當(dāng)中的地址是不同的,Red Pill這個(gè)工具就通過(guò)獲取IDT的地址來(lái)進(jìn)行區(qū)分,當(dāng)?shù)刂窞?xff開(kāi)頭時(shí)為真機(jī)、為0xe8開(kāi)頭時(shí)為虛擬機(jī)(32位系統(tǒng)上)。

一些機(jī)器碼中無(wú)效的指令(Invalid Opcode)被虛擬機(jī)使用作為后門(mén)以便于虛擬機(jī)的管理,因此通過(guò)執(zhí)行這些無(wú)效的指令、檢查是否觸發(fā)Exception的方法同樣可以識(shí)別虛擬機(jī)。比如VMware當(dāng)中的IN指令,在真機(jī)上不能在ring3下執(zhí)行,但虛擬機(jī)中可以用于與宿主機(jī)通信。

虛擬機(jī)上可能安裝有一些特定的軟件、運(yùn)行了一些特定的進(jìn)程或服務(wù)(比如VMware的vmtools)。

e.g. 如上面說(shuō)的,檢查VMware tools是否安裝在系統(tǒng)中。可以檢查注冊(cè)表項(xiàng)HKEY_CLASSES_ROOT/Installer/Products/C2A6F2EFE6910124C940B2B12CF170FE/ProductName,其值為"VMware Tools"

軟件模擬CPU執(zhí)行指令和直接硬件執(zhí)行的速度有數(shù)量級(jí)的差距,很有那么一些指令的執(zhí)行速度可以用于判斷是否在虛擬機(jī)中。

e.g. x86指令集中RDTSC這個(gè)指令可以用于獲得cpu啟動(dòng)以來(lái)的運(yùn)行周期數(shù),所以只要RDTSC一下,存結(jié)果,隨便執(zhí)行一個(gè)指令,再RDTSC一下,減一減,你就能獲得一個(gè)大致的指令執(zhí)行周期數(shù)的數(shù)據(jù)。這個(gè)數(shù)字很不精確,但前面已經(jīng)提到,虛擬機(jī)和真機(jī)上的執(zhí)行速度有數(shù)量級(jí)的差距,所以很容易看出區(qū)別——當(dāng)然也很容易弄錯(cuò)。

關(guān)鍵詞:運(yùn)行,虛擬,判斷

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉