云應用程序的安全問題和注意事項
專家表示,那些急于把內部開發的應用程序放在云上,以節省成本并提高效率的企業,需要慎重考慮云環境中應用程序的安全環境變化。
云應用程序比較突出的安全問題之一,是計算基礎設施缺少控制。微軟在線服務(Microsoft Online Services)部門的安全研究員兼經理Russ McRee表示,企業把原來的應用程序轉移到云計算環境中,就放棄了對網絡基礎設施的控制,其中包括服務器、訪問日志、事件響應以及補丁管理等。
“你把控制權交給了提供這種服務的人。雖然這樣可以節省費用并轉移管理負擔,但是也把控制權限讓出去了,”他說道。
網絡和電子郵件安全公司Zscaler(位于加利福尼亞州森尼維爾市)副總裁Michael Sutton(他還是云安全聯盟的會員,該組織旨在推廣云安全的最佳實踐,是一個非盈利組織)指出:“在你自己的基礎設施中,你能夠明白發生了什么,”, “可是在這種情況下,你不知道。這只是其他人管理的云,他們可能不愿意與你分享他們是如何配置設備的。”
CSA的創辦會員Dennis Hurst(他還是惠普公司的安全專家)指出,大多數應用程序都是以企業數據中心為基礎建立的,所以他們的存儲方式、與其他系統進行數據傳輸的方式都被認為是可信的或者安全的。
“當你把應用程序轉移到云的時候,你必須要考慮到該應用程序將處于一個不太友好的環境中。”他指出,“原來可信的并且在安全環境中運行的所有部件現在運行在一個不受信任的環境中。你必須考慮更多的東西:網絡接口、數據存儲、數據傳輸等。”
不同的威脅模型
根據去年夏天發布的CSA的領域10: Application Security(應用程序安全)V2.1指南,云計算基礎設施的靈活性、開放性以及公眾可獲得性,為應用程序安全的許多基本假設造成了困難。CSA建議,對網絡基礎設施缺乏物理控制這方面,可以在處理敏感數據的應用程序服務器之間通信時采用加密技術,以確保其機密性。
應用程序安全公司Veracode的共同創辦人和首席技術官Chris Wysopal(他還是CSA會員)表示,現在必須要重新考慮應用程序處于公司內部時公司能夠接受的風險,因為應用程序轉移給了云提供商。
比如,一個應用程序訪問服務器上帶有敏感數據的文件,但是沒有加密,一個公司可能接受這種風險,因為這些硬件都是自己的。“現在我們轉移到云上,那里沒有本地文件系統,它會登錄某些共享存儲陣列,現在你需要對其進行加密。”
“威脅模型改變了,所以原來許多比較弱漏洞的威脅,現在都變得比較大了,你需要解決這些問題,” Wysopal補充道。
McRee指出,在自己的數據中心運行應用程序的公司,可以用某些特定的基礎設施避開拒絕服務攻擊,或者采取嚴厲的措施來阻止IP地址攻擊。“如果你委托你的云供應商去做這些減弱攻擊的工作,他們會做的如何呢?你看不見他們在做什么。你需要重新考慮如何減輕這種風險或者攻擊。”
更改后的威脅模型需要在安全開發生命周期中進行驗證,這是由微軟提出的理念,并在全球范圍內應用。“這很關鍵,”他說,“你還應該把所有這些原理應用于你的應用程序,理解應用程序的內部性質,數據如何流動,以及威脅模型等每一方面。重復地做這項工作直到你確定所有的標準SDL要求都得到了滿足。”
工具和服務
Zscaler的Sutton指出,在云環境中,企業不能使用跟公司內部相同的安全工具和服務,比如說網絡應用防火墻等。舉個例子,一個公司為了給傳統應用程序增加安全級別,使用了網絡應用程火墻,在云中該公司不能再選擇這種工具。
“在云中,你不擁有那些基礎設施,也不能進行管理,所以你不能簡單地走進數據中心然后把盒子放進去,”他指出。
CSA的云應用程序安全指南指出,基礎設施服務提供商正在提供云應用程序安全工具和服務,其中包括WAF、網絡應用程序安全掃描以及源代碼分析工具等。該報告指出,這些工具或者是供應商專用工具,或者是第三方專用工具。
McRee建議那些把應用程序轉移到云環境的公司,使用能夠提供強大日志記錄功能的任何API。他說道,“作為一個應用程序的所有者,請利用好API。你可以利用這種信息為安全活動提供幫助。”
服務協議
McRee指出,企業把應用程序轉給云供應商,失去了控制,所以企業需要充分了解服務協議中有哪些規定。“一定要把你想要的東西說出來,即便是他們告訴你他們不能提供這個,”他說,請注意,供應商會根據不同的客戶去來大自己。
該CSA指南指出,應用程序安全必須“在SLA里面闡述為一系列明確的活動和保證。這可以包括提供供應商采取的安全措施文檔,以及允許進行與這些活動有關的合理的安全測試,比如日志記錄、審計報告以及安全控制的定期驗證等。”
惠普的Hurst表示,把傳統的應用程序轉移到云環境中是改善安全狀況的一個機會。
“過去應用程序安全不像今天這么關鍵的時候,很多應用程序都被直接部署了,”他說道,“現在有個很好的機會,我們可以重新為這些應用程序進行適當的威脅建模、評估等。我們非常應該在開始的時候就把所有的這些事情完成。”