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