• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      云計(jì)算中XEN虛擬機(jī)安全隔離相關(guān)技術(shù)綜述

      2015-11-02 05:52:34北京林業(yè)大學(xué)北京密碼管理局北京王雅超
      信息安全與通信保密 2015年6期
      關(guān)鍵詞:頁(yè)表宿主機(jī)客戶機(jī)

      北京林業(yè)大學(xué)北京密碼管理局北京 王雅超

      北京密碼管理局北京 黃澤剛

      引言

      將系統(tǒng)進(jìn)行虛擬化后,一臺(tái)物理計(jì)算機(jī)系統(tǒng)虛擬化為多臺(tái)虛擬計(jì)算機(jī)系統(tǒng),每臺(tái)虛擬機(jī)都有自己的硬件(包括CPU、內(nèi)存、I/O等設(shè)備),通過(guò)虛擬化層的模擬,虛擬機(jī)中的操作系統(tǒng)認(rèn)為自己獨(dú)占一個(gè)操作系統(tǒng)在運(yùn)行。每個(gè)虛擬機(jī)中的操作系統(tǒng)可以完全不同,其執(zhí)行環(huán)境也是完全獨(dú)立的。利用計(jì)算虛擬化技術(shù)可以實(shí)現(xiàn)快速存儲(chǔ)和計(jì)算性能的無(wú)縫擴(kuò)展,因此虛擬化技術(shù)為云計(jì)算提供了很好的底層技術(shù)平臺(tái),是云計(jì)算技術(shù)的精髓。但是云計(jì)算平臺(tái)上的云架構(gòu)提供者必須向客戶提供具有安全隔離保證的虛擬機(jī)[6],在保證共享資源的前提下,實(shí)現(xiàn)虛擬機(jī)的安全運(yùn)行[7]。從目前的情況來(lái)看,提供給使用者的虛擬機(jī)必須保證虛擬機(jī)與宿主機(jī)之間運(yùn)行指令、存儲(chǔ)空間、網(wǎng)絡(luò)流量和用戶訪問(wèn)的隔離。

      虛擬化實(shí)現(xiàn)技術(shù)中,虛擬化層就是業(yè)內(nèi)定義的VMM(虛擬機(jī)監(jiān)視器)。從VMM提供的虛擬化平臺(tái)類型可以將虛擬化技術(shù)分為完全虛擬化和半虛擬化兩大類:安全虛擬化指客戶操作系統(tǒng)不需要做任何修改就可以運(yùn)行;半虛擬化要求操作系統(tǒng)進(jìn)行修改來(lái)適應(yīng)虛擬化平臺(tái)。目前半虛擬化技術(shù)基本很少被采用,VMM基本都采用完全虛擬化技術(shù)。完全虛擬化經(jīng)歷了兩個(gè)階段:軟件輔助的完全虛擬化和硬件輔助的完全虛擬化。隨著虛擬化技術(shù)成為云計(jì)算的核心技術(shù),日益發(fā)展壯大,為了能夠取得先機(jī),x86廠商在硬件上加入了對(duì)虛擬化的支持,因此目前基本上所有的VMM都是基于硬件輔助虛擬化實(shí)現(xiàn)的完全虛擬化。本文以Intel的硬件輔助虛擬化技術(shù)為例論述底層虛擬化的實(shí)現(xiàn)。

      XEN誕生于劍橋大學(xué)實(shí)驗(yàn)室,XEN 是一個(gè)基于X86架構(gòu)、發(fā)展最快、性能最穩(wěn)定、占用資源最少的開(kāi)源虛擬化技術(shù),Xen可以在一套物理硬件上安全的執(zhí)行多個(gè)虛擬機(jī),與 Linux是一個(gè)完美的開(kāi)源組合,Novell SUSE Linux Enterprise Server最先采用了XEN虛擬技術(shù)[2]。它特別適用于服務(wù)器應(yīng)用整合,可有效節(jié)省運(yùn)營(yíng)成本,提高設(shè)備利用率,最大化利用數(shù)據(jù)中心的IT基礎(chǔ)架構(gòu)。XEN 可以在一套物理硬件上安全的執(zhí)行多個(gè)虛擬機(jī),它和操作平臺(tái)結(jié)合地極為密切,占用的資源最少。以高性能、占用資源少著稱,贏得了IBM、AMD、HP、Red Hat和Novell等眾多世界級(jí)軟硬件廠商的高度認(rèn)可和大力支持, XEN最成功的應(yīng)用案例是亞馬遜基于該技術(shù)提供彈性主機(jī)服務(wù),國(guó)內(nèi)不少服務(wù)商也開(kāi)始基于XEN技術(shù)開(kāi)發(fā)出可商用的云計(jì)算服務(wù)平臺(tái)。

      關(guān)鍵技術(shù)分析

      同一物理機(jī)上不同虛擬機(jī)之間的資源隔離是VMM(虛擬機(jī)監(jiān)視器)具備的基本特征之一,包括CPU、內(nèi)存、內(nèi)部網(wǎng)絡(luò)隔離、磁盤(pán)I/O等的隔離,XEN采用硬件輔助虛擬化實(shí)現(xiàn)了這些設(shè)備的完全隔離。

      1.虛擬機(jī)與宿主機(jī)之間運(yùn)行指令的隔離

      X86架構(gòu)為了保護(hù)指令的運(yùn)行,提供了指令的4個(gè)不同的特權(quán)級(jí)別,術(shù)語(yǔ)稱為Ring,從Ring 0~Ring 3。Ring 0的優(yōu)先級(jí)最高,Ring 3最低。用戶級(jí)的應(yīng)用一般運(yùn)行在Ring 3級(jí)別,操作系統(tǒng)需要直接訪問(wèn)內(nèi)存和硬件,需要在Ring 0執(zhí)行它的特權(quán)指令,各個(gè)級(jí)別對(duì)可以運(yùn)行的指令有所限制,X86架構(gòu)下CPU依據(jù)這樣的方式運(yùn)行。虛擬化之后必須保證宿主機(jī)和虛擬機(jī)的不同指令運(yùn)行于不同的級(jí)別。

      硬件輔助虛擬化方面,Intel VT為CPU提供了VT-x技術(shù),此項(xiàng)技術(shù)擴(kuò)展了X86處理器架構(gòu),為X86架構(gòu)的處理器虛擬化提供了硬件支持。VT-x引入了兩種操作模式,統(tǒng)稱為VMX操作模式[2]。

      (1)根操作模式:在此模式下所有的指令行為和傳統(tǒng)的X86一樣。

      (2)非根操作模式:客戶機(jī)運(yùn)行的模式,所有敏感指令的行為都被重新定義,使得它們能不經(jīng)過(guò)虛擬化就直接運(yùn)行或者通過(guò)“陷入”的方式進(jìn)行處理。

      具體實(shí)現(xiàn)如圖1所示

      圖1 CPU虛擬化實(shí)現(xiàn)過(guò)程

      根模式和非根模式都有相應(yīng)的特權(quán)級(jí)Ring0—特權(quán)級(jí)Ring3。在使用VT-x時(shí),描述程序運(yùn)行在某個(gè)特權(quán)級(jí)時(shí),必須指明當(dāng)時(shí)是處于根模式還是非根模式。

      VT-x中,在非根模式下,敏感指令引起的“陷入”稱為VM-Exit。VM-Exit使得CPU自動(dòng)從非根模式切換到根模式。與之對(duì)應(yīng)的VM-Entry則使得VMM調(diào)度某個(gè)客戶機(jī)運(yùn)行時(shí)CPU由根模式切換到非根模式。

      通過(guò)以上描述的方式,在XEN環(huán)境下虛擬機(jī)CPU指令在實(shí)現(xiàn)了虛擬化的同時(shí)與宿主機(jī)之間實(shí)現(xiàn)完全的的隔離,從而保證虛擬機(jī)的穩(wěn)定運(yùn)行。

      2.Intel的內(nèi)存虛擬化實(shí)現(xiàn)及隔離技術(shù)

      Intel EPT(擴(kuò)展頁(yè)表)是Intel VT-x提供的內(nèi)存虛擬化技術(shù),在原有的的CR3頁(yè)表地址映射的基礎(chǔ)上引入了EPT頁(yè)表實(shí)現(xiàn)另一種映射[3]。(具體如圖2所示)

      圖2 內(nèi)存虛擬化實(shí)現(xiàn)過(guò)程

      CPU首先查找客戶機(jī)CR3寄存器指向的L4頁(yè)表。(關(guān)于虛擬機(jī)地址轉(zhuǎn)換的內(nèi)容可以參看文獻(xiàn)1基礎(chǔ)原理)客戶機(jī)CR3寄存器給出的是客戶機(jī)物理地址,CPU通過(guò)EPT頁(yè)表將客戶機(jī)CR3中的客戶機(jī)物理地址轉(zhuǎn)換為宿主機(jī)物理地址,在獲得宿主機(jī)地址之后,CPU根據(jù)客戶機(jī)虛擬地址和L4頁(yè)表項(xiàng)內(nèi)容來(lái)獲取L3頁(yè)表項(xiàng)的客戶機(jī)物理地址。如果L4頁(yè)表中客戶機(jī)虛擬地址顯示為“缺頁(yè)”,那么CPU產(chǎn)生Page Fault直接交由客戶機(jī)操作系統(tǒng)處理,在獲得L3頁(yè)表項(xiàng)的客戶機(jī)物理地址后CPU通過(guò)查詢EPT頁(yè)表來(lái)將L3的客戶機(jī)物理地址轉(zhuǎn)換為宿主機(jī)物理地址。同樣,CPU會(huì)依次完成L2、L1的查詢,獲得客戶機(jī)虛擬地址對(duì)應(yīng)的客戶機(jī)物理地址,然后最后一次查詢EPT頁(yè)表獲得宿主機(jī)物理地址[1]。

      以上是對(duì)內(nèi)存虛擬化實(shí)現(xiàn)的描述,每次查詢和地址轉(zhuǎn)換都是由VMM來(lái)完成的,VMM(虛擬機(jī)監(jiān)視器)通過(guò)處理器硬件功能使得客戶機(jī)操作系統(tǒng)運(yùn)行在與之完全不同的地址空間里,并通過(guò)段限制使客戶機(jī)操作系統(tǒng)所能看見(jiàn)的空間大小,以保證VMM自身的安全性,從而防止虛擬機(jī)觸及VMM自身的運(yùn)行狀態(tài)。通過(guò)權(quán)限驗(yàn)證使得客戶機(jī)操作系統(tǒng)局限在給定的地址空間里,以保證一個(gè)虛擬機(jī)只能訪問(wèn)分配給它的內(nèi)存頁(yè),從而實(shí)現(xiàn)了整個(gè)系統(tǒng)的安全隔離,包括虛擬機(jī)與虛擬機(jī)之間、虛擬機(jī)與VMM之間的隔離。

      3.虛擬機(jī)存儲(chǔ)空間隔離技術(shù)

      在介紹虛擬機(jī)存儲(chǔ)空間隔離之前,我們先介紹一下XEN的虛擬域概念。

      XEN的體系結(jié)構(gòu)有XEN Hypervisor和虛擬域組成,XEN虛擬機(jī)稱為虛擬域(Domain),有特權(quán)虛擬域(Dom0和IDD)與非特權(quán)虛擬域(DomU和HVM)組成[2]。Dom0時(shí)運(yùn)行在XEN VMM之上的并且可以直接訪問(wèn)底層的物理資源和其他的虛擬域DomU交互,其他虛擬域訪問(wèn)I/O設(shè)備都需要經(jīng)過(guò)Dom0。DomU不能像特權(quán)虛擬域一樣直接訪問(wèn)物理I/O設(shè)備,DomU中的操作系統(tǒng)通過(guò)分離驅(qū)動(dòng)模型的前端驅(qū)動(dòng)來(lái)訪問(wèn)硬件設(shè)備,客戶機(jī)操作系統(tǒng)通過(guò)前端設(shè)備驅(qū)動(dòng)向位于Dom0中的后端驅(qū)動(dòng)程序發(fā)送I/O請(qǐng)求,再由后端設(shè)備驅(qū)動(dòng)將請(qǐng)求交給原始設(shè)備驅(qū)動(dòng)處理,并將結(jié)果返給DomU[1]。

      從上面的描述可以看出,前端驅(qū)動(dòng)在DomainU中運(yùn)行,而后端驅(qū)動(dòng)和原生驅(qū)動(dòng)則在Domain0中運(yùn)行。前端驅(qū)動(dòng)負(fù)責(zé)將DomainU的I/O請(qǐng)求傳遞到Domain0中的后端驅(qū)動(dòng),后端驅(qū)動(dòng)解析I/O請(qǐng)求并映射到物理設(shè)備,提交給相應(yīng)的設(shè)備驅(qū)動(dòng)程序控制硬件完成I/O操作。換言之,虛擬機(jī)所有的I/O操作都會(huì)由VMM截獲處理;VMM保證虛擬機(jī)只能訪問(wèn)分配給它的物理磁盤(pán)空間,這樣通過(guò)域控制將I/O實(shí)現(xiàn)有效限制從而實(shí)現(xiàn)不同虛擬機(jī)硬盤(pán)空間的安全隔離。

      4.基于虛擬機(jī)的網(wǎng)絡(luò)流量交互的隔離

      通常情況下,虛擬機(jī)可以使用防火墻規(guī)則、VLAN等實(shí)現(xiàn)虛擬機(jī)的網(wǎng)絡(luò)隔離問(wèn)題,這些實(shí)現(xiàn)技術(shù)與傳統(tǒng)的物理機(jī)沒(méi)有大的區(qū)別。這里介紹一種新的虛擬機(jī)網(wǎng)絡(luò)交互隔離的方法。在國(guó)內(nèi)一些廠商的實(shí)現(xiàn)過(guò)程中有的稱為“安全組技術(shù)”[9],這種方式可以解決云計(jì)算環(huán)境下特有的虛擬機(jī)網(wǎng)絡(luò)隔離問(wèn)題。

      它的使用場(chǎng)景主要是解決云環(huán)境下:1、租戶不能管理虛擬機(jī)主機(jī)的IP地址,也看不見(jiàn)VLAN的對(duì)應(yīng)關(guān)系的問(wèn)題。2、一個(gè)VLAN內(nèi)不同VM之間要隔離,不能實(shí)現(xiàn)共享訪問(wèn)的問(wèn)題。

      它的基本原理其實(shí)很簡(jiǎn)單,就是使用主機(jī)Linux操作系統(tǒng)自帶包過(guò)濾防火墻Iptables,對(duì)進(jìn)入主機(jī)操作系統(tǒng)的報(bào)文進(jìn)行過(guò)濾。iptables信息包過(guò)濾系統(tǒng)是一款功能強(qiáng)大的工具,可用于添加、編輯和移除規(guī)則,它使插入、修改和除去信息包過(guò)濾表中的規(guī)則變得容易。通過(guò)各種不同的規(guī)則,對(duì)來(lái)自不同源地址、目的地址以及協(xié)議特征的數(shù)據(jù)包進(jìn)行處理。規(guī)則存儲(chǔ)在包過(guò)濾表中,而包過(guò)濾表被集成在Linux內(nèi)核中[5]。在信息包過(guò)濾表中,規(guī)則被分組放在鏈中。

      在云管理上創(chuàng)建安全組,將虛擬機(jī)網(wǎng)卡加入到安全組后,Iptables會(huì)根據(jù)同一級(jí)別的虛擬機(jī)(安全組)ID創(chuàng)建一條用戶鏈,并將虛擬機(jī)網(wǎng)卡加入到該鏈中。后面對(duì)這些虛擬機(jī)添加規(guī)則時(shí),所有的規(guī)則都會(huì)加入到該鏈中。主機(jī)向虛擬機(jī)網(wǎng)卡轉(zhuǎn)發(fā)的數(shù)據(jù)報(bào)文均會(huì)通過(guò)用戶鏈中的規(guī)則進(jìn)行匹配,滿足匹配要求的數(shù)據(jù)報(bào)文才能轉(zhuǎn)發(fā)給虛擬機(jī)[9]。

      安全組在出方向上的數(shù)據(jù)報(bào)文全部放行,在入方向上的數(shù)據(jù)報(bào)文默認(rèn)拒絕訪問(wèn)。因此安全組只支持在入方向上添加安全組規(guī)則,以類似白名單的方式管理需要訪問(wèn)安全組的源。如下圖3所示:

      圖3 安全組訪問(wèn)流程

      5.用戶訪問(wèn)的隔離。

      實(shí)現(xiàn)云計(jì)算中虛擬機(jī)使用者具有強(qiáng)身份認(rèn)證一直以來(lái)都是云計(jì)算需要解決的主要安全問(wèn)題之一,其主要思想是利用認(rèn)證中心頒發(fā)的數(shù)字證書(shū)來(lái)實(shí)現(xiàn),數(shù)字證書(shū)表明了使用者的身份,數(shù)字證書(shū)與屬性證書(shū)相結(jié)合形成一個(gè)數(shù)據(jù)結(jié)構(gòu),證書(shū)持有者的信息與一些屬性進(jìn)行綁定,通過(guò)數(shù)字證書(shū)相應(yīng)包含的屬性實(shí)現(xiàn)相應(yīng)的權(quán)限。通過(guò)持有數(shù)字證書(shū),當(dāng)訪問(wèn)者訪問(wèn)虛擬機(jī)時(shí),驗(yàn)證者通過(guò)預(yù)設(shè)的相應(yīng)的權(quán)限規(guī)范進(jìn)行驗(yàn)證,就能對(duì)用戶訪問(wèn)的合法性做出判斷。關(guān)于這方面的內(nèi)容筆者已經(jīng)在《信息安全與通信保密》雜志的《云計(jì)算環(huán)境下虛擬機(jī)用戶身份認(rèn)證技術(shù)研究及實(shí)現(xiàn)》一文中有過(guò)詳細(xì)的論述,有興趣的讀者可以參考,這里不再贅述。

      結(jié)語(yǔ)

      云計(jì)算技術(shù)正在迅速發(fā)展,其結(jié)構(gòu)特征決定了其開(kāi)放性、復(fù)雜性、按需服務(wù)、虛擬化使用資源、彈性搭建等特征,也決定了其面臨的安全問(wèn)題也日益突出。虛擬機(jī)資源共享可以實(shí)現(xiàn)資源動(dòng)態(tài)分配但也帶來(lái)了一些安全風(fēng)險(xiǎn),實(shí)現(xiàn)虛擬機(jī)的安全隔離一直是業(yè)內(nèi)關(guān)注的問(wèn)題,了解目前虛擬機(jī)的隔離技術(shù)可以使我們?cè)诮ㄔO(shè)或使用虛擬資源時(shí)規(guī)避虛擬機(jī)隔離的安全風(fēng)險(xiǎn),但我們也應(yīng)該看到,虛擬機(jī)的資源共享帶來(lái)的很多安全風(fēng)險(xiǎn)目前業(yè)界并沒(méi)有安全解決的辦法,例如虛擬機(jī)處于一臺(tái)物理主機(jī)之上時(shí)相互的隔離相對(duì)薄弱。這些都需要云計(jì)算安全研究人員在以后的工作中加以完善。筆者認(rèn)為解決虛擬化的安全問(wèn)題應(yīng)該將傳統(tǒng)的安全設(shè)備與方法進(jìn)行適當(dāng)?shù)倪w移,拓闊思路結(jié)合第三方認(rèn)證來(lái)實(shí)現(xiàn)可能是一條可行的道路。

      猜你喜歡
      頁(yè)表宿主機(jī)客戶機(jī)
      Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
      更正
      作者更正
      勘 誤
      更正
      虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室在農(nóng)村職校計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
      嵌入式計(jì)算機(jī)軟件測(cè)試關(guān)鍵技術(shù)的思考
      嵌入式計(jì)算機(jī)軟件測(cè)試關(guān)鍵技術(shù)研究
      在不連接網(wǎng)線的情況下Windows與VM之間如何ping通
      瘦客戶機(jī):安全與便捷的選擇
      南漳县| 桑日县| 伊金霍洛旗| 东海县| 榆中县| 丰都县| 常熟市| 甘南县| 康乐县| 罗定市| 驻马店市| 会理县| 韩城市| 北票市| 民丰县| 卢龙县| 红原县| 嘉峪关市| 嵩明县| 安福县| 晴隆县| 昭通市| 闸北区| 佳木斯市| 雷波县| 手游| 五家渠市| 泽州县| 徐汇区| 辰溪县| 东兰县| 余庆县| 巫溪县| 西藏| 灵璧县| 历史| 晴隆县| 调兵山市| 株洲市| 伊通| 长宁县|