摘 要:
云計算憑借靈活、高效的特性為現(xiàn)代社會發(fā)展提供重要支持,但同時伴隨出現(xiàn)較多安全性問題,因此研究云環(huán)境下虛擬機(jī)的安全技術(shù)是十分必要的。首先對云計算技術(shù)層面進(jìn)行分析,其次介紹虛擬化存在的自身安全威脅與虛擬機(jī)安全威脅,最后提出基于角色的云環(huán)境下虛擬機(jī)安全訪問控制策略。該策略通過將角色進(jìn)行隔離訪問,對用戶信任證書與信任等級綜合驗證,完成對云計算平臺中數(shù)據(jù)儲存、隔離和訪問的保護(hù),為云計算安全技術(shù)提供借鑒。
?。?/p>
引 言
云計算技術(shù)是多門類技術(shù)的交叉融合,而且其開放的服務(wù)方式替代了傳統(tǒng)資源分配方式,用戶按需在平臺租賃或購買云服務(wù)。云計算采用虛擬化技術(shù)將物理資源轉(zhuǎn)化成虛擬資源后通過網(wǎng)絡(luò)向用戶提供服務(wù),從而為用戶節(jié)約硬件成本與運(yùn)維成本。在大數(shù)據(jù)環(huán)境背景下,云計算憑借其高效、靈活等特性,為現(xiàn)代社會發(fā)展提供重要支持。
云計算技術(shù)在為用戶提供高質(zhì)量服務(wù)的同時,又遭受著大量的網(wǎng)絡(luò)攻擊。在云平臺的用戶中,近九成認(rèn)為安全問題是云平臺的核心問題。虛擬機(jī)是云計算的基礎(chǔ)單元,各虛擬機(jī)之間相互關(guān)聯(lián),各自完成對應(yīng)的服務(wù)內(nèi)容,當(dāng)一臺虛擬機(jī)被攻擊,此虛擬機(jī)將成為云平臺內(nèi)的跳板,從而實現(xiàn)對其他虛擬機(jī)的攻擊;因此,保證云平臺的安全需要首先保障單個虛擬機(jī)的安全。虛擬環(huán)境的不安全性主要包括虛擬環(huán)境的不安全性與平臺數(shù)據(jù)的不安全性,然而平臺安全建設(shè)對外公布的信息極少,用戶對其安全性與可信性難以把握。此外,信息交托平臺后,用戶信息是否存在盜用或者轉(zhuǎn)賣,用戶無從知曉,用戶對平臺的信任度降低,這是對云平臺的極大考驗。
云平臺服務(wù)于大量數(shù)據(jù)與用戶,因此需從用戶角度出發(fā),首先對云計算技術(shù)層面進(jìn)行分析;其次介紹虛擬化存在的自身安全威脅與虛擬機(jī)安全威脅;最后提出基于角色的云環(huán)境下虛擬機(jī)安全訪問控制策略,對用戶實現(xiàn)主觀信任與客觀信任考評。通過用戶信任證書與信任等級綜合驗證將角色進(jìn)行隔離訪問,為用戶提供一個安全的運(yùn)行環(huán)境,完成對云計算平臺中數(shù)據(jù)儲存、隔離和訪問的保護(hù),為云計算安全技術(shù)提供借鑒。
?。?/p>
云計算技術(shù)分析
云計算是一種新型計算服務(wù)模式,內(nèi)部由虛擬的、關(guān)聯(lián)的虛擬單元采用并行分布式結(jié)構(gòu)組成,將分散的本地資源集中至云端,通過網(wǎng)絡(luò)技術(shù)為客戶提供各種虛擬化的軟硬件資源,用戶可以按需,實時、靈活地從云端獲取服務(wù)與資源。
1.1 云計算架構(gòu)
云計算架構(gòu)由基礎(chǔ)設(shè)施服務(wù)層(Infrastructure as a Service,IaaS)、平臺服務(wù)層(Platform as a Service,PaaS)和軟件服務(wù)層(Software as a Service,SaaS)3層架構(gòu)組成,每層服務(wù)的用戶不同,且在技術(shù)層面上相對獨(dú)立,云計算架構(gòu)如圖1所示。
圖1 云計算架構(gòu)
IaaS為云平臺的第1層,通過虛擬化技術(shù),IaaS中原有服務(wù)器、存儲器等物理資源能夠轉(zhuǎn)變?yōu)樘摂M資源,并建立各資源池管理虛擬資源。用戶根據(jù)自身需求,向云平臺購買或租賃計算、存儲、網(wǎng)絡(luò)等服務(wù),服務(wù)商從各資源池完成用戶服務(wù)。
平臺服務(wù)層(PaaS)是云平臺的第2層,類似于開發(fā)工具和操作系統(tǒng)。與傳統(tǒng)計算機(jī)模式相比,PaaS解決了開發(fā)的本地部署約束,用戶通過網(wǎng)絡(luò)便可享受到開發(fā)運(yùn)行環(huán)境、測試環(huán)境、數(shù)據(jù)庫等服務(wù),實現(xiàn)在云端進(jìn)行開發(fā),這對于企業(yè)與個人都節(jié)約了開發(fā)的時間與資金成本。
軟件服務(wù)層(SaaS)是云平臺的第3層,運(yùn)行在服務(wù)商的云計算中心,用戶通過網(wǎng)絡(luò)連接便可在SaaS上得到對應(yīng)的軟件服務(wù),無需用戶自行開發(fā)、安裝軟件,使用靈活,且收費(fèi)方式簡單,無需后期軟件維護(hù)與升級費(fèi)用,能夠為用戶節(jié)約成本。
1.2 云計算特征
由于云計算具有支持資源動態(tài)擴(kuò)展、支持異構(gòu)多業(yè)務(wù)、海量信息處理、按需分配這4種特征,因此能夠為用戶提供一種新型服務(wù)形式。
1.2.1 支持資源動態(tài)擴(kuò)展
云平臺中的資源沒有物理界限的約束,能夠根據(jù)服務(wù)需求進(jìn)行靈活調(diào)配,實現(xiàn)對系統(tǒng)內(nèi)任一節(jié)點(diǎn)進(jìn)行修改、刪除、添加等操作,是對資源的網(wǎng)絡(luò)冗余,從而消除系統(tǒng)任一節(jié)點(diǎn)出現(xiàn)異常對整個系統(tǒng)服務(wù)造成惡劣影響。此外,通過資源動態(tài)擴(kuò)展,實現(xiàn)對系統(tǒng)單一節(jié)點(diǎn)負(fù)載能力調(diào)配,當(dāng)負(fù)載較低時,封存閑置資源,提高系統(tǒng)運(yùn)行的經(jīng)濟(jì)性;當(dāng)負(fù)荷較高時,調(diào)用其他閑置節(jié)點(diǎn)資源,實現(xiàn)系統(tǒng)運(yùn)行高效性。
1.2.2 支持異構(gòu)多業(yè)務(wù)
云計算與網(wǎng)格網(wǎng)絡(luò)計算的不同之處在于能夠?qū)崿F(xiàn)同時支持多個差異化的業(yè)務(wù)同時在云平臺上行。異構(gòu)業(yè)務(wù)不同于當(dāng)前系統(tǒng)已存在的業(yè)務(wù),能夠根據(jù)用戶不同需求進(jìn)行自定義。云平臺具備支持異構(gòu)的基礎(chǔ)資源,可在不同基礎(chǔ)平臺上有效兼容不同種類硬件、軟件基礎(chǔ)資源,包括服務(wù)器、存儲設(shè)備和單機(jī)操作系統(tǒng)、數(shù)據(jù)庫等。
1.2.3 海量信息處理
云計算需要面對大量用戶,用戶所屬的專業(yè)范圍廣,服務(wù)需求大,且要處理海量的數(shù)據(jù)信息交互。與此同時,云計算需兼容不同種類硬件、軟件基礎(chǔ)資源,需要進(jìn)行大量的虛擬化計算處理。此外,上層需要同時服務(wù)大量的不同規(guī)模、不同專業(yè)、不同需求的差異化服務(wù),要求云計算必須具備穩(wěn)定的海量數(shù)據(jù)計算與存儲能力,并要求具備準(zhǔn)確高效的數(shù)據(jù)計算能力。
1.2.4 按需分配
云計算按需分配是保證高效運(yùn)行的重要特征。通過虛擬化技術(shù),能夠?qū)崿F(xiàn)物理資源的集中和全局管理,并能根據(jù)不同服務(wù)需求,將易管理的虛擬化后的資源進(jìn)行科學(xué)、按需分配,從而有效提升系統(tǒng)資源使用效率。
?。?/p>
云計算安全威脅
虛擬化技術(shù)先將底層物理資源轉(zhuǎn)化成集中式的虛擬資源池,然后根據(jù)需要統(tǒng)一調(diào)配資源池中的資源。在虛擬化環(huán)境為系統(tǒng)提供便利的同時,也帶來新的安全威脅,例如,容易遭受內(nèi)核攻擊,虛擬機(jī)進(jìn)行內(nèi)部遷移時易遭受外部攻擊,多個虛擬機(jī)并存時單一虛擬機(jī)遭受攻擊會感染周邊虛擬機(jī)。云計算虛擬化威脅主要分為自身安全威脅與虛擬機(jī)安全威脅。
2.1 自身安全威脅
自身安全威脅主要是虛擬化模塊中的虛擬機(jī)監(jiān)視器(Hypervisor)自身脆弱性造成的。虛擬機(jī)通過管理平臺進(jìn)行資源管理時,也會帶來新的安全威脅,主要分為以下3種形式。
2.1.1 虛擬機(jī)逃逸
虛擬機(jī)逃逸指利用虛擬機(jī)軟件或者虛擬機(jī)中運(yùn)行的軟件的漏洞進(jìn)行攻擊,以達(dá)到攻擊或控制虛擬機(jī)宿主操作系統(tǒng)的目的。虛擬機(jī)逃逸的原理如圖2所示。
圖2 虛擬機(jī)逃逸原理
虛擬機(jī)逃逸主要破壞系統(tǒng)的隔離性,系統(tǒng)隔離性被破壞后,容易造成數(shù)據(jù)被竊取、拒絕服務(wù)、其他虛擬機(jī)被控制等嚴(yán)重后果。
2.1.2 從云計算管理網(wǎng)絡(luò)攻擊虛擬機(jī)監(jiān)視器
虛擬化技術(shù)將物理資源進(jìn)行虛擬機(jī)處理,但是并不能消除傳統(tǒng)主機(jī)的安全問題;因此,云平臺在提供大量計算服務(wù)的同時,很容易受到根據(jù)傳統(tǒng)主機(jī)的漏洞轉(zhuǎn)變的虛擬化攻擊。當(dāng)出現(xiàn)攻擊時,虛擬服務(wù)器處于異常工作狀態(tài),若攻擊目的為占用云平臺的海量計算資源,會造成系統(tǒng)資源浪費(fèi)嚴(yán)重,進(jìn)而造成系統(tǒng)異常、計算中斷。
2.1.3 從虛擬機(jī)監(jiān)視器攻擊上層虛擬機(jī)
當(dāng)虛擬機(jī)監(jiān)視器被攻破后,虛擬機(jī)監(jiān)視器的控制權(quán)將易主并處于危險狀態(tài),掌握虛擬機(jī)監(jiān)視器的控制權(quán)的攻擊者能夠?qū)⑻摂M機(jī)監(jiān)視器變化為攻擊武器,從而使得云平臺處于危險狀態(tài)。
2.2 虛擬機(jī)安全威脅
虛擬機(jī)在云環(huán)境下是相互獨(dú)立、相互隔離的,虛擬化技術(shù)通過在獨(dú)立的物理機(jī)上部署多個虛擬機(jī),實現(xiàn)物理資源的共享,服務(wù)器被劃分成功能更加細(xì)化的單元;但是,承擔(dān)的功能與物理服務(wù)器并無太大差異,同樣面臨內(nèi)部資源的安全訪問、應(yīng)用之間的安全隔離等問題,因此并未減輕傳統(tǒng)安全威脅風(fēng)險。此外,由于服務(wù)器被劃分成功能更加細(xì)化的單元,更多的虛擬化節(jié)點(diǎn)需要更多的保護(hù),反而增加安全威脅風(fēng)險。虛擬機(jī)面臨的主要安全威脅為Rootkit攻擊、惡意代碼攻擊和虛擬機(jī)間攻擊。
2.2.1 Rootkit攻擊
Rootkit攻擊是一類惡意攻擊軟件,常與木馬、后門等程序結(jié)合。無論系統(tǒng)是靜止或者活動狀態(tài)下,Rootkit攻擊將自身或者指定目標(biāo)的入侵信息進(jìn)行隱藏,從而規(guī)避開系統(tǒng)的安全檢測,使得系統(tǒng)安全軟件無法發(fā)現(xiàn)或者不能及時發(fā)現(xiàn)。該攻擊植入系統(tǒng)后,能夠阻止用戶識別或者刪除軟件,從而對云環(huán)境進(jìn)行破壞。
2.2.2 惡意代碼攻擊
惡意代碼與不必要的代碼不同,惡意代碼在系統(tǒng)中沒有具體作用,但是會破壞系統(tǒng)運(yùn)行的運(yùn)行過程。其攻擊過程主要包括侵入系統(tǒng)、維持或提升現(xiàn)有特權(quán)、隱蔽策略、潛伏、破壞、重復(fù)實施等步驟,攻擊者多數(shù)攻擊與云端聯(lián)絡(luò)用戶,通過網(wǎng)絡(luò)攻擊云端。惡意代碼攻擊通常造成系統(tǒng)數(shù)據(jù)被破壞、存儲磁盤被侵占、計算速度下降等危害。
2.2.3 虛擬機(jī)間攻擊
云環(huán)境下的虛擬機(jī)是通過網(wǎng)絡(luò)相互通信的,被攻破的虛擬機(jī)能夠向其他安全虛擬機(jī)發(fā)送病毒信息,這種特性也常被利用,因此虛擬機(jī)在云環(huán)境下面臨隨時被攻擊的威脅。
?。?/p>
基于角色訪問控制策略研究
云計算平臺面對的是大量數(shù)據(jù)與用戶,當(dāng)為這些用戶提供服務(wù)時,需要對不同的用戶數(shù)據(jù)進(jìn)行區(qū)分。遭到惡意訪問時,常常會出現(xiàn)用戶數(shù)據(jù)被盜取等情況。云服務(wù)提供商通常利用可信平臺模塊驗證用戶信任證書以及信任鏈傳遞的方式來解決這一問題。該功能雖然能實現(xiàn)云計算平臺的數(shù)據(jù)儲存及訪問安全,但并不能防止惡意訪問用戶或者黑客通過偽造或者篡改證書的方式非法竊取用戶數(shù)據(jù)。針對云計算平臺中用戶之間的數(shù)據(jù)區(qū)分問題,以及惡意用戶竊取平臺中數(shù)據(jù)的問題,本文提出一種基于角色訪問控制策略。該策略解決了平臺訪問者客觀信任和主觀信任的問題,通過虛擬化技術(shù),數(shù)據(jù)隔離存儲后,為云用戶分配相應(yīng)角色,在用戶訪問過程中,對用戶密鑰證書和信任等級進(jìn)行綜合驗證,更好地保證云計算平臺數(shù)據(jù)的安全性與可靠性。
3.1 數(shù)據(jù)安全隔離
基于虛擬化架構(gòu),在底層硬件上創(chuàng)建多個虛擬域?qū)?shù)據(jù)進(jìn)行分類隔離儲存。虛擬域架構(gòu)如圖3所示。
圖3 虛擬域架構(gòu)
通過建立上層虛擬域,一方面,能夠?qū)⒃破脚_數(shù)據(jù)根據(jù)用戶分類進(jìn)行隔離,用戶根據(jù)所分配到的權(quán)限訪問對應(yīng)數(shù)據(jù),保護(hù)了平臺數(shù)據(jù)的私密性;另一方面,對云平臺上的數(shù)據(jù)進(jìn)行明文加密之后,將密文數(shù)據(jù)進(jìn)行隔離,提高了數(shù)據(jù)的安全性。
將云平臺數(shù)據(jù)按照A、B、C、D分成4個等級,等級證書要求如表1所示。
表1 等級證書要求
表1中,A類數(shù)據(jù),所有用戶均可訪問,不需要提供任何的證書,僅需要提供身份證明證書,完成信任驗證便可直接訪問;B類數(shù)據(jù),僅允許注冊過該云計算服務(wù)的用戶訪問,用戶需在平臺驗證用戶名和密碼,提供角色授權(quán)文件,驗證授權(quán)文件的信任等級,經(jīng)平臺驗證通過,便可在平臺內(nèi)訪問其授權(quán)的信息區(qū)域;C、D類數(shù)據(jù),僅允許平臺VIP用戶訪問,用戶需在平臺驗證用戶名和密碼,提供角色授權(quán)文件,根據(jù)不同的授權(quán)證書C1或C2,驗證授權(quán)文件的信任等級。使用者頒發(fā)的獨(dú)有USB Key將VIP證書與時間戳捆綁簽名,驗證成功后,便可在平臺內(nèi)訪問其授權(quán)的信息區(qū)域。
3.2 數(shù)據(jù)訪問控制
云計算平臺基于信任證書與信任等級的綜合驗證,進(jìn)行基于角色的隔離訪問,數(shù)據(jù)訪問控制的流程如圖4所示。
圖4 數(shù)據(jù)訪問控制流程
數(shù)據(jù)訪問控制流程具體如下文所述。
步驟1:用戶訪問數(shù)據(jù)時,云平臺驗證通過公鑰加密后的身份證明證書等信息,若驗證成功,進(jìn)行步驟2,驗證失敗,通知用戶拒絕訪問。
步驟2:根據(jù)用戶的證書信息判斷用戶信任等級,若等級滿足要求,則進(jìn)行步驟3,信任等級過低,拒絕訪問并通知用戶。
步驟3:用戶根據(jù)所需訪問的數(shù)據(jù)類型申請訪問域,并接收分配所對應(yīng)訪問虛擬可信平臺模塊(virtualizing the Trusted Platform Module,vTPM)證書,用戶通過私鑰對證書進(jìn)行加密,并與時間戳簽名捆綁,發(fā)送給所對應(yīng)的vTPM;vTPM獲得用戶信息后,解密信息并驗證用戶證書,若驗證失敗,云計算平臺再次通知用戶拒絕訪問;驗證成功后,用戶便可以成功訪問數(shù)據(jù)。
步驟4:用戶訪問數(shù)據(jù)過程收到實時監(jiān)控,任一惡意行為均將引起用戶信任等級降低,并終止用戶訪問。
3.3 信任等級監(jiān)控
云計算平臺利用流量監(jiān)測與分析工具、系統(tǒng)日志等方法實時監(jiān)控用戶接入、數(shù)據(jù)訪問。全過程中,利用并根據(jù)用戶行為實時改變用戶的信任等級,信任等級判別流程如圖5所示。
圖5 信任等級判別流程
信任等級判別流程具體為:
?。?)云計算平臺設(shè)定分析行為信息模塊,對用戶的訪問行為監(jiān)測并進(jìn)行審計分析;
(2)云計算平臺標(biāo)記并累積用戶的可疑行為或信任行為,將可疑行為的累積信息向上通知分析行為信息模塊,進(jìn)行審計分析;
(3)云計算平臺根據(jù)累積算法,分別對可疑用戶降低信任等級,對信任用戶提升信任等級;
?。?)用戶改變信任等級時,用戶的身份證明等證書與信任等級進(jìn)行捆綁并記錄存儲至系統(tǒng)中,作為下次用戶登錄的判別指標(biāo)。
3.4 性能分析
基于角色訪問控制策略對保護(hù)數(shù)據(jù)隱私性、安全性及完整性均有重要意義。
3.4.1 隱私性
用戶訪問過程中,數(shù)據(jù)的隔離、儲存與訪問都分配在不同的虛擬域。角色訪問控制策略分配方式多樣,包括以數(shù)據(jù)隱私性、數(shù)據(jù)類型、用戶權(quán)限進(jìn)行分配,從而決定了數(shù)據(jù)的儲存位置與訪問方式不同。不同的虛擬域之間各自獨(dú)立運(yùn)行,未經(jīng)允許不進(jìn)行通信,保證虛擬域的分配與數(shù)據(jù)隔離,提升數(shù)據(jù)的儲存與訪問的隱私性。
3.4.2 安全性
云計算平臺對用戶的信任證書和信任等級進(jìn)行綜合驗證與實時監(jiān)控用戶行為能保證用戶的訪問權(quán)限,同時減少用戶訪問過程中惡意訪問行為。平臺改變用戶的信任等級,能及時阻止非法用戶連續(xù)惡意訪問,從而保證數(shù)據(jù)儲存與訪問的安全性。
3.4.3 完整性
用戶只有通過信任證書與信任等級的綜合驗證,才能成功訪問云計算平臺數(shù)據(jù)。非法用戶完全無法訪問云計算平臺所儲存與隔離的數(shù)據(jù),更無法對數(shù)據(jù)進(jìn)行更改;對于合法用戶訪問過程,無法對其所訪問的數(shù)據(jù)進(jìn)行更改,保證云計算平臺中所儲存數(shù)據(jù)的完整性。
?。?/p>
結(jié) 論
本文提出的基于角色的云環(huán)境下虛擬機(jī)安全訪問控制策略,通過將數(shù)據(jù)的隔離、儲存與訪問都分配在不同的虛擬域,對用戶的信任證書和信任等級進(jìn)行綜合驗證與實時監(jiān)控用戶行為,為用戶提供一個安全的運(yùn)行環(huán)境,完成對云計算平臺中數(shù)據(jù)儲存、隔離和訪問的保護(hù),有效提升數(shù)據(jù)隱私性、安全性及完整性,為云計算安全技術(shù)提供借鑒。