一種虛擬機監控器信任域分割方法
【技術領域】
[0001]本發明涉及云計算安全技術領域,尤其是涉及一種虛擬機監控器信任域分割方法,涉及如何減小虛擬機控制器的可信計算基,從而提高虛擬機安全性的問題。
【背景技術】
[0002]傳統的虛擬機信任域是一個規模較大的可信計算基,并集中體現在控制虛擬機上。現有的技術中有涉及提高虛擬機監控器安全性的技術,如:
[0003]發明專利“一種虛擬機的安全控制方法”(中華人民共和國專利申請號201210435354.X,公開日期2013年02月13日),該發明公開了一種虛擬機的安全控制方法,通過使用公鑰數據對虛擬機源文件進行加密得到虛擬機加密文件,并向云管理控制臺和云安全認證服務器返回虛擬機信息及對應的用戶信息。在創建虛擬機的用戶訪問該虛擬機時,只能通過申請虛擬機所屬用戶的私鑰數據進行解密,達到了虛擬機與用戶綁定的效果,以此提高虛擬機的安全性。但是該方法中云管理控制臺依然擁有較高的權限,當黑客成功攻擊控制臺,獲得權限后,虛擬機的安全也就受到威脅。同時,通過非對稱加密方式來獲取安全性,是以犧牲大量的性能為代價,在規模較大的云數據中心是不可取的安全手段。
[0004]發明專利“用于對虛擬計算環境進行隔離保護的方法及系統”(中華人民共和國專利申請號201110176705.5,公開日期2013年01月02日),提供一種用于對虛擬計算平臺中的計算環境進行隔離保護的方法及系統,通過將云安全管理器設置在虛擬計算平臺中的硬件資源之上,用來管理與安全任務相關的硬件物理地址的映射,以及將虛擬機監視器設置在云安全管理器之上,用于管理與非安全任務相關的硬件物理地址的映射,并且虛擬機監視器對硬件物理地址的映射進行的操作由云安全管理器進行控制,從而可以使得虛擬架構上可能存在的攻擊者無法入侵租客用戶VM的計算環境,即無法對租客VM及其處理的用戶數據造成隱私性與完整性方面的破壞,由此提高虛擬計算平臺的計算環境的安全性。雖然該方法通過降低虛擬機監控器的權限來保證安全性,但是同時還是引入了一個高權限的云安全管理器,若攻擊者轉由攻擊高權限的云安全管理器從而獲得系統的最高權限時,云平臺上的大量租戶的數據安全將處于危險之中。
[0005]發明專利“一種在虛擬機內部的驅動隔離系統與方法”(中華人民共和國專利申請號201210442752.4,公開日期2013年02月20日),該發明公開了一種在虛擬機內部的驅動隔離系統與方法,它包括運行于虛擬機用戶態的驅動隔離加載模塊、虛擬機內核態的內存信息監視模塊以及虛擬機管理器內部的內存訪問控制模塊,驅動隔離加載模塊使特定驅動以隔離方式運行,被隔離驅動與內核間的調用必須通過內存信息監視模塊,同時內存信息監視模塊將被隔離驅動所使用內存信息、可信任的虛擬機內核的地址范圍、建立被隔離驅動授權表的指令等信息遞交給虛擬機管理器內部的內存訪問控制模塊,由內存訪問控制模塊判別是否建立或如何建立該虛擬機對應的授權表項及影子列表,以此控制被隔離驅動程序對內存的寫操作,從而提高各虛擬機的安全性。但是,該發明所述系統對于每個需要進行驅動隔離的虛擬機都要配備驅動隔離加載模塊和內存信息監視模塊,虛擬機管理器也必須對每個客戶機都建立一個相應的影子頁表和授權表,這將耗費大量系統內存資源;每一個驅動加載進入內核的動作都會引起客戶機向虛擬機管理器遞交消息供其處理,尤其在多個客戶機的情形下,這將使得虛擬機管理器處理數據量大且容易進入繁忙狀態,甚至容易受到拒絕服務攻擊;授權表的可寫內存范圍由虛擬機管理器為驅動程序預先分配,若過小則不能抵御溢出攻擊,若過大則會造成內存空間的浪費。
【發明內容】
[0006]為了克服現有技術的上述缺點,本發明提供了一種虛擬機監控器信任域分割方法,將傳統的控制虛擬機分解為各個組件組成,每個組件執行單一的功能。這樣可以帶來一些好處:客戶共享的服務組件是可配置和可審計的;限制每個組件以所需的最小權限接入Hypervisor,這使得風險明確化;通過配置組件的微重置的頻率,可減小單個組件的時間攻擊面。
[0007]本發明解決其技術問題所采用的技術方案是:一種虛擬機監控器信任域分割方法,按照控制虛擬機的功能將其分解成九個服務虛擬機,每個服務虛擬機包含一個單一用途的控制邏輯并執行單一的功能,其中:
[0008]I) 一號服務虛擬機負責控制PCI總線和管理外部設備中斷尋路;
[0009]2) 二號服務虛擬機用于初始化各服務虛擬機,與其他新建的服務虛擬機同時啟動,并在啟動后被銷毀;
[0010]3)三號服務虛擬機僅根據六號服務虛擬機為各虛擬機建立的信任列表工作;
[0011]4)XenStore組件拆分為兩個獨立的服務虛擬機四號服務虛擬機和五號服務虛擬機,其中:四號服務虛擬機包含事務邏輯和連接管理代碼,在每一次響應完成后進行重置;五號服務虛擬機包含實際的存儲內容,保持長期活動狀態;
[0012]5)六號服務虛擬機能夠在正在運行的系統上創建新的虛擬機,具有高級權限,負責為每個新創建的虛擬機建立內存訪問白名單;
[0013]6)七號服務虛擬機和八號服務虛擬機分別為各個虛擬機建立從硬件網絡、存儲設備到虛擬設備的映射,對外圍設備具有直接訪問權限,并依靠現有驅動支持Linux硬件接口 ;七號服務虛擬機和八號服務虛擬機分別直接對一個網絡或存儲控制器進行虛擬化,并提供相關驅動程序和后端虛擬化驅動;
[0014]7)九號服務虛擬機對采用非開源操作系統的客戶虛擬機進行仿真。
[0015]與現有技術相比,本發明的積極效果是:能夠減小可信計算基、減小系統受攻擊面、減小系統被攻擊成功后的受影響范圍以提高系統本身的安全性,還能夠降低內存使用、降低啟動時間、提高網絡到磁盤的吞吐量以提高系統性能。傳統的控制虛擬機擁有同Hypervisor類似的高級權限,并通過眾多的接口為各客戶虛擬機提供服務,控制虛擬機和Hypervisor 一起構成單片信任域,這樣做使得控制虛擬機容易受到黑客的攻擊,若其一旦被攻破,整個系統將陷入癱瘓。本發明是在Xen平臺上用九個不同功能的服務虛擬機組成的系統替代原控制虛擬機,打破了傳統的單片可信計算基結構。這九類服務虛擬機以組件的形式構成了一個新的控制虛擬機。每類服務虛擬機都執行單一的功能,僅擁有滿足其功能所必需的最低系統權限,且其使用的接口僅由各虛擬機和系統其他組件所決定。本發明嚴格限制每類服務虛擬機之間共享,對于必須共享的內容采取了簡單的共享策略,并且是易于配置和審計的。此外,各個服務虛擬機在完成其任務后立即停止運行,運行中的服務虛擬機也有定時重啟恢復機制,以使其還原到一個默認的良好運行狀態,可以有效地抵御黑客攻擊或有效地降低受攻擊影響程度。
【附圖說明】
[0016]本發明將通過例子并參照附圖的方式說明,其中:
[0017]圖1為傳統單片信任域示意圖;
[0018]圖2為九類服務虛擬機系統結構圖;
[0019]圖3為各服務虛擬機生成關系圖;
[0020]圖4為運行時各系統組件信息交互路徑圖。
【具體實施方式】
[0021]附圖1為傳統單片信任域示意圖,圖中所示控制虛擬機自身具有完整的操作系統,擁有與Hypervisor相似的高級系統權限,并通過眾多接口與客戶虛擬機相連,為各客戶虛擬機提供服務。這樣的結構將控制虛擬機和Hypervisor —起構成了單片信任域,這使得控制虛擬機容易受到黑客的攻擊,且一旦被攻破,整個系統會遭受巨大損失。
[0022]本發明按照控制虛擬機的功能將其分解成九類服務虛擬機,每個服務虛擬機都包含一個單一用途的控制邏輯并執行單一的功能,這樣做的實質是對虛擬機監控器的信任域進行了分割。這九類服務虛擬機包括:PCIBack( —號服務虛擬機),Bootstrapper ( 二號服務虛擬機),Toolstack (三號服務虛擬機),XenStore-Logic (四號服務虛擬機),XenStore-State (五號服務虛擬機),Builder (六號服務虛擬機),BlkBack (七號服務虛擬機),NetBack(八號服務虛擬機),Qemu (九號服務虛擬機)。附圖2為九類服務虛擬機系統結構圖,這樣結構不是唯一的,圖中表示出了所有服務類型的虛擬機和它們之間在運行過程中的相互依賴關系,為了簡潔,沒有將一次性關聯關系(Builder和它所建立的虛擬機之間的關系)表示出來,正如圖中所示,提供Qemu服務的虛擬機伴隨著客戶虛擬機的整個生命周期。各組件實現的功能如下:
[0023]PCIBack組件負責控制PCI總線和管理外部設備中斷尋路。這個配置空間只有在設備初始化的