陳昊宇 涂山山 趙春曄 黃永峰



摘 要:云計算和分布式系統發展迅猛,云端的數據安全變得日趨重要。文中針對現有云安全框架進行了分析,并通過對底層云數據隱私安全的相關技術進行了比較,在Cloud Accountability Life Cycle模型的基礎上提出了可信任云框架;同時面對云端數據可能產生泄露的潛在威脅,指出在保證云安全的前提下,對云端可追溯數據進行審計是一種非常有效的方法,并提出對系統內核日志的采集與分析,是確保可追溯的一種可信且穩定的云安全審計模式。最后通過對比不同基于檢測控制的數據安全審計機制,分析各自的優勢與存在的問題,并針對其中的不足進行了有效改進,對實現基于日志分析的云安全審計模式提供了可行性認證。
關鍵詞:云安全審計;可追溯數據;可信任云框架;日志分析
中圖分類號:TP309.2 文獻標識碼:A 文章編號:2095-1302(2016)06-0-05
0 引 言
云計算是當今最熱門的應用和研究領域,其特性要求公司和個人用戶將自己私有資源的一部分甚至全部控制權移交給云服務提供商,這勢必引起用戶對數據安全的擔憂。向用戶完整可信地提供其私有數據的被操作狀態,可以有效解決雙方的信任問題。
針對以上潛在威脅,預防控制(Preventive Controls)被廣泛應用(例如加密技術和基于ID分析的訪問控制)。這些方案有效提高了云環境中數據的安全性,但依然無法直觀地為用戶提供云服務信任證明,因此很有必要采取措施來提升云服務提供商的透明度、監管力度和可信度。歐洲網絡與信息安全委員會在云計算風險評估報告里指出,云計算中最具有風險的一種表現是“監管缺失”[1]。因此提出了檢測控制(Detective Controls)方案, 而對云端數據進行審計是檢測控制的一個重要體現。
盡管很多云服務提供商如亞馬遜[2]等認識到了審計對提高用戶信任度的重要性,但依然沒有能力對發生在物理和虛擬服務器上的數據進行審計。云計算研究小組(現云安全聯盟)意識到了這個問題,并在《云計算面臨的最大威脅》中提出7大風險[3],指出對文件被使用情況進行追蹤,可有效降低云服務的信任風險,同時可自然運用于云安全審計的研究。
HP云安全實驗室在2010年提出“云計算的信任”這一概念,用以描述用戶對云環境的信任程度,并給出了影響云環境受信任度的因素。
(1)安全性[4,5]。使未授權用戶難以獲取越權信息的機制。
(2)隱私性[6,7]。防止個人信息泄露和丟失的保護措施。
(3)可信度[8,9]。勇于承擔達成共識及聲明的責任與義務。這一個因素也被很多組織所認同,例如OECD, APEC, PIPEDA等。
(4)審計性 [10]。系統或者環境的審計難易程度與相關的記錄保存和系統是否能提供高效的審計手段有很大關系,弱審計性可能沒有完整記錄保存或者無法提供有效審計,而高審計性則相反,能夠檢測出違反相關政策的行為。
預防控制能夠防止違法行為的持續發生,而檢測控制則能識別出違法行為的出現和相關安全風險。檢測控制很好地彌補了預防性控制的不足,本文將預防性控制和檢測控制有機結合,基于CALC(Cloud Accountability Life Cycle,CALC)模型[11]構建一個有效且可信任的云安全審計框架,并與現有的基于日志的云安全審計解決方案進行分析對比。
1 可信任云安全審計框架
R.K.L Ko等人在2010年提出了CALC模型,指出了“可信云”的概念,本節將在CALC的基礎上提出新的可信云框架,并詳細論述框架間的邏輯關系和框架的組成元素。
1.1 CALC模型
云計算的發展給相關審計帶來了較高的復雜性。因此一個包含所有關鍵階段的流程就顯得特別重要,它可以簡化很多復雜問題,讓云安全審計的研究者們一目了然,并且可以幫助他們專注于某一階段進行更深入的研究,CALC模型的目的正在于此。CALC理論模型如圖1所示。
1.1.1 政策制定
云服務提供商必須決定日志采集對象以及哪些事件需要被日志記錄,這里有四種比較重要的信息:
(1)事件數據:一系列活動和相關信息;
(2)操作人員:發起操作事件(例如人或者網絡爬蟲)的對象;
(3)時間戳:事件發生的時間和日期;
(4)事件發生的物理和虛擬地址。
1.1.2 識別和追蹤
識別和追蹤階段的目的是識別云端的全部操作。審計工具對非法操作的識別和追蹤需要從底層系統的讀寫操作追蹤到分布在物理服務器上的虛擬端的高層工作流,同時包括云內部網絡通信包 [12]。
1.1.3 記錄日志
以文件為中心的日志記錄需要在云端的虛擬和物理層進行,同時需要考慮日志在云內的有效時間、日志的存儲位置和其他相關因素。
1.1.4 日志的安全儲存
在日志采集結束后,我們需要保護日志的完整性,即防止未授權者非法獲取或篡改日志信息,并需要引入數據加密及合理的備份機制。
1.1.5 報告及重現
報告工具由以文件為中心的日志總結、審計線索的報告、文件的獲取記錄以及文件在云內的運行周期組成。所以報告可能包含多重因素,例如虛擬機和物理端的服務器歷史記錄,OS級別的文件讀寫等。
1.1.6 審計
審計員或者利益相關者對日志和報告進行審計,對可能的非法行為進行標注。如果可以實現自動化,審計的過程將具備“強制性”。自動且強制執行的審計對于大數據容量的云環境十分適用,也使檢測非法行為變得更為有效。
1.1.7 優化和修正
存在于云端的問題區域和安全漏洞在這一步被移除或者修正,相關控制和監管得到進一步提升。
1.2 可追溯云安全審計系統
針對整個云審計框架中的一個或幾個環節,也有很多研究者提出了不同的解決方案。本文提出“可追溯”的云安全審計概念,該可追溯系統可通過記錄系統中發生的行為(包括文件、網絡或程序內部),清楚地描述出云環境中的數據狀態。“可追溯信息”則被描述為與實現數據追溯相關的日志、參數、網絡包等信息。可追溯系統可根據面向的云環境不同來決定安全審計的數據內容,即通過獲取確定時間下的用戶、數據和行為等信息,并以此作為該云安全審計系統的數據源。在本文中,定義可追溯信息為在數據的整個操作序列中能夠描述數據被操作的情況和來源信息。
1.3 可信任云構架
CALC描述了一個完整的日志審計過程并且描述了每個階段,但CALC更多的關注于模型的理論完整性。而可實現的云數據安全審計系統需要基于CALC模型進行細粒度構建,使其具備可擴展性以及可操作性。正是基于此目的,本方案根據Ryan K L Ko等人提出的信任云框架[13],提出了基于可追溯信息的云數據隱私安全審計框架,如圖2所示。
這個框架主要有內外兩個主體共五部分。外部由法律條款和策略兩部分組成;內部由系統數據挖掘層、數據儲存保護層、分析應用層三部分組成。
1.3.1 法律政策
由于電子商務和云計算的發展,私人敏感數據的保護受到越來越多的重視,各國相關部門也意識到完善相關法律法規的必要性。相關法律涉及到數據的采集、處理、儲存和轉移等各種操作。毫無疑問,這些法規對日志數據同樣適用,日志信息的敏感性也應受到保護。
相關法律規定了數據采集的內容、目的、時間、手段、授權和行為界面等關鍵性問題。而任何組織和個人都必須在這些規定之下制定數據采集分析的策略。
1.3.2 云安全審計策略
為了實現基于日志采集的云安全審計,完整的實施策略是必要的。在框架的第一部分提到,法律法規約束了數據采集分析的行為,任何組織和個人在制定策略時都要充分考慮這些法律的約束。而這些約束通過策略又滲透進日志審計系統的三個層面。每個組織和個人都可以在法律的約束下選擇自己需要的策略,比如采集哪些能采集的數據,在安全的前提下儲存數據的方法等。
1.3.3 系統數據挖掘層
可追溯系統框架最底的抽象層是系統數據挖掘層,在這一層我們需要知道在哪里能采集到有用的系統內部數據,以幫助下一步的分析和審計,采集主要發生在以文件為中心的系統和云端內部網絡中。
(1)文件系統
云計算技術讓人們不再把所有的注意力都放在公司內的物理服務器上,而是將更多的注意力放在以文件為中心的系統上。日志數據的采集主要發生于此,在這里將記錄下任何人對文件的關鍵操作,例如打開、修改、關閉等。同時,可以從這些系統信息中獲取文件的虛擬和物理儲存地址、操作的人員以及時間等核心數據。
(2)云端內部網絡
云數據系統的特性使得整個數據系統內包含大量的網絡主機和主機間的網絡通信。這些網絡信息同樣包含了數據或文件的存儲、調用信息。因此采集和管理云環境內的網絡信息也是十分必要的。
1.3.4 數據儲存和保護層
這一層將實現通過采集日志器采集底層數據,即文件系統和云端內部網絡的數據,并保證它們被安全地儲存和備份,本方案將重點討論并設計日志采集器的兩種重要屬性,即可追溯性和一致性:
(1)可追溯性要求
對于歷史記錄的追蹤可以使用戶掌握其擁有數據真實的操作情況。可追溯信息被認為是任何隱私和信任模型的基礎,所以提高云計算的可信度也依靠可追溯的信息。它可以幫助人們區別合法操作和非法操作。
(2)一致性要求
現在的云服務提供商幾乎很難保證數據一致性,對云計算服務來說能夠迅速響應、恢復原始狀態、恢復數據和有效備份都是很重要的。保證數據的一致性則能幫助云服務提供商實現這些功能。
1.3.5 分析應用層
收集數據和儲存完成之后,在分析應用層需要對其進行分析以得到有效的數據。分析應用層主要著眼于自動審計、云端碎片審計和服務審計3個方面。
(1)自動審計
基于云計算優秀的計算能力,結合可信任云框架提供的對數據可靠性的保證,使自動審計有較高的可行性,這對云計算應用于金融和商業領域是先決條件。但是在高度虛擬化的環境下持續實現審計功能是一項很復雜的工程,不僅要審計商業金融的邏輯還要審計應用軟件。
(2)云端碎片審計
云端內部會有很多像碎片一樣的文件,這些文件的修復和更新都需要被審計,尤其是互相關聯的文件需要更嚴格的審計以確保數據的有效性。
(3)服務審計
云計算服務是一個以服務為導向的層級結構,而且每個服務都很容易得到復制,于是多個服務的組合也有較高的可行性。當每層的服務之間發生整合時,可信度就會變成一個未知數,所以對服務整合的審計也是必要的。
2 可追溯信息獲取與安全
對已有的研究成果進行分析,可以發現基于可追溯信息的數據安全解決方案有良好的可行性。針對文件系統不同層面的可追溯信息分析方案,體現出了不同的特性。通過分析已有的方案和工具,可以有效地實現云數據的“可追溯性”。
2.1 可追溯信息獲取
本節討論可追溯信息聚焦于以文件為對象的系統操作、云內部的網絡通信以及應用層的程序執行信息。
2.1.1 文件系統
Muniswamy-Reddy等人提出了PASS以及基于其的改進方案PASSv2[14,15]。在PASS方案中,單一主機內的可追溯信息通過攔截內核級的系統命令獲取。在PASSv2中,可追溯信息的獲取被擴展到系統層、應用層、中間件層等其它層。PASS對系統內核的依賴性強,需要緊密集成到底層系統的內核。而在網絡層,PASS則沒有提供相應的功能。
認識到PASS方案對主機內核的依賴,Macko等人采取不同的辦法[16]。他們通過修改Xen系統管理程序,收集來自客戶機的內核級可追溯信息(例如在管理程序上運行的虛擬機)。可追溯信息的收集是通過放在DomU上的一個攔截器從Xen的syscall_enter_mechanism系統調用指令攔截而實現的。但這種解決方案依然是面向獨立主機的,無法獲取云中主機間發生的通信行為。Zhang等人在理論層面討論了保證可追溯信息完整性和機密性對于整個審計方案的重要性[17]。
和以上幾種方式不同,Ryan K L Ko等人根據以數據為中心的思想,提出了S2Logger[18]和 Flogger[19]。對于Flogger來說,是記錄虛擬機和物理主機兩層的文件操作。因此,物理機與其各個虛擬機的文件操作都是相關聯的。S2Logger建立在Flogger的基礎之上,Flogger只能獲取文件級的事件,S2Logger則可以對文件級和塊級進行捕獲。S2Logger通過關聯不同主機在發送和接收文件時讀取和寫入事件,能夠跟蹤數據在云數據中心中不同主機間的傳輸。
2.1.2 云內部網絡通信
在這一層,可追溯信息獲取工具主要記錄網絡事件和網絡節點間的信息。
BackTracker[20]是一種監測網路協議層入侵的工具,并能夠追蹤網絡中入侵行為的源頭主機。雙向分布式BackTracker(BDB)通過建立因果圖,分析獨立主機的事件追蹤入侵。這種因果圖被加工成一個來源圖向分析者提供一個事件序列以描述入侵的路徑。BDB需要網絡內每臺主機都支持BDB工具。無監視的主機則不能被追蹤。同時,BDB也不能防止對可追溯記錄的篡改。
2.1.3 應用層
Singh等人提出一個讓追蹤程序檢查、記錄和分析的平臺[21]。這種平臺建立在P2[22]——分布式的算法發展系統上。這種方案通過一個運行在P2系統緩存上的追蹤器檢測和記錄。獲取的可追溯信息可以被一種查詢語言——OverLog查詢。這個平臺使程序員可以檢查和分析算法執行錯誤、安全漏洞和識別錯誤。
Pip[23]提供給開發者一個注釋庫使得程序可以生成事件和定義資源。通過一種說明性的語言,開發者可以描述他們應用的期望。通過期望和程序執行追蹤記錄,Pip中間件檢查并報告異常行為。
E-notebook[24]被設計用來支持共享數據中的信任和責任。中間件直接連接與儀器匹配的工具軟件并報告未加工數據上下文的生成,也報告資料庫的變化。這些來源報告是模型化的有向無環圖,并且有用戶數字簽名,以證明數據的擁有者。通過使用一個基于規則的信任管理語言,可以設置一個信任模型,用戶可以基于自己的經驗推薦其他用戶的信任等級。方案對于在應用層檢查異常行為和追蹤、報告數據變化是有用的。但對于程序外部的行為則不能捕獲。所以,需要在多層進行信息采集使得對發生的事情分析更完整。
2.2 可追溯信息的可靠性
為解決可追溯信息安全問題,Zhou等人提出安全網絡來源(SNP)方案[25],使用認證器防止可追溯信息被篡改。通過一套涉及認證器使用的認證規則,在各自節點確認發送和接收事件。可追溯信息的一致性通過比較不同節點的信息完成。從性能角度來說,SNooPy只能鑒定出網絡中的錯誤節點。SNP技術的原型——SNooPy被多種程序實現。實驗表明因為認證器的接受、發送、驗證和標記,SNooPy產生大量的網絡通信和進程裝載。
Lyle等人[26]提出可以應用信任計算的技術來解決可追溯信息可靠性問題。利用信任平臺模塊(TPM)來提供日志采集的可靠環境。但是使用這種技術最明顯的缺點就是運行速度慢,因為它要不斷地計算哈希值和加密措施。
Rosenthal等人[27]提出應用“可追溯圖”來管理可追溯信息的方案,當圖中的任何節點遭到非法修改都需要迅速地將該點移出“可追溯圖”。
另外,Bonsai[28]也試圖利用電子簽名來更有效的實現可靠的可追溯信息儲存。
3 方案比較分析
3.1 可追溯信息獲取方案的對比
對以上各個層次的不同方案進行對比,本文認為從以下幾個方面評價可追溯信息獲取方案的優劣較為準確、全面。
(1)跨主機追蹤:在分布式系統里,獲取網絡內不同主機的可追溯信息,能夠準確描述系統中數據的狀態。
(2)低耦合性:可追溯信息獲取工具必須保證其在兩方面的通用性,一方面在不同應用程序里可以不需要做改變就直接運行,另一方面在不同的平臺上也能正常運作。
(3)多級性:工具可以跨越系統的多個層次進行信息獲取。確保通過分析可追溯信息即能得到數據在系統中的真實狀態。在分析數據安全威脅的手段和來源方面尤為重要。
(4)安全機制:工具該具有保護數據安全的相應機制。
(5)分析界面:工具應該具有友好的用戶界面用于展示相關的數據分析,或能夠向下提供良好的接口。
結合以上幾點,我們將現有的方案進行了對比,具體如表1所列。
3.2 可追溯信息的安全機制
對于可追溯信息的安全機制,本文給出以下四個標準:
(1)保密性:由于可追溯信息的敏感性,記錄的保密性就顯的更為重要。要求任何未授權的人都無法查看信息。
(2)防篡改性:防篡改性意味著數據必須保持原始的一致性,不能受到任何篡改。如果被修改,必須有明顯記錄。
(3)穩定性: 這一屬性要求保證管理者在任何時間段都能正確地獲得數據和分析。
(4)可靠性:這一屬性要求整個信息獲取過程是可信的。
結合以上幾點,我們將現有的方案進行了對比,具體如表2所列。
4 結 語
本文首先從宏觀上闡述了云安全體系的整個框架,分析了目前云安全存在的問題,并在CALC結構基礎上提出了基于日志挖掘審計的可信任云框架,從框架的外部法律政策到內部的數據采集、儲存以及分析3個層面逐一給出了抽象的概念和相應的研究重點。然后,本文從技術層面討論了實現內部的數據采集,儲存和采集模塊的相應方案,通過分析現有的數據采集來分析系統優缺點,提出可追溯云安全審計系統應采取基于系統日志的挖掘分析手段。最后針對云隱私數據審計的安全性,結合政策設置和技術實現本文提出的可信任的云安全審計系統準則,為接下來實現云數據安全審計的具體方案提供理論支持。
參考文獻
[1]林闖,蘇文博,孟坤,等.云計算安全:架構、機制與模型評價[J].計算機學報,2013,3(9):1765-1784.
[2] N Sinha,L Khreisat.Cloud computing security, data, and performance issues[C].Wireless & Optical Communication Conference, 2014.
[3] Cloud Security Alliance.Top Threats to Cloud Computing, 2015[EB/OL]. https://cloudsecurityalliance.org/topthreats.v.1.0.pdf
[4] J.Brodkin,Gartner:Seven cloud-computing security risks[Z]. Infoworld, 2008: 1-3.
[5] Shaozhang Niu,Shanshan Tu, Yongfeng Huang. An effective and secure access control system scheme in the cloud computing[J].Chinese Journal of Electronics, 2015,24(3): 524-528.
[6] S. Pearson.Taking account of privacy when designing cloud computing services[C]. Proc. 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing,IEEE Computer Society, 2009: 44-52.
[7]馮朝勝,秦志光,袁丁.云數據安全存儲技術[J].計算機學報, 2015,38(1):150-163.
[8] A. Haeberlen.A case for the accountable cloud[J].ACM SIGOPS Operating Systems Review,2010,44(2):52-57.
[9]馮登國,張敏,張妍,等.云計算安全研究[J].軟件學報, 2011,22 (1):71-83.
[10] Tuesheng Tan,Chao Wang.Trust Evaluation Based on User Behavior in Cloud Computing[J].Microelectronics and Computer, 2015,32(11):147-151.
[11] R.K.L. Ko, B.S. Lee,S. Pearson.Towards Achieving Accountability, Auditability and Trust in Cloud Computing[C]. Proc. International workshop on Cloud Computing: Architecture, Algorithms and Applications (CloudComp2011), Springer, 2011: 5.
[12] W. Zhou,M. Sherr,T. Tao,et al.Efficient querying and maintenance of network provenance at internet-scale[C].Proc. 2010 International Conference on Management of Data (SIGMOD 2010), ACM, 2010: 615-626.
[13] Ryan K L Ko, Peter Jagadpramana, Miranda Mowbray, et al. TrustCloud: A Framework for Accountability and Trust in Cloud Computing[C]. 2nd IEEE Cloud Forum for Practitioners (IEEE ICFP 2011), Washington DC, USA, July 7-8, 2011.
[14] M. N. Alpdemir,A. Mukherjee,N.W.Paton,et al.Contextualised Workflow Execution in my Grid[C].European Grid Conference Lecture Notes in Computer Science, 2005.
[15] K.-K.Muniswamy-Reddy,D.A.Holland,U.Braun,etal. Provenance-aware Storage Systems[C].Conference on USENIX06 Annual Tech-nical Conference (ATEC06), 2006.
[16] P.Macko,M. Chiarini,M.Seltzer.Collecting Provenance via the Xen Hypervisor[C].USENIX Workshop on Theory and Practice of Prove-nance (TaPP11), 2011.
[17] O. Q. Zhang,M. Kirchberg,R. K. L. Ko, et al. How to Track Your Data:The Case for Cloud Computing Provenance[C]. IEEE 3rd In-ternational Conference on Cloud Computing Technology and Science (CloudCom11), 2011.
[18] C. H. Suen,R. K. L. Ko,Y. S. Tan, et al.S2Logger: End-to-End Data Tracking Mechanism for Cloud Data Provenance[C].The 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications (Trust-Com13), 2013.
[19] R. K. L. Ko,P. Jagadpramana,B. S. Lee.Flogger:A File-centric Logger for Monitoring File Access and Transfers with Cloud Computing Environments[C].IEEE International Workshop on Security in e-Science and e-Research (ISSR11), in conjunction with IEEE TrustCom11, 2011.
[20] S. T. King,P. M. Chen.Backtracking Intrusions[C].The 19th ACM Symposium on Operating Systems Principles (SOSP03), 2003.
[21] A. Singh,P. Maniatis,T. Roscoe, et al.Using Queries for Distributed Monitoring and Forensics[C].The 1st ACM EuroSys European Conference on Computer Systems (SIGOPS06), 2006.
[22] B. T. Loo,T. Condie,J. M.Hellerstein,et al.Implementing declarative overlays[C].The 20th ACM Symposium on Operating Systems principles (SOSP05), 2005.
[23] P. Reynolds,C. Killian,J. L. Wiener,et al.Detecting the Unex-pected in Distributed Systems[C].The 3rd Symposium on Networked Systems Design and Implementation (NSDI06), 2006.
[24] P. Ruth,D. Xu,B. Bhargava,et al.E-notebook Middleware for Accountability and Reputation Based Trust in Distributed Data Sharing Communities[C].The 2nd Intenational Conference on Trust Management. iTrust 04, 2004.
[25] W. Zhou,Q. Fei,A. Narayan, et al.Secure Network Provenance[C].The 23rd ACM Symposium on Operating Systems Principles (SOSP11), 2011.
[26] J. Lyle,A. Martin.Trust Computing and Provenance: Better Together[C].The 2nd Conference on Theory and Practice of Provenance (TaPP10), 2010.
[27] A.Rosenthal,L. Seligman,A.Chapman,et al.Scalable Access Controls for Lineage[C].First Workshop on Theory and Practice of Provenance (TAPP09), 2009.
[28] A.Gehani and U.Lindqvist. Bonsai: Balanced Lineage Authentication[C].The 23rd Conference of Computer Security Applications (ACSAC07), 2009.