基于輕量操作系統(tǒng)的虛擬機內(nèi)省與內(nèi)存安全監(jiān)測_第1頁
基于輕量操作系統(tǒng)的虛擬機內(nèi)省與內(nèi)存安全監(jiān)測_第2頁
基于輕量操作系統(tǒng)的虛擬機內(nèi)省與內(nèi)存安全監(jiān)測_第3頁
基于輕量操作系統(tǒng)的虛擬機內(nèi)省與內(nèi)存安全監(jiān)測_第4頁
基于輕量操作系統(tǒng)的虛擬機內(nèi)省與內(nèi)存安全監(jiān)測_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、基于輕量操作系統(tǒng)的虛擬機內(nèi)省與內(nèi)存平安監(jiān)測摘要:針對在傳統(tǒng)特權虛擬機中利用虛擬機內(nèi)省實時監(jiān)測其他虛擬機內(nèi)存平安的方法不利于平安模塊與系統(tǒng)其他部分的隔離,且會拖慢虛擬平臺的整體性能的問題,提出基于輕量操作系統(tǒng)實現(xiàn)虛擬機內(nèi)省的平安架構,并提出基于內(nèi)存完好性度量的內(nèi)存平安監(jiān)測方案。通過在輕量客戶機中實現(xiàn)內(nèi)存實時檢測與度量,減小了平安模塊的可攻擊面,降低了對虛擬平臺整體性能的影響。通過無干預的內(nèi)存度量和自定義的虛擬平臺授權策略增強了平安模塊的隔離性。基于Xen中的小型操作系統(tǒng)MiniOS實現(xiàn)了虛擬機內(nèi)省與內(nèi)存檢測系統(tǒng)原型,評估說明該方案比在特權虛擬機中實現(xiàn)的同等功能減少了92%以上的性能損耗,有效進步

2、了虛擬機內(nèi)省與實時度量的效率。關鍵詞:虛擬機內(nèi)省;Xen MiniOS;內(nèi)存監(jiān)控;完好性度量;入侵檢測英文摘要Abstract:The method of utilizing Virtual Machine Introspection (VMI) in a traditional privileged Virtual Machine (VM) to monitor the memory security of other VMs may weaken the isolation between the security module and other parts of the system,

3、 and slows down the total performance of the virtualization platform. In order to mitigate these disadvantages, a security architecture based on implementing VMI in a lightweight operating system was proposed, along with a security checking scheme based on memory integrity measurements. By monitorin

4、g and checking other VMs runtime memory in a lightweight VM, the attack surface as well as the performance overhead was reduced. By nonintrusive checking and personalized authentication policy of the virtualization platform, the isolation of the security module was strengthened. A prototype system o

5、f VMI and memory detection was implemented based on MiniOS of Xen. Compared with achieving the same function in privileged VM, the proposed scheme can reduce performance loss by more than 92% . It is proved that the proposed scheme can significantly improve the performance of VMI and realtime checki

6、ng.英文關鍵詞Key words:Virtual Machine Introspection (VMI);Xen Mini Operating System (Xen MiniOS); 先,雖然Mini-OS的愿意確實是Mini Operating System,但在Xen背景下,Mini-OS已經(jīng)是一個專用名詞,而很少有學者稱為Xen Mini Operating System。其次,就算要寫全稱,應為Xen Mini Operating System,而不是Xen Mini-Operating System。memory monitoring; integrity checking; i

7、ntrusion detection0 引言虛擬化技術是云平臺能同時為多個用戶提供效勞的核心技術。在虛擬化技術下,同一物理設備可以被虛擬成多臺虛擬設備,由多個用戶分別使用且互不影響,從而降低計算本錢。然而,虛擬化平臺下的平安問題面臨諸多挑戰(zhàn)1-2:首先,傳統(tǒng)計算環(huán)境下的破綻攻擊在虛擬機(Virtual Machine,VM)環(huán)境下同樣有效,如Web破綻CVE20210392、平安外殼協(xié)議(Secure SHell,SSH)破綻CVE20214478、域名系統(tǒng)(Domain Name System,DNS)破綻CVE20210122等;其次,虛擬化技術使得攻擊者有了新的攻擊方式,如VMware

8、Tools中的函數(shù)庫訪問破綻CVE20212041等。在虛擬環(huán)境下,傳統(tǒng)的運行在操作系統(tǒng)內(nèi)部的平安監(jiān)測程序已不能滿足虛擬化環(huán)境的平安需求。而在特定的虛擬機中利用虛擬機內(nèi)省技術實時監(jiān)測其他虛擬機的內(nèi)存3-5,成為虛擬環(huán)境下平安防護的研究熱點。例如LibVMI4和RTKDSM5可以在Xen的Domain0中對Xen平臺上其他VM執(zhí)行監(jiān)控。HyperCoffer6利用了現(xiàn)有的處理器硬件虛擬化擴展技術,在Hypervisor不可信的情況下對虛擬機進展加密與完好性保護。但這些研究均是在虛擬平臺的特權虛擬機中實現(xiàn)虛擬機內(nèi)省,該方法仍存在如下問題:1)特權虛擬機上運行Linux等商業(yè)化操作系統(tǒng),其功能復雜,

9、可信計算基(Trusted Computing Base,TCB)較大,不利于平安模塊與其他模塊的隔離,增加了平安模塊的可攻擊面;2)同時,特權虛擬機運行時消耗資源較多,在其中執(zhí)行內(nèi)省會拖慢虛擬平臺的整體性能。取證虛擬機(Forensics Virtual Machine,F(xiàn)VM)7-8利用Xen中的輕量虛擬機MiniOSminiOS與MiniOS含義一樣,是否應統(tǒng)一。兩者是同一個意思,可以統(tǒng)一稱為Mini-OS建立了多個專用的虛擬機監(jiān)控器,每一個監(jiān)控器負責搜索特定的惡意行為特征。但其多個FVM帶來的性能損耗較大,其實驗原型中也只有對目的系統(tǒng)進程字節(jié)級別的訪問實驗,不能說明大范圍內(nèi)存訪問的性能

10、。為抑制上述弊端,本文提出在一個平安隔離的輕量虛擬機中監(jiān)測其他普通虛擬機內(nèi)存的平安架構,并用于實時度量系統(tǒng)內(nèi)存的完好性。主要奉獻有:1)提出基于輕量操作系統(tǒng)的平安隔離與監(jiān)控架構,允許在一個隔離的輕量虛擬機中監(jiān)測其他客戶虛擬機的內(nèi)存。2)提出基于內(nèi)存完好性度量的平安監(jiān)測方案,并將虛擬機內(nèi)省技術應用到Xen平臺的MiniOS操作系統(tǒng)中,實現(xiàn)了系統(tǒng)原型。3)評估原型系統(tǒng)性能,結(jié)果說明該機制在多達500頁內(nèi)存的連續(xù)訪問中可減少92%以上的性能損耗,進步了虛擬機內(nèi)省與實時度量的效率。1 威脅模型1.1 虛擬機內(nèi)省虛擬機內(nèi)省技術允許一個虛擬機監(jiān)控其他虛擬機的運行狀態(tài)。一個擁有特殊權限的虛擬機可以通過虛擬機

11、內(nèi)省訪問另一個客戶虛擬機的內(nèi)存,進而從中抽取出運行信息,實時監(jiān)控該虛擬機狀態(tài)。虛擬機內(nèi)省無需改動目的虛擬機系統(tǒng),可以較好地隱藏自己的監(jiān)控行為。開源的虛擬機內(nèi)省工具有XenAccess、LibVMI、Volatility等。LibVMI4源于XenAccess3,是在Xen中實現(xiàn)虛擬機內(nèi)省的庫函數(shù)包,為操作系統(tǒng)實現(xiàn)虛擬機內(nèi)省提供函數(shù)庫支持。Volatility是計算機取證應用較廣的開源工具,能為用戶提供更為豐富易用的功能。本文借鑒LibVMI的工作,從虛擬平臺底層開始,在微小操作系統(tǒng)中實現(xiàn)虛擬機內(nèi)省技術。本文實現(xiàn)虛擬機內(nèi)省的輕量虛擬機稱為平安代理;其他的虛擬機作為監(jiān)控對象,稱為目的虛擬機。平安代

12、理可以通過虛擬機內(nèi)省技術,實時讀取目的虛擬機的內(nèi)存,進而分析目的虛擬機的運行狀態(tài)。1.2 威脅模型保障系統(tǒng)的完好性是系統(tǒng)防護的根本目的。完好性要求信息與程序僅以特定的、已獲得授權的范圍內(nèi)變化9。成功的攻擊行為會引起系統(tǒng)部分運行狀態(tài)的異常變化。假設系統(tǒng)任一部分的完好性遭到破壞,那么整個系統(tǒng)的完好性便被破壞。本文主要關注客戶機系統(tǒng)受到的攻擊,如:從用戶接口發(fā)起的操作系統(tǒng)攻擊;在一個客戶機內(nèi)的惡意代碼注入攻擊;篡改攻擊;通過代碼注入提升權限實現(xiàn)多個惡意客戶機之間的結(jié)合攻擊等。對系統(tǒng)完好性的實時度量,可檢測客戶機系統(tǒng)中正在發(fā)生的攻擊。威脅模型基于虛擬化平臺中的如下假設:1) 假設虛擬機監(jiān)控器是平安的,

13、攻擊者不能利用虛擬機監(jiān)控器中的破綻控制整個虛擬機平臺。2) 假設啟動過程是平安的,包括監(jiān)控器的啟動、虛擬機的啟動以及虛擬機內(nèi)關鍵應用的啟動都是可信的。該狀態(tài)作為后續(xù)執(zhí)行實時校驗的標準。3) 假設客戶虛擬機是不平安的,被攻擊者可以利用客戶操作系統(tǒng)或者應用程序中的破綻攻陷客戶虛擬機系統(tǒng),破壞客戶虛擬機系統(tǒng)的完好性。平安代理運行在被監(jiān)控的操作系統(tǒng)之外,假設被監(jiān)控的操作系統(tǒng)被惡意程序控制,平安代理不會受到損害,故仍然可信。然而,當平安代理所在的虛擬機被惡意程序侵染之后,通過內(nèi)省技術得到的信息那么是不可靠的,對此本文不作討論。2 系統(tǒng)構造惡意程序會通過修改它所在的環(huán)境的狀態(tài)來隱藏自己。這些惡意程序在設計

14、之初就致力于繞過系統(tǒng)內(nèi)部的防護程序。然而,假設從系統(tǒng)的外部實時監(jiān)控系統(tǒng)內(nèi)部的狀態(tài)變化,那么這些惡意軟件將很難隱藏自己的行為。本文在一個微小操作系統(tǒng)中實現(xiàn)虛擬機內(nèi)省技術,為運行在其他虛擬機上的商業(yè)化操作系統(tǒng)提供完好性度量效勞,以減少性能損耗,縮小監(jiān)控系統(tǒng)的可攻擊面。平安代理施行監(jiān)控的整體架構如圖1所示。平安代理中存儲著其他虛擬機平安可信狀態(tài)的度量值。在其他虛擬機運行過程中,平安代理可以借助虛擬機內(nèi)省技術,獲取內(nèi)存的狀態(tài)與變化,實時度量目的內(nèi)存區(qū)域的完好性。比方,度量目的客戶機系統(tǒng)關鍵代碼是否被修改等。平安代理所監(jiān)控的目的內(nèi)存區(qū)域,以及監(jiān)控的策略與方法,都配置在平安代理中。2.1 設計原那么在系統(tǒng)

15、設計過程中設定如下原那么:輕量虛擬機、無干預度量和虛擬機隔離與最小權限原那么。下面討論這3個原那么以及相應的解決方案。2.1.1 輕量虛擬機在一個專用的虛擬機中完成單個任務,假設使用現(xiàn)有的商業(yè)化操作系統(tǒng),如Linux或者Windows等,那么虛擬機啟動和運行需要消耗大量系統(tǒng)資源,而完好性校驗的工作僅占損耗的一部分,所以會造成資源的浪費,降低運行效率。而微小操作系統(tǒng)可用較少資源完成一樣的任務。此外,微小系統(tǒng)的TCB小,給整個系統(tǒng)帶來的TCB增長較小。在其他平安條件都一樣的情況下,TCB規(guī)模越小,系統(tǒng)的可靠性越高10。本文采取Xen源碼樹中的微小操作系統(tǒng)MiniOS11作為平安代理的系統(tǒng)環(huán)境。Mi

16、niOS內(nèi)核規(guī)模小,僅需1MB內(nèi)存就可以運行,且內(nèi)核簡單,沒有內(nèi)核空間與用戶空間的別離,也沒有多線程的支持。由此,本文在MiniOS中實現(xiàn)虛擬機內(nèi)省技術。相對于實如今商業(yè)化的操作系統(tǒng)中,這樣的實現(xiàn)內(nèi)部構造簡單,且具備精簡而夠用的對外接口,減小平安代理的可攻擊面,同時節(jié)約系統(tǒng)資源。2.1.2 無干預度量無干預是指不修改目的操作系統(tǒng)的代碼與運行狀態(tài)。威脅模型假設所有被監(jiān)控的客戶虛擬機都是不平安的,因此平安代理不能依賴于對客戶虛擬機的修改,且檢測過程要對目的虛擬機以及云平臺上的其他虛擬機具有隱秘性。借助虛擬機內(nèi)省技術,度量過程不需要對目的虛擬機的代碼作任何增減,故可實現(xiàn)無干預度量,隱藏平安代理的監(jiān)控

17、行為,增強平安代理與被監(jiān)控對象的隔離。盡管虛擬機內(nèi)省不需要改動目的虛擬機系統(tǒng)的任何代碼與數(shù)據(jù),但一些特定的惡意程序仍然可以檢測到客戶機是否正在運行在一個虛擬機環(huán)境中12。惡意程序還可能利用共享核實是否正確虛擬CPU(virtual CPU,vCPU)的緩存的隱蔽信道檢測到是否有虛擬機在監(jiān)控它的惡意行為13。2.1.3 最小權限限制與隔離隔離的運行環(huán)境可進步平安代理的可信性。但在普通虛擬機架構中,虛擬機之間可互相通信、共享內(nèi)存。為保證平安代理與外界的隔離,需要切斷平安代理所在的虛擬機與其他的虛擬機之間不必要的內(nèi)存共享與通信方式。此外,平安代理作為虛擬機監(jiān)控者,具有訪問其他虛擬機內(nèi)存的權限。為防止

18、平安代理影響其他虛擬機的正常運行,限定平安代理具有最小內(nèi)存訪問權是另一個必要措施。由此,平安代理在設計過程中需遵循以下限制:1)平安代理僅與虛擬機監(jiān)控器直接通信。平安代理對外暴露出的接口要盡可能少。本文假設其他虛擬機是不平安的,因此為減小平安代理的可攻擊面,制止與其他虛擬機的通信接口是有效的方法。平安代理僅保存與虛擬機監(jiān)控器的通信接口,實現(xiàn)對其他虛擬機的內(nèi)存讀取與實時度量。2)制止平安代理與其他VM之間的內(nèi)存共享機制。虛擬機監(jiān)控器提供內(nèi)存共享機制,允許VM之間訪問對方的內(nèi)存。例如,Xen中的授權表14等。由于平安代理可以借助虛擬機監(jiān)控器的內(nèi)存管理接口獲取其他VM的內(nèi)存訪問權,所以對于其他內(nèi)存共

19、享方式,需加以制止。此外,需要制止被監(jiān)控VM對平安代理的內(nèi)存訪問。比方,在Xen中,制止被監(jiān)控VM通過監(jiān)控器內(nèi)存管理接口、授權表等方式訪問平安代理的內(nèi)存頁。3)平安代理對其他VM的內(nèi)存的訪問權限為只讀權限。假設允許平安代理改變其他VM的內(nèi)存,那么目的虛擬機的完好性或平安性很可能會被平安代理破壞。比方,假設平安代理被攻陷,那么攻擊者就可以利用該代理控制其他虛擬機。在Xen中采用強迫訪問控制工具Xen Security Modules(XSM)15可實現(xiàn)虛擬機環(huán)境的強迫隔離及特殊的內(nèi)存授權。XSM可以控制虛擬機與虛擬機之間、虛擬機與監(jiān)控器之間,以及相關資源如內(nèi)存和設備之間的交互權限。使用XSM既可

20、以制止不必要的虛擬機通信與內(nèi)存共享,也可以在無需修改目的虛擬機的前提下授予平安代理虛擬機對其他虛擬機的內(nèi)存只讀權限。2.2 構造設計如圖2所示,完好性校驗系統(tǒng)構造主要包括3個模塊:主模塊、可信狀態(tài)庫和虛擬機內(nèi)省模塊。2.2.1 主模塊主模塊負責對整個平安代理的管理,借助其他功能模塊提供給主模塊的接口,實現(xiàn)平安代理的根本功能,主要包括內(nèi)存搜索、度量和校驗比照。內(nèi)存搜索部分可以根據(jù)內(nèi)省模塊獲取的內(nèi)存頁,對監(jiān)控目的進展語義抽取和搜索定位。度量部分計算監(jiān)控目的的度量值,允許實現(xiàn)多種度量算法。本文以缺少引用和介紹。SHA1為常用的平安哈希算法,參見: ://wiki/SH

21、A-1SHA1算法為例實現(xiàn)原型系統(tǒng)。主模塊的校驗比照部分可以訪問平安狀態(tài)數(shù)據(jù)庫中存儲的可信度量值,與實時度量值進展比較分析。2.2.2 可信狀態(tài)數(shù)據(jù)庫可信狀態(tài)數(shù)據(jù)庫用于存儲虛擬機可信度量值,可以包含所有有助于校驗內(nèi)存運行狀態(tài)可信性的度量值。比方:用于校驗靜態(tài)代碼的程序哈希值,用于校驗程序的控制流完好性的程序流控制圖16等。本文假設度量對象的啟動狀態(tài)可信??尚哦攘恐翟谀康膶ο蟮膯舆^程中初始化到數(shù)據(jù)庫中。在目的對象的實時度量過程中,這些可信狀態(tài)被用來校驗目的對象的完好性。2.2.3 虛擬機內(nèi)省模塊平安代理實時度量內(nèi)存中的運行對象,需要可以訪問目的虛擬機的內(nèi)存頁,并從中抽取出內(nèi)存狀態(tài)信息。虛擬機內(nèi)

22、省模塊借助開源工具LibVMI獲得目的虛擬機的內(nèi)存信息。目的虛擬機內(nèi)存頁的實時獲取由該模塊負責。該模塊是平安代理與虛擬機監(jiān)控器直接通信的唯一接口。該模塊通過向虛擬機監(jiān)控器發(fā)出懇求,獲取目的虛擬機特定的內(nèi)存頁內(nèi)容以及根本語義信息。比方,通過內(nèi)省模塊可以讀取目的虛擬機的虛擬CPU存放器狀態(tài),獲取內(nèi)核頁表、用戶進程頁表和特定內(nèi)存頁等。3 系統(tǒng)原型實現(xiàn)基于以上設計,本文在Xen的微小操作系統(tǒng)MiniOS中實現(xiàn)了原型系統(tǒng)TinyVMI,對其他客戶虛擬機的完好性執(zhí)行無干預的實時內(nèi)存度量。下面從庫函數(shù)、XSM授權、實時校驗步驟3個方面介紹實現(xiàn)中的一些關鍵技術細節(jié)。3.1 庫函數(shù)平安代理的編譯需要C庫以及Gl

23、ib庫的支持,而在Xen原生的MiniOS中并沒有這些庫函數(shù)。最新的Xen源碼樹中已經(jīng)提供對C庫的穿插編譯環(huán)境,該穿插編譯環(huán)境使用Newlib作為C庫。Newlib是在嵌入式系統(tǒng)開發(fā)中經(jīng)常用到的C函數(shù)庫,其中實現(xiàn)了標準C庫最小集合以及一些根本的數(shù)學庫函數(shù),如輸入輸出函數(shù)、字符串操作、時間戳函數(shù)等。Glib中定義的一些常用數(shù)據(jù)構造及其算法需要在平安代理中使用。但是由于Glib與Xen的MiniOS環(huán)境不能兼容,且多數(shù)復雜庫函數(shù)在平安代理中沒有用到,因此將依賴于Glib的常用函數(shù)完成自己的實現(xiàn)。用替代后的Glib函數(shù)的數(shù)據(jù)構造與函數(shù)例如如下。3.2 XSM授權在Xen中,除了Domain0之外,客

24、戶虛擬機無法直接訪問其他客戶虛擬機的內(nèi)存。平安代理需要在隔離的微小虛擬機中獲取其他虛擬機的內(nèi)存狀態(tài)。因此,借助Xen中的XSM機制可以賦予小型虛擬機必需的內(nèi)存訪問權限。通過XSM的授權限制主要有兩方面:1)授予平安代理足夠的內(nèi)存訪問權限,使其擁有對其他虛擬機內(nèi)存的只讀權限;2)除此之外,制止平安代理所在的輕量級虛擬機與其他虛擬機之間其他形式的通信與內(nèi)存共享機制,保證該輕量虛擬機與外界的通信接口最少。下面是利用XSM為平安代理定義的權限策略例如,平安代理被標記的策略類型為DomT_t類型。下面的策略組合允許平安代理以調(diào)用Hypercall的方式與Xen Hypervisor通信,并獲取對其他HV

25、M類型客戶虛擬機內(nèi)存的只讀權限。其FLASK策略定義如下:3.3 實時校驗過程平安代理執(zhí)行實時完好性校驗的過程如圖3所示,關鍵環(huán)節(jié)有啟動記錄可信度量、平安代理搜索度量目的和度量與驗證三部分。3.3.1 啟動時記錄可信度量可信狀態(tài)數(shù)據(jù)庫的度量值是在對象的啟動過程中初始化到數(shù)據(jù)庫中。比方對于鍵盤驅(qū)動程序,平安代理會在目的虛擬機的中斷向量表初始化完成后,根據(jù)目的虛擬機的中斷向量表搜索鍵盤驅(qū)動程序在目的虛擬機內(nèi)存中的位置,獲取相關的內(nèi)存頁,然后計算鍵盤驅(qū)動程序中的靜態(tài)代碼段與數(shù)據(jù)段,進而計算度量值并保存到可信狀態(tài)數(shù)據(jù)庫中。3.3.2 平安代理搜索度量目的實時完好性度量由平安代理主動觸發(fā)執(zhí)行,首先根據(jù)度

26、量目的的虛擬機名稱、目的虛擬地址確定目的物理地址,然后將物理地址的內(nèi)存頁映射到平安代理的地址空間中。這樣,在平安代理中就可以訪問目的虛擬機中度量對象的物理頁面。比方,對于鍵盤驅(qū)動程序,首先根據(jù)目的虛擬機名稱以及中斷向量表偏移,經(jīng)一系列地址轉(zhuǎn)換與搜索,最終確定中斷處理程序的物理頁面。之后將內(nèi)存頁面映射到平安代理的內(nèi)核空間中,然后根據(jù)程序構造,獲取鍵盤效勞程序的代碼段、數(shù)據(jù)段等內(nèi)容。3.3.3 度量與驗證獲取度量目的的內(nèi)存信息之后,平安代理可以根據(jù)度量目的的定義計算目的的度量值。度量值的計算采用SHA1算法。在鍵盤驅(qū)動的校驗過程中,被度量區(qū)域可信狀態(tài)的初始化和運行時的度量使用一樣度量算法。假設同一

27、區(qū)域運行時度量的哈希值與存儲的可信狀態(tài)的哈希值不一樣,說明該區(qū)域的狀態(tài)與啟動時的狀態(tài)不一致,那么認為鍵盤程序完好性遭到破壞。4 性能分析為評估TinyVMI的內(nèi)存訪問對整個系統(tǒng)性能的影響,本文在基于Xen Domain0的LibVMI和基于Xen MiniOS的TinyVMI中,分別實現(xiàn)了兩組功能一樣的實例程序:虛擬地址轉(zhuǎn)換和內(nèi)核模塊遍歷程序,并分別比照了兩組程序在LibVMI和TinyVMI上運行的性能。硬件平臺:CPU為Intel Pentium DualCore,主頻2.80GHz,內(nèi)存2GB。軟件平臺:虛擬機監(jiān)控器Xen4.4.0,LibVMI0.10.1;Domain0為Ubuntu

28、 12.04(64bit),分配內(nèi)存900MB;目的虛擬機為中英全硬件虛擬機(Hardware Virtual Machine,HVM)形式的Linux Mint 15(32bit),內(nèi)存700MB;基于MiniOS的原型系統(tǒng)分配內(nèi)存32MB。下面分別介紹在原型系統(tǒng)上實現(xiàn)的兩組實例程序及其性能表現(xiàn)。第一個實例是虛擬地址轉(zhuǎn)換。程序以虛擬機名稱和虛擬機地址作為輸入,查找目的系統(tǒng)的內(nèi)核頁表,并通過獲取的各級內(nèi)核頁表計算出最終的目的物理地址。整個過程需要多級頁表的訪問,因此會發(fā)生屢次循環(huán)調(diào)用地址轉(zhuǎn)換接口。為比照基于Domain0的LibVMI和基于MiniOS的TinyVMI兩者的運行性能,實驗統(tǒng)計了TinyVMI和LibVMI在同一目的虛擬機的一樣度量對象上完成與圖中刻度不完全對應30500個虛擬地址頁首地址的轉(zhuǎn)換與映射時間,統(tǒng)計結(jié)果如圖4所示。隨著訪問頁數(shù)的增加,TinyVMI的增長速度遠遠小于LibVMI的增長。此外,對于500頁內(nèi)存訪問的平均時間進展統(tǒng)計,使用LibVMI的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論