由于云環(huán)境其靈活性、開放性、以及公眾可用性這些特性,給應(yīng)用安全的基本假設(shè)帶來了很多挑戰(zhàn)。這些假設(shè)中的一部分可以很好理解,而很多卻不容易理解。從設(shè)計到運維再到最終退役,云計算如何對一個應(yīng)用程序的生命周期安全產(chǎn)生影響。所有參與者有關(guān),包括應(yīng)用程序的設(shè)計人員、安全專業(yè)人員、運維人員以及技術(shù)管理者等,如何最好地降低云計算應(yīng)用程序的風險并管理其保障措施。
在所有SaaS、PaaS、IaaS的所有層面,對于應(yīng)用程序來說,云計算都是一個特別的挑戰(zhàn)。基于云計算的應(yīng)用軟件需要經(jīng)過類似于DMZ區(qū)部署的應(yīng)用程序那樣的嚴格設(shè)計。這包括了深入的前期分析,涵蓋了傳統(tǒng)的如何管理信息的機密性、完整性,以及可用性等方面。
在云環(huán)境下,應(yīng)用程序?qū)䦟σ韵轮卮蠓矫娈a(chǎn)生影響或被影響:
· 應(yīng)用安全架構(gòu)– 必須意識到這樣一個事實,大多數(shù)應(yīng)用程序會與其它多個不同的系統(tǒng)產(chǎn)生依賴關(guān)系。有了云計算,應(yīng)用程序的依賴性可能非常動態(tài),甚至每個依賴都代表一個獨立的第三方服務(wù)提供商。云特性使配置管理和緊隨的配置供應(yīng)比傳統(tǒng)的應(yīng)用程序部署更為復(fù)雜。為了保證應(yīng)用程序的安全,云環(huán)境推動了應(yīng)用程序架構(gòu)的變革。
· 軟件開發(fā)生命周期(SDLC) – 云計算影響SDLC的各個方面,涵蓋應(yīng)用程序體系結(jié)構(gòu)、設(shè)計、開發(fā)、質(zhì)量保證、文檔、部署、管理、維護和退役。
· 合規(guī)性 – 合規(guī)性明顯會影響數(shù)據(jù),而且也會影響應(yīng)用程序(例如,監(jiān)管要求如何實現(xiàn)程序中的一個特定加密函數(shù))、平臺(對操作系統(tǒng)的控制和設(shè)置的命令)和進程(如對安全事件的報告要求)。
· 工具和服務(wù)– 圍繞著開發(fā)和維護運行應(yīng)用程序需要的工具和服務(wù),云計算對工具和服務(wù)帶來了一系列的新挑戰(zhàn)。這其中包括開發(fā)和測試工具、應(yīng)用程序管理工具、對外服務(wù)的耦合、以及庫和操作系統(tǒng)服務(wù)的依賴性,這些可能都源自云服務(wù)提供商。了解誰提供、誰擁有、誰運行的后果、并承擔相關(guān)的責任非常重要。
· 脆弱性 – 這不僅包括很好文檔化的和不停演化中的web應(yīng)用脆弱性,還有那些在機器與機器之間的、面向服務(wù)架構(gòu)(SOA)的應(yīng)用程序的脆弱性,這些SOA應(yīng)用正在不斷地被部署進云中。
建議
• 軟件開發(fā)生命周期(SDLC)的安全很重要,應(yīng)該在高層次上解決基于云開發(fā)的三個主要的差異化:1)更新的威脅和信任模型;2)更新的、云環(huán)境下的應(yīng)用評估工具;3)能夠說明云應(yīng)用安全體系架構(gòu)變化的SDLC的過程和質(zhì)量檢查點。
• IaaS、PaaS和SaaS為軟件開發(fā)生命周期創(chuàng)造了不同的信任邊界,這些都必須在應(yīng)用的開發(fā)、測試以及生產(chǎn)部署過程中得到證明。
• 對于IaaS,成功的關(guān)鍵因素是是否存在可信的虛擬機鏡像(image)。最好的辦法是能夠提供符合你內(nèi)部政策的虛擬機鏡像。
• 虛擬機應(yīng)該使用DMZ主機系統(tǒng)的加固方案的最佳實踐。只開放支持應(yīng)用“堆棧”所需的服務(wù)。
• 保護主機之間的通信安全是基本原則。不要做主機之間存在安全通道的假設(shè),不管是在常用的數(shù)據(jù)中心或者在同一臺硬件設(shè)備上。
• 管理并且保護的應(yīng)用的證書和密鑰至關(guān)重要。
• 應(yīng)加倍小心的處理應(yīng)用程序的日志和調(diào)試記錄的文件,因為這些文件的位置可能偏遠或不明,而且上面的信息可能很敏感。
• 在應(yīng)用威脅模型中考慮外部管理和多租戶場景。
• 對于比較復(fù)雜的應(yīng)用程序,可能會采用企業(yè)服務(wù)總線(ESB),需要使用某個協(xié)議直接保護ESB,例如WS-Security協(xié)議。在PaaS環(huán)境下不具備隔離ESB的能力。
• 應(yīng)采用度量方式評估應(yīng)用程序安全計劃的有效性。在直接的具體到應(yīng)用的安全指標中,可用的包括漏洞分數(shù)和補丁覆蓋范圍等。這些指標會顯示應(yīng)用程序代碼的質(zhì)量。間接的數(shù)據(jù)處理指標,像加密數(shù)據(jù)的百分比,會從應(yīng)用程序架構(gòu)的角度指出是否在作出負責任的決定。
• 云服務(wù)提供商必須支持對他們云環(huán)境的應(yīng)用程序進行WEB動態(tài)安全分析工具的使用。
• 應(yīng)留心惡意行為者在出現(xiàn)一個新的云應(yīng)用架構(gòu),能在監(jiān)視下掩蓋某些應(yīng)用組件時會如何反應(yīng)。黑客喜歡攻擊能看到代碼,包括但不限于在用戶環(huán)境中運行的代碼。他們很可能會攻擊基礎(chǔ)設(shè)施,并進行大面積的黑盒測試。
• 客戶應(yīng)該獲得合同中規(guī)定的權(quán)限來執(zhí)行遠程漏洞評估,包括傳統(tǒng)的(網(wǎng)絡(luò)/主機)和應(yīng)用程序漏洞評估。由于供應(yīng)商的無法區(qū)分測試和實際攻擊,也為了避免對其他客戶產(chǎn)生潛在影響,許多云服務(wù)提供商限制漏洞評估。