專利名稱:Windows Virtual虛擬機(jī)遠(yuǎn)程檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種虛擬機(jī)遠(yuǎn)程檢測(cè)方法,特別涉及一種Windows Virtual虛擬機(jī)遠(yuǎn)程檢測(cè)方法。
背景技術(shù):
云計(jì)算(Cloud Computing)是當(dāng)今IT界的熱門技術(shù),借助云計(jì)算,網(wǎng)絡(luò)服務(wù)提供者可以在瞬息之間,處理數(shù)以千萬計(jì)甚至億計(jì)的信息,實(shí)現(xiàn)和超級(jí)計(jì)算機(jī)同樣強(qiáng)大的效能。同時(shí),用戶可以按需彈性地使用這些資源和服務(wù),從而實(shí)現(xiàn)將計(jì)算作為一種公用設(shè)施來提供的夢(mèng)想。云計(jì)算系統(tǒng)通常采用虛擬機(jī)軟件來構(gòu)建,也是云計(jì)算系統(tǒng)中的核心技術(shù)。目前,主流的商用虛擬機(jī)軟件有Microsoft公司的Windows Virtual PC/Server、VMWare公司的VMWare Workstation/Server 以及 Citrix 公司的 Xen App/Xen Server 等。另一方面,虛擬機(jī)也引入了新的安全風(fēng)險(xiǎn),出現(xiàn)了針對(duì)虛擬機(jī)的安全漏洞及其攻擊方法,如虛擬機(jī)逃離、虛擬機(jī)跳躍、虛擬機(jī)溢出、Hypervisor漏洞等。目前,現(xiàn)有的安全漏洞系統(tǒng)不支持虛擬機(jī)環(huán)境下的安全漏洞檢測(cè),主要原因是無法識(shí)別出虛擬機(jī),也就無法檢測(cè)出虛擬機(jī)安全漏洞。也就是說,正確識(shí)別出虛擬機(jī)軟件及類型,成為準(zhǔn)確檢測(cè)出虛擬機(jī)安全漏洞的先決條件和基礎(chǔ)。
發(fā)明內(nèi)容
為了克服現(xiàn)有Windows Virtual虛擬機(jī)存在安全漏洞的不足,本發(fā)明提供一種Windows Virtual虛擬機(jī)遠(yuǎn)程檢測(cè)方法。該方法通過檢測(cè)主機(jī)已知目標(biāo)主機(jī)的IP地址,獲取目標(biāo)主機(jī)MAC地址,并將MAC地址發(fā)送給檢測(cè)主機(jī);檢測(cè)主機(jī)接收到目標(biāo)主機(jī)的MAC地址后,首先提取MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符,然后檢查是否與00:03:FF相匹配;遍歷局域網(wǎng)中所有的目標(biāo)主機(jī),檢測(cè) 出所有開啟的Windows Virtual虛擬機(jī)和宿主機(jī)。然后根據(jù)MAC地址的32位到47位,分析每個(gè)虛擬機(jī)與宿主機(jī)之間的關(guān)聯(lián)性。如果虛擬機(jī)MAC地址的32位到47位與某個(gè)宿主機(jī)MAC地址的32位到47位完全相同,則說明該虛擬機(jī)是這個(gè)宿主機(jī)上開啟的虛擬機(jī),從而實(shí)現(xiàn)對(duì)虛擬機(jī)與宿主機(jī)關(guān)聯(lián)性的檢測(cè)。由于本發(fā)明根據(jù)MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符來檢測(cè)Windows Virtual虛擬機(jī)以及與宿主機(jī)關(guān)聯(lián)性,具有簡(jiǎn)單易行、可靠性高等特點(diǎn),不僅為Windows Virtual虛擬機(jī)安全漏洞檢測(cè)提供了基礎(chǔ),還可用于實(shí)現(xiàn)對(duì)Windows Virtual虛擬機(jī)的管理,改變目前對(duì)虛擬機(jī)缺乏有效管理手段的局面,有助于提升虛擬機(jī)環(huán)境下的系統(tǒng)管理和安全管理水平。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種Windows Virtual虛擬機(jī)遠(yuǎn)程檢測(cè)方法,其特點(diǎn)是包括以下步驟:步驟一、輸入所有目標(biāo)主機(jī)的IP地址或IP地址范圍。步驟二、順序取出一個(gè)目標(biāo)主機(jī)IP地址,使用ARP協(xié)議構(gòu)造一個(gè)ARP請(qǐng)求包發(fā)送給該IP地址對(duì)應(yīng)的目標(biāo)主機(jī),請(qǐng)求目標(biāo)主機(jī)返回其MAC地址。步驟三、等待接收目標(biāo)主機(jī)的ARP應(yīng)答包。
步驟四、接收到目標(biāo)主機(jī)的ARP應(yīng)答包后,從ARP應(yīng)答包中提取MAC地址,解析出MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符,即MAC地址的O到23位。步驟五、檢查生產(chǎn)廠商標(biāo)識(shí)符是否與00:03:FF相匹配。如果匹配成功,則該目標(biāo)主機(jī)為Windows Virtual虛擬機(jī),如果匹配不成功,則該目標(biāo)主機(jī)為非Windows Virtual虛擬機(jī)。步驟六、檢查所有的IP地址是否全部檢測(cè)完畢,如果檢測(cè)完畢,則進(jìn)入步驟七;如果沒有檢測(cè)完畢,則返回到步驟二繼續(xù)檢測(cè)。步驟七、順序檢查每個(gè)虛擬機(jī)和宿主機(jī)之間的關(guān)聯(lián)性,如果虛擬機(jī)MAC地址的32位到47位與某個(gè)宿主機(jī)MAC地址的32位到47位完全相同,則說明該虛擬機(jī)是這個(gè)宿主機(jī)上開啟的虛擬機(jī),將該虛擬機(jī)的IP地址、MAC地址以及與之相關(guān)聯(lián)的宿主機(jī)IP地址、MAC地址信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。直至檢查完所有的虛擬機(jī)。步驟八、顯示所有檢測(cè)出的Windows Virtual虛擬機(jī)。本發(fā)明的有益效果是:由于通過檢測(cè)主機(jī)已知目標(biāo)主機(jī)的IP地址,獲取目標(biāo)主機(jī)MAC地址,并將MAC地址發(fā)送給檢測(cè)主機(jī);檢測(cè)主機(jī)接收到目標(biāo)主機(jī)的MAC地址后,首先提取MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符,然后檢查是否與00:03:FF相匹配;遍歷局域網(wǎng)中所有的目標(biāo)主機(jī),檢測(cè)出所有開啟的Windows Virtual虛擬機(jī)和宿主機(jī)。然后根據(jù)MAC地址的32位到47位,分析每個(gè)虛擬機(jī)與宿主機(jī)之間的關(guān)聯(lián)性。如果虛擬機(jī)MAC地址的32位到47位與某個(gè)宿主機(jī)MAC地址的32位到47位完全相同,則說明該虛擬機(jī)是這個(gè)宿主機(jī)上開啟的虛擬機(jī),從而實(shí)現(xiàn)對(duì)虛擬機(jī)與宿主機(jī)關(guān)聯(lián)性的檢測(cè)。由于本發(fā)明根據(jù)MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符來檢測(cè)Windows Virtual虛擬機(jī)以及與宿主機(jī)關(guān)聯(lián)性,具有簡(jiǎn)單易行、可靠性高等特點(diǎn),不僅為Windows V irtual虛擬機(jī)安全漏洞檢測(cè)提供了基礎(chǔ),還可用于實(shí)現(xiàn)對(duì)WindowsVirtual虛擬機(jī)的管理,改變目前對(duì)虛擬機(jī)缺乏有效管理手段的局面,有助于提升虛擬機(jī)環(huán)境下的系統(tǒng)管理和安全管理水平。通過大量的實(shí)驗(yàn)驗(yàn)證,本發(fā)明方法檢測(cè)準(zhǔn)確率達(dá)到100%。
圖1是本發(fā)明Windows Virtual虛擬機(jī)遠(yuǎn)程檢測(cè)方法的框圖。
具體實(shí)施例方式參照?qǐng)D1。本發(fā)明所涉及的基本概念解釋如下:(I)Windows Virtual虛擬機(jī):利用Windows Virtual虛擬機(jī)軟件建立的虛擬機(jī),Windows Virtual 虛擬機(jī)軟件包括 Windows Virtual PC 和 Server 兩種。(2)檢測(cè)主機(jī):在一個(gè)局域網(wǎng)中,運(yùn)行虛擬機(jī)檢測(cè)軟件的聯(lián)網(wǎng)計(jì)算機(jī),通過網(wǎng)絡(luò)遠(yuǎn)程檢測(cè)局域網(wǎng)中是否存在安裝和運(yùn)行Windows Virtual虛擬機(jī)的計(jì)算機(jī)。(3)目標(biāo)主機(jī):在一個(gè)局域網(wǎng)中,若干待檢測(cè)的聯(lián)網(wǎng)計(jì)算機(jī),它們可能運(yùn)行WindowsVirtual虛擬機(jī),也可能沒有運(yùn)行Windows Virtual虛擬機(jī)。(4)MAC地址:介質(zhì)訪問控制地址,用來定義一個(gè)聯(lián)網(wǎng)計(jì)算機(jī)的網(wǎng)絡(luò)物理地址,通常存儲(chǔ)在計(jì)算機(jī)的網(wǎng)卡中。MAC地址長(zhǎng)度為48位二進(jìn)制,通常表示成12位十六進(jìn)制數(shù),即每4位二進(jìn)制數(shù)表示成I位十六進(jìn)制數(shù),其中每?jī)晌皇M(jìn)制數(shù)用“:”分割開,如XX:XX:XX:XX:XX:xx,其中X為十六進(jìn)制數(shù),取值范圍I — F。為了保持MAC地址的唯一性,MAC地址被分成廠商標(biāo)識(shí)符和產(chǎn)品標(biāo)識(shí)符兩部分,每個(gè)部分各為24位二進(jìn)制,即6位十六進(jìn)制數(shù),其中O到23位為網(wǎng)卡生產(chǎn)廠商標(biāo)識(shí)符,由相關(guān)國(guó)際組織分配;24位到47位為產(chǎn)品標(biāo)識(shí)符,由網(wǎng)卡生產(chǎn)廠商的自行編號(hào)。各部分編號(hào)必須是唯一的。(5)宿主機(jī):一個(gè)運(yùn)行Windows Virtual虛擬機(jī)軟件的計(jì)算機(jī),通過WindowsVirtual虛擬機(jī)軟件可建立了一個(gè)或多個(gè)Windows Virtual虛擬機(jī)。(6)虛擬網(wǎng)卡:在宿主機(jī)上,Windows Virtual虛擬機(jī)軟件為每個(gè)虛擬機(jī)自動(dòng)生成一個(gè)虛擬網(wǎng)卡,并被分配一個(gè)MAC地址。這樣,虛擬機(jī)就可使用這個(gè)MAC地址與其它主機(jī)進(jìn)行通信了。(7) ARP協(xié)議:地址解析協(xié)議,是TCP/IP協(xié)議集中的一個(gè)協(xié)議,在已知一個(gè)計(jì)算機(jī)IP地址而不知道MAC地址的情況下,通過ARP協(xié)議可以獲取到該計(jì)算機(jī)的MAC地址。發(fā)送方通過發(fā)送ARP請(qǐng)求包,請(qǐng)求一個(gè)給定IP地址對(duì)應(yīng)的計(jì)算機(jī)返回MAC地址,該計(jì)算機(jī)通過發(fā)送ARP應(yīng)答包返回其MAC地址。本發(fā)明基于如下事實(shí)和原理:(I)在一個(gè)宿主機(jī)上使用Windows Virtual虛擬機(jī)軟件建立虛擬機(jī)時(shí),每個(gè)虛擬機(jī)就會(huì)自動(dòng)生成一個(gè)虛擬網(wǎng)卡,并被分配一個(gè)MAC地址,其中O到23位為Windows Virtual虛擬機(jī)軟件生產(chǎn)廠商標(biāo)識(shí)符,24位到47位為產(chǎn)品標(biāo)識(shí)符。(2)根據(jù)對(duì)Windows Virtual虛擬機(jī)軟件的大量實(shí)驗(yàn)分析,我們發(fā)現(xiàn)WindowsVirtual虛擬機(jī)軟件在建立虛擬機(jī)時(shí),其虛擬網(wǎng)卡MAC地址生成規(guī)律是:①生產(chǎn)廠商標(biāo)識(shí)符均為“00:03:FF ;②產(chǎn)品標(biāo)識(shí)符的32位到47位取自宿主機(jī)物理網(wǎng)卡MAC地址的32位到47位,即兩者完全相同,而24位 到31位是隨機(jī)生成的。這樣不僅保證了在一個(gè)宿主機(jī)上各種MAC地址的唯一性,還建立了宿主機(jī)與虛擬機(jī)之間的關(guān)聯(lián)性。(3)如果檢測(cè)到一個(gè)主機(jī)的MAC地址中包含有“00:03:FF”生產(chǎn)廠商標(biāo)識(shí)符,則可以識(shí)別出該主機(jī)為Windows Virtual虛擬機(jī),從而實(shí)現(xiàn)對(duì)Windows Virtual虛擬機(jī)的檢測(cè)。(4)如果檢測(cè)到若干主機(jī)的MAC地址中包含有“00:03:FF”生產(chǎn)廠商標(biāo)識(shí)符,并且MAC地址的32位到47位與宿主機(jī)MAC地址的32位到47位相同,則說明這些WindowsVirtual虛擬機(jī)為同一宿主機(jī)上開啟的虛擬機(jī),從而實(shí)現(xiàn)對(duì)虛擬機(jī)與宿主機(jī)關(guān)聯(lián)性的檢測(cè)。本發(fā)明采用以下步驟:1.目標(biāo)主機(jī)MAC地址獲取。檢測(cè)主機(jī)已知目標(biāo)主機(jī)的IP地址,使用ARP協(xié)議構(gòu)造一個(gè)ARP請(qǐng)求包發(fā)送給已知IP地址對(duì)應(yīng)的目標(biāo)主機(jī),請(qǐng)求目標(biāo)主機(jī)返回其MAC地址。目標(biāo)主機(jī)接收到ARP請(qǐng)求包后,同樣使用ARP協(xié)議構(gòu)造一個(gè)ARP應(yīng)答包,將MAC地址發(fā)送給檢測(cè)主機(jī)。2.Windows Virtual 虛擬機(jī)檢測(cè)。檢測(cè)主機(jī)接收到目標(biāo)主機(jī)的MAC地址后,首先提取MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符(即MAC地址的O到23位),然后檢查是否與“00:03:FF”相匹配。如果匹配成功,則說明該目標(biāo)主機(jī)為Windows Virtual虛擬機(jī);否則為宿主機(jī),從而實(shí)現(xiàn)對(duì)Windows Virtual虛擬機(jī)的檢測(cè)。3.虛擬機(jī)與宿主機(jī)關(guān)聯(lián)性檢測(cè)。
按照上述方法,遍歷局域網(wǎng)中所有的目標(biāo)主機(jī),檢測(cè)出所有開啟的WindowsVirtual虛擬機(jī)和宿主機(jī)。然后根據(jù)MAC地址的32位到47位,分析每個(gè)虛擬機(jī)與宿主機(jī)之間的關(guān)聯(lián)性。如果虛擬機(jī)MAC地址的32位到47位與某個(gè)宿主機(jī)MAC地址的32位到47位完全相同,則說明該虛擬機(jī)是這個(gè)宿主機(jī)上開啟的虛擬機(jī),從而實(shí)現(xiàn)對(duì)虛擬機(jī)與宿主機(jī)關(guān)聯(lián)性的檢測(cè)。4.虛擬機(jī)信息處理。將所有Windows Virtual虛擬機(jī)的IP地址、MAC地址以及與之相關(guān)聯(lián)的宿主機(jī)IP地址、MAC地址等信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,供后續(xù)處理使用,包括Windows Virtual虛擬機(jī)查詢與管理、Windows Virtual虛擬機(jī)安全漏洞檢測(cè)等。本發(fā)明的具體檢測(cè)算法使用C/C++等計(jì)算機(jī)編程語言來實(shí)施,具體步驟如下:1.輸入所有目標(biāo)主機(jī)的IP地址或IP地址范圍。2.順序取出一個(gè)目標(biāo)主機(jī)IP地址,使用ARP協(xié)議構(gòu)造一個(gè)ARP請(qǐng)求包發(fā)送給該IP地址對(duì)應(yīng)的目標(biāo)主機(jī),請(qǐng)求目標(biāo)主機(jī)返回其MAC地址。
3.等待接收目標(biāo)主機(jī)的ARP應(yīng)答包。4.接收到目標(biāo)主機(jī)的ARP應(yīng)答包后,從ARP應(yīng)答包中提取MAC地址,解析出MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符(即MAC地址的O到23位)。5.檢查生產(chǎn)廠商標(biāo)識(shí)符是否與“00:03:FF”相匹配。如果匹配成功,則說明該目標(biāo)主機(jī)為Windows Virtual虛擬機(jī),否則為非Windows Virtual虛擬機(jī)。6.檢查所有的IP地址是否全部檢測(cè)完畢,如果檢測(cè)完畢,則進(jìn)入步驟7 ;否則返回到步驟2繼續(xù)檢測(cè)。7.順序檢查每個(gè)虛擬機(jī)和宿主機(jī)之間的關(guān)聯(lián)性,如果虛擬機(jī)MAC地址的32位到47位與某個(gè)宿主機(jī)MAC地址的32位到47位完全相同,則說明該虛擬機(jī)是這個(gè)宿主機(jī)上開啟的虛擬機(jī),將該虛擬機(jī)的IP地址、MAC地址以及與之相關(guān)聯(lián)的宿主機(jī)IP地址、MAC地址等信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。直至檢查完所有的虛擬機(jī)。8.顯示所有檢測(cè)出的Windows Virtual虛擬機(jī)及其相關(guān)信息。本發(fā)明根據(jù)MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符和產(chǎn)品標(biāo)識(shí)符來檢測(cè)Windows Virtual虛擬機(jī)以及與宿主機(jī)關(guān)聯(lián)性,具有簡(jiǎn)單易行、可靠性高等特點(diǎn),不僅為Windows Virtual虛擬機(jī)安全漏洞檢測(cè)提供了基礎(chǔ),還可用于實(shí)現(xiàn)對(duì)Windows Virtual虛擬機(jī)的管理,改變目前對(duì)虛擬機(jī)缺乏有效管理手段的局面,有助于提升虛擬機(jī)環(huán)境下的系統(tǒng)管理和安全管理水平。通過大量的實(shí)驗(yàn)驗(yàn)證和實(shí)際應(yīng)用,本方法檢測(cè)準(zhǔn)確率達(dá)到100%。
權(quán)利要求
1.一種Windows Virtual虛擬機(jī)遠(yuǎn)程檢測(cè)方法,其特征在于包括以下步驟: 步驟一、輸入所有目標(biāo)主機(jī)的IP地址或IP地址范圍; 步驟二、順序取出一個(gè)目標(biāo)主機(jī)IP地址,使用ARP協(xié)議構(gòu)造一個(gè)ARP請(qǐng)求包發(fā)送給該IP地址對(duì)應(yīng)的目標(biāo)主機(jī),請(qǐng)求目標(biāo)主機(jī)返回其MAC地址; 步驟三、等待接收目標(biāo)主機(jī)的ARP應(yīng)答包; 步驟四、接收到目標(biāo)主機(jī)的ARP應(yīng)答包后,從ARP應(yīng)答包中提取MAC地址,解析出MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符,即MAC地址的O到23位; 步驟五、檢查生產(chǎn)廠商標(biāo)識(shí)符是否與00:03:FF相匹配;如果匹配成功,則該目標(biāo)主機(jī)為Windows Virtual虛擬機(jī),如果匹配不成功,則該目標(biāo)主機(jī)為非Windows Virtual虛擬機(jī); 步驟六、檢查所有的IP地址是否全部檢測(cè)完畢,如果檢測(cè)完畢,則進(jìn)入步驟七;如果沒有檢測(cè)完畢,則返回到步驟二繼續(xù)檢測(cè); 步驟七、順序檢查每個(gè)虛擬機(jī)和宿主機(jī)之間的關(guān)聯(lián)性,如果虛擬機(jī)MAC地址的32位到47位與某個(gè)宿主機(jī)MAC地址的32位到47位 完全相同,則說明該虛擬機(jī)是這個(gè)宿主機(jī)上開啟的虛擬機(jī),將該虛擬機(jī)的IP地址、MAC地址以及與之相關(guān)聯(lián)的宿主機(jī)IP地址、MAC地址信息存儲(chǔ)在數(shù)據(jù)庫(kù)中;直至檢查完所有的虛擬機(jī); 步驟八、顯示所有檢測(cè)出的Windows Virtual虛擬機(jī)。
全文摘要
本發(fā)明公開了一種Windows Virtual虛擬機(jī)遠(yuǎn)程檢測(cè)方法,用于解決現(xiàn)有Windows Virtual虛擬機(jī)存在安全漏洞的技術(shù)問題。技術(shù)方案是首先檢測(cè)主機(jī)已知目標(biāo)主機(jī)的IP地址,獲取目標(biāo)主機(jī)MAC地址,并將MAC地址發(fā)送給檢測(cè)主機(jī);再檢測(cè)主機(jī)接收到目標(biāo)主機(jī)的MAC地址后,首先提取MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符,然后檢查是否與00:03:FF相匹配;遍歷局域網(wǎng)中所有的目標(biāo)主機(jī),檢測(cè)出所有開啟的Windows Virtual虛擬機(jī)和宿主機(jī)。然后根據(jù)MAC地址的32位到47位,分析每個(gè)虛擬機(jī)與宿主機(jī)之間的關(guān)聯(lián)性,從而實(shí)現(xiàn)對(duì)虛擬機(jī)與宿主機(jī)關(guān)聯(lián)性的檢測(cè)。由于本發(fā)明根據(jù)MAC地址中的生產(chǎn)廠商標(biāo)識(shí)符來檢測(cè)Windows Virtual虛擬機(jī)以及與宿主機(jī)關(guān)聯(lián)性,檢測(cè)準(zhǔn)確率達(dá)到了100%。
文檔編號(hào)H04L29/06GK103220298SQ20131015074
公開日2013年7月24日 申請(qǐng)日期2013年4月27日 優(yōu)先權(quán)日2013年4月27日
發(fā)明者蔡霖, 蔡皖東, 韓玲 申請(qǐng)人:西北工業(yè)大學(xué)