如何評估并確保云API安全
定義不安全API所帶來的風險
首先,對于那些對云API是什么以及云API如何使用不熟悉的人來說,云API本質上只是軟件接口,云提供商利用云API,讓用戶管理云服務,典型的如基于標準的云API。API能夠讓許多常見的云計算進程變得容易,讓更復雜的業務需求實現自動化,例如在多個供應商之間配置各種云,以及為云和內部部署系統應用第三方管理平臺。
然而,云API特別關注云提供商和云客戶。如《九宗罪》報告中所述,在保密性、完整性、可用性和可說明性等方面,不安全的云API會帶來多種風險。雖然所有的云服務提供商都應該密切關注其API的安全性,但是因人而異。因此,了解如何分析云API的安全性是很重要的。
分析云提供商API的一個很好的起點,可以查看GunnarPeterson的Web服務安全清單(PDF),此清單提出了許多與CSA報告同類的問題。以下包括一些客戶應該關注的主要領域:
●傳輸安全性。多數API都通過多種不同的渠道提供,但是需要交互或者攜帶敏感數據的API,應該通過安全的渠道加以保護,如SSL/TLS或IPSec。在云服務提供商(CSP)與客戶之間建立IPSec通道可能很困難或者根本不可能,因此,建立SSL/TLS通道較容易實現。然而這又帶來大量潛在問題,如必須用代理平臺作為中間介質時,會出現內部或者(更常見的)外部證書授權的有效證書的生成與管理問題、平臺服務的配置問題、軟件集成和端到端的保護問題。
●身份驗證與授權。許多云API主要關注身份驗證和授權,因此對許多客戶而言,這也是關鍵關注領域。咨詢CSP的問題包括:API可以管理用戶名和密碼的加密嗎?可以管理雙因素身份認證屬性嗎?可以創建并維護細粒度的授權策略嗎?內部身份管理系統和屬性之間具有連續性嗎?以及內部身份管理系統和云提供商提供的API擴展屬性之間具有連續性嗎?
●代碼和開發實踐。通過JSON和XML消息傳送的,或者接受用戶和應用程序輸入的任何API,都必須經過標準注入式攻擊和跨站請求偽造(CSRF)攻擊、模式驗證、輸入和輸出編碼等的嚴格測試。
●消息保護。除了確保編碼的生成遵循最佳實踐以外,API主要考慮的其他因素包括消息結構、完整性驗證、加密或編碼。
如何確保云API的安全
一旦組織很好的掌握了不安全API帶來的問題,就能夠采取最佳措施確保云API。首先,通過云提供商的API文檔,確定其API安全性,包括現有的應用評估結果和報告,這些都以鑒證業務準則第16號報告(StatementonStandardsforAttestationEngagementsNo.16)或其他報告的形式,展示了安全最佳實踐和審計結果。Dasein云API就是開源性的且可擴展性的云API文檔很好的例子。
除了文檔外,客戶應該向云提供商提出要求,即能夠對API進行滲透測試和漏洞評估,或者云提供商自己完成這些測試,也可以通過第三方供應商完成這些測試,客戶與潛在客戶達成保密協議,因此客戶能夠評估安全實踐。利用網絡和應用控制的結合,以及良好的發展實踐和QA測試,保護Web服務的API,防止開放式Web應用程序安全項目中,常見應用程序安全漏洞名單的前10種漏洞。
此外,許多云服務提供商為客戶提供利用API的訪問和身份驗證機制的加密密鑰。對于客戶和云服務提供商來說,保護這些密鑰都至關重要。
安全策略能夠保證密鑰的產生、傳輸、儲存和處理的合理化,并且密鑰應該安全地存儲在硬件安全模塊或其它加密保護的文件存儲中。應該避免密鑰嵌入到配置文件或其他腳本中,或者直接嵌入到代碼中,因為這些情況會更新密鑰,使密鑰成為開發者和其他人的噩夢。
云服務提供商,如亞馬遜和微軟的Azure,包括基于散列的帶有對稱密鑰的消息認證碼,既具有完整性,又能避免通過不可信的網絡傳輸共享的秘密。構建基于CSP的API的任何第三方都應遵循這一建議,像CSP那樣重視密鑰(和一般的API安全性)。
結論
隨著云應用的開發和集成的發展,毫無疑問,云用戶正面臨著不安全API帶來的嚴重威脅??尚业氖?,供應商也面臨同樣的問題,這個問題將不會出現在下一代CSA熱門威脅列表中。
責任編輯:和碩涵
-
發電電力輔助服務營銷決策模型
2019-06-24電力輔助服務營銷 -
繞過安卓SSL驗證證書的四種方式
-
網絡何以可能
2017-02-24網絡