引言
由于云計算對資源的充分高效利用能大幅降低計算成本,從而大大增強了計算靈活性。云計算概念從2008年被提出開始已經得到越來越廣泛的應用,越來越多的企業組織機構開始把計算平臺向云遷移。在這個過程中人們最關注的無疑是云的安全問題,尤其是在云的多租戶環境中,大量用戶共享同樣的基礎設施和網絡,如何在這種環境下保證用戶數據的安全和隱私,是一個比較嚴峻的問題。云安全聯盟(Cloud Security Alliance)已經將不正確的數據和網絡隔離(Improper Data and NetworkIsolation)列為云計算的首要安全威脅之一。惡意用戶可以相對比較容易地攻擊其他使用同一平臺的用戶,特別是目前的云服務建立門檻已經很低,一些新手程序員可以通過GoogleApp等建立自己的云服務,其代碼的安全性通常沒有得到良好的審查。
目前,阻止這些攻擊還未有良好的解決辦法,即便部署了ERP數據防泄露系統,也無法阻止云服務上的敏感信息泄露。技術手段的缺乏使得黑客和惡意的內部人員的攻擊日益增加、數據合規性的監管增強、云計算時代大型數據中心安全管理日益復雜,如何控制、保護和監視高價值的業務數據,成為所有數據提供商和用戶面對的重要問題,因此迫切需要一套可視性的、有效控制的數據安全隔離辦法。
這里提出一個名為OmniSep的數據隔離技術解決方案,使得云服務提供者可以把安全作為一種服務提供出來保護云中租戶的數據,即便這個租戶自身運行的軟件和服務不安全,OmniSep也能確保其數據的安全。OmniSep通過增強云服務提供商的虛擬機管理器(如XenServer、VMware ESXi等)并修改部分客戶機操作系統來實現數據的隔離,從而保證云中多租戶用戶遠離因服務商錯誤設置或side—channel攻擊等問題造成的數據泄露。
1 相關威脅分析
對于云中多租戶的威脅分類分以下幾種情況討論,如表1所示。
可見,最常見的威脅是一個租戶部署的服務有漏洞或者配置錯誤,但要求所有租戶都嚴格檢查其代碼也不現實,防火墻和IDS的作用也有限。OmniSep可以阻止惡意攻擊者從租戶的虛擬機實例偷走信息。其他的威脅有些是由于云基礎設施或租戶操作系統的漏洞造成的。
2 OmniSep系統構成
圖1為OmniSep的系統結構,顯示了其組件和云中的位置,組件包括:
表1 云計算多租戶環境威脅分類
1)兩個在特權域Domain0中的軟件模塊,一個針對數據隔離,一個針對網絡隔離。
2)一個標記服務(Labeling Service)部署在云服務提供商的存儲設備上。
3)Pedigree操作系統級信息流追蹤組件,安裝在所有愿意使用OmniSep的用戶虛擬機實例上。
圖1 OmniSep系統結構
以云計算常用虛擬程序Xen為例,Xen有多個層,最底層和最高特權層是Xen程序本身。Xen可以管理多個客戶操作系統,每個操作系統都能在一個安全的虛擬機中實現。在Xen的術語中,Domain由Xen控制,以高效地利用CPU的物理資源,每個客戶操作系統可以管理它自身的應用。這種管理包括每個程序在規定時間內的響應到執行,是通過Xen調度到虛擬機中實現,當Xen啟動運行后,第一個虛擬的操作系統就是Xen本身,通過xmlist,會發現有一個Domain0的虛擬機。Domain0是其他虛擬主機的管理者和控制者,Domain0可以構建其他更多的Domain,并管理虛擬設備,它還能執行管理任務,比如虛擬機的休眠、喚醒和遷移其他虛擬機。
一個被稱為Xend的服務器進程通過Domain0來管理系統,Xend負責管理眾多的虛擬主機,并且提供進入這些系統的控制臺。命令經一個命令行的工具通過一個HTTP的接口被傳送到Xend。運行Pedigree的云租戶可以指定安全策略并運用部署在云服務提供商那里的標記服務來自動分配標記到他們的數據,這樣,Pedigree就可以追蹤所有在租戶虛擬機實例內進程和文件之間的信息流,如果租戶的數據不符合規定地流向了另一個租戶的虛擬機或是云外的網絡,Domain0里的執行組件就會終止類似的數據交換。網絡隔離組件主要干擾對共享硬件資源的多租戶探測:通過中央數據庫重寫租戶虛擬機實例的IP地址,首先阻止攻擊者探測租戶的真實IP地址,同時調節ping值返回時間,使得同一臺物理主機上虛擬機之間的ping時間值和不同物理主機之間的ping時間值是相同的。
(1)Pedigree信息流追蹤組件
Pedigree在同一個虛擬機實例里使用標記來追蹤進程以及文件相互之間的信息流,使用一個安全可信的Linux內核,用戶和管理員把標記加到文件上,標記內容包含了租戶在策略中指定的內容、誰能訪問以及以什么權限訪問等信息,Pedigree一旦安裝就會關聯所有虛擬機內的資源,云中租戶便可以把數據安全的邊界得以劃清,控制自己的數據流動。租戶不僅可以單獨安裝Pedigree,還可以通過綁定虛擬機鏡像使得以這個虛擬機鏡像為母版的所有虛擬機都自動加上這個功能。對于所有正在運行的虛擬系統,Domain0的系統正在運行。
Domain0就是Xen本身,也可以稱為虛擬平臺內存大小,負責提供其他虛擬操作系統的硬件環境,其他的系統都是基于DomainO開始的,Pedigree運行于其他DomainU虛擬系統,和DomainO交互數據。
(2)標記服務
標記服務建立在標準云服務的存儲服務之上,通過用戶指定的策略,標記層自動把相關標記數據插入存儲服務,每個租戶都可以通過管理界面創建策略來標記數據流。以下是一個策略的例子,其中一個標記被創建然后被插入到數據庫:whenquery:=“INSERT”and table:=“USERS”。
(3)執行組件
執行組件一直運行在云中的所有DomainO里面,作用有以下兩個:
1)內部租戶的數據隔離。假如一個租戶標記的數據非正常地流向另一個租戶的虛擬機實例(如錯誤配置、被攻破的情況下),執行組件可以根據標有每個租戶唯一標識的標記來執行阻斷。
2)全局數據隔離。假如一個租戶標記的數據非正常地流向云外,執行組件執行阻斷措施并匯報事件。
相對于內部數據隔離,全局數據隔離的難點在于如何讓租戶從云的外部瀏覽自己的數據,同時又能阻止攻擊者在已經攻破云服務時沒辦法得到租戶的數據。這里采用租戶獨立運行一個可信登錄服務和云服務提供商的銷密服務結合的方法,為確保沒有惡意代碼和后門,可以采用已經通過審計的開源代碼庫部署在虛擬機上作為自己的登錄服務。當一個用戶進入租戶涉及到保護數據的網站時,登錄進程便驗證用戶以及和銷密服務通信以標明用戶。銷密服務是一個可信的代理服務(需要由云服務商提供),它可以把租戶的標記信息從數據流中剝離,當銷密服務器接收到租戶請求時便剝離指定連接的用戶信息,確保每一個流出的信息的租戶信息被剝離。另外,隔離的同時還具備流量監視功能。為了防止網絡接口流量異常,執行組件具有流量監視及控制功能,能夠對通過安全隔離系統的網絡流量進行全面的控制。流量監視及控制功能可以針對不同的應用對流量設置上限,保證云中數據不會由于其他應用占用過多的帶寬而不能正常使用。此外,流量監視及控制功能還可以對執行組件系統的特定網絡端口進行上行及下行的流量監視和控制,使用戶能夠隨時掌握網絡流量的狀態,分析云中數據的流向。
下面通過一個實例來說明全局數據隔離的運作,如圖2所示。一個正常用戶Alex和惡意用戶Bob,Alex登錄進系統然后發起請求查看其銀行賬戶信息,他的返回值只會標記一個“A”。銷密服務器把他的標記剝離然后執行組件發現這些數據沒有包含敏感的標記,于是放行。如果Bob通過SQL注入攻擊想得到Alex的銀行信息,由于銷密服務只和Bob的連接相綁定,只會去除Bob的標記信息,Bob竊取的Alex的數據在經過執行組件的時候還會帶有Alex的標記,這時候執行組件便會攔截這些數據,從而起到保護作用。就算Bob使用其他虛擬機繞過銷密服務器,但這些虛擬機里面駐留在DomainO里的執行組件也會阻斷連接。
圖2 OmniSep處理流程
3 系統實現
OmniSep軟件代碼由C語言實現,驗證采用的云計算系統搭建在Ubuntu11.10上,云管理基礎軟件采用UbuntuUEC內置Eucalyptus,虛擬機兼容KVM和XEN,虛擬機鏡像格式為AMI。整個驗證系統實現了和Amazon EC2的完全兼容,實現了與Amazon從私有云到公有云的無縫遷移。在本地驗證系統的結論適用于目前使用最廣泛的云設施Amazon EC2及其S3存儲系統。
4 結語
文中通過分析廣泛應用的云計算服務面臨的各種威脅,揭示威脅造成的嚴重后果,并針對各種不同的威脅分析可能的解決辦法,最后提出一個名為OmniSep的解決方案,該方案包含了一系列針對云計算多租戶環境增強數據和網絡隔離的技術。OmniSep通過部署在云中不同位置的3個組件實現了按照租戶意愿的ERP數據和網絡隔離,充分保障了租戶在不信任云環境中的ERP數據安全。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:云服務數據隔離技術