一,、序言
API為當今大多數(shù)數(shù)字體驗提供了動力,API安全性仍然是大多數(shù)CXO最關(guān)心的問題,。盡管數(shù)字化轉(zhuǎn)型不斷推動API在各個行業(yè)的應用,但惡意威脅行為比以往任何時候都更加瞄準API。當前API的安全狀態(tài)與組織的需要存在很大差距,,組織經(jīng)常受困于難以理解的攻擊面,缺乏正確的策略來構(gòu)建防御,,本文的目的即是討論當今API生態(tài)系統(tǒng)面臨的不同挑戰(zhàn)和威脅,,并提供保護API的最佳實踐。
二,、API安全面臨的挑戰(zhàn)
API處于數(shù)字化體驗的中心,,移動應用、WEB網(wǎng)站和應用程序的核心功能,、微服務(wù)架構(gòu),、監(jiān)管機構(gòu)的要求等等,均離不開API的支持,,根據(jù)Akamai的一項統(tǒng)計,,API請求已占所有應用請求的83%,,預計2024年API請求命中數(shù)將達到42萬億次。與此同時,,針對API的攻擊成為了惡意攻擊者的首選,,相對于傳統(tǒng)WEB窗體,API的性能更高,、攻擊的成本更低,,Gartner預測,到2022年API濫用將是最常見的攻擊方式,。之所以API安全問題如此嚴重,,主要是因為API安全面臨著如下挑戰(zhàn):
1.應用和邏輯遷移上云,暴露更多攻擊面
隨著云計算技術(shù)的廣泛應用,,越來越多的Saas被遷移上云,,在為更多的用戶提供服務(wù)的同時,也將API暴露到云中,,相對于傳統(tǒng)數(shù)據(jù)中心的單點調(diào)用,,東西向和南北向都可能成為API的攻擊面。
2.創(chuàng)新強調(diào)速度和靈活,,忽略構(gòu)建API安全
敏捷開發(fā)模式是當今主流開發(fā)模式,,敏捷開發(fā)強調(diào)個體和互動、工作的軟件,、客戶合作,、響應變化,雖然提升了創(chuàng)新速度和靈活性,,但是對于如何構(gòu)建API安全性卻缺少合適的方法,,導致在軟件構(gòu)建過程中難以顧及API安全。
3.API接口對外不可見,,引發(fā)多種攻擊隱患
由于API是由程序員書寫,,除了編寫代碼的程序員,很少有人意識到這些API的存在,,缺少維護的API經(jīng)常容易被忽略,,然而惡意攻擊者卻可以利用網(wǎng)絡(luò)流量,、逆向代碼,、安全漏洞等各種手段找到不設(shè)防API并實施攻擊。
4.組織經(jīng)常低估API風險,,造成安全措施遺漏
人們通常會假設(shè)程序會按照想象中的過程運行,,從而導致API被攻擊的可能性以及影響被嚴重低估,因此不去采取充分的防護措施,。此外,,第三方合作伙伴系統(tǒng)的API,,也容易被組織所忽視。
三,、API面臨的安全威脅
據(jù)權(quán)威報告顯示,,以API為目標的攻擊是以HTML應用為目標攻擊的三倍,部分攻擊造成了嚴重的業(yè)務(wù)中斷,,攻擊者利用弱身份認證,、授權(quán)和注入漏洞實施攻擊的方法仍然普遍,而利用Json,、XML等基于解析器的攻擊以及第三方API集成帶來的風險正在增加,,經(jīng)綜合分析,API的攻擊類型包括:
1.憑證類攻擊
據(jù)統(tǒng)計,,2018-2020期間,,有1000億次的憑證盜用攻擊,而且每年攻擊的復雜度和數(shù)量都在持續(xù)增加,,憑證盜用攻擊的代價高達2280萬美元,,平均每30秒就有一位憑證盜用的受害者。攻擊者通過購買,、釣魚,、漏洞利用等方式獲得API登錄憑證,繼而利用僵尸網(wǎng)絡(luò)接入客戶站點API,,盜取客戶數(shù)據(jù)或者個人信息,。
2.可用性攻擊
當API端點對外暴露,攻擊者就可以利用DDOS或者攻擊API解析器,,造成API無法提供相應服務(wù),。對于DDOS,除了部署常規(guī)Anti-DDOS設(shè)備以外,,還要關(guān)注合作伙伴API的DDOS攻擊承受能力,,如果僅僅依靠合作伙伴的安全措施,原始API就得不到保護,。而針對API解析器的攻擊則更具有針對性,,可能造成哈希值沖突或者反序列化異常,進而拒絕API請求,。
3.漏洞利用攻擊
漏洞利用是所有應用程序面臨的安全威脅,,API也不能例外。通過在API的函數(shù)參數(shù),、Json,、XML等有效負載嵌入惡意代碼,實施目錄轉(zhuǎn)換,、命令注入,、SQL注入,、XSS、繞過身份認證和授權(quán)等常見的API攻擊手段,,達到敏感數(shù)據(jù)竊取或破壞系統(tǒng)的目的,。更進一步,API攻擊已經(jīng)工具化,,攻擊者能夠利用工具搜集用于攻擊的域名和API列表,,再使用其他工具查找或刪除敏感數(shù)據(jù)。
四,、API安全防御的最佳實踐
API安全防御是系統(tǒng)化工程,,相對于傳統(tǒng)防御側(cè)重訪問控制、簽名,、速率調(diào)節(jié),、加密等具體的技術(shù)手段,新的安全實踐更加強調(diào)API治理,、新型解決方案以及持續(xù)API安全檢視的系統(tǒng)化措施,。
1.API治理
首先,對全部API進行全面文檔化管理,,為了規(guī)避API變動頻繁的困難,,推薦使用開源自動化管理工具,在API變更時添加描述性說明,,自動生成最新API文檔,,同時自動檢查流量以發(fā)現(xiàn)和分析未知或更改的API,以便快速響應基于API的攻擊,。其次,,梳理API之間的調(diào)用鏈,梳理API之間的調(diào)用關(guān)系,,找出僵尸API,,防止安全防護措施遺漏,該步驟也可通過工具完成,。最后,,對API實施契約測試和白盒測試,減少漏洞存在的可能性,。
2.新型解決方案
針對API面臨的安全威脅,,可采用新的解決方案提供安全防護。包括使用高級BOT檢測,,實現(xiàn)預登陸驗證,,攔截API非授權(quán)訪問;部署API網(wǎng)關(guān)對API請求進行身份驗證,、授權(quán)和訪問控制,;使用正向和負向安全模式對API參數(shù)進行合法性驗證;發(fā)現(xiàn)API流量行為并提供與WAF/DDoS快速集成的工具等等,。
3.持續(xù)API安全檢視
從發(fā)現(xiàn),、保護和分析三個維度,制定API安全檢視列表,,持續(xù)對API進行安全檢視,,以此發(fā)現(xiàn)隱患,制定策略,、實施防護,。在發(fā)現(xiàn)維度檢視API開發(fā)、測試和部署的安全措施是否全面,。在保護維度,,檢視用戶標識、DDOS攻擊防護措施,、數(shù)據(jù)校驗黑白名單是否完整,。在分析維度,檢視API風險評估,、API審計日志是否充分,。
五、展望
隨著信息技術(shù)的快速發(fā)展,,API安全防護也在持續(xù)演進過程中,,最初API安全防護解決無效輸入、DOS攻擊,、認證繞過等攻擊,,現(xiàn)今的防護重點則落地在緩沖區(qū)溢出、XSS,、SQL注入等漏洞防護,,安全防護的措施也從單個漏洞防護升級為網(wǎng)關(guān)、應用系統(tǒng)防護,。未來,,多向量、自動化工具,、武器化人工智能類的攻擊將成為API攻擊的主流,,相應的,安全防護措施也需加強系統(tǒng)化,、自動化,、深度學習、智能化能力,,向以體系對抗體系,,以智能防護智能的方向演進,。