根據(jù)IDC在2009年年底發(fā)布的一項調查報告顯示,云計算服務面臨的前三大市場挑戰(zhàn)分別為服務安全性、穩(wěn)定性和性能表現(xiàn)。該三大挑戰(zhàn)排名同 IDC于2008年進行的云計算服務調查結論完全一致。2009年11月,F(xiàn)orrester Research公司的調查結果顯示,有51%的中小型企業(yè)認為安全性和隱私問題是他們尚未使用云服務的最主要原因。由此可見,安全性是客戶選擇云計算時的首要考慮因素。
云計算由于其用戶、信息資源的高度集中,帶來的安全事件后果與風險也較傳統(tǒng)應用高出很多。在2009年,Google、Microsoft、 Amazon等公司的云計算服務均出現(xiàn)了重大故障,導致成千上萬客戶的信息服務受到影響,進一步加劇了業(yè)界對云計算應用安全的擔憂。
總體來說,云計算技術主要面臨以下安全問題。
?。?)虛擬化安全問題
利用虛擬化帶來的可擴展有利于加強在基礎設施、平臺、軟件層面提供多租戶云服務的能力,然而虛擬化技術也會帶來以下安全問題:
· 如果主機受到破壞,那么主要的主機所管理的客戶端服務器有可能被攻克;
· 如果虛擬網絡受到破壞,那么客戶端也會受到損害;
· 需要保障客戶端共享和主機共享的安全,因為這些共享有可能被不法之徒利用其漏洞;
· 如果主機有問題,那么所有的虛擬機都會產生問題。
?。?)數(shù)據(jù)集中后的安全問題
用戶的數(shù)據(jù)存儲、處理、網絡傳輸?shù)榷寂c云計算系統(tǒng)有關。如果發(fā)生關鍵或隱私信息丟失、竊取,對用戶來說無疑是致命的。如何保證云服務提供商內部的安全管理和訪問控制機制符合客戶的安全需求;如何實施有效的安全審計,對數(shù)據(jù)操作進行安全監(jiān)控;如何避免云計算環(huán)境中多用戶共存帶來的潛在風險都成為云計算環(huán)境所面臨的安全挑戰(zhàn)。
(3)云平臺可用性問題
用戶的數(shù)據(jù)和業(yè)務應用處于云計算系統(tǒng)中,其業(yè)務流程將依賴于云計算服務提供商所提供的服務,這對服務商的云平臺服務連續(xù)性、SLA和IT流程、安全策略、事件處理和分析等提出了挑戰(zhàn)。另外,當發(fā)生系統(tǒng)故障時,如何保證用戶數(shù)據(jù)的快速恢復也成為一個重要問題。
?。?)云平臺遭受攻擊的問題
云計算平臺由于其用戶、信息資源的高度集中,容易成為黑客攻擊的目標,由于拒絕服務攻擊造成的后果和破壞性將會明顯超過傳統(tǒng)的企業(yè)網應用環(huán)境。
(5)法律風險
云計算應用地域性弱、信息流動性大,信息服務或用戶數(shù)據(jù)可能分布在不同地區(qū)甚至不同國家,在政府信息安全監(jiān)管等方面可能存在法律差異與糾紛;同時由于虛擬化等技術引起的用戶間物理界限模糊而可能導致的司法取證問題也不容忽視。
2 云計算安全參考模型
從IT網絡和安全專業(yè)人士的視角出發(fā),可以用統(tǒng)一分類的一組公用的、簡潔的詞匯來描述云計算對安全架構的影響,在這個統(tǒng)一分類的方法中,云服務和架構可以被解構,也可以被映射到某個包括安全、可操作控制、風險評估和管理框架等諸多要素的補償模型中去,進而符合合規(guī)性標準。
云計算模型之間的關系和依賴性對于理解云計算的安全非常關鍵,IaaS(基礎設施即服務)是所有云服務的基礎,PaaS(平臺即服務)一般建立在IaaS之上,而SaaS(軟件即服務)一般又建立在PaaS之上,它們之間的關系如圖1所示。
IaaS涵蓋了從機房設備到硬件平臺等所有的基礎設施資源層面。PaaS位于IaaS之上,增加了一個層面用以與應用開發(fā)、中間件能力以及數(shù)據(jù)庫、消息和隊列等功能集成。PaaS允許開發(fā)者在平臺之上開發(fā)應用,開發(fā)的編程語言和工具由PaaS支持提供。SaaS位于底層的IaaS和PaaS之上,能夠提供獨立的運行環(huán)境,用以交付完整的用戶體驗,包括內容、展現(xiàn)、應用和管理能力。
云安全架構的一個關鍵特點是云服務提供商所在的等級越低,云服務用戶自己所要承擔的安全能力和管理職責就越多。下面對云計算安全領域中的數(shù)據(jù)安全、應用安全和虛擬化安全等問題(見表1)的應對策略和技術進行重點闡述。
3 云計算安全關鍵技術
3.1 數(shù)據(jù)安全
云用戶和云服務提供商應避免數(shù)據(jù)丟失和被竊,無論使用哪種云計算的服務模式(SaaS/PaaS/IaaS),數(shù)據(jù)安全都變得越來越重要。以下針對數(shù)據(jù)傳輸安全、數(shù)據(jù)隔離和數(shù)據(jù)殘留等方面展開討論。
?。?)數(shù)據(jù)傳輸安全
在使用公共云時,對于傳輸中的數(shù)據(jù)最大的威脅是不采用加密算法。通過Internet傳輸數(shù)據(jù),采用的傳輸協(xié)議也要能保證數(shù)據(jù)的完整性。如果采用加密數(shù)據(jù)和使用非安全傳輸協(xié)議的方法也可以達到保密的目的,但無法保證數(shù)據(jù)的完整性。
?。?)數(shù)據(jù)隔離
加密磁盤上的數(shù)據(jù)或生產數(shù)據(jù)庫中的數(shù)據(jù)很重要(靜止的數(shù)據(jù)),這可以用來防止惡意的云服務提供商、惡意的鄰居“租戶”及某些類型應用的濫用。但是靜止數(shù)據(jù)加密比較復雜,如果僅使用簡單存儲服務進行長期的檔案存儲,用戶加密他們自己的數(shù)據(jù)后發(fā)送密文到云數(shù)據(jù)存儲商那里是可行的。但是對于PaaS或者SaaS應用來說,數(shù)據(jù)是不能被加密,因為加密過的數(shù)據(jù)會妨礙索引和搜索。到目前為止還沒有可商用的算法實現(xiàn)數(shù)據(jù)全加密。
PaaS和SaaS應用為了實現(xiàn)可擴展、可用性、管理以及運行效率等方面的“經濟性”,基本都采用多租戶模式,因此被云計算應用所用的數(shù)據(jù)會和其他用戶的數(shù)據(jù)混合存儲(如Google的BigTable)。雖然云計算應用在設計之初已采用諸如“數(shù)據(jù)標記”等技術以防非法訪問混合數(shù)據(jù),但是通過應用程序的漏洞,非法訪問還是會發(fā)生,最著名的案例就是2009年3月發(fā)生的谷歌文件非法共享。雖然有些云服務提供商請第三方審查應用程序或應用第三方應用程序的安全驗證工具加強應用程序安全,但出于經濟性考慮,無法實現(xiàn)單租戶專用數(shù)據(jù)平臺,因此惟一可行的選擇就是不要把任何重要的或者敏感的數(shù)據(jù)放到公共云中。
?。?)數(shù)據(jù)殘留
數(shù)據(jù)殘留是數(shù)據(jù)在被以某種形式擦除后所殘留的物理表現(xiàn),存儲介質被擦除后可能留有一些物理特性使數(shù)據(jù)能夠被重建。在云計算環(huán)境中,數(shù)據(jù)殘留更有可能會無意泄露敏感信息,因此云服務提供商應能向云用戶保證其鑒別信息所在的存儲空間被釋放或再分配給其他云用戶前得到完全清除,無論這些信息是存放在硬盤上還是在內存中。云服務提供商應保證系統(tǒng)內的文件、目錄和數(shù)據(jù)庫記錄等資源所在的存儲空間被釋放或重新分配給其他云用戶前得到完全清除。
3.2 應用安全
由于云環(huán)境的靈活性、開放性以及公眾可用性等特性,給應用安全帶來了很多挑戰(zhàn)。提供商在云主機上部署的Web應用程序應當充分考慮來自互聯(lián)網的威脅。
?。?)終端用戶安全
對于使用云服務的用戶,應該保證自己計算機的安全。在用戶的終端上部署安全軟件,包括反惡意軟件、防病毒、個人防火墻以及IPS類型的軟件。目前,瀏覽器已經普遍成為云服務應用的客戶端,但不幸的是所有的互聯(lián)網瀏覽器毫無例外地存在軟件漏洞,這些軟件漏洞加大了終端用戶被攻擊的風險,從而影響云計算應用的安全。因此云用戶應該采取必要措施保護瀏覽器免受攻擊,在云環(huán)境中實現(xiàn)端到端的安全。云用戶應使用自動更新功能,定期完成瀏覽器打補丁和更新工作。
隨著虛擬化技術的廣泛應用,許多用戶現(xiàn)在喜歡在桌面或筆記本電腦上使用虛擬機來區(qū)分工作(公事與私事)。有人使用VMware Player來運行多重系統(tǒng)(比如使用Linux作為基本系統(tǒng)),通常這些虛擬機甚至都沒有達到補丁級別。這些系統(tǒng)被暴露在網絡上更容易被黑客利用成為流氓虛擬機。對于企業(yè)客戶,應該從制度上規(guī)定連接云計算應用的PC機禁止安裝虛擬機,并且對PC機進行定期檢查。
?。?)SaaS應用安全
SaaS應用提供給用戶的能力是使用服務商運行在云基礎設施之上的應用,用戶使用各種客戶端設備通過瀏覽器來訪問應用。用戶并不管理或控制底層的云基礎設施,如網絡、服務器、操作系統(tǒng)、存儲甚至其中單個的應用能力,除非是某些有限用戶的特殊應用配置項。SaaS模式決定了提供商管理和維護整套應用,因此SaaS提供商應最大限度地確保提供給客戶的應用程序和組件的安全,客戶通常只需負責操作層的安全功能,包括用戶和訪問管理,所以選擇SaaS提供商特別需要慎重,目前對于提供商評估通常的做法是根據(jù)保密協(xié)議,要求提供商提供有關安全實踐的信息。該信息應包括設計、架構、開發(fā)、黑盒與白盒應用程序安全測試和發(fā)布管理。有些客戶甚至請第三方安全廠商進行滲透測試(黑盒安全測試),以獲得更為詳實的安全信息,不過滲透測試通常費用很高而且也不是所有提供商都同意這種測試。
還有一點需要特別注意的是,SaaS提供商提供的身份驗證和訪問控制功能,通常情況下這是客戶管理信息風險惟一的安全控制措施。大多數(shù)服務包括谷歌都會提供基于Web的管理用戶界面。最終用戶可以分派讀取和寫入權限給其他用戶。然而這個特權管理功能可能不先進,細粒度訪問可能會有弱點,也可能不符合組織的訪問控制標準。
用戶應該盡量了解云特定訪問控制機制,并采取必要步驟,保護在云中的數(shù)據(jù);應實施最小化特權訪問管理,以消除威脅云應用安全的內部因素。
所有有安全需求的云應用都需要用戶登錄,有許多安全機制可提高訪問安全性,比如說通行證或智能卡,而最為常用的方法是可重用的用戶名和密碼。如果使用強度最小的密碼(如需要的長度和字符集過短)和不做密碼管理(過期,歷史)很容導致密碼失效,而這恰恰是攻擊者獲得信息的首選方法,從而容易被猜到密碼。因此云服務提供商應能夠提供高強度密碼;定期修改密碼,時間長度必須基于數(shù)據(jù)的敏感程度;不能使用舊密碼等可選功能。
在目前的SaaS應用中,提供商將客戶數(shù)據(jù)(結構化和非結構化數(shù)據(jù))混合存儲是普遍的做法,通過惟一的客戶標識符,在應用中的邏輯執(zhí)行層可以實現(xiàn)客戶數(shù)據(jù)邏輯上的隔離,但是當云服務提供商的應用升級時,可能會造成這種隔離在應用層執(zhí)行過程中變得脆弱。因此,客戶應了解SaaS提供商使用的虛擬數(shù)據(jù)存儲架構和預防機制,以保證多租戶在一個虛擬環(huán)境所需要的隔離。SaaS提供商應在整個軟件生命開發(fā)周期加強在軟件安全性上的措施。
?。?)PaaS應用安全
PaaS云提供給用戶的能力是在云基礎設施之上部署用戶創(chuàng)建或采購的應用,這些應用使用服務商支持的編程語言或工具開發(fā),用戶并不管理或控制底層的云基礎設施,包括網絡、服務器、操作系統(tǒng)或存儲等,但是可以控制部署的應用以及應用主機的某個環(huán)境配置。PaaS應用安全包含兩個層次:PaaS平臺自身的安全;客戶部署在PaaS平臺上應用的安全。
SSL是大多數(shù)云安全應用的基礎,目前眾多黑客社區(qū)都在研究SSL,相信SSL在不久的將來將成為一個主要的病毒傳播媒介。PaaS提供商必須明白當前的形勢,并采取可能的辦法來緩解SSL攻擊,避免應用被暴露在默認攻擊之下。用戶必須要確保自己有一個變更管理項目,在應用提供商指導下進行正確應用配置或打配置補丁,及時確保SSL補丁和變更程序能夠迅速發(fā)揮作用。
PaaS提供商通常都會負責平臺軟件包括運行引擎的安全,如果PaaS應用使用了第三方應用、組件或Web服務,那么第三方應用提供商則需要負責這些服務的安全。因此用戶需要了解自己的應用到底依賴于哪個服務,在采用第三方應用、組件或Web服務的情況下用戶應對第三方應用提供商做風險評估。目前,云服務提供商借口平臺的安全使用信息會被黑客利用而拒絕共享,盡管如此,客戶應盡可能地要求云服務提供商增加信息透明度以利于風險評估和安全管理。
在多租戶PaaS的服務模式中,最核心的安全原則就是多租戶應用隔離。云用戶應確保自己的數(shù)據(jù)只能有自己的企業(yè)用戶和應用程序訪問。提供商維護 PaaS平臺運行引擎的安全,在多租戶模式下必須提供“沙盒”架構,平臺運行引擎的“沙盒”特性可以集中維護客戶部署在PaaS平臺上應用的保密性和完整性。云服務提供商負責監(jiān)控新的程序缺陷和漏洞,以避免這些缺陷和漏洞被用來攻擊PaaS平臺和打破“沙盒”架構。
云用戶部署的應用安全需要PaaS應用開發(fā)商配合,開發(fā)人員需要熟悉平臺的API、部署和管理執(zhí)行的安全控制軟件模塊。開發(fā)人員必須熟悉平臺特定的安全特性,這些特性被封裝成安全對象和Web服務。開發(fā)人員通過調用這些安全對象和Web服務實現(xiàn)在應用內配置認證和授權管理。對于PaaS的API 設計,目前沒有標準可用,這對云計算的安全管理和云計算應用可移植性帶來了難以估量的后果。
PaaS應用還面臨著配置不當?shù)耐{,在云基礎架構中運行應用時,應用在默認配置下安全運行的概率幾乎為零。因此,用戶最需要做的事就是改變應用的默認安裝配置,需要熟悉應用的安全配置流程。
?。?)IaaS應用安全
IaaS云提供商(例如亞馬遜EC2、GoGrid等)將客戶在虛擬機上部署的應用看作是一個黑盒子,IaaS提供商完全不知道客戶應用的管理和運維。客戶的應用程序和運行引擎,無論運行在何種平臺上,都由客戶部署和管理,因此客戶負有云主機之上應用安全的全部責任,客戶不應期望IaaS提供商的應用安全幫助。
3.3 虛擬化安全
基于虛擬化技術的云計算引入的風險主要有兩個方面:一個是虛擬化軟件的安全;另一個使用虛擬化技術的虛擬服務器的安全。
?。?)虛擬化軟件安全
該軟件層直接部署于裸機之上,提供能夠創(chuàng)建、運行和銷毀虛擬服務器的能力。實現(xiàn)虛擬化的方法不止一種,實際上,有幾種方法都可以通過不同層次的抽象來實現(xiàn)相同的結果,如操作系統(tǒng)級虛擬化、全虛擬化或半虛擬化。在IaaS云平臺中,云主機的客戶不必訪問此軟件層,它完全應該由云服務提供商來管理。
由于虛擬化軟件層是保證客戶的虛擬機在多租戶環(huán)境下相互隔離的重要層次,可以使客戶在一臺計算機上安全地同時運行多個操作系統(tǒng),所以必須嚴格限制任何未經授權的用戶訪問虛擬化軟件層。云服務提供商應建立必要的安全控制措施,限制對于Hypervisor和其他形式的虛擬化層次的物理和邏輯訪問控制。
虛擬化層的完整性和可用性對于保證基于虛擬化技術構建的公有云的完整性和可用性是最重要,也是最關鍵的。一個有漏洞的虛擬化軟件會暴露所有的業(yè)務域給惡意的入侵者。
?。?)虛擬服務器安全
虛擬服務器位于虛擬化軟件之上,對于物理服務器的安全原理與實踐也可以被運用到虛擬服務器上,當然也需要兼顧虛擬服務器的特點。下面將從物理機選擇、虛擬服務器安全和日常管理三方面對虛擬服務器安全進行闡述。
應選擇具有TPM安全模塊的物理服務器,TPM安全模塊可以在虛擬服務器啟動時檢測用戶密碼,如果發(fā)現(xiàn)密碼及用戶名的Hash序列不對,就不允許啟動此虛擬服務器。因此,對于新建的用戶來說,選擇這些功能的物理服務器來作為虛擬機應用是很有必要的。如果有可能,應使用新的帶有多核的處理器,并支持虛擬技術的CPU,這就能保證CPU之間的物理隔離,會減少許多安全問題。
安裝虛擬服務器時,應為每臺虛擬服務器分配一個獨立的硬盤分區(qū),以便將各虛擬服務器之間從邏輯上隔離開來。虛擬服務器系統(tǒng)還應安裝基于主機的防火墻、殺毒軟件、IPS(IDS)以及日志記錄和恢復軟件,以便將它們相互隔離,并與其他安全防范措施一起構成多層次防范體系。
對于每臺虛擬服務器應通過VLAN和不同的IP網段的方式進行邏輯隔離。對需要相互通信的虛擬服務器之間的網絡連接應當通過VPN的方式來進行,以保護它們之間網絡傳輸?shù)陌踩?。實施相應的備份策略,包括它們的配置文件、虛擬機文件及其中的重要數(shù)據(jù)都要進行備份,備份也必須按一個具體的備份計劃來進行,應當包括完整、增量或差量備份方式。
在防火墻中,盡量對每臺虛擬服務器做相應的安全設置,進一步對它們進行保護和隔離。將服務器的安全策略加入到系統(tǒng)的安全策略當中,并按物理服務器安全策略的方式來對等。
從運維的角度來看,對于虛擬服務器系統(tǒng),應當像對一臺物理服務器一樣地對它進行系統(tǒng)安全加固,包括系統(tǒng)補丁、應用程序補丁、所允許運行的服務、開放的端口等。同時嚴格控制物理主機上運行虛擬服務的數(shù)量,禁止在物理主機上運行其他網絡服務。如果虛擬服務器需要與主機進行連接或共享文件,應當使用 VPN方式進行,以防止由于某臺虛擬服務器被攻破后影響物理主機。文件共享也應當使用加密的網絡文件系統(tǒng)方式進行。需要特別注意主機的安全防范工作,消除影響主機穩(wěn)定和安全性的因素,防止間諜軟件、木馬、病毒和黑客的攻擊,因為一旦物理主機受到侵害,所有在其中運行的虛擬服務器都將面臨安全威脅,或者直接停止運行。
對虛擬服務器的運行狀態(tài)進行嚴密的監(jiān)控,實時監(jiān)控各虛擬機當中的系統(tǒng)日志和防火墻日志,以此來發(fā)現(xiàn)存在的安全隱患。對不需要運行的虛擬機應當立即關閉。
4 云計算安全現(xiàn)狀
云計算應用安全研究目前還處于起步階段,業(yè)界尚未形成相關標準,目前主要的研究組織主要包括CSA(cloud security alliance,云安全聯(lián)盟)、CAM(common assurance metric – beyond the cloud)等相關論壇。
為推動云計算應用安全的研究交流與協(xié)作發(fā)展,業(yè)界多家公司在2008年12月聯(lián)合成立了CSA,該組織是一個非贏利組織,旨在推廣云計算應用安全的最佳實踐,并為用戶提供云計算方面的安全指引。CSA在2009年12月17日發(fā)布的《云計算安全指南》,著重總結了云計算的技術架構模型、安全控制模型以及相關合規(guī)模型之間的映射關系,從云計算用戶角度闡述了可能存在的商業(yè)隱患、安全威脅以及推薦采取的安全措施。目前已經有越來越多的IT企業(yè)、安全廠商和電信運營商加入到該組織。
另外,歐洲網絡信息安全局(ENISA)和CSA聯(lián)合發(fā)起了CAM項目。CAM項目的研發(fā)目標是開發(fā)一個客觀、可量化的測量標準,供客戶評估和比較云計算服務提供商安全運行的水平,CAM計劃于2010年底提出內容架構,并推向全球。
許多云服務提供商,如Amazon、IBM、Microsoft 等紛紛提出并部署了相應的云計算安全解決方案,主要通過采用身份認證、安全審查、數(shù)據(jù)加密、系統(tǒng)冗余等技術及管理手段來提高云計算業(yè)務平臺的健壯性、服務連續(xù)性和用戶數(shù)據(jù)的安全性。另外,在電信運營商中Verizon也已經推出了云安全特色服務。
在IT殺毒產業(yè)中,云安全的概念提出后,其發(fā)展迅速,瑞星、趨勢、卡巴斯基、MCAFEE、SYMANTEC、江民科技、PANDA、金山、 360安全衛(wèi)士、卡卡上網安全助手等都推出了云安全解決方案。瑞星基于云安全策略開發(fā)的2009新品,每天攔截數(shù)百萬次木馬攻擊,其中1月8日更是達到了 765萬余次。趨勢科技云安全已經在全球建立了5大數(shù)據(jù)中心,幾萬部在線服務器。據(jù)悉,云安全可以支持平均每天55億條點擊查詢,每天收集分析2.5億個樣本,資料庫第一次命中率就可以達到99%。借助云安全,趨勢科技現(xiàn)在每天阻斷的病毒感染最高達1 000萬次。
從上可知,目前的云安全產品主要來自于傳統(tǒng)的IT殺毒軟件廠商,其產品也主要集中在應用的安全領域,要實現(xiàn)云安全指南中定義的關鍵領域的安全保障,還需要云平臺提供商,系統(tǒng)集成商,云服務提供商,殺毒軟件廠商等的共同努力。