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