◆張?jiān)葡?/p>
(航天恒星科技有限公司(503所) 北京 100086)
虛擬化技術(shù)安全策略探討
◆張?jiān)葡?/p>
(航天恒星科技有限公司(503所) 北京 100086)
隨著虛擬化技術(shù)的不斷普及和應(yīng)用,安全問(wèn)題的重要性日益顯現(xiàn),并成為制約虛擬化技術(shù)發(fā)展的關(guān)鍵因素。虛擬化技術(shù)本身不僅面臨傳統(tǒng)網(wǎng)絡(luò)已有的安全威脅,還面臨其自身在安全方面所引入的,諸如安全隔離、受控遷移、權(quán)限訪問(wèn)等系列安全問(wèn)題的影響。本文論述了虛擬化技術(shù)存在的安全風(fēng)險(xiǎn),并提出了針對(duì)性的安全策略。
虛擬化技術(shù);虛擬化安全
計(jì)算機(jī)虛擬化(Virtualization)是指計(jì)算機(jī)系統(tǒng)運(yùn)行在虛擬硬件之上而不是真實(shí)的物理硬件之上,這種把有限固定的硬件資源根據(jù)不同需求進(jìn)行抽象,重新規(guī)劃成邏輯資源以達(dá)到最大利用率的方法,實(shí)現(xiàn)簡(jiǎn)化管理,優(yōu)化資源等目的的解決方案,叫做虛擬化技術(shù)。虛擬化技術(shù)(Virtualization)起源于20世紀(jì)60年代,作為云計(jì)算領(lǐng)域的核心技術(shù),在企業(yè)中得到了廣泛應(yīng)用,并具有巨大的市場(chǎng)前景。
虛擬化技術(shù)有賴(lài)于硬件資源的虛擬化技術(shù),硬件虛擬化技術(shù)即包括CPU虛擬化技術(shù),內(nèi)存虛擬化技術(shù),I/O虛擬化技術(shù)等。而虛擬化安全主要是指虛擬機(jī)安全隔離、受控遷移、權(quán)限訪問(wèn)等。
虛擬化技術(shù)帶來(lái)了IT資源的整合以及桌面終端的變革,同時(shí)也引發(fā)了系列安全方面的問(wèn)題。在虛擬化環(huán)境下,除了面臨在傳統(tǒng)IT架構(gòu)下的安全威脅,如惡意代碼、操作系統(tǒng)和應(yīng)用軟件漏洞、網(wǎng)絡(luò)竊聽(tīng)和非授權(quán)訪問(wèn)等,還存在虛擬化自身引入的特有安全風(fēng)險(xiǎn)。
1.1 虛擬化架構(gòu)安全
在虛擬化環(huán)境中,首先就是虛擬系統(tǒng)自身架構(gòu)的安全,而系統(tǒng)架構(gòu)安全中最重要的是虛擬機(jī)隔離和訪問(wèn)控制。虛擬化架構(gòu)具有動(dòng)態(tài)性,虛擬機(jī)可以被創(chuàng)建、修改、關(guān)閉或者遷移到其他物理服務(wù)器上,虛擬化的實(shí)質(zhì)就是通過(guò)軟件來(lái)模擬底層硬件的操作,從而存在大量的代碼安全漏洞。利用這些虛擬化軟件的漏洞,將可能獲得虛擬機(jī)管理權(quán)限,隨意對(duì)系統(tǒng)進(jìn)行設(shè)置和修改,得到整個(gè)數(shù)據(jù)中心的控制權(quán),進(jìn)而訪問(wèn)到系統(tǒng)內(nèi)存儲(chǔ)的涉密應(yīng)用和數(shù)據(jù)。
1.2 數(shù)據(jù)保密與防護(hù)
在虛擬化平臺(tái)中存在集中的虛擬化管理程序,該程序與其他系統(tǒng)進(jìn)程,以及其他虛擬機(jī)之間的通信數(shù)據(jù)中通常包含重要的信息,必須對(duì)這些數(shù)據(jù)進(jìn)行保密和完整性保護(hù)。在虛擬化環(huán)境中,所有的服務(wù)器和應(yīng)用都以鏡像的形式進(jìn)行存儲(chǔ),這種方式在提供系統(tǒng)恢復(fù)便利性的同時(shí),也極易導(dǎo)致涉密數(shù)據(jù)的泄露。如果不采取安全保護(hù)措施,使用U盤(pán)、SD卡,甚至MP3都可以方便的將服務(wù)器鏡像復(fù)制下來(lái)并帶走。
1.3 虛擬環(huán)境網(wǎng)絡(luò)隔離與控制
在虛擬化環(huán)境中,一切都是集中式、共享式的,有可能將不同安全級(jí)別的虛擬機(jī)部署在同一臺(tái)物理主機(jī)上,使得高安全級(jí)別的服務(wù)器有可受到來(lái)自低級(jí)別用戶(hù)的破壞和攻擊。此外,虛擬服務(wù)器通過(guò)虛擬交換設(shè)備連接到一個(gè)虛擬網(wǎng)絡(luò)中,終端桌面也是虛擬化,集中部署在數(shù)據(jù)中心,使得網(wǎng)絡(luò)邊界變得模糊,而且IP地址經(jīng)常變動(dòng),虛擬機(jī)之間的網(wǎng)絡(luò)流量可能不通過(guò)物理網(wǎng)絡(luò)設(shè)備,導(dǎo)致傳統(tǒng)的網(wǎng)絡(luò)安全系統(tǒng)如防火墻、IDS、IPS對(duì)虛擬機(jī)之間的通信數(shù)據(jù)包及通信流量不可見(jiàn),從而逃避傳統(tǒng)網(wǎng)絡(luò)安全設(shè)備的監(jiān)管,造成安全盲點(diǎn)。
1.4 虛擬機(jī)遷移攻擊
在虛擬化環(huán)境中,一臺(tái)服務(wù)器可以跨越不同的物理設(shè)備。當(dāng)進(jìn)行數(shù)據(jù)災(zāi)備或性能擴(kuò)充時(shí),虛擬機(jī)可以在不同物理設(shè)備之間遷移。這使得數(shù)據(jù)中心更加靈活,節(jié)約開(kāi)銷(xiāo),但增加了安全風(fēng)險(xiǎn),使安全管理更加復(fù)雜,隨著網(wǎng)絡(luò)地址、端口等特性的變化,安全設(shè)置更容易出問(wèn)題。
當(dāng)虛擬機(jī)從一臺(tái)物理服務(wù)器遷移到另一臺(tái)物理服務(wù)器時(shí),遷移過(guò)程中虛擬機(jī)鏡像數(shù)據(jù)存在竊取和篡改的可能。遷移過(guò)程中虛擬磁盤(pán)被重新創(chuàng)建,攻擊者能夠改變?cè)磁渲梦募吞摂M機(jī)的特性。
1.5 虛擬機(jī)逃逸
虛擬機(jī)設(shè)計(jì)目的是同一臺(tái)物理服務(wù)器上的多個(gè)VM共享物理硬件,如CPU、內(nèi)存和I/O設(shè)備,并相互隔離,但由于技術(shù)的限制和虛擬化軟件的漏洞,在某些情況下,虛擬機(jī)里運(yùn)行的程序會(huì)繞開(kāi)底層,取得宿主機(jī)的控制權(quán),利用宿主機(jī)做某些攻擊或破壞活動(dòng),這種技術(shù)叫做虛擬機(jī)逃逸技術(shù)。
1.6 拒絕服務(wù)(DoS)攻擊
非法用戶(hù)通過(guò)暴力破解云存儲(chǔ)系統(tǒng)的數(shù)據(jù)分發(fā)邏輯。同時(shí),在虛擬化環(huán)境下,由于虛擬機(jī)和宿主機(jī)共享資源(如CPU、內(nèi)存、硬盤(pán)和網(wǎng)絡(luò)),虛擬機(jī)會(huì)強(qiáng)制占用一些資源,從而由于沒(méi)有可用資源,造成系統(tǒng)拒絕來(lái)自其他虛擬機(jī)的所有請(qǐng)求。
虛擬化系統(tǒng)的安全性密切依賴(lài)每個(gè)組件自身的安全,包括Hypervisor、宿主操作系統(tǒng)、客戶(hù)操作系統(tǒng)、應(yīng)用和存儲(chǔ),應(yīng)確保對(duì)這些組件的安全防護(hù)。下面根據(jù)虛擬化系統(tǒng)中面臨的安全風(fēng)險(xiǎn),提出針對(duì)性的安全策略。
2.1 以密碼技術(shù)為核心,實(shí)現(xiàn)數(shù)據(jù)安全
虛擬化系統(tǒng)主要的安全任務(wù)是涉密信息的機(jī)密性保護(hù),阻止非法泄密事件的發(fā)生,而確保數(shù)據(jù)的機(jī)密性最核心的仍是密碼技術(shù)。
在虛擬化環(huán)境中,需要考慮進(jìn)行加密保護(hù)的幾個(gè)環(huán)節(jié)包括:鏡像數(shù)據(jù)的存儲(chǔ)、鏡像數(shù)據(jù)遷移過(guò)程以及遠(yuǎn)程訪問(wèn)數(shù)據(jù)中心的網(wǎng)絡(luò)連接等。此外,可以在多個(gè)層來(lái)實(shí)現(xiàn)加密保護(hù),包括應(yīng)用層、網(wǎng)絡(luò)層或者是底層存儲(chǔ)設(shè)備層。在虛擬化層實(shí)現(xiàn)數(shù)據(jù)的加密,可以將同態(tài)加密等技術(shù)運(yùn)用到虛擬化系統(tǒng)中,使得系統(tǒng)在無(wú)需讀取涉密數(shù)據(jù)的情況下對(duì)這些數(shù)據(jù)進(jìn)行處理,確保只有在最終本地用戶(hù)處才會(huì)顯示明文,降低數(shù)據(jù)中心數(shù)據(jù)泄露的風(fēng)險(xiǎn)。對(duì)鏡像進(jìn)行完整性校驗(yàn)也極為重要,可以防止針對(duì)鏡像文件的非授權(quán)篡改。
2.2 可信虛擬機(jī)與訪問(wèn)控制
在確保共享資源的前提下,實(shí)現(xiàn)虛擬機(jī)的受控訪問(wèn)??刂扑械劫Y源池管理工具的訪問(wèn),控制對(duì)虛擬機(jī)文件的訪問(wèn)。
虛擬化軟件層是保證虛擬機(jī)多用戶(hù)環(huán)境下的相互隔離的重點(diǎn),必須嚴(yán)格限制任何未經(jīng)授權(quán)的用戶(hù)訪問(wèn)虛擬化軟件層,并對(duì)其進(jìn)行完整性和可用性保護(hù)。同時(shí),選擇直接運(yùn)行在硬件之上硬件的虛擬化管理程序而不是運(yùn)行在操作系統(tǒng)之上的軟件虛擬化管理程序。選擇的底層硬件也應(yīng)能支持虛擬化技術(shù),這樣可以實(shí)現(xiàn)多個(gè)層次上的隔離和控制。
同時(shí),需要對(duì)虛擬機(jī)進(jìn)行一定程度的隔離,處理涉密數(shù)據(jù)的虛擬機(jī)與處理非密數(shù)據(jù)的虛擬機(jī)不能共享硬件,最好根據(jù)處理涉密數(shù)據(jù)的級(jí)別和類(lèi)型來(lái)進(jìn)行硬件資源的劃分與隔離。每臺(tái)虛擬服務(wù)器分配一個(gè)獨(dú)立的硬盤(pán)分區(qū),實(shí)現(xiàn)各虛擬機(jī)的邏輯隔離。
在虛擬機(jī)監(jiān)控器中植入可信根構(gòu)建可信虛擬化環(huán)境,從虛擬機(jī)的建立到所提供的服務(wù)建立一條完整的可信信任鏈。可信虛擬機(jī)監(jiān)控器結(jié)構(gòu)如圖1所示。
圖1 可信虛擬機(jī)監(jiān)控器結(jié)構(gòu)
可信環(huán)境的建立全面制約了云計(jì)算的應(yīng)用,通過(guò)虛擬機(jī)的可信環(huán)境創(chuàng)立到系統(tǒng)的安全調(diào)用,都有效阻止了惡意應(yīng)用對(duì)云計(jì)算平臺(tái)的安全攻擊,包括信任鏈中每個(gè)環(huán)節(jié)的權(quán)限審查、異常檢測(cè)以及完整性驗(yàn)證等。
2.3 跨平臺(tái)虛擬安全管理
在虛擬化環(huán)境中可能既有傳統(tǒng)的IT設(shè)備,也有虛擬化的各類(lèi)服務(wù)器、網(wǎng)絡(luò)和安全設(shè)備以及終端,運(yùn)行的操作系統(tǒng)、平臺(tái)和應(yīng)用也各不相同,需要有一套能夠同時(shí)解決虛擬環(huán)境和物理環(huán)境安全問(wèn)題的跨平臺(tái)解決方案,能夠在整個(gè)數(shù)據(jù)中心執(zhí)行統(tǒng)一的安全策略。虛擬安全管理能夠隨著虛擬化環(huán)境的變化而進(jìn)行調(diào)整,能夠動(dòng)態(tài)地進(jìn)行安全策略的配置和監(jiān)控。
2.4 用戶(hù)認(rèn)證
用戶(hù)認(rèn)證與授權(quán)旨在授權(quán)合法用戶(hù)進(jìn)入系統(tǒng)和訪問(wèn)數(shù)據(jù),防止非授權(quán)用戶(hù)的訪問(wèn)。在進(jìn)行用戶(hù)身份認(rèn)證時(shí),采用基于非對(duì)稱(chēng)密碼算法的公開(kāi)密鑰基礎(chǔ)設(shè)施(PKI)以及X.509.3證書(shū)的認(rèn)證體系,每個(gè)用戶(hù)以及每個(gè)虛擬機(jī)和虛擬設(shè)備都相互通過(guò)數(shù)字證書(shū)來(lái)進(jìn)行身份認(rèn)證。只有通過(guò)認(rèn)證的用戶(hù)才允許訪問(wèn)各自經(jīng)過(guò)加密的系統(tǒng)鏡像文件,或者將鏡像下載到本地進(jìn)行訪問(wèn)。
2.5 虛擬機(jī)自省
為了支持合理的安全策略,系統(tǒng)中應(yīng)部署一些常用的安全設(shè)備和各種必要的工具,如系統(tǒng)管理工具、管理清單、監(jiān)管和監(jiān)視工具等。
在虛擬機(jī)外,安全工具從VMM得到的虛擬機(jī)狀態(tài)一般是寄存器,內(nèi)存等低級(jí)別信息。而安全工具則使用程序的高層語(yǔ)義信息如文件行為、進(jìn)程行為、系統(tǒng)服務(wù)行為等。虛擬機(jī)自省通過(guò)讀取虛擬機(jī)的狀態(tài),利用已知的虛擬機(jī)操作系統(tǒng)知識(shí),如數(shù)據(jù)結(jié)構(gòu)和函數(shù)定義等,重建面對(duì)復(fù)雜的操作系統(tǒng)環(huán)境特別是非開(kāi)源系統(tǒng)如何有效正確的應(yīng)用已有的程序分析方法完成自省,仍需進(jìn)一步研究。
對(duì)于虛擬化環(huán)境下安全的研究,隨著虛擬化技術(shù)應(yīng)用的不斷深入,研究的重點(diǎn)集中在虛擬機(jī)的隔離,虛擬機(jī)流量的監(jiān)控和虛擬的可信平臺(tái)的穩(wěn)固上,只有解決這些問(wèn)題,才能夠確保云計(jì)算平臺(tái)的虛擬化安全。解決虛擬化的安全,需要統(tǒng)籌考慮,綜合采取技術(shù)、管理、運(yùn)維等手段,對(duì)虛擬化系統(tǒng)生命周期的各個(gè)階段及其系統(tǒng)中各個(gè)層次組件做嚴(yán)密防護(hù),從而保障系統(tǒng)的安全性。
[1]易濤.云計(jì)算虛擬化安全技術(shù)研究[J].信息安全與通信保密,2012.
[2]房晶,吳昊,白松林.云計(jì)算的虛擬化安全問(wèn)題[J].電信科學(xué),2012.
[3]余秦勇,童斌,陳林.虛擬化安全綜述[J].信息安全與通信保密,2012.
[4]趙曉東,曾慶凱.基于系統(tǒng)虛擬化的安全技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2013.
[5]蔣萬(wàn)春,湯立,陳震.虛擬化安全問(wèn)題探析[J].信息網(wǎng)絡(luò)安全,2010.