王晨昊 勵(lì)家磊 應(yīng)俊 薛義博 尚中義
摘要:虛擬機(jī)是指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng),在實(shí)體計(jì)算機(jī)中能夠完成的工作在虛擬機(jī)中都能夠?qū)崿F(xiàn)。該文介紹利用IDT基址檢測虛擬機(jī)和通過執(zhí)行特權(quán)指令來檢測虛擬機(jī)。
關(guān)鍵字:攻防檢測,虛擬機(jī)技術(shù),IDT基址檢測
0前言
在個(gè)人計(jì)算機(jī)上模擬出虛擬機(jī),體驗(yàn)不同版本的操作系統(tǒng),如Linux、Mac還可以進(jìn)行其他操作。虛擬機(jī)技術(shù)在如今的信息安全領(lǐng)域得到了廣泛的運(yùn)用,尤其是惡意軟件分析中。然而虛擬機(jī)技術(shù)的使用使得攻擊者為了提高破壞真實(shí)主機(jī)的成功率,在惡意程序中加入了檢測虛擬機(jī)的代碼,用于判斷當(dāng)前程序處于哪一種環(huán)境。當(dāng)其發(fā)現(xiàn)程序處于虛擬機(jī)時(shí),會立刻改變甚至中斷執(zhí)行,讓反病毒人員分析惡意軟件行為變得困難。
1利用IDT基址檢測虛擬機(jī)
1.1技術(shù)介紹
利用IDT基址檢測虛擬機(jī)的方法是一種通用方式,對VMware和Virtual?PC均適用。中斷描述符表IDT(Interrupt?Descriptor?Table)用于查找處理中斷時(shí)所用的軟件函數(shù),它是一個(gè)由256項(xiàng)組成的數(shù)據(jù),其中每一中斷對應(yīng)一項(xiàng)函數(shù)。讀取IDT基址,我們需要通過SIDT指令來讀取IDTR(中斷描述符表寄存器,用于IDT在內(nèi)存中的基址),格式為如下:
IDTR只有一個(gè),而操作系統(tǒng)有虛擬機(jī)和主機(jī)系統(tǒng)兩個(gè)。為了防止發(fā)生沖突,VMM需要修改虛擬機(jī)中的IDT地址,依靠虛擬機(jī)環(huán)境中執(zhí)行sidt指令和主機(jī)的差別來檢測虛擬機(jī)是否存在。
1.2案例測試
在VMware上發(fā)現(xiàn)虛擬機(jī)系統(tǒng)上的IDT地址通常0xFFXXXXXX,而Virtual?PC一般位于0xE8XXXXXX,主機(jī)都位于0x80XXXXXX。Redpill只是通過判斷執(zhí)行SIDT指令后返回的第一字節(jié)是否大于0xD0來判斷是否處于虛擬機(jī)。其代碼是否簡練,源碼如下:
1.3測試結(jié)果:
2通過執(zhí)行特權(quán)指令來檢測虛擬機(jī)
2.1技術(shù)介紹
VMware提供了主機(jī)和虛擬機(jī)互相溝通的通訊機(jī)制,即“IN”指令來讀取特定端口的數(shù)據(jù)以進(jìn)行兩機(jī)通訊,但由于IN指令屬于特權(quán)指令,在處于保護(hù)模式下的真機(jī)上執(zhí)行此指令時(shí),需要權(quán)限允許,否則會出發(fā)異常。而在虛擬機(jī)中并不會有異常發(fā)生。VMDetect正是利用前一種方法來檢測VMware的存在。
核心代碼:
2.2測試結(jié)果
3結(jié)論
IDT檢測技術(shù)相對簡單易懂,也有其缺陷,IDT的值是對于當(dāng)前正在運(yùn)行的處理器,在單個(gè)CPU中是常量,但當(dāng)其在多個(gè)CPU時(shí)可能會受到影響,原因是每一個(gè)CPU都是有自己的IDT。通過執(zhí)行特權(quán)指令來檢測虛擬機(jī)時(shí)用主機(jī)和虛擬機(jī)自身差別來識別。
參考文獻(xiàn):
[1] Fatma A. Hashim, Essam H. Houssein, Kashif Hussain, Mai S. Mabrouk, Walid Al-Atabany. Honey Badger Algorithm: New metaheuristic algorithm for solving optimization problems[J]. Mathematics and Computers in Simulation, 2021: 84-110.
[2] Yang, Y., Chen, H., Asghar Heidari, A., Gandomi, A.H., Hunger Games Search: Visions, Conception, Implementation, Deep Analysis, Perspectives, and Towards Performance Shifts, Expert Systems with Applications (2021).
資助項(xiàng)目:國家級大學(xué)生科技創(chuàng)新項(xiàng)目(項(xiàng)目編號:201911488010,Q20x034)