由于云環(huán)境其靈活性劫笙、開放性芙扎、以及公眾可用性這些特性,給應(yīng)用安全的基本假設(shè)帶來了很多挑戰(zhàn)填大。這些假設(shè)中的一部分可以很好理解戒洼,而很多卻不容易理解。從設(shè)計到運維再到最終退役允华,云計算如何對一個應(yīng)用程序的生命周期安全產(chǎn)生影響圈浇。所有參與者有關(guān)寥掐,包括應(yīng)用程序的設(shè)計人員、安全專業(yè)人員磷蜀、運維人員以及技術(shù)管理者等召耘,如何最好地降低云計算應(yīng)用程序的風(fēng)險并管理其保障措施。
在所有SaaS褐隆、PaaS污它、IaaS的所有層面,對于應(yīng)用程序來說庶弃,云計算都是一個特別的挑戰(zhàn)衫贬。基于云計算的應(yīng)用軟件需要經(jīng)過類似于DMZ區(qū)部署的應(yīng)用程序那樣的嚴(yán)格設(shè)計歇攻。這包括了深入的前期分析固惯,涵蓋了傳統(tǒng)的如何管理信息的機(jī)密性、完整性缴守,以及可用性等方面葬毫。
在云環(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ì)量保證歇僧、文檔图张、部署、管理诈悍、維護(hù)和退役祸轮。
· 合規(guī)性 – 合規(guī)性明顯會影響數(shù)據(jù),而且也會影響應(yīng)用程序(例如侥钳,監(jiān)管要求如何實現(xiàn)程序中的一個特定加密函數(shù))适袜、平臺(對操作系統(tǒng)的控制和設(shè)置的命令)和進(jìn)程(如對安全事件的報告要求)。
· 工具和服務(wù)– 圍繞著開發(fā)和維護(hù)運行應(yīng)用程序需要的工具和服務(wù)舷夺,云計算對工具和服務(wù)帶來了一系列的新挑戰(zhàn)苦酱。這其中包括開發(fā)和測試工具售貌、應(yīng)用程序管理工具、對外服務(wù)的耦合疫萤、以及庫和操作系統(tǒng)服務(wù)的依賴性颂跨,這些可能都源自云服務(wù)提供商。了解誰提供扯饶、誰擁有恒削、誰運行的后果、并承擔(dān)相關(guān)的責(zé)任非常重要帝际。
· 脆弱性 – 這不僅包括很好文檔化的和不停演化中的web應(yīng)用脆弱性蔓同,還有那些在機(jī)器與機(jī)器之間的、面向服務(wù)架構(gòu)(SOA)的應(yīng)用程序的脆弱性蹲诀,這些SOA應(yīng)用正在不斷地被部署進(jìn)云中。
建議
? 軟件開發(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)鍵因素是是否存在可信的虛擬機(jī)鏡像(image)。最好的辦法是能夠提供符合你內(nèi)部政策的虛擬機(jī)鏡像娜庇。
? 虛擬機(jī)應(yīng)該使用DMZ主機(jī)系統(tǒng)的加固方案的最佳實踐塔次。只開放支持應(yīng)用“堆棧”所需的服務(wù)名秀。
? 保護(hù)主機(jī)之間的通信安全是基本原則励负。不要做主機(jī)之間存在安全通道的假設(shè),不管是在常用的數(shù)據(jù)中心或者在同一臺硬件設(shè)備上匕得。
? 管理并且保護(hù)的應(yīng)用的證書和密鑰至關(guān)重要继榆。
? 應(yīng)加倍小心的處理應(yīng)用程序的日志和調(diào)試記錄的文件,因為這些文件的位置可能偏遠(yuǎn)或不明汁掠,而且上面的信息可能很敏感略吨。
? 在應(yīng)用威脅模型中考慮外部管理和多租戶場景。
? 對于比較復(fù)雜的應(yīng)用程序考阱,可能會采用企業(yè)服務(wù)總線(ESB)翠忠,需要使用某個協(xié)議直接保護(hù)ESB,例如WS-Security協(xié)議羔砾。在PaaS環(huán)境下不具備隔離ESB的能力负间。
? 應(yīng)采用度量方式評估應(yīng)用程序安全計劃的有效性偶妖。在直接的具體到應(yīng)用的安全指標(biāo)中,可用的包括漏洞分?jǐn)?shù)和補(bǔ)丁覆蓋范圍等政溃。這些指標(biāo)會顯示應(yīng)用程序代碼的質(zhì)量趾访。間接的數(shù)據(jù)處理指標(biāo),像加密數(shù)據(jù)的百分比董虱,會從應(yīng)用程序架構(gòu)的角度指出是否在作出負(fù)責(zé)任的決定扼鞋。
? 云服務(wù)提供商必須支持對他們云環(huán)境的應(yīng)用程序進(jìn)行WEB動態(tài)安全分析工具的使用。
? 應(yīng)留心惡意行為者在出現(xiàn)一個新的云應(yīng)用架構(gòu)愤诱,能在監(jiān)視下掩蓋某些應(yīng)用組件時會如何反應(yīng)云头。黑客喜歡攻擊能看到代碼,包括但不限于在用戶環(huán)境中運行的代碼淫半。他們很可能會攻擊基礎(chǔ)設(shè)施溃槐,并進(jìn)行大面積的黑盒測試。
? 客戶應(yīng)該獲得合同中規(guī)定的權(quán)限來執(zhí)行遠(yuǎn)程漏洞評估科吭,包括傳統(tǒng)的(網(wǎng)絡(luò)/主機(jī))和應(yīng)用程序漏洞評估昏滴。由于供應(yīng)商的無法區(qū)分測試和實際攻擊,也為了避免對其他客戶產(chǎn)生潛在影響对人,許多云服務(wù)提供商限制漏洞評估谣殊。