摘 要: 云存儲是近年來工業界和學術界研究的熱點,其中的安全問題受到了多方矚目。將云存儲相關的安全技術問題歸結為5類(用戶需求3類,服務商需求2類),并結合最新學術研究成果進行了逐一闡述。這些分析表明云存儲安全技術涉及面廣、風險高。相關技術發展到今天,產生了一些很好的成果,但也仍然有很多問題尚未解決,需要進一步深入研究。
關鍵詞: 云存儲;安全技術;數據完整性
云計算是近年來發展最迅速的互聯網服務模式之一。但是在一段時間里,云計算的概念界定不清,造成了工業界和學術界的概念混亂。為此,UC Berkeley的ARMBRUST M等就云計算的內涵和外延進行了較為深入的探討[1],隨后美國NIST給出了官方的云計算定義[2],即云計算是一種模式,使得普適、便捷、應需地針對可配置的計算資源池(包括網絡、服務器、存儲、應用及服務)的網絡訪問可以在最小的管理代價下迅速配給和釋放。其中云存儲在云計算中占據重要位置,近年來不但作為云計算的支撐技術迅速發展,單獨的云存儲服務也獲得了引入矚目的成功。
隨著云服務的推廣,很快業界就發現圍繞數據的安全問題是云服務推廣的最大障礙[3],用戶對于云服務提供商的安全保障能力心懷疑慮,從而阻礙了將更多的數據和業務轉移到云平臺上。
除了傳統的身份認證(如網絡釣魚、密碼泄漏等)、底層系統安全(安全傳輸、弱隨機數、側信道攻擊等)、物理安全等安全需求外,云存儲用戶面臨的特殊安全需求主要集中在如下3個問題,這些形成了數據外包(Data Outsourcing)的主要安全需求[3]。
(1)數據完整性與機密性,即云存儲服務商是否能夠向用戶確保其數據和操作不被惡意或非惡意的丟失、破壞、泄漏或非法利用。
(2)數據可用性與遠程驗證,在發生意外(如硬盤損壞、IDC失火、網絡故障等)的時候,用戶的數據能夠在何種程度上可用;同時用戶如何通過技術手段驗證,而不只是靠云服務方的商業信用保證。
(3)訪問隱私性,用戶在訪問某些敏感數據的時候,能否防止潛在敵手通過用戶的訪問模式(非直接數據泄漏)而推測出用戶的行為。
云存儲服務商面臨的安全問題主要有:
(1)服務是否被濫用,攻擊者是否可以通過濫用云服務從而獲得超出合約的額外資源或者破壞合法用戶的利益;
(2)服務效能,如何在保障用戶安全屬性的條件下,提升自身資源的利用效能。
近年來,這些問題成為學術界操作系統和信息安全領域的研究熱點,在頂級會議OSDI、SOSP、CRYPTO、CCS、NDSS、STOC、ICDCS和其他眾多知名會議上出現了大量相關論文。本文后續章節將圍繞這5個問題展開,闡述近年來云存儲安全技術的最新發展。
1 數據完整性和機密性
數據完整性和機密性,即云存儲服務商是否能夠向用戶確保其數據和操作不被惡意或非惡意地丟失、破壞、泄漏或非法利用。由于用戶并不能信任云存儲的運營者,而云存儲服務商也基本不可能消除潛在的內部攻擊(Insider Threat),從而用戶將敏感數據直接存放在云存儲上是非常危險的,類似的攻擊甚至在云存儲之前就屢次發生。簡單的加密則面臨著密鑰管理的難題,以及無法支持查詢、并行修改、細粒度授權等復雜需求。這個領域也是近年來學術研究的熱點之一。
1.1 可靠存儲協議
非可信存儲最普通的非正常行為就是丟棄某次用戶對數據的更新,而這種行為單靠簡單的數據加密是無法發現的。同時一個好的存儲協議還需要支持多用戶并發修改。2010年,MAHAJAN P等人提出了Depot/Teapot[4],能夠在非可信云存儲環境下(如Amazon S3)保證分支匯聚因果一致性(Fork-Join-Causal-Consistency,能夠推出最終一致性Eventual Consistency),能夠有效抵抗丟棄、篡改等攻擊,并支持在其上實現其他的安全保護。同年,FELDMAN A等提出了SPORC[4],可以借助非可信云環境實現多用戶間安全可靠的實時交互和協作,非可信的云服務器只能看見加密的數據流。但一般而言,這些可靠存儲協議支持的操作類型是受限的,大部分計算都只能發生在客戶端。
1.2 同態加密
同態加密是一種特殊的加密體系,由RIVEST R等在1978年提出[5],使得對密文進行代數運算得到的結果,與對明文進行等價的運算再將結果加密一樣,而且整個過程中無需對數據進行解密。該技術如果實現,將很好地解決把數據及其操作委托給云服務時的數據機密性問題。
2009年GENTRY C首次提出了“全同態加密”方法[6],即可以在不解密的條件下對加密數據進行任何可以在明文上進行的運算,使這項技術取得了重大突破。然而,該加密體系涉及非常復雜的計算,使得計算和存儲的代價都非常高,從而還無法實用。研究者們還在進一步研究力圖發現更加實用的全同態算法。
1.3 加密檢索與加密數據庫
由于全同態算法的效率低下,研究人員轉而降低目標,研究受限的同態算法在云環境下的應用。一個基本的操作是加密狀態下的檢索,KAMARA S等提出了相關的高層概念;WANG C等則提出了在加密云端存儲上支持排名的搜索機制[8];而KARAME G O等則指出,在這種場景下不合適的加密算法可能會導致信息泄漏[9]。另外一個更通用的研究是針對關系型數據庫的同態算法。POPA R等人在2011年提出了CryptDB[10],可以在非可信的云端部署關系型數據庫及應用服務器,而且所有SQL運算都直接作用于加密數據,以MySQL為基準額外性能開銷低于30%,因此可以有效保護數據的機密性不會因為云端的潛在威脅而遭到破壞。
1.4 確認刪除
確認刪除,即用戶刪除后能確保存儲上不能恢復該數據[11]。該問題在云存儲環境中尤其嚴重,因為云存儲一般將數據備份超過3份以上,不少服務商甚至進行7份復制。因此要將備份一一刪除并清洗以確保不可恢復對于用戶來說是一件難以確認的事情。TANG Y等人介紹的FADE系統[12],在EPHEMERIZER[11]等技術的基礎上,將存儲到云上的數據先行加密,并采用支持策略組合的密碼機制對密鑰加密并獨立存儲。這樣,用戶在刪除云上的數據時,只需簡單地撤銷對某個指定策略的授權即可。
2 數據可用性與遠程驗證
數據可用性,指云端在發生意外時(如硬盤損壞、IDC失火、網絡故障等),用戶的數據能夠在何種程度上可用;遠程驗證則指用戶如何通過技術手段驗證,而不只是靠云服務方的商業信用保證。
2.1 硬盤存儲可靠性
硬盤是目前絕大多數云存儲的介質,其可靠性構成了云存儲可靠性的基礎。Google公司的PINHEIRO E等人在大量實際數據的統計基礎上,對硬盤發生錯誤的趨勢進行了研究[13],發現硬盤的錯誤和溫度及使用頻度的關聯并不大,但有很強的聚集特性,現有的SMART機制并不能很好地對硬盤錯誤進行預測。日立公司的TSAI T等在大量使用統計的基礎上對硬盤的軟錯誤(Soft Error)進行了分析,同樣指出軟錯誤并不能很好地對硬錯誤(Hard Error)做出預測,只有約1/3的硬錯誤在軟錯誤之后發生;但對于成功預測的場合,該技術則一般提供了若干小時的響應時間[14]。
2.2 完整性遠程驗證
2009年,BOWERS K D等提出了支持可提取證據POR(Proofs of Retrievability)的理論框架[15],提出通過將糾錯碼和采樣檢查(Spot-checking)結合起來的方法,以提供一種可靠的遠程驗證目標數據是否被正確存儲的方法。BOWERS K D在POR的基礎上提出了HAIL系統[16],可以利用POR機制檢查一份數據在多個云存儲環境上的存儲情況,并實現相互間的冗余備份,同時提供了可用性和完整性的保護。而SCHIFFMAN J等人則提出了基于TPM的遠程驗證[17],利用TPM的遠程驗證機制來進行云范圍的數據完整性驗證工作。
2.3 位置確認
云存儲服務往往向用戶提供透明的存儲服務,在降低了服務復雜度的同時,也降低了用戶對存儲的控制能力。而不同備份的存儲位置對于容災等任務而言異常重要。為此,BENSON K等提出了針對地理位置證據(Proofs of Geographic Replication)的研究[18],并成功地對Amazon云服務上數據進行了定位。
3 訪問隱私性
通過加密等手段,可以防止攻擊者直接知道在云端存儲的數據。但攻擊者仍然可以通過側信道(Side Channel),比如讀寫模式和后繼行為來推測使用者的秘密信息,這將嚴重地破壞用戶的隱私[19]。為此,研究者們把注意力轉移到ORAM(Oblivious RAM)上。ORAM通過訪問多份數據,從而隱藏真實的訪問目標。該技術在1979年被提出,后來用于軟件保護,現在發現是保護云存儲訪問隱私性的最有潛力的方法。但ORAM有著嚴重的額外性能開銷,目前最好的結果是STEFANOV E等在NDSS′12上提出的ORAM算法[20],耗時是直接訪問的20~35倍,但已經比之前最好的算法要快63倍以上。可以預見,這個安全隱患在實際環境中仍然將長時間存在,這個領域的研究還將繼續。
4 服務濫用與服務效能
服務濫用是指攻擊者通過濫用云服務從而獲得超出合約的額外資源或者破壞合法用戶的利益。目前研究者已經發現多種通過濫用云存儲服務的攻擊方法。
4.1 數據去重攻擊
數據去重(Deduplication)是目前云存儲系統普遍采取的技術手段[21],通過將不同用戶的相同文件只保存一份副本,從而大大降低實際的存儲空間的需求。在2011年,MULAZZANI M等與HALEVI S等人分別獨立發現用戶只需要知道文件的hash值[22],就可以通過Dropbox數據去重技術中的漏洞宣稱擁有該文件,從而可以無限擴張自己在云端的存儲空間,破壞與服務商的協約,該方法也造成敏感信息的泄漏。為此,研究者提出了擁有者證據(Proofs of Ownership)等方法對客戶端進行驗證,以避免這種類型的攻擊。
4.2 欺詐資源消費攻擊
欺詐資源消費攻擊(Fraudulent Resource Consumption)是一種利用云服務收費模式的攻擊方法[23]。由于云服務的客戶需要對云服務的資源耗費進行付費,因此攻擊者可以通過加大特定目標的資源耗費來使得該客戶產生大量額外的費用。面向公眾的網絡服務特別容易遭受這種類型的攻擊。這種攻擊與DDoS等網絡攻擊相比非常隱蔽,但同樣給合法客戶造成了大量損失。IDZIOREK J等人提出了該問題,并對其檢測和識別方法進行了研究。
4.3 服務效能
云計算和云存儲一般都是能耗和資源密集型的服務,降低能耗和資源需求則能為運營商顯著降低成本,同時降低對環境溫度的要求,提升存儲安全性。LEVERICH J等指出MapReduce等常用的云計算模式在能耗上是低效率的[24],通過調整存儲策略,降低活躍節點規模,hadoop能耗會降低9%~50%。HAMILTON J等提出了資源消耗整形技術(Resource Consumption Shaping)[25],指出通過合理的安排和調整應用,能夠顯著地降低資源消耗從而降低成本。AMUR H等提出了Rabbit存儲系統[26],能夠實現能耗等比例特性,即所消耗的能源與完成的工作量成正比。然而Rabbit系統通過關閉節點來節能會導致靈活性和通用性的嚴重降低,為此AMUR H又提出了一個基于硬件的方案[27],即如果硬件能支持io-server的特殊低功耗模式,則不必采用特殊定制的分布式文件系統來實現能耗等比例特性。
云存儲是近年來工業界和學術界研究的熱點,其中的安全問題受到了多方矚目。本文將云存儲相關的安全技術問題歸結為5類(用戶需求3類,服務商需求2類),并結合最新學術研究成果進行了逐一闡述。這些分析也表明云存儲安全技術涉及面廣,風險高。相關技術發展到今天,產生了一些很好的成果,但也仍然有很多問題尚未解決,需要進一步深入研究。
參考文獻
[1] ARMBRUST M, STOICA I, ZAHARIA M, et al. A view of cloud computing[C]. Communications of the ACM, 2010,53(4):50.
[2] MELL P, GRANCE T. NIST Special Publication 800-145: The NIST Definition of Cloud Computing[J]. National Institute of Standards and Technology, 2011.
[3] SION R. TUTORIAL: Secure Data Outsourcing[J]. The 13th International Conference on Management of Data (COMAD 2006), 2006.
[4] FELDMAN A J, ZELLER W P, FREEDMAN M J, et al.SPORC: Group collaboration using untrusted cloud resources[C]. Proceedings of the 9th Symposium on Operating Systems Design and Implementation (OSDI′10), 2010.
[5] RIVEST R L, ADLEMAN L, DERTOUZOS M L. On data banks and privacy homomorphisms[J]. Foundations of Secure Computation, 1978:169-180.
[6] GENTRY C. Fully homomorphic encryption using ideal lattices[J]. Proceedings of the 41st annual ACM symposium on Symposium on theory of computing - STOC′09, 2009:169.
[7] KAMARA S, LAUTER K. Cryptographic Cloud Storage[C].Financial cryptography and data security,2010.
[8] WANG C, CAO N, LI J, et al. Secure Ranked Keyword Search over Encrypted Cloud Data[J]. IEEE 30th International Conference on Distributed Computing Systems(ICDCS′10), 2010: 253-262.
[9] KARAME G O, CAPKUN S, MAURER U. Privacy-preserving outsourcing of brute-force key searches[J].
Proceedings of the 3rd ACM workshop on Cloud computing security workshop (CCSW′11), 2011:101.
[10] POPA R A, REDFIELD C M S, ZELDOVICH N, et al. CryptDB: protecting confidentiality with encrypted query processing[J]. Proceedings of the Twenty-Third ACM
Symposium on Operating Systems Principles-SOSP′11, 2011:85.
[11] PERLMAN R. File System Design with Assured Delete[J].Network and Distributed System Security Symposium Proceedings (NDSS′07), 2007.
[12] TANG Y, LEE P P C, LUI J C S, et al. FADE: Secure Overlay Cloud Storage with File Assured Deletion[J].
SECURITY AND PRIVACY IN COMMUNICATION NETWORKS (SecureComm′10), 2010.
[13] PINHEIRO E, WEBER W D, BARROSO L A. Failure Trends in a Large Disk Drive Population[J]. Proceedings of the 5th USENIX Conference on File and Storage Technologies (FAST′07), 2007.
[14] TSAI T, THEERA-AMPORNPUNT N, BAGCHI S. A study of soft error consequences in hard disk drives[J].IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2012), 2012:1-8.
[15] BOWERS K D, JUELS A, OPREA A. Proofs of retrievability: theory and implementation[J]. Proceedings of the 2009 ACM workshop on Cloud computing security (CCSW′09), 2009:43.
[16] BOWERS K D, JUELS A, OPREA A. HAIL: A High-Availability and Integrity Layer for Cloud Storage[J].
Proceedings of the 16th ACM conference on Computer and communications security-CCS′09, 2009:187.
[17] SCHIFFMAN J, MOYER T, VIJAYAKUMAR H, et al.Seeding clouds with trust anchors[J]. Proceedings of the
2010 ACM workshop on Cloud computing security workshop (CCSW′10), 2010:43.
[18] BENSON K, DOWSLEY R, SHACHAM H. Do you know where your cloud[J]. Proceedings of the 3rd ACM workshop on Cloud computing security workshop (CCSW′11), 2011:73.
[19] PINKAS B, REINMAN T. Oblivious Ram Revisited[D].CRYPTO 2010, 2010.
[20] STEFANOV E, SHI E, SONG D. Towards Practical Oblivious RAM[J]. Network and Distributed System Security
Symposium (NDSS′12), 2012.
[21] MULAZZANI M, SCHRITTWIESER S, LEITHNER M, et al. Dark Clouds on the Horizon: Using Cloud Storage as Attack Vector and Online Slack Space[J]. 20th USENIX
Security Symposium, 2011.
[22] HALEVI S, HARNIK D, PINKAS B, et al. Proofs of ownership in remote storage systems[J]. Proceedings of the 18th ACM conference on Computer and communications security (CCS′11), 2011: 491.
[23] IDZIOREK J, TANNIAN M, JACOBSON D. Attribution of Fraudulent Resource Consumption in the Cloud[J]. 2012
IEEE Fifth International Conference on Cloud Computing, 2012:99-106.
[24] LEVERICH J, KOZYRAKIS C. On the energy (in)efficiency of Hadoop clusters[J]. ACM SIGOPS Operating
Systems Review, 2010,44(1):61.
[25] HAMILTON J, TREADWELL D. Resource Consumption Shaping[C]. 2008.
[26] AMUR H, CIPAR J, GUPTA V, et al. Robust and flexible power-proportional storage[J]. Proceedings of the 1st ACM symposium on Cloud computing - SoCC′10, 2010:217.
[27] AMUR H, SCHWAN K. Achieving Power-Efficiency in Clusters without Distributed File System Complexity[J].
Workshop on Energy-Efficient Design (WEED′10), 2010.