陳 軍,薄明霞,王渭清
(中國電信股份有限公司北京研究院 北京100035)
云計算服務模式的日漸清晰及云計算技術提供手段的日益成熟,正在打消人們對“云”概念及應用的顧慮,云計算的應用案例越來越多。
從使用云計算的客戶角度看,“云”提供商在“云”上能提供哪些業務以及這些業務是否能保證放在上面的信息的安全,是客戶選擇“云”最為看重的考量因素。也就是說,在使用云計算時,客戶除了關注云是否能提供所需的業務外,還會特別關注云計算提供商是否能保證客戶放在“云”上面的信息的安全可靠。
“客戶就是上帝”,這句話在“云”中同樣適用。對于云計算提供商來說,做出客戶真正需要的云業務、滿足客戶的實際需求是必要的,但同時,做好云安全的各項措施,保障客戶安心地去使用“云”及“云”上的各項業務也是必須的。為此,本文重點從客戶角度出發,對“云”自身應滿足的安全需求進行分析,對云安全應重點關注的方面進行探討;并依據需求分析結果,對云計算提供商應提供的解決方案進行初步探索。
從客戶的角度看,使用“云”的客戶對“云”自身的安全要求,其實與傳統網絡及系統是類似的。客戶最為看重的仍然是放在“云”上的基礎數據是否安全、可靠。只不過在云計算環境下,由于基礎設施特別是網絡層和系統層的抽象化,缺少可視化、集成多種熟悉的安全控制手段的能力[1],因此客戶在使用云計算提供商提供的云環境時,為保證數據的保密性、完整性、可用性、真實性、授權、認證和不可抵賴性[2,3],會在安全方面特別關注以下問題。
(1)數據的完整與機密
云計算提供商應能有效維護數據的完整性和機密性,周期檢測其運行狀況并提交報告給客戶。
在傳統網絡服務中,客戶數據基本上都是存儲在客戶自身私有設備上,他們通過租用網絡提供商的物理專線組成專網來傳輸、交換私有數據。客戶數據的完整性與機密性更多地掌控在客戶自己手里,他們通過限定訪問控制列表ACL、加密等技術手段保證數據的完整與機密。傳統網絡提供商的職責主要是保障客戶租用的電路可用率達標。然而,在云計算下,由于客戶端已演變成顯示終端,客戶的私有數據放在“云”上,存儲在“云”上,數據的傳輸、交換都發生在云計算提供商的“云”里。因此,如何保證放在“云”內但是卻屬于客戶的數據完整、機密就成為客戶最為關注的安全問題之一。
(2)數據的存放位置
必須保證所有的數據包括所有副本和備份存儲在合同、SLA中規定的地理位置。
相對固定的存放位置意味著隨時查看數據是否完整、可用、真實等是可行的,同時也意味著客戶私有數據是相對穩定的。
(3)數據刪除持久性
數據必須徹底有效地去除才能被視為銷毀。這意味著云計算的提供商必須能提供一種可用的技術,保證全面且有效地定位云計算數據、擦除/銷毀數據,并保證數據已被完全消除或其無法恢復。
云計算中,提供商為了保證資源的利用效率,一定會發生將眾多客戶的私有數據共存在同一物理存儲實體的情況。一旦一個客戶的部分或全部數據提出刪除需求,該數據占用的存儲空間就會被釋放并分配給其他客戶使用。這時,如果存在數據刪除不徹底、可被恢復的可能,就會造成客戶數據泄漏、引發系列嚴重問題的后果。這種事情一旦發生,客戶對云計算提供商的能力認識就會大打折扣。
(4)不同客戶數據混合狀態下如何保證數據間的有效隔離
數據尤其是保密/敏感數據不能在使用、存儲或傳輸過程中,在沒有任何補償控制的情況下與其他客戶的數據混合;“云”提供者應能根據服務和數據的類型而使用不同的隔離技術,來實現客戶間以及客戶不同類型數據間的彼此隔離。此外,“云”中存儲的機密數據必須通過訪問控制組合和加密措施等進行保護。
(5)數據備份和恢復重建
必須保證數據可用,云數據備份和云恢復計劃必須到位和有效,以防止數據丟失、意外的數據覆蓋和破壞;運營商應能演示并證明其云計算具有全面有效的風險管理流程。
(6)數據發現
由于法律持續關注電子證據發現,因此云計算提供商會被要求在有需求時能發現特定的數據并確保法律和監管當局要求的所有數據可被找回。
從客戶的角度,對“云”自身的安全需求進行了分析。對“云”提供商來說,這些安全需求必須滿足,并通過一系列解決措施一一映射到“云”中,這樣才能讓使用“云”的客戶既感覺方便,又用著安心,從而真正愿意使用“云”上的各項業務,保證云的健康穩定發展。
為此,提出如下云計算安全解決方案:云計算提供商應在“云”上同時做好傳統安全及由網絡、系統及應用虛擬化帶來的新增安全兩方面的工作。
所謂傳統安全,主要包括物理安全、環境安全、網絡安全、系統安全、應用安全和管理安全等。
物理、環境安全是指保護云計算平臺免遭地震、水災、火災等事故以及人為行為導致的破壞。主要措施包括物理位置的正確選擇、物理訪問控制(門禁、防尾隨等)、防盜竊、防雷、防火、防靜電、防塵、防電磁干擾等。
在網絡安全方面,主要是要做好如下幾方面的安全防護,包括網絡架構安全、網絡訪問控制、網絡安全審計、邊界完整性檢查、網絡入侵防范、惡意代碼防范、網絡設備防護等。可以采取的主要安全措施和技術包括防火墻、IPS/IDS、網絡安全審計系統、防病毒、防病毒網關、強身份認證等。
系統安全主要包括服務器、終端/工作站以及安全設備/系統在內的所有計算機設備上的操作系統和數據庫的安全。系統安全問題主要包括操作系統本身缺陷帶來的不安全因素(包括身份認證、訪問控制、系統漏洞等)、操作系統及數據庫的安全配置問題、病毒對操作系統及數據庫的威脅等。要保證系統安全,云計算提供商應該做好身份鑒別、訪問控制、安全審計、入侵防范、惡意代碼控制、資源控制等,主要采取的措施和技術手段包括身份認證、安全審計、入侵保護、防病毒系統等。
“云”中的應用安全主要是Web應用安全,它主要包括兩方面:一是Web應用漏洞,即Web應用層的各種漏洞,包括Web應用主流的安全漏洞、網頁掛馬、惡意代碼利用的漏洞等;二是Web代碼漏洞,即Web應用系統在開發階段遺留下來的代碼漏洞,包括SQL注入漏洞、跨站腳本漏洞、CGI漏洞和無效鏈接等。對于“云”中的Web應用而言,其防護主要包括應對網頁篡改、DDoS攻擊、導致系統可用性問題的其他類型黑客攻擊等各種措施。采取的措施和技術手段有訪問控制、配置加固、部署應用層防火墻等。
在管理方面,應該做好對“云”中安全信息和安全事件的集中管理,建立組織架構,建成專業隊伍,并制定系列安全防護制度、規定以及流程(如安全規劃與建設流程、安全設備運維流程、安全考核工作流程、安全事件處理流程等)。
對于由網絡、系統及應用虛擬化帶來的“云”新增安全,云計算提供商應采取的措施如下。
第一,應能在通過合同等方式保證無權訪問任何客戶數據作為基本原則的基礎上,進一步做到引導客戶決定誰應該獲得權限和特權訪問數據以及在何種條件下可以訪問數據,并建議客戶保持一個策略:默認狀態下,所有組織中的雇員和云計算提供商沒有任何訪問權限。
第二,在系統、數據、網絡、管理、部署和人員等方面全面部署隔離手段。如在系統、網絡層,給出整個IT架構和抽象層的信任邊界,確保給客戶提供云計算服務的云中各子系統只有在需要時才能跨越安全邊界,并配合適當的保障措施,以防止授權;加固虛擬操作系統,在虛擬機內部采用系列安全控制措施(如內置管理程序),在虛擬機外部部署安全控制手段 (如對開放給用戶的管理接口的保護控制);使用嵌入管理程序(API)的虛擬機定制安全機制對虛擬機背板上的流量進行細粒度的監測;根據使用類別、服務器、存儲等不同物理硬件上的數據敏感度生成不同的安全域;在隔離破壞時產生報警等。
第三,增強安全管理管理,特別是用戶、訪問認證、安全審計等方面的管理,實現強勁和良好維護的安全信息和事件管理流程。
這樣,當云計算提供商向客戶提供云環境時,才可以將客戶數據上“云”后面臨的安全挑戰降低,使客戶信任“云”,使用“云”。
隨著云計算部署和實施規模的日益擴大,對云安全解決方案進行深入研究,并建立完整的、行之有效的云安全防護體系是“云”發展的重要議題,這個議題的輸出成果將在最大程度上降低云計算系統的安全威脅,提高云服務的連續性,在保障云計算應用的健康、可持續發展方面發揮重要作用。
1 CSA.Security guidance for critical areas of focus in cloud computing v2.1.http://www.cloudsecurityalliance.org/csaguide.pdf
2 CSA.Top threats to cloud computing v1.0. http://www.cloudsecurityalliance.org/topthreats/csathreats.v1.0.pdf
3 Biggest cloud challenge:secuity.http://cloudsecurity.org/blog/2008/10/14/biggest-cloud-challenge-security.html