來自中國科學院軟件研究所基礎軟件國家工程研究中心系統安全與可信計算研究室負責人丁麗萍女士為大家分享《云計算環境下的隱蔽信道分析》。她從隱蔽信道、云計算環境下安全威脅和隱蔽信道以及她們所做的工作三個方面進行了詳細了介紹。
隱蔽信道
隱蔽信道在操作系統層面的概念是指惡意進程通過合謀信息系統共享資源的實現信息泄漏的方式,隱蔽信道分析是國內外安全標準對脆弱性分析的強制性的要求,要求你在提交產品的同時提交隱蔽信道分析的報告,構建場景進行度量,并提出消除措施。具體分析工作有:識別、度量和處置。隱蔽信道分析是信息安全領域的重要難題,研究起來難度很大。原因在于以強制訪問控制研究作為基礎,海量代碼基于源碼拿出來在靜態的分析比較復雜,像內核源碼好幾百萬行,各個產品都有一些技術壁壘,導致參考資料非常少。
信道的分析分三塊:識別、度量、處置:
? 識別是對系統靜態分析,對源代碼的分析,強調對設計和代碼進行分析,發現所有潛在的隱蔽信道;
? 度量是對信道傳輸能力和威脅程度的評價,隱蔽信道到底它的傳輸能力帶寬多大,對系統整個威脅多大,做出評價;
? 處置是包括信號的審計、消除、限制。信道的處置包括消除措施破壞信道存在條件,限制包括把信道降低到系統能夠容忍的范圍內,把它的帶寬減少。信道的審計強調對潛在信道的相關操作進行監測和記錄,這就是隱蔽信道的傳輸機理。
隱秘信道本質上是信息傳輸的通道,重點集中在傳輸介質的研究,根據共享資源屬性不同分為存儲和時間類型,四級操作系統要求對存儲類隱蔽信道進行傳輸分析,五級對時間和存儲都要進行分析,由此延伸出存儲和時間信道兩種。在操作系統、數據庫或者網絡中發現一種共享資源作為隱蔽信道的傳輸,是隱蔽傳輸機制的核心;傳輸介質的選擇,是能夠提高信道的容量和隱匿性的根源。
提高隱蔽信道的傳輸準確率和隱匿性的另一種方式是改進信道的編碼機制。利用字母頻率特征、編碼期望長度較大或者多元編碼機制。
操作系統隱蔽信道研究重點在于防患于未然。對于開發出來某一個版本里面的隱蔽信道做一些分析,對它進行消除采取一些措施,側重于它的標識、場景構建、容量度量等方面。這是我們列出相關的研究。Kemmerer為認為隱蔽信道是使用不是正常數據客體的項從一個主體向另一個主體傳遞信息的信道,并由該定義設計出共享資源矩陣法。Tsai等人認為隱蔽信道是違反強制安全策略模型的兩個主體間的非法通信。提出語義信息流方法判斷內核變量間的可見性,以此發現可見隱蔽信道,缺乏分析工具。咱們國家的卿斯漢延續了語義信息流的思想,設計了一種代碼層次的標識方法回溯搜索法,該方法引入“剪枝規則”,在標識過程中刪除不能構成隱蔽信道的共享變量。數據庫隱蔽信道研究的人更少了,數據庫系統中存在著大量共享資源,這個領域的研究值得涉足了。網絡隱蔽信道集中正面的研究,利用傳輸信道傳輸隱秘信息,比如數據段增加一些東西來隱匿傳輸信息到另外一個節點去。網絡隱蔽信道將信息泄漏威脅從系統內部轉移到系統中間,研究比較多是Purdue University(普渡大學)提出了一種IP時間隱蔽信道,稱作IPCTC.
云計算環境下安全威脅和隱蔽信道
云計算環境下的安全威脅與隱蔽信道關系。云計算將基礎設施、平臺及應用部署到云端,無論從觀念上還是技術都給信息安全帶來極大的挑戰,好多專家說云計算帶來威脅非常之大。
? 入侵者:云計算平臺為其提供了一個廉價、高效、穩定的入侵平臺。
? 用戶:擔心將應用程序與服務部署在不可控的環境中的安全性。
? 服務商:由于隱私保護和商業規則,云服務商無法記錄和監控客戶執行的操作,導致信息泄漏等攻擊方式難易記錄和發現。
從三個層面來說,云安全還是非常大的問題,很難解決。
虛擬化技術是云計算平臺的核心。虛擬化技術提供了大量的共享資源,成為隱蔽信息的發生的源泉。我們以一個虛擬機的生命周期為例來分析云計算面臨的威脅。隱蔽信道依賴于共享資源存在的,共享資源越多隱蔽信道越多。
一個虛擬機有創建、啟動、運行、停止、銷毀生命周期。在生命周期中,都會面臨到很多威脅。它的運行階段時間最長,啟動起來一直在運行,運行階段我們認為用A1和A2表示,A1表示虛擬機之間基于共享子資源的隱蔽信道。比如由于CPU負載和Cache緩存的隱蔽信道,在云計算平臺中,雖然VMM為每個虛擬機分配了虛擬的CPU,但是最終的任務仍然要順序地在物理CPU上執行,通過觀察物理CPU的負載狀況,能夠推測同一物理平臺上其他虛擬機內的機密信息,基于Cache為緩存的隱蔽信道類似于CPU負載信道,通過使用Cache的延遲時間,泄漏虛擬機的機密信息。
A2表示虛擬機的內部的隱蔽信道。例如Linux操作系統的事件標識型隱蔽信道,該信道的收發雙方通過改變和觀察特定的事件的狀態合謀傳遞機密信息。A1和A2分別表示了虛擬機外部和內部的兩種信息泄漏方式。
啟動和停止階段,我們用A3和A4表示。
A3表示篡改啟動鏡像類型的攻擊。惡意用戶篡改替換VM啟動的鏡像文件,導致客戶在云服務的啟動階段就已經被植入惡意程序成為入侵者的攻擊對象。A4表示篡改持久化數據的虛擬機攻擊方式。當虛擬機將客戶數據寫入持續久設備中時,將客戶信息泄漏給攻擊者或者造成客戶數據的故意丟失。A3和A4可以采取安全保護策略對系統采取防范。
A5、A6是傳統的攻擊方式,A5表示木馬或者病毒攻擊方式。A6表示返回時篡改攻擊。網絡環境下,A5和A6表示中間人攻擊方式或其他的網絡攻擊方式,劫持網絡會話執行惡意操作。
這三種類型的安全威脅覆蓋了云服務的完整的生命周期。按照由低向高的層次,可視為針對VMM、VM和應用程序攻擊。
前兩種攻擊方式利用云計算平臺動態易用、資源共享的特點,是安全研究領域的新問題。通過安全策略,配置私有云、共有云、混合云可以創建相對安全的、靈活實用的平臺。然而即使部署了安全策略,只要存在資源共享,因此隱蔽信道是云計算研究下的關鍵問題。
目前的工作
丁麗萍介紹到:“我們做的工作基于的Xen的虛擬機,這是我們改進的CASVisor,我們在里面做了安全機制在VMM層做的防護,啟動的時候前啟動CASVisor,然后生成Dom0,在系統中可以運行的WindowsXP等等不同操作系統,操作系統上面可以放置不同的應用。這是它的架構。”
基于XCP隱蔽信道分析,我們做了一些工作,基于共享內存,在這個平臺下,我們對Xen做了分析,為了完成虛擬機域間的通信與協作,Xen提供了兩類共享資源,即超級條用和事件通道。就是域和域之間的通知機制。事件通道機制與超級調用機制一起完成了VMM和Domain之間的控制和交互使用超級調用機制。
基于共享內存的隱蔽信道,為了實現虛擬機Domani之間的共享內存,Xen提供了基于超級調用和事件通道的授權表機制每個Domain都擁有自己的授權表,Doma創建一個環形數據結構并賦給虛擬域如Domb訪問權限,以此構成共享內存。
我們認為現有的研究對隱蔽信道的分類基本上出于對于工程時間的考慮,分析方式并沒有體現出隱蔽信道在云計算環境下的特點,需要重新分類,我們對隱蔽信道分了三大類,CC1、CC2、CC3三類。CC1是進程級泄漏方式,CC1操作系統內部的,是進程級的跟傳統操作系統類似的。CC2是網絡級隱蔽信道,惡意進程Pk在虛擬機平臺DomU中,PX是其他硬件平臺虛擬機或者獨立操作系統中的進程。進程PK和PX只能通過網絡連接通信,因此CC2通信可抽象為網絡隱蔽信道。CC3系統級隱蔽系統,收發雙方惡意進程分別處于同一硬件平臺上不同虛擬域中,機密信息經過操作系統級的傳輸,泄漏給惡意用戶。CC3類型的隱蔽信道是云計算環境中的特有的隱蔽信道類型,是由硬件資源共享導致的信道,如基于共享內存、Cache和CPU負載的信道。CC3信道對于云計算客戶的數據安全至關重要,如果具有業務競爭關系的客戶處在同一物理平臺上,CC3類型的信息泄漏將給帶來沉重的經濟代價。
分析的過程,我們采用的這樣的方法,在云計算環境下的隱蔽信道重點對CC3類型的信道進行分析。CC1和CC2類型的信息可以直接采用以前的分析結果。對CC類信道分析的通過安裝配置LLVM變異系統,修改Makefile為文件,使之調用LLVM進行變異,使用編寫中間代碼分析共聚合信息流圖構建工具,查找潛在隱蔽信道,系統中部署檢查到潛在隱蔽信道,驗證其是否能在真實場景下實現。通過實驗計算其容量,設計相應的隱蔽信道處置措施。
基于源代碼有向信息流圖標識方法是我們的專利,這是我們在這個領域中發表的17篇文章,在國內外得到了認可,我們提出了云計算環境下的隱蔽信道的分析方法,在云計算頂級會議上被錄用了,而且派了一個博士生宣讀了論文。
云計算掀起了當今IT業又一次研究熱潮,產業界對云計算帶來了實際效益更加然而,云安全是制約云計算法的瓶頸。如果安全問題解決不了,云計算我們認為很難發展,如何隔離用戶數據,保證數據的機密性、完整性可用性,將是今后工業界研究重點,也是解決云安全的關鍵。
我們隱蔽信道分析是靜態分析,不是運行中系統的分析,是針對源代碼的分析,分析源代碼看看共享變量和資源是什么?通過對共享資源主客體之間的關系分析潛在信道構建場景對它進行消除。