RASC解讀-The Rise of API Security
一、前言
在2022RSA大會上,來自Techstrong Research[1]的Mitch Ashley發表了一個名為“The Rise of API Security:It’s 10 pm – Do You Know Where Your APIs Are?”的演講。該議題主要針對目前不斷增長的API安全進行了調查和探討。Mitch Ashley從API安全增長的原因,目前企業的API安全建設現狀,以及API的管理建設分析了當前API安全的發展趨勢。
二、API安全增長的原因
API(Application Programming Interface)作為程序之間交互的橋梁,承擔著數據傳輸的重大作用。隨著軟件工程的不斷發展,企業的系統結構也在順應潮流不斷發展。
傳統的單體應用的架構因為其單一應用,非模塊化,只區分UI界面,數據,業務邏輯,只需要對外暴露少量API即可。但是這種模式比較臃腫,不夠靈活。因此,催生出對面服務的SOA架構,將各個模塊功能拆分為服務,對外暴露,并使用broker服務發現,并定義特定的數據傳輸協議和各種遠程調用協議,例如早期的zookeepr,dubbo。成功地將傳統的單體應用變成了分布式的應用,模塊的擴展也更加靈活。隨著云原生技術的發展,容器化技術,可編排,微服務,服務網格等技術使得業務的架構管理更加靈活。與之同時,帶來的也是各個模塊之間交互的API的大量增長。

圖1 軟件架構引進過程
面對越來越細化的業務需求,如圖2所示傳統的瀑布式的開發流程也如同單體架構一樣愈顯臃腫。從項目的需求,設計,開發,測試,發布,運營,整個流量往往是以季度為單位。新的API的引入的周期也比較長。

圖2 瀑布流式開發模式
因此圖3所示的DevOps形式的敏捷開發流程也越來越受到公司的青睞。需求快速迭代,往往2-4周就一個迭代周期。新的功能也能比較快地上線,API引入的代價也會比瀑布式開發流程低很多,這也導致了會更容易引入新的API。

圖3 敏捷開發流程
但與之同時,如何對快速增長的海量API進行安全治理與管控也成了企業實施DevOps時必須考慮的一個重要環節。
三、企業API安全建設現狀和問題
根據圖4企業2022年API 安全項目調查顯示,目前僅有 18.3%的企業建立了API安全的項目,但是在圖5的DevSecOps流程是否優先考慮API安全性調查中顯示,有45.53%的企業期望在其DevSecOps中優先考慮API安全性。這表明API安全仍有著很大的市場。

圖4 企業2022年API 安全項目調查

圖5 DevSecOps流程是否優先考慮API安全性調查
圖6中,用戶最關心的3個API安全的問題,大家主要擔心的是數據泄露、擴展了攻擊面和被外部實體利用。數據是企業最重要的資產之一,我國的《數據安全法》也在2021年正式實施。API新引入的攻擊面與廣泛存在的API對外暴露場景,也要求企業對API的暴露面與正確使用做好相應的管控。API安全建設是企業安全建設的一個重要環節。

圖6 用戶最關心的3個API安全的問題
四、API安全建設
API安全建設是一個持續的建設的過程。API的安全建設主要覆蓋以下3個方面,如圖7所示。
API生命周期的管理:覆蓋API的創建,發布,實現,維護,以及退出的整個周期。
API安全:需要做好API的認證,授權,發現,防護,測試,分析。
API協議:API涉及多種類型的協議和數據類型,做好不同類型的協議和數據的分析只是也只API安全建設中很重要的一環。

圖7 持續的API管理
關于API安全的管理。Mitch Ashley提出“API先行”(API-FIRST)的理念。企業應該將API安全治理相關的設計放到產品設計的初期階段。在API的生命周期里面就應當考慮到API的安全設計,做到持續的面向API的安全治理,并確保API安全與DevOps/DevSecOps相融合,實現安全能力的左移,在系統設計初期就引入安全能力,將能夠有效的規避后期可能出現的大量風險。這要求我們在API的設計之初就需要遵循一定的設計安全規范,來保障安全的有效性。關于需要遵循的API安全實踐,通常有以下方面:
· 遵循OWASP API TOP10的規范[2]
· 采用OAuth或者API鑒權
· 添加合適的流控限制
· 零信任
· API網關
· 做好代碼審計掃描
五、總結
在現在云原生的環境下,隨著系統架構和開發模式的迭代更新,API的數量呈現飛速上漲趨勢,API的安全風險也越來越不容忽視,越來越多的攻擊瞄準了系統的API。而從調查來看,目前企業的API安全建設還不夠完善。這也意味著這里存著在一個比較大市場機會。關于如何做好API安全,企業可以通過API先行的方式,在系統設計初期就做好API的管理,規避API的安全風險。同時做好API的整個生命周期的安全管理,遵從API安全實踐,減少API風險,降低企業攻擊的暴露面,防止網絡攻擊與數據泄露。
參考文獻
參考文獻
[1] https://techstrongresearch.com
[2] https://owasp.org/www-project-api-security