石 磊 張 輝 劉毅楓
(山東乾云啟創信息科技股份有限公司 濟南 250101)(shi_lei@massclouds.com)
?
基于安全標簽的云平臺問責和追溯技術研究
石 磊 張 輝 劉毅楓
(山東乾云啟創信息科技股份有限公司 濟南 250101)(shi_lei@massclouds.com)
對于云平臺問責與追溯,問責是要達成的目的,追溯是技術手段.為達到針對云環境下惡意行為問責的目的,要求追溯技術能夠逆向還原從事件發生點到事件發起源頭的完整路徑,并記錄這期間的操作行為.針對業務透明性、追溯機制精度和范圍、追溯機制效率和成本等方面面臨的挑戰,提出一種基于安全標簽的通用追溯技術,建立精確高效的追溯技術原型.
云平臺;云計算;安全標簽;問責;追溯
國內云計算應用不斷擴大,云數據中心、大寬帶戰略、軟件服務及智能終端等組成的云計算產業鏈條已經逐步形成.不過,國內云計算產業仍然面臨一系列問題和挑戰,其中包括基礎設施支撐不足、寬帶不寬、服務種類有限、服務規模不大、產業鏈不全、商業模式不成熟、政策法規環境不完善、用戶對云計算安全擔心等等.
網絡安全已晉升為我國國家戰略部署的一部分,云計算的落地向信息安全提出了新的挑戰.云計算的推廣應用需要確保云服務的安全,營造云服務的安全環境,為此,需要加強云計算安全技術的攻關和研發,制定和完善云計算安全的制度和法律,明確信息所有者和服務者的權益和責任,依法保護知識產權,依法維護個人信息的隱私權益,建立和完善云計算安全防護和評價體系,讓所有使用云計算的人放心,讓存放在云端信息的信息所有者放心[1].
當前國內外已經開展了一些與云平臺問責與追溯技術相關的研究工作,但是大多數都處于原型階段,距離實用還存在一定差距.主要包括以下幾類[2]:
基于信息流跟蹤(information flow tracking, IFT)的方法是一類比較通用的防止信息泄露的方法.1)通過擴展Java和PHP語言虛擬機的方法實現信息流監控,能夠針對用戶的隱私數據進行保護,阻止信息泄露,但是該模型只支持特定的語言,并且需要重寫應用.2)針對分布式系統的信息流監控方法,該技術原型在追溯方面的粒度很大,不能具體到針對文件、內存區域、Socket這一級對象的跟蹤,同時該原型必須修改被監控應用.3)監控和保護結合起來的辦法,即確保所有敏感數據對授權進程以外只讀,發現和阻止非法企圖;但是該原型側重于預防,對于異常行為追溯功能的支持能力很弱.
另一大類技術方法所采用的策略為,從綜合安全體系的角度,充分利用傳統計算領域的各種審計技術和工具,與云環境下的跟蹤技術相結合,建立完整的信息審計和行為追溯體系.但是該模型是針對Web應用提出的惡意行為追溯方法,局限性太強,不能適用于云環境下廣泛的業務類型.
另外,從可信計算角度入手,也是一類實現方法.引入一個受信任的第三方云服務提供者,為最終用戶提供相應的數據追溯和審計服務;但是該模型僅是針對Paas模式提出的方法.同時,該模型的實現通常要受到TCM信任鏈的約束[2].
1.1 追溯技術簡介
對于云平臺問責與追溯這一研究領域,問責是要達成的目的,追溯是技術手段.為達到針對云環境下惡意行為問責的目的,要求追溯技術能夠逆向還原從事件發生點到事件發起源頭的完整路徑,并記錄這期間的操作行為.考慮到云環境本身的特點,云平臺下的追溯技術既要服從于云計算環境的特殊性和限制,又要充分利用虛擬化技術帶來的一些便利條件,建立精確高效的追溯技術原型.
1.2 技術難點分析
目前,在云平臺下實現問責與追溯技術,主要面臨以下幾類主要的挑戰:
1) 追溯機制對業務的透明性
在云平臺環境下的問責和追溯作為一種安全技術,在實現方面的要求是既要增強對云平臺業務的安全可控能力,又要嚴格控制實現代價.同時,云平臺的特點決定了業務通常由大量單一功能的應用協同完成,云平臺的一個重要優勢就是允許這些應用的快速升級更新.因此,如果在業務應用的層面注入或擴展追溯機制,就會給原有的業務應用開發增加額外的限制,將會大大提高維護難度和成本,對云平臺的推廣應用造成不利影響.
追溯機制的透明性是指,在不影響原有云平臺業務的開發、升級、維護的前提下,為安全管理人員或安全工具提供針對惡意行為的有效的追溯能力.這個目標對追溯機制的設計提出了很高的要求,需要慎重考慮技術實現所在的層次和方式.
2) 追溯機制的精度和范圍
通常情況下,追溯對相關信息的精度和粒度的要求很高,這是追溯有效性的主要保障.在數據粒度方面,如果不能達到字節級的水平,許多追溯線索就可能斷掉.在路徑精度方面,數據在進程中內存地址間的轉移,進程間通過網絡、管道、IPC等方式的傳遞,數據與文件的交換等等過程,都應當是追溯需要識別的環節和途徑,否則也難以實現有效的追溯.
在云平臺下,業務流在各種類型的軟硬件節點之間處理和傳遞,追溯需要跨進程、跨虛擬機、跨宿主機的傳遞,需要跟蹤數據在各種形式上的轉變,這種大范圍的追溯要求對技術原型的機制設計提出了極大的挑戰[3].
3) 追溯機制的效率和成本
·對追溯過程中處理精度和范圍的高要求,必然會在效率上付出一定代價,因此如何設計一個完善的機制,以降低在這些方面對效率的負面影響,是技術上的一個巨大挑戰.
·追溯的一個主要目標是發現攻擊源或攻擊者,但是對于云平臺來說,用戶規模通常是巨大的,追溯機制必須能夠支持對大量主體標志的產生、處理和識別,這樣才能從大量的用戶中標記出潛在的攻擊者.現有的某些實現在主體標志的范圍和擴展性上準備不足,導致其在實際的云環境應用中受到極大限制.
·追溯機制對效率的另一個主要影響來自常規運行的記錄信息的過程,幾乎所有可能被追溯機制引用的信息都要經過這一過程的處理,如何降低該過程的日常開銷也是需要克服的一個關鍵問題.
針對云平臺在問責與追溯所面臨的挑戰,本文提出一種通用的追溯技術原型MC-Track.該原型的基本原理是,為進入云平臺的數據創建對應標簽,標簽標記了數據來源信息;在云平臺中維持標簽與數據的同步,標記數據在云平臺內移動的路徑線索;各關鍵節點依據標簽向統一的審計數據中心報告數據流經的路徑;追溯過程觸發時,根據當時現場環境和審計數據中心的歷史記錄做關聯分析,產生追溯結果.
2.1 追溯原型的構成
追溯原型的構成主要包括追溯過程的觸發和追溯信息的獲取,具體如圖1所示:

圖1 追溯原型MC-Track的技術構成
1) 追溯過程的觸發
追溯技術與監控技術不同,單就追溯本身來看,它不是常規持續運行的過程,而是待調用的任務型過程,啟動時機是在異常發生后.追溯過程需要在一定條件下,由安全人員或其他安全工具觸發啟動,外部的輸入指明了追溯的線索依據、發生位置等信息.例如,防篡改軟件可以檢測到敏感數據內容的非法修改,之后可以自動觸發追溯過程,防篡改軟件必須提供篡改發生的位置(如設備ID、數據路徑等)、精確時間以及現場的其他線索信息,追溯機制依據這些輸入信息進行關聯分析后得出結果,最后向管理人員提供該惡意行為從攻擊源到篡改點的完整路徑,同時定位攻擊者和記錄非法行為過程.
因此在追溯原型的設計上,MC-Track遵循這樣的約束:原型本身不包含檢測、防御和識別威脅的功能,其職責是在事件發生后,輔助分析識別事件原因、觸發源頭和經歷過程,其作用和目的是輔助安全管理者追究責任和完善安全體系.
2) 追溯依賴信息的獲得
追溯機制的運行和完成需要一些必備的基礎信息作為支持.但是在通常情況下,由于追溯技術基本上是一種事后機制,當追溯啟動時,惡意行為的大部分過程都已經結束.追溯機制僅僅依靠當前時刻能采集到的信息和運行場景,去還原事件發生的完整歷史過程幾乎是不可能的.因此,MC-Track原型除了包括在異常發生后才出發的核心的追溯過程,還必須引入一個常規情況下持續運行的過程,稱為常規跟蹤過程.常規跟蹤過程負責跟蹤記錄數據在云平臺中的轉移過程,并將信息集中存儲到信息跟蹤數據庫中.追溯過程可以依托這個庫的支持完成追溯分析.
綜上,根據追溯技術的特點和運行條件,追溯技術原型MC-Track由以下4部分組成:1)常規記錄信息過程,隨時準備為追溯過程提供分析的歷史信息依據;2)觸發條件信息,觸發追溯過程并提供初始信息;3)追溯的核心過程,根據觸發的輸入信息和常規記錄過程提供的基礎信息,執行基于領域知識的關聯分析,得出確定的結果;4)追溯結果輸出,向使用者提供完整的追溯路徑和這期間的行為過程記錄[4].
2.2 云計算環境下基于標簽的數據跟蹤技術
透明性是MC-Track原型實現的一個主要目標,即在云平臺下增加追溯功能不影響業務層的運行和維護.在MC-Track包含的2個過程中,核心追溯過程執行邏輯關聯分析方面的運算,獨立性強,不會影響透明性的實現;而常規跟蹤過程需要截獲和記錄業務數據流,與業務耦合度高,所以需要重點研究,盡量避免對業務層的影響.
常規跟蹤過程通過2個步驟實現對數據的跟蹤:首先給業務數據建立標簽并保持標簽與數據的同步傳遞;然后在各關鍵節點檢查標簽并產生審計數據.通過上述方法,可以記錄業務數據的來源(用戶或其他系統)、在云平臺內部的轉移過程、流出云平臺的出口位置或者在內部的銷毀位置.MC-Track設計和實現過程應當確保對業務透明性的原則.
1) 標簽的意義和處理原語
標簽與特定的數據對應,在系統中由唯一的數值表示,該數值由2部分組成:一是數據的屬主或來源的唯一ID;二是數據本身的唯一ID.當數據在云平臺中傳遞時標簽也隨之移動.以標簽為線索,就可以把數據在云平臺中各節點各階段上的傳遞過程串聯起來,從任意一個點上可以反向追溯數據經歷的路徑;同時,由于標簽含有來源信息,還可以確定數據的來源.
標簽處理包括3種原語:add_tag用于針對數據產生標簽;delte_tag用于在數據銷毀時刪除標簽;copy_tag用于傳遞標簽.這3種原語處理的數據對象形式是[start,end)的1組連續字節,最小粒度是1 B.
2) 標簽的維護及傳遞方法
標簽根據其對應的數據形式的不同,分為3種情況:內存標簽、文件標簽和網絡標簽.其中,內存標簽和文件標簽都在標簽緩存中以KeyValue的形式進行維護,與標記的數據相對應;網絡標簽則直接嵌入在網絡數據包中.
內存標簽:內存標簽對應內存中的數據,Key由進程ID、數據的起始地址(虛擬內存地址)以及數據長度3部分構成,Value就是標簽值,用于識別數據身份.
文件標簽:文件標簽對應文件中的數據,Key由文件路徑、數據在文件中的偏移地址以及數據長度3部分構成,Value就是唯一標簽值,用于識別數據身份.
3) 標簽的創建和銷毀
云平臺通常包含一個入口網關,如果不存在網關或者網關邏輯不可修改則可以增加一個透明網關.透明網關不影響云平臺的原有網絡拓撲和業務邏輯,其主要的功能就是根據來自用戶的輸入數據創建標簽.
產生標簽可以單獨依據用戶ID、用戶IP、終端ID這幾種信息產生,也可以依據它們的聯合產生,具體實現由策略決定.透明網關是云平臺的入口,也是追溯過程在云平臺內到達的終點,通過檢查標簽與上述信息的對應關系可以識別出攻擊或異常的源頭.
云平臺中銷毀標簽只有一種情況,就是標簽對應的數據時被釋放.銷毀標簽在云平臺的任何位置、任何階段都可能發生.
4) 標簽在云平臺的傳遞和檢查
云平臺中的各種業務大多依托于虛擬機運行,這些虛擬化設施處于業務應用和客戶操作系統的底層,可以監視或截獲標簽,為數據跟蹤的實現提供了便利性.這包括進程內部數據跟蹤、同虛擬機進程間的數據傳遞跟蹤、同宿主機跨虛擬機間的數據傳遞跟蹤、跨宿主機間的數據傳遞跟蹤.
以下分別說明MC-Track原型針對這些情況的實現方式.
1) 進程內的數據跟蹤
進程執行的指令大致包括2類:計算類和轉移類.轉移類指令可能會對標簽關聯的數據執行相關處理操作,因此MC-Track原型需要截獲此類指令,同步處理數據對應的標簽,以保證標簽跟隨對應數據.
由于云平臺中應用基本上都運行在虛擬機中,對于虛擬機中的進程,其執行的所有指令必然經過虛擬機監控器(VMM),因此MC-Track的處理機制是:首先,在虛擬機監控器中嵌入模塊截獲二進制指令流并反匯編;然后,檢查涉及數據是否擁有標簽,無標簽時不用處理,直接放行;最后,根據指令對數據的操作,調用copy_tag或delete_tag原語同步標簽.
進程對數據的處理可能包含以下幾種情況,因此對于標簽也需要執行相應的處理.①數據拷貝,直接調用copy_tag原語,拷貝1份標簽關聯到副本數據上.②數據轉移,與拷貝類似,區別是隨后應當刪除原始數據對應的標簽.③數據抽取,即原始數據僅有一部分被抽取出來,則修改標簽對應的數據長度.④數據合并,即發現數據與相鄰位置的數據擁有相同的標簽,則修改標簽對應的起始地址和總長度,以對應合并后的數據.
對于云平臺中不依賴于虛擬機運行的進程,可以借助運行時解釋器來執行,例如Intel的PIN工具.由于PIN一類的運行時解釋器其本質就是一個微型的用戶級虛擬機監視器,因而上面討論的方法同樣適用.
如圖2所示,在進程內標簽會隨著數據同步轉移,這包括內存到內存的傳遞、內存與文件間的傳遞,因此跟蹤標簽即可實現對進程內數據的跟蹤.

圖2 進程內數據標簽轉移
2) 進程間通信的數據跟蹤
進程間通信的幾種主要方式為共享內存、管道、信號等機制都是基于內核來實現數據在進程間的交換,基本過程為進程A用戶空間的內存數據,轉移到內核空間的內存,再轉移到進程B用戶空間內存.
對于進程間通信數據的跟蹤,MC-Track原型采取與進程內跟蹤類似的方法,截獲指令流處理轉移類指令和中斷指令,但是處理數據的范圍要涵蓋內核的內存.具體方法為:發現數據在用戶內存與內核內存之間轉移時,對相應標簽作同步轉移處理.內核內存在進程間的數據傳遞過程中可視為傳輸的通道.
與上述討論相同,對于虛擬機中的進程間通信,可以在虛擬機監控器中處理標簽;對于不依賴于虛擬機運行的進程借助運行時解釋器來執行.
圖3展示了進程間通信的標簽同步轉移過程:

圖3 進程間數據標簽轉移
3) 基于Socket通信的數據跟蹤
在虛擬化平臺中,虛擬機的虛擬網卡可以獲得完整的數據協議棧,虛擬機監控器具備對網絡數據流干預處理的能力,因而MC-Track可以在虛擬機監控器中擴展模塊實現基于標簽的數據跟蹤功能.根據進程間相互部署關系,可分為兩大類情況:同宿主機通信和跨宿主機通信.
同宿主機通信又包括2種情況:虛擬機內部通信,虛擬機間通信.對于這2種情況,由于沒有超出同一宿主機的范圍,因而MC-Track原型在虛擬機監控器中實現標簽的同步處理,不需要通過實際的網絡同步標簽.
跨宿主機通信則需要增加標簽在網絡上同步的步驟:源端的虛擬機監控器模塊負責把標簽嵌入到業務流TCPIP數據包的空閑位置,目的端的虛擬機監控器模塊負責還原標簽.
對于云平臺中個別不基于虛擬機應用,則需要在網絡驅動層截獲數據包,執行上述操作.
4) 基于文件的數據跟蹤
除了內存,文件是數據在流動過程中經常經過的環節,是數據在系統中駐留的一種重要形式.無論是進程內數據的存取還是進程間數據的傳遞,都可能涉及文件這一數據存儲形式.MC-Track模型可以支持包括文件在內的完整數據路徑跟蹤,確保數據流的跟蹤在文件這一環節上是連續的.文件數據對應文件標簽.標簽內容保持了對應數據的來源信息.
針對虛擬機情況,MC-Track在虛擬機監控器擴展模塊,截獲虛擬機內客戶操作系統的系統調用,如果發現進程執行write,writev以及pwrite等系統調用,則使用copy_tag原語,把源數據對應的內存標簽同步到該文件標簽中;類似地,如果發現進程執行read,readv,pread等系統調用,則使用copy_tag原語,把文件標簽同步到目標內存數據對應的標簽上.
對于不依賴于虛擬機運行的進程,借助運行時解釋器來截獲系統調用,執行上述邏輯.
圖2和圖3都展示了文件在數據轉移過程中的位置以及文件標簽的跟蹤作用.
2.3 云環境下跟蹤信息采集技術
核心追溯過程依靠統一的接口從信息跟蹤庫中提取支持信息,但是信息跟蹤庫中這些信息的采集涉及的情況相對復雜,與云平臺基礎設施的相應機制有關.圖4展示了云環境下采集跟蹤信息所要處理的3類主要情況:
1) 基于虛擬機的應用:云計算的一個主要特點是大量使用了虛擬化技術,尤其是虛擬機技術.構成云平臺的服務進程幾乎都是依托虛擬機環境運行,即業務的處理、數據的傳遞大都以虛擬機為中心來完成.MC-Track基于虛擬機監控器的擴展模塊不僅負責處理數據對應標簽,還負責向信息跟蹤庫匯總跟蹤信息.
2) 不基于虛擬機的應用:對于云平臺中個別不基于虛擬機技術的應用,例如網關等,采用在操作系統內核嵌入驅動的方法,截獲數據并進行標簽處理,然后用戶態的代理程序向信息跟蹤庫發送跟蹤報告.
3) 封閉的商用設備:云平臺中還可能包含一些獨立的設備以及商用的閉源軟件,對于這類對象,可以通過調用其開放的接口把它們的信息采集到信息跟蹤庫中,以形成更加全面的路徑過程視圖[5].

圖4 云平臺跟蹤信息采集
本文主要針對云平臺在問責與追溯所面臨的挑戰,提出一種通用的追溯技術原型MC-Track.該原型的基本原理是,為進入云平臺的數據創建對應標簽,標簽標記了數據來源信息;在云平臺中維持標簽與數據的同步,標記數據在云平臺內移動的路徑線索;各關鍵節點依據標簽向統一的審計數據中心報告數據流經的路徑;追溯過程觸發時,根據當時現場環境和審計數據中心的歷史記錄做關聯分析,產生追溯結果.
在標簽的檢查和傳遞方面,MC-Track原型實際上利用了一些VMI技術,即在虛擬機之外分析虛擬機內部的數據流動.如何提高這類分析的效率和準確性是下一步研究的重點內容.
[1]欒潤生. 面向云計算的計算機網絡犯罪偵查取證的思考[J]. 網絡安全技術與應用, 2011 (12): 68-70
[2]Boss G, Malladi P, Quan D, et al. Cloud computing. IBMWhitePaper[EB/OL]. [2010-12-10]. http://download.boulder.ibm com/
[3]夏榮. 云計算技術在電子數據取證領域的應用研究[J]. 信息網絡安全技術, 2011 (8): 51-53
[4]曹彬, 程久軍, 閏春鋼. 基于云計算Live Mesh的流媒體應用研究[J]. 計算機科學, 2010, 37(11): 92-95
[5]彭召意, 周玉, 文志強. 基于云計算的視頻取證監控系統[J]. 計算機應用研究, 2011, 28(8): 2975-2977

石 磊
碩士,主要研究方向方向為Linux內核、系統虛擬化和云計算安全技術.
shi_lei@massclouds.com

張 輝
碩士,主要研究方向研究為微內核架構、軟件構件化和軟件服務化.
zhang_hui@massclouds.com

劉毅楓
學士,主要研究方向為系統虛擬化、軟件服務化、軟件工程及工程管理.
liu_yfeng@massclouds.com
Cloud Platform Accountability and Retrospect Technology Based on Security Label
Shi Lei, Zhang Hui, and Liu Yifeng
(MasscloudsInformationTechnologiesCo.Ltd.,Jinan250101)
In oder to achieve the accountability system of cloud platform, retrospect is the primary technology method. Recalling the complete trajectory of the security event in this period,it can be controlled by the ability to trigger and record operations during this period. In order to tackle the challenges of business transparency in cloud system retrospect, the paper reviews the transparency, efficiency and cost of the enterprise. This paper states general retrospect technology based on security label, and establishes an accurate and efficient retrospect technology prototype.
cloud platform; cloud computing; security label; accountability; retrospect
2015-10-30
TP309