1)分布式文件和數(shù)據(jù)庫安全
基于云計算數(shù)據(jù)中心的分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)構建在大規(guī)模的廉價服務器集群上,從而面臨諸多挑戰(zhàn)。
。1)服務器的失效現(xiàn)象經(jīng)常出現(xiàn),需要解決系統(tǒng)的容錯問題。
。2)服務器增減頻繁,需要解決動態(tài)擴展問題。
。3)需要提供海量數(shù)據(jù)的存儲和快速檢索、讀取能力。
。4)多用戶同時訪問,需要解決并發(fā)控制和存取效率等問題。
為了提升分布式文件系統(tǒng)的可靠性,目前的基本做法是采取冗余存儲的方式來解決,每份文件或數(shù)據(jù)在系統(tǒng)中保存多個備份。冗余存儲解決了數(shù)據(jù)的可靠性問題,但也帶來了一致性問題,因為文件或數(shù)據(jù)存儲在多個不同的節(jié)點中,對文件或數(shù)據(jù)進行修改時必須確保對所有副本都進行了修改,這就需要分布式同步機制對并發(fā)操作進行控制。這些技術的復雜性都給數(shù)據(jù)的可靠和安全帶來了巨大挑戰(zhàn)。
2)用戶接口和應用安全
對于PaaS 服務來說,來自客戶端的代碼可能是惡意的。如果PaaS 層暴露過多接口,可能會給攻擊者帶來機會,如搶占CPU 時間、內存空間和其他資源,也可能攻擊其他用戶,甚至會攻擊底層平臺等。因此,如何檢驗用戶代碼的可靠性是PaaS 提供商面臨的又一個巨大挑戰(zhàn)。
用戶基于PaaS 平臺開發(fā)的軟件最終也會部署在該平臺上,PaaS 提供商需要保證程序的可靠運行,尤其是保證不同應用之間的相互隔離。這點與在SaaS 模式下遇到的挑戰(zhàn)是相同的。另外,從技術上看,目前PaaS 對底層資源的調度和分配采用“盡力而為”的機制,如果一個平臺上運行多個應用,就會存在資源分配、優(yōu)先級配置等問題。要解決這些問題,需要借助IaaS 層的虛擬化機制來實現(xiàn)多個應用的資源調配和SLA 等。
2.4 SaaS層的安全風險與措施
傳統(tǒng)的軟件都部署在客戶自己或租用的數(shù)據(jù)中心內,服務于特定的用戶,其安全控制相對簡單。但在SaaS 模式下,成千上萬的用戶共享同一軟件平臺,如何保證這些客戶之間的數(shù)據(jù)、應用安全是一個巨大挑戰(zhàn)。目前解決這一難題主要是采用多租戶技術,多租戶技術使得大量用戶共享統(tǒng)一軟件資源,每個用戶按需使用資源。多租戶技術能夠對軟件服務進行客戶化配置,而不會影響其他用戶的使用。多租戶技術是解決SaaS 模式安全問題的主要措施,但這一技術也存在數(shù)據(jù)隔離、客戶化配置、架構拓展、性能定制等諸多不足和挑戰(zhàn)。
1)數(shù)據(jù)隔離。數(shù)據(jù)隔離是指多個租戶在使用同一個SaaS系統(tǒng)時,不同租戶之間的數(shù)據(jù)是隔離存儲的,數(shù)據(jù)處理不會相互干擾。要實現(xiàn)多租戶之間的數(shù)據(jù)隔離,目前有3 種技術:
。1)為每一個租戶提供一個單獨的數(shù)據(jù)庫,優(yōu)點是可以保證不同租戶之間的數(shù)據(jù)充分隔離,缺點是成本和開銷都比較大。(2)將多個租戶的數(shù)據(jù)保存在統(tǒng)一的數(shù)據(jù)庫中,但采用不同的模式,這樣做在一定程度上減少了數(shù)據(jù)庫的成本和操作難度,但也影響了數(shù)據(jù)隔離的效果和安全性。(3)將多個租戶的數(shù)據(jù)存儲在同一個數(shù)據(jù)庫的同一張數(shù)據(jù)表中,通過租戶的標識字段來區(qū)分,這樣做成本最低,但安全性和隔離性最差。
2)客戶化配置?蛻艋渲檬侵窼aaS 應用支持不同租戶對同一平臺進行個性化定制。傳統(tǒng)模式下,每一個用戶都擁有一個自主的應用實例,可以自由進行定制化開發(fā)。但在多租戶形勢下,成千上萬的租戶共享一個應用實例,某一個租戶對應用的更改通常會對該平臺中的所有租戶產生影響。因此,如何支持不同用戶對同一實例的獨立客戶化配置是SaaS 模式面對的一個安全挑戰(zhàn)。
除上述安全風險外,多租戶技術還存在架構拓展、性能定制等安全挑戰(zhàn)。為了解決這些難題,有人建議采用虛擬化技術。虛擬化技術已經(jīng)比較成熟,多租戶技術還處于發(fā)展階段,面對大量用戶使用統(tǒng)一應用時,如果把每一個用戶的應用都做成一個單獨的虛擬機,就可能需要成千上萬的虛擬機,其管理難度和復雜性都會大大增加,其中還有大量的課題需要研究。
2.5 通用安全措施
云安全服務屬于云基礎軟件服務層,為各類云應用提供共性信息安全服務,是確保云應用滿足用戶安全目標的重要手段。其中比較典型的幾類云安全服務包括加密與密鑰管理、身份識別與訪問控制、災備與業(yè)務連續(xù)性、數(shù)據(jù)隔離技術、虛擬化安全技術、云安全測評機制與審計機制等,這些技術對云計算的幾種模式都會產生影響,我們在第3 部分將重點分析其中的幾大關鍵技術。
3.云計算安全的關鍵技術
如上所述,雖然云計算各層的安全風險各異,采取的安全技術和措施也不盡相同,但有幾大技術卻是有共性的,它們是云計算環(huán)境下最重要的幾大關鍵技術,值得我們深入研究。
3.1 虛擬化安全技術
虛擬化是云計算的核心技術之一,虛擬化技術的采用加快了傳統(tǒng)應用部署的速度,提高了應用的兼容性和服務的可用性,同時降低了能源消耗。與此同時,虛擬化自身也存在諸多風險和威脅。因此,虛擬化安全成為云計算不得不考慮的重要安全威脅之一。目前使用的虛擬化安全措施包括虛擬機可信平臺、虛擬機隔離、虛擬機信息流控制、虛擬機監(jiān)控、虛擬網(wǎng)絡接入控制等。虛擬化安全技術大多已經(jīng)比較成熟,但仍有部分需要進一步驗證和改進。