張 磊,陳興蜀,劉 亮,李 輝
?
基于虛擬機的內(nèi)核完整性保護技術
張 磊1,陳興蜀1,劉 亮2,李 輝1
(1. 四川大學計算機學院 成都 610065;2. 四川大學電子信息學院 成都 610065)
針對云計算中客戶虛擬機內(nèi)核完整性面臨的威脅,該文提出了一種保護虛擬機內(nèi)核完整性的技術—CTVM。該技術在KVM虛擬機環(huán)境中實現(xiàn)了虛擬化可信執(zhí)行環(huán)境的創(chuàng)建,使多個客戶虛擬機同時擁有可信計算功能,能對客戶虛擬機提供啟動完整性度量;在此基礎上利用硬件輔助虛擬化技術,通過為客戶虛擬機構(gòu)造隔離的地址空間,使客戶虛擬機中不可信模塊與內(nèi)核運行在邏輯隔離的地址空間。從這兩個方面實現(xiàn)對客戶虛擬機的啟動和運行時的完整性保護。最后,以某國產(chǎn)服務器為實驗平臺實現(xiàn)了CTVM原型系統(tǒng),系統(tǒng)測試與分析驗證了技術的可用性,系統(tǒng)性能損耗在可接受的范圍內(nèi)。
完整性; 內(nèi)核; KVM; 可信計算; 虛擬機
用戶使用云計算平臺時,主要擔心自己的數(shù)據(jù)和計算資源受到安全威脅:1) 在多租戶共享計算資源的模式下,用戶資源可能受到來自其他惡意用戶的威脅;2) 用戶可能遭到不可信云平臺管理者發(fā)起的內(nèi)部攻擊。為實現(xiàn)云計算平臺的資源虛擬化和管理,平臺提供商廣泛使用VMware、KVM和XEN等虛擬機監(jiān)視器(virtual machine monitor, VMM)軟件。目前這些軟件都使用虛擬機對用戶提供隔離機制,可以限制虛擬機之間的訪問,但為了便于前后端驅(qū)動傳遞數(shù)據(jù),VMM同時提供了虛擬機之間的內(nèi)存共享機制,這可能被惡意虛擬機利用。另外,VMM和管理工具通常處于特權域的控制中,不可信的云平臺提供者或管理員可借助特權域的特權獲取用戶的隱私或破壞客戶虛擬機(guest virtual machine, GVM)的完整性[1-2]。
目前,已經(jīng)有很多研究關注GVM的安全問題。Overshadow[3]基于虛擬化技術,采用對所有內(nèi)存頁加密的方法來保護用戶的隱私性。而CHAOS[4]采用頁表隱藏的方式,對I/O頁面進行加密,性能更好。Inktag[5]在不可信的操作系統(tǒng)中基于虛擬化技術保護關鍵應用。CloudVisor[6]在假設特權域不可信的情況下,使用嵌套虛擬化技術[7],將安全防護和資源管理進行分離,對VMM與VMs之間的交互實施仲裁,從而實現(xiàn)對GVM的隱私性保護和完整性驗證。文獻[8]基于Xen設計和實現(xiàn)了一種可信的VMM,用戶可按照完整性要求保存敏感數(shù)據(jù),只允許信任程序訪問。并在Xen中設計實現(xiàn)了虛擬可信計算模塊(virtual trusted platform module, VTPM),可為每個虛擬機創(chuàng)建一個VTPM實例,具有和硬件TPM[8]一致的功能。文獻[9]提出了一種基于UEFI的虛擬機動態(tài)安全度量框架,對系統(tǒng)的基礎設施進行實時、動態(tài)的安全度量,提供傳統(tǒng)可信技術無法達到的動態(tài)保護。目前部分研究工作基于可信計算技術實現(xiàn)了對宿主機和虛擬機的靜態(tài)和動態(tài)度量,能提供遠程可信驗證機制,但在虛擬機中利用可信計算保護內(nèi)核完整性的技術還相對較少,并且完整性度量可發(fā)現(xiàn)破壞完整性的行為,卻不能對攻擊行為采取隔離措施。
針對上述問題,本文提出了一種CTVM的KVM虛擬機內(nèi)核完整性保護技術,在啟動和運行時對云計算平臺中GVM的完整性提供保護。
1.1 威脅模型和假設
在多租戶的云計算環(huán)境中,平臺的可信性和惡意攻擊是用戶主要關注的安全問題[9]。傳統(tǒng)的可信計算技術可保證宿主機操作系統(tǒng)的可信啟動,并能提供完整性度量值和遠程驗證功能,但物理主機可信不代表GVM的可信,尤其是運行過程中GVM的完整性可能遭到破壞。由于虛擬機通常采用商用操作系統(tǒng),內(nèi)核完整性容易遭到破壞,攻擊者可通過獲取超級管理員權限對內(nèi)核進行Rootkit注入,也可利用操作系統(tǒng)中設備驅(qū)動的漏洞,還可加載沒有通過驗證的內(nèi)核模塊。惡意代碼有多種方法破壞內(nèi)核的控制流和數(shù)據(jù)完整性,例如:直接修改內(nèi)核代碼、修改控制數(shù)據(jù)(系統(tǒng)調(diào)用表、中斷描述符表和函數(shù)指針)、修改非控制數(shù)據(jù)(進程描述符和文件系統(tǒng)元數(shù)據(jù))、利用惡意代碼直接存儲器訪問請求寫入內(nèi)核空間、控制系統(tǒng)堆棧(return-oriented attacks)[10]。因此,本文主要針對的安全威脅是虛擬機的可信執(zhí)行和內(nèi)核完整性問題。
在CTVM的設計中,假設平臺提供者為了市場聲譽和占有率而積極保護用戶數(shù)據(jù)安全,可認為它是可信的,并且不考慮來自平臺提供者機房的物理攻擊。為了構(gòu)建可信的內(nèi)核虛擬機計算環(huán)境,假設用于部署虛擬機的物理主機上都配置有硬件TPM,可信計算組織(trusted computing group, TCG)曾指出TPM芯片可用于驗證硬件設備[8]。文獻[11]介紹了如何使用TPM構(gòu)建可信計算基,而利用Intel的可信執(zhí)行技術(trusted execution technology, TXT)可實現(xiàn)靜態(tài)和動態(tài)的度量[12],本文利用TXT度量宿主機啟動和關鍵安全模塊的完整性。
1.2 設計目標
基于上述安全威脅,CTVM的設計目標包括虛擬可信執(zhí)行環(huán)境和虛擬機內(nèi)核完整性保護。
在內(nèi)核虛擬機中創(chuàng)建可信計算環(huán)境,將信任鏈從宿主機傳遞到虛擬機,使內(nèi)核虛擬機具有與宿主機功能一致的可信計算環(huán)境,從而保護GVM的啟動完整性,并為GVM提供基于可信計算的安全功能。進一步實現(xiàn)對GVM執(zhí)行環(huán)境的可信驗證機制以及類似(trusted virtual datacenter, TVDc)[13]的多層可信域分層模型,本文暫不對這些方面進行描述。
GVM運行時可能有意或無意加載不可信內(nèi)核模塊。針對這類安全威脅,在宿主機和虛擬機可信啟動的基礎上,基于硬件輔助虛擬化技術,CTVM系統(tǒng)對虛擬機內(nèi)核與不可信模塊進行地址空間邏輯隔離,限制不可信模塊對內(nèi)核代碼及數(shù)據(jù)的訪問,實現(xiàn)對平臺運行過程中的內(nèi)核完整性保護。
1.3 總體架構(gòu)
CTVM架構(gòu)如圖1所示。
圖1 CTVM架構(gòu)
該系統(tǒng)分為監(jiān)視代理、虛擬機內(nèi)核保護模塊和VTPM功能模塊。輕量級的監(jiān)視代理被部署于GVM,是一種可集成到類似VMware tools的驅(qū)動模塊;虛擬機內(nèi)核保護模塊位于KVM代碼中;VTPM位于QEMU的組件中,為GVM提供與物理TPM一致的可信計算功能,同時為系統(tǒng)提供啟動完整性驗證。
1) 監(jiān)視代理模塊
監(jiān)視代理模塊(monitor agent module, MAM)是一個輕量級的信息獲取模塊,其功能是在GVM中動態(tài)收集模塊地址信息,為KVM中的安全模塊與虛擬機提供通信功能,便于安全模塊準確解析上層虛擬機內(nèi)部信息,在虛擬機內(nèi)核保護模塊提供監(jiān)視與隔離功能時,解決虛擬機與KVM之間的地址語義鴻溝問題。
2) 虛擬機內(nèi)核保護模塊
虛擬機內(nèi)核保護模塊與MAM一起工作,對內(nèi)核的不可信模塊進行隔離,使不可信模塊和內(nèi)核運行在相互隔離的地址空間,可根據(jù)安全策略監(jiān)視模塊運行過程中是否存在違反安全策略的行為。模塊包括兩個子模塊:①模塊地址空間創(chuàng)建子模塊(address space creating module, ASCM),用于KVM中隔離地址空間的創(chuàng)建;②地址空間切換與授權子模塊(address space authorization module, ASAM),其功能是完成虛擬機內(nèi)核與模塊之間的地址空間切換和授權操作。
3) VTPM功能模塊
VTPM功能模塊主要是在QEMU中實現(xiàn)對TPM的軟件模擬,作為虛擬機TPM TIS驅(qū)動與QEMU虛擬TIS前端通信時的后端支持,并集成滿足TCG- BIOS擴展規(guī)范的虛擬BIOS功能,使每臺GVM擁有獨立訪問的VTPM,可利用IBM IMA[14]實現(xiàn)對虛擬機系統(tǒng)的啟動完整性度量、文件加密等可信計算相關的功能。另外,由于監(jiān)視代理自身安全性也面臨威脅,可在虛擬機中利用VTPM對MAM進行啟動完整性驗證,而KVM中的安全模塊則可由宿主機的物理TPM提供驗證功能。
4) 模塊運行方式
系統(tǒng)啟動后,宿主機內(nèi)核和安全模塊的啟動完整性由物理TPM驗證,而GVM內(nèi)核與監(jiān)視代理的啟動完整性可由QEMU分配的VTPM驗證。完成可信啟動后,MAM模塊將在虛擬機生命周期內(nèi)監(jiān)視模塊加載操作,加載不可信模塊時,MAM將搜集該模塊的虛擬內(nèi)存信息,并將這些信息通過超級調(diào)用傳遞給KVM。KVM中的ASCM接收到模塊地址信息后,為不可信模塊創(chuàng)建一套extended page table(EPT),使其運行在獨立地址空間,并完成地址映射操作。之后的運行過程由ASAM完成地址空間切換和授權,使不可信模塊始終運行在隔離的地址空間。
2.1 虛擬可信執(zhí)行環(huán)境
虛擬可信執(zhí)行環(huán)境的構(gòu)造主要依賴于VTPM對虛擬機的支持,即在虛擬機中能訪問具有可信計算功能的模塊,該模塊可以是軟件也可以是硬件。本文在實現(xiàn)過程中,嘗試了穿透模式和軟件模擬兩種方法。
1) 穿透模式
在QEMU-KVM的虛擬化環(huán)境中,以原版1.7.1的QEMU為例,若宿主機配置有硬件TPM模塊,QEMU可以為虛擬機提供穿透驅(qū)動的模式訪問TPM,即在GVM中可以訪問到宿主機配置的物理TPM,穿透模式如圖2所示。
虛擬機通過TPM TIS驅(qū)動通知QEMU模擬的TPM TIS前端,再由模擬的TPM TIS與宿主機的/dev/tpm0通信。但這種方式屬于獨占式訪問,宿主機上的TPM不能與其他GVM共享,甚至當GVM訪問TPM時,宿主機操作系統(tǒng)也不能訪問物理TPM。
圖2 穿透模式
2) 軟件模擬
由于穿透模式的共享問題不適合多臺虛擬機都有TPM需求的應用場景,本文的CTVM系統(tǒng)以軟件模擬的方式構(gòu)造虛擬可信執(zhí)行環(huán)境,軟件模擬如圖3所示。
圖3 軟件模擬
與穿透模式不同,軟件模擬可模擬出多個VTPM實例,滿足多臺虛擬機同時擁有VTPM的需求。圖3中物理TPM可以滿足宿主機的可信計算需求,保證宿主機和安全模塊的啟動完整性,將安全模塊加入到啟動度量列表后,系統(tǒng)還能提供宿主機和安全模塊的啟動完整性度量結(jié)果。多臺虛擬機對VTPM的需求主要依靠軟件模擬實現(xiàn)。利用libtpms軟件庫作為VTPM的后端,在QEMU的代碼中加入libtpms、虛擬機NVRAM、虛擬BIOS支持后,即可為多臺虛擬機同時提供VTPM。虛擬NVRAM的作用是提供一個存儲TPM NVRAM值的可持續(xù)鏡像文件,避免系統(tǒng)重啟后丟失VTPM的特征信息(如endorsement key, owner password等)。seaBIOS滿足TCG BIOS擴展規(guī)范,可以初始化VTPM,并為虛擬機提供可操作TPM狀態(tài)的虛擬機BIOS界面。
2.2 虛擬機內(nèi)核模塊隔離
在CTVM系統(tǒng)中,對虛擬機不可信模塊的隔離依靠兩種技術:創(chuàng)建隔離地址空間和地址空間切換。
1) 創(chuàng)建隔離地址空間
本文借助硬件輔助虛擬化技術,客戶代理傳入被隔離模塊的地址信息后,由KVM為不可信模塊單獨創(chuàng)建一套EPT(MEPT),使其運行在獨立的地址空間內(nèi)。MEPT只保存模塊自身代碼和數(shù)據(jù)的映射關系,并去除虛擬機內(nèi)核EPT(KEPT)中隔離模塊所在內(nèi)存頁的可執(zhí)行權限,內(nèi)核和模塊EPT權限設置如圖4所示。
圖4 內(nèi)核和模塊EPT權限設置
圖中,kernel code表示GVM的內(nèi)核代碼段;module code表示GVM的模塊代碼段;kernel data表示GVM的內(nèi)核數(shù)據(jù)段;module data表示GVM的模塊數(shù)據(jù)段;R、W和X分別對應讀、寫和執(zhí)行3種權限。
執(zhí)行流程在內(nèi)核和模塊之間切換時會觸發(fā)EPT violation并陷入到KVM中,后續(xù)工作中可在這里建立訪問控制機制,監(jiān)控那些引起控制流轉(zhuǎn)移的GVM地址。另外,當模塊需要訪問內(nèi)核數(shù)據(jù)時,可以內(nèi)存頁為單位進行授權,若模塊對該內(nèi)存頁有訪問權限,則將其映射進模塊地址空間。
2) 地址空間切換
GVM在運行過程中,內(nèi)核需與被隔離模塊彼此交互,該過程會引起控制流在內(nèi)核與模塊之間轉(zhuǎn)移,KVM需同步切換到對應頁表,以便GVM能正常尋址內(nèi)存。切換前,KVM需保證頁表切換后,GVM能正常運行。所以每次頁表切換時,KVM需查詢對方頁表,確認存在GPA(引發(fā)當前EPT violation的GVM物理地址)到HPA(宿主機物理地址)的映射關系,且權限是可執(zhí)行的。
實際運行中,KEPT可能未與部分模塊內(nèi)存頁建立映射關系,此時根據(jù)KEPT建立起的MEPT并不完整。當由此觸發(fā)EPTviolation時,查詢KEPT便會發(fā)生映射缺失,需根據(jù)實際情況做如下處理:
1) 若當前頁表為MEPT,需先切換到KEPT,再交給KVM的EPT violation處理函數(shù)處理,最后將建立的映射關系映射到MEPT中并切換到MEPT頁表;
2) 若當前頁表為KEPT,則直接將執(zhí)行流程交給KVM的EPT violation處理函數(shù)處理,隨后將對應映射關系映射到MEPT頁表。
在建立對應MEPT的映射項目時,需去除對應KEPT中頁表項的可執(zhí)行權限??紤]到大內(nèi)存頁以及混合內(nèi)存頁的存在,同一內(nèi)存頁中可能同時包含代碼與數(shù)據(jù),該內(nèi)存頁在KEPT中的映射關系必然包含可執(zhí)行權限。當模塊訪問內(nèi)核數(shù)據(jù)時,采用最小權限的方式將對應內(nèi)存頁映射進MEPT中。若被訪問內(nèi)存頁包含可執(zhí)行權限,則其對應的MEPT映射將去除可執(zhí)行位。這樣可保證MEPT中擁有執(zhí)行權限的只有模塊代碼本身,模塊在調(diào)用其他代碼時會因為產(chǎn)生EPT violation而被KVM捕獲。
為驗證CTVM系統(tǒng)的可用性,本文對虛擬可信執(zhí)行環(huán)境和內(nèi)核完整性保護技術進行了測試。CTVM原型系統(tǒng)的配置信息如表1所示。
表1 CTVM原型系統(tǒng)的配置信息
宿主機操作版本為CentOS6.5 64位,內(nèi)核版本為3.10.1,QEMU版本為1.7.1,GVM采用Linux發(fā)行版本Fedora14進行了測試。
3.1 功能測試
1) 虛擬可信執(zhí)行環(huán)境測試
安裝虛擬機系統(tǒng)前,使用qemu-img創(chuàng)建qcow2格式的虛擬機存儲鏡像和VTPM NVRAM鏡像,隨后使用qemu-system-x86_64創(chuàng)建和啟動帶VTPM的可信虛擬機,第一次啟動虛擬機時創(chuàng)建VTPM,生成Endorsement Key,初始化NVRAM并添加證書。虛擬機啟動后,宿主機TPM和虛擬機VTPM的使用情況如圖5所示。
在內(nèi)核為3.10.1的宿主機上啟動了fedora虛擬機,通過vncviewer鏈接到虛擬機桌面,虛擬機具有/dev/tpm0設備,并且圖中可看到部分啟動完整性度量信息。若虛擬機啟動命令行中添加了boot菜單開啟選項,將在啟動過程中看到seaBIOS的控制界面,進入虛擬機操作系統(tǒng)安裝可信軟件棧和tpm-tools后,可像物理TPM一樣查看和操作VTPM。
2) 模塊隔離測試
對模塊隔離功能主要測試了地址空間的創(chuàng)建和切換,當模塊加載到GVM內(nèi)核時,由MAM獲取模塊地址信息,通過超級調(diào)用傳到KVM層,由虛擬機內(nèi)核保護模塊創(chuàng)建MEPT,使模塊運行在隔離的地址空間。測試過程中,加載的模塊大小為34 672Byte,而宿主機每個物理內(nèi)存頁的大小為4 KB,所以宿主機為模塊分配了9個物理內(nèi)存,并在MEPT中建立了映射,創(chuàng)建和映射模塊地址空間如圖6所示。
圖6 創(chuàng)建和映射模塊地址空間
圖7 內(nèi)核和模塊地址空間切換
隔離的地址空間創(chuàng)建后,可對模塊的行為進行監(jiān)控,確保GVM內(nèi)核函數(shù)入口的正確性,并防止內(nèi)核敏感數(shù)據(jù)被修改。由于將內(nèi)核和不可信模塊各自的代碼和數(shù)據(jù)進行了地址空間隔離,當模塊調(diào)用內(nèi)核函數(shù)或修改敏感數(shù)據(jù)時,由于內(nèi)核模塊的權限設置,虛擬機會產(chǎn)生缺頁錯誤并被KVM捕獲,執(zhí)行地址空間切換過程,KVM中的ASAM可根據(jù)產(chǎn)生切換的原因進行相應的操作,內(nèi)核和模塊地址空間切換如圖7所示。
3.2 性能測試
由于VTPM的啟動時間包含在GVM系統(tǒng)啟動時間內(nèi),與不使用VTPM的啟動時間相比,幾乎沒有在差別,所以本文使用Unixbench 5.1.2軟件,主要宿主機添加安全模塊后對GVM的性能損耗進行了測試,CTVM原型系統(tǒng)性能測試如表2所示。
表2 CTVM原型系統(tǒng)性能測試
表中,第2、3列的數(shù)值越大性能越好,性能損耗率=(未加載安全模塊-加載安全模塊)/未加載安全模塊。從整體性能看,加載CTVM安全模塊后GVM的性能損耗在10%以內(nèi)。其中,管道上下文切換的性能損耗比較明顯,主要原因是隔離區(qū)域與非隔離區(qū)域轉(zhuǎn)換產(chǎn)生的上下文切換以及異常處理造成的性能損耗,但不會對GVM的性能產(chǎn)生明顯影響。
本文提出了一種保護虛擬機內(nèi)核完整性的技術CTVM。在KVM虛擬化環(huán)境中利用libtpms為GVM實現(xiàn)了VTPM,并為GVM創(chuàng)建了可獨立使用的可信計算環(huán)境。在虛擬機內(nèi)核可信啟動的基礎上,針對運行時的內(nèi)核完整性提出了兩套EPT機制,為不可信模塊創(chuàng)建隔離的運行空間,可動態(tài)監(jiān)控模塊的行為,防止GVM內(nèi)核完整性遭到破壞。實驗結(jié)果表明,CTVM原型系統(tǒng)可實現(xiàn)虛擬可信執(zhí)行環(huán)境的創(chuàng)建,能為不可信模塊創(chuàng)建隔離地址空間并監(jiān)視模塊的執(zhí)行,安全模塊的添加對系統(tǒng)整體性能的影響控制在可接受范圍內(nèi)。下一步的工作目標是KVM虛擬化環(huán)境中的TVDc創(chuàng)建,并對運行時內(nèi)核完整性保護技術進行優(yōu)化,添加較為完整的安全控制策略。
[1] ROCHA F, CORREIA M. Lucy in the sky without diamonds: Stealing confidential data in the cloud[C]//2011 IEEE/IFIP 41st International Conference on Dependable Systems and Networks Workshops(DSN-W). Hong Kong, China: IEEE, 2011.
[2] DOLAN-GAVITT B, LEEK T, ZHIVICH M, et al. Virtuoso: Narrowing the semantic gap in virtual machine introspection [C]//2011 IEEE Symposium on Security and Privacy (SP). Berkeley, CA: IEEE, 2011.
[3] CHEN X, GARFINKEL T, LEWIS E C, et al. Overshadow: a virtualization-based approach to retrofitting protection in commodity operating systems[C]//Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating System. New York, USA: ACM, 2008.
[4] CHEN H, CHEN J, MAO W, et al. Daonity-grid security from two levels of virtualization[J]. Information Security Technical Report, 2007, 12(3): 123-138.
[5] HOFMANN O S, KIM S, DUNN A M, et al. Inktag: Secure applications on an untrusted operating system[J]. ACM SIGPLAN Notices, 2013, 48(4): 265-278.
[6] ZHANG F, CHEN J, CHEN H, et al. Cloudvisor: Retrofitting protection of virtual machines in multi-tenant cloud with nested virtualization[C]//Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles. New York, USA: ACM, 2011.
[7] BEN-YEHUDA M, DAY M D, DUBITZKY Z, et al. The turtles project: Design and implementation of nested virtualization[C]//9th USENIX Symposium on Operation Systems Design and Implementation(OSDI’10). Vancouver, BC: USENIX Association, 2010.
[8] TOMLINSON A. Smart cards, tokens, security and applications[M]. New York, USA: Springer, 2008.
[9] KORKL, JAGADPRAMANA P, MOWBRAY M, et al. Trustcloud: a framework for accountability and trust in cloud computing[C]//2011 IEEE World Congress on Services. Washington, USA: IEEE, 2011.
[10] SRIVASTAVA A, GIFFIN J T. Efficient monitoring of untrusted kernel-mode execution[C]//18th Annual Network & Distributed System Security Symposium. San Diego, USA: The Internet Society NDSS, 2011.
[11] GARFINKEL T, PFAFF B, CHOW J, et al. Terra: a virtual machine-based platform for trusted computing[C]// Proceedings of the nineteenth ACM symposium on Operating systems principles. New York, USA: ACM, 2003.
[12] GEBHARDT C, DALTON C I, BROWN R. Preventing hypervisor-based rootkits with trusted execution technology[J]. Network Security, 2008, 8(11): 7-12.
[13] BERGER S, CACERES R, PENDARAKIS D, et al. TVDc: Managing security in the trusted virtual datacenter[J]. ACM SIGOPS Operating Systems Review, 2008, 42(1): 40-47.
[14] SAILER R, ZHANG X, JAEGER T, et al. Design and implementation of a TCG-based integrity measurement architecture[C]//Proceedings of the 13th USENIX Security Symposium. San Diego, USA: USENIX Association, 2004.
編 輯 葉 芳
A Kernel Integrity Protection Technology Based on Virtual Machine
ZHANG Lei1, CHEN Xing-shu1, LIU Liang2, and LI Hui1
(1. School of Computer Science, Sichuan University Chengdu 610065; 2. School of Electronics and Information Engineering, Sichuan University Chengdu 610065)
For the kernel integrity threats of virtual machine in cloud computing environment, an integrity protecting technology of virtual machine kernel, cloud trusted virtual machine(CTVM ), is proposed. In the CTVM, the virtual trusted execution environment in kernel-based virtual machine(KVM) is created, the multiple virtual machines are endowed with a trusted computing function at the same time, and the guest virtual machines are provided with integrity measurement ability. By utilizing hardware virtualization technology, the untrusted kernel modules are isolated from operating system kernel through constructing isolated address space in guest virtual machines, so as to protect the booting integrity and runtime integrity of guest virtual machines. Finally, with a domestic server as the experimental platform, CTVM prototype system is presented. System test and analysis show that the system performance loss is within the acceptable range.
integrity; kernel; KVM; trusted computing; virtual machine
TP309
A
10.3969/j.issn.1001-0548.2015.01.020
2014-02-10;
2014-11-25
國家自然科學基金(61272447);國家科技支撐計劃(2012BAH18B05)
張磊(1983-),男,博士生,主要從事信息安全、云計算和可信計算方面的研究.