保護API安全是不可能的任務?
應用程序編程接口(API)是公司企業(yè)為客戶增加其產品價值的好辦法。通過將數(shù)字資產和服務提供給更廣大的受眾,API已經發(fā)展成了核心業(yè)務重點,“API經濟”都成了商業(yè)行話中的固定詞組。
API項目中,既管理訪問又保護系統(tǒng),同時還參與數(shù)字生態(tài)系統(tǒng)的安全策略十分重要。應用程序主管必須設計、執(zhí)行并監(jiān)管有效API安全策略,包括API網關的使用。而隨著該領域的發(fā)展和業(yè)內玩家數(shù)量的增加,企業(yè)不安全API的采納所帶來的危險也在增多。
API就是通往數(shù)據(jù)和應用程序的大門,在這里融入安全與保護Web應用同等重要。
為全面保護API,解決架構、DevOps和生產中的安全需求是重點。軟件開發(fā)生命周期(SDLC)中安全評估的拐點取決于開發(fā)團隊是在遺留應用中啟用API,還是打造新的API優(yōu)先應用。雖然評估和緩解的要求大部分相同,團隊還是需要做到:
1. 對API執(zhí)行動態(tài)應用安全測試(DAST),為發(fā)現(xiàn)的漏洞創(chuàng)建緩解/修復計劃。
2. 為DevOps過程中的API實現(xiàn)代碼執(zhí)行服務組件架構(SCA)和靜態(tài)分析安全測試(SAST)分析。
3. 在企業(yè)應用架構中使用安全設計模式。一些安全設計模式樣例包括:
- 自動編碼模板以防止跨站腳本(XSS)通過模板使用輸出編碼;
- 采用上下文輸入驗證以防止輸入攻擊;
- 運用同步令牌防止利用令牌的跨站請求偽造(XSRF)攻擊;
- 采用變量綁定防止利用對象關系映射器(ORM)的SQL注入;
- 使用加密外觀以減少密碼漏洞
- 在SDLC中實現(xiàn)健壯的反饋環(huán),根據(jù)各類掃描的發(fā)現(xiàn)做出響應。
這些步驟確保API享有完整的安全覆蓋,團隊可以在問題出現(xiàn)前找到并修復漏洞。
你可能會覺得自己已經有了解決API安全問題的管理工具,但擁有該工具還只是實現(xiàn)API安全的一步。API管理工具提供的安全策略適用于邊界,但對呈上API的業(yè)務邏輯安全毫無作用。我們的目標是在軟件生命周期中嵌入應用安全(DAST、SAST和SCA),作為整體API安全策略中的一部分,編寫出安全由內而外的API。
總之,安全評估的結果對沖刺周期中的開發(fā)及安全利益相關者來說至關重要,而上述技術可以提升公司API的完整性和采納率。
【本文是51CTO專欄作者“李少鵬”的原創(chuàng)文章,轉載請通過安全牛(微信公眾號id:gooann-sectv)獲取授權】