當談及安全性和云計算模型時(shí),平臺即服務(wù)(PaaS)有著(zhù)它自己特殊的挑戰。與其他的云計算模型不同,PaaS安全性所要求的應用程序安全性專(zhuān)業(yè)知識往往是大多數公司無(wú)法投入巨資就能夠擁有的。這個(gè)問(wèn)題很復雜,因為眾多公司都使用“進(jìn)駐式”基礎設施級安全控制戰略作為應用程序級安全性風(fēng)險的應對措施(例如,一旦應用程序代碼發(fā)布生產(chǎn),使用WAF以緩解所發(fā)現的跨網(wǎng)站腳本程序或其他前端問(wèn)題)。由于缺乏對PaaS中底層基礎設施的控制,這一戰略在PaaS部署應用中變得不具實(shí)際操作性。
考慮到PaaS與控制相關(guān)的靈活性,你必須對底層計算環(huán)境具有一定的控制能力。如同IaaS一樣,PaaS提供了近乎無(wú)限的設計靈活性:你可以基于社交網(wǎng)站構建任何應用,以實(shí)現內聯(lián)網(wǎng)網(wǎng)站或CRM應用程序。但是,與IaaS不同的是,應用程序下的“堆棧”是不透明的,這就意味著(zhù)支持應用程序的組件和基礎設施都是(根據設計)一個(gè)“黑盒”。也就是說(shuō),與SaaS類(lèi)似,安全性控制必須內置于應用程序本身中;但與SaaS中服務(wù)供應商通常實(shí)施應用于所有客戶(hù)的應用程序級安全控制不同的是,在IaaS中安全控制措施是針對你的應用程序的。這就意味著(zhù)必須由你自己承擔責任以確定那些控制措施是合適的并執行具體的實(shí)施。
這里的一個(gè)簡(jiǎn)單圖示,表明了模型與客戶(hù)之間的差異:
應用程序設計靈活性
功能控制比
底層透明度
對于那些在應用程序安全方面已投入巨資的組織來(lái)說(shuō),他們擁有固定滿(mǎn)編訓練有素的開(kāi)發(fā)人員,獨立的開(kāi)發(fā)、測試以及生產(chǎn)流程,所以應對PaaS安全性問(wèn)題應該是駕輕就熟的。而那些還未作出這些投資的機構可以遵循如下步驟,從而在一定程度上有助于應對PaaS安全性的挑戰。
步驟一:建立安全措施
應用程序安全性的根本挑戰遠在PaaS實(shí)施前就已經(jīng)存在。因此,對于如何完善生產(chǎn)安全、魯棒的應用程序的部署措施已有相當的研究。有一個(gè)可提供直接支持的技術(shù)被稱(chēng)為應用程序威脅建模。一些很好的著(zhù)力點(diǎn)是OWASP威脅建模頁(yè)以及微軟公司的安全性開(kāi)發(fā)生命周期資源頁(yè)。從工具的角度來(lái)看,是免費跨網(wǎng)站腳本(XSS)和SQL注入。擁有內部工具的企業(yè)可以將其應用于PaaS的安全性措施,或者眾多PaaS供應商為客戶(hù)以免費或打折的價(jià)格提供了具有類(lèi)似功能的工具。而當企業(yè)希望使用一個(gè)更為廣泛的掃描策略時(shí),他們還可以使用諸如Google公司的skipfish這樣的免費工具。
步驟二:掃描網(wǎng)絡(luò )應用程序
眾多公司已經(jīng)接受了應用程序掃描,這是一個(gè)用于解決通用安全問(wèn)題(例如跨平臺腳本(XSS)和SQL導入)的網(wǎng)絡(luò )應用程序掃描工具。擁有內部工具的企業(yè)可以將其應用于PaaS安全性措施,或者眾多PaaS供應商為客戶(hù)以免費或打折的價(jià)格提供了類(lèi)似功能的工具。而當企業(yè)希望使用一個(gè)更為廣泛的掃描策略時(shí),他們還可以使用諸如Google公司的skipfish這樣的免費工具。
步驟三:培訓開(kāi)發(fā)人員
應用程序開(kāi)發(fā)人員完全通盤(pán)精通應用程序安全性原則是非常關(guān)鍵的。這可以包括語(yǔ)言級培訓(即他們目前用于構建應用程序所使用語(yǔ)言中的安全編碼原則)以及更廣泛的議題,如安全性設計原則等。由于開(kāi)發(fā)人員的減員和流動(dòng)性等原因,這往往要求培訓必須定期重復并作為常態(tài)保持下去,所以開(kāi)發(fā)人員應用程序的安全性培訓成本可能是較為昂貴的。幸運的是,還有一些免費的資源,例如Texas A&M/FEMA國內防備校園計劃提供了一些安全性軟件開(kāi)發(fā)的免費電子學(xué)習資料。微軟公司也通過(guò)其Clinic 2806提供了免費培訓:微軟開(kāi)發(fā)人員安全性知道培訓,這是一個(gè)開(kāi)始你自己定制程序有用的入門(mén)級培訓材料。
步驟四:擁有專(zhuān)用的測試數據
這樣的情況總是在不斷發(fā)生中的:開(kāi)發(fā)人員使用生產(chǎn)數據進(jìn)行測試。這是一個(gè)需要正確認識的問(wèn)題,因為機密數據(例如客戶(hù)私人可辨識的數據)可能在測試過(guò)程中泄漏,特別是在開(kāi)發(fā)或試運行環(huán)境中并沒(méi)有執行與生產(chǎn)環(huán)境相同的安全措施時(shí)。PaaS的環(huán)境敏感性更甚,而眾多PaaS服務(wù)更易于實(shí)現部署、試運行以及生產(chǎn)之間的數據庫共享以簡(jiǎn)化部署。如開(kāi)源Databene Benerator之類(lèi)的工具可以產(chǎn)生符合你數據庫特定結構的高容量數據,而數據格式調整有助于擁有專(zhuān)用的生產(chǎn)數據。通常,這些處理是屬于特定框架的,因此你需要留意找出一個(gè)能夠在你的特定環(huán)境中正常工作的。
步驟五:重新調整優(yōu)先級
這最后一個(gè)步驟是你可以實(shí)施的最重要的一個(gè)步驟。既然PaaS可能意味著(zhù)一種文化和優(yōu)先級的調整,那么相應地接受這一調整并將其真正納入自己的思想行為體系中。使用PaaS,所有都是與應用程序相關(guān);這意味著(zhù)組織的安全性將高度依賴(lài)于組織中的開(kāi)發(fā)團隊。如果這不是PaaS的問(wèn)題,那么這將會(huì )是一場(chǎng)噩夢(mèng)了,因為在基礎設施級你無(wú)法實(shí)施多少措施以緩解已識別的風(fēng)險。如果你一直以來(lái)都是依賴(lài)于基礎設施級的控制以滿(mǎn)足在應用程序級的安全挑戰,現在是時(shí)候重新考慮。