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