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