本文基於我 2023 年 11 月在 Black Hat MEA 上的一次演講。文章探討了年末時的 API 安全性現狀。這主要有兩個原因。其一,與過去幾年一樣,API 的使用量持續成長。它們佔據了大多數 HTTP 流量。其次,也許也是更重要的一點,API 的成長也伴隨著針對這些 API 的攻擊的成長。儘管已經發佈了更新版的 OWASP Top Ten API 清單,但 API 攻擊持續增加這一情況或許更應引起關注。讓我們深入探討這一問題、剖析其根源,並思考對於強化 API 生態系統至關重要的解決方案。
在過去幾年裡,API 已成為越來越強大的工具,用於在現有技術之上進行建置,以建立整合性更高且更動態的應用程式。它們已經成為動態軟體應用程式和業務的推動者。API 也可以用於改善生活。例如,英國的地方議會可能會使用 Environment Agency Rainfall API 提供的資料來瞭解本地趨勢並做好相應的準備。公民參與團體可能想要建置一個可以與公民 API 整合的應用程式,為居民提供有關即將到來的選舉、投票地點和候選人的資訊。此外,還有監管方面的原因,例如開放式銀行業務,在越來越多的國家/地區,銀行必須允許其他銀行和第三方提供者 API 存取其客戶財務資料。這會促進競爭,最終對消費者有利。
隨著 API 數量的成長,針對它們的攻擊也隨之增加。Gartner 早在 2021 年就預測,到 2022 年,API 濫用將從不常見的攻擊手段變成最常見的攻擊手段,從而導致企業 Web 應用程式的資料外洩。儘管發出了無數警告,API 攻擊仍然在很大程度上得逞。在此之前的幾年中,許多知名組織成為受害者。專注於提升 Web 應用程式安全性的 OWASP 組織最初於 2019 年發佈了專門針對 API 的十大風險清單。該清單今年已更新。不幸的是,遭受攻擊的大型企業名單也已更新,其中一些企業今年甚至被攻擊了兩次。如果大型企業都成了受害者,試想那些未見諸報端的企業又遭遇了什麼。今年很有可能將成為 API 外洩事件破紀錄的一年。(我避免提及具體企業名稱,因為這並非意在指責某個企業。)
事實上,這會影響到我們所有人。姑且不論資料外洩的全球平均成本為 445 萬美元這一事實,更重要的是我們越來越多的個人資料掌握在那些自認為有足夠保障措施,但實際上可能並未做到的機構手中。資料暴露或帳戶盜用導致的身分盜用問題,正讓人們承受著本不該如此頻繁發生的困擾。API 攻擊的激增,表明我們需要更深入的瞭解以及更強大的防禦狀態。
在過去一年中,安全領域所面臨的關鍵挑戰可歸納為以下五個方面:
驗證/授權難題:外洩情況通常可以追溯到驗證/授權機制中的弱點。無論是因為認證外洩、驗證方法過於薄弱,還是相關流程/通訊協定不足,身分的中心地位都不會隨著威脅情勢的演變而改變。在過去多年來的兩份 OWASP 清單中,物件層級授權失效 (BOLA) 都是位列第一的 API 安全風險。
API 激增:無論是內部使用還是面向公眾,API 的成長速度都令人震驚。API 及其使用情境的多樣性,使得這一情況成為日益嚴峻的挑戰。
您的 WAF:通常對特定於 API 的流量毫無作用,也無法解決上述第一點問題。大多數攻擊看起來像是合法流量,許多 WAF(包括那些具備機器學習元素的)都會放行這些流量。因此,不盲目信任 WAF 是早期缺失的一個重要步驟。我演講中的一張相關投影片:
卡在中間:儘管「左移」理念的重要性已得到廣泛認知,但無法落實這一理念嚴重削弱了強大的端對端保護措施的實施。對許多團隊而言,在設計和建置時將安全性納入考量仍是一個陌生的概念。而另一些團隊則不瞭解安全性應是一個持續且具有適應性的過程。
API 設定:設定錯誤是 API 安全性的致命弱點,也是 API 安全性管理的痛點。這涵蓋了在實施 API 時可能出現的各種 問題,例如啟用了未使用的 API 方法、保留未使用的預設端點,以及過度記錄等。人們依賴於靜態設定,而不是根據不斷演變的威脅情報進行持續的自適性調整。
這一領域的進展受到三個根本原因的阻礙:
知識/專業能力:無知。個人或團隊對特定於 API 的安全缺乏認知、瞭解或認識。這可能源於缺乏接觸、教育或好奇心。
資金:預算。團隊被要求利用有限的資源完成更多工作。知識淵博的工程師可能會獲得更高的薪水。特定於 API 的安全工具或閘道通常都不是免費的。訓練也被視為成本高昂。組織在配置資金時沒有考慮到遭受攻擊所帶來的成本。
優先級:期限。通常,推出新產品或新 API 比完成簽核所需的安全措施更重要。當安全團隊和開發團隊無法協調一致時,組織未來可能就會因安全事件而成為新聞頭條。
需要注意的是,這些並不互相排斥。
可見度:若看不到,便無法保護。無論稱之為探索還是詳細目錄,重點是您的團隊必須時刻清楚知道有哪些 API 以及它們的位置。影子 API、殭屍 API、測試版 API 和隱形 API 是攻擊者快速入侵的基礎架構的一種途徑。
Zero Trust 架構:每個存取請求都被視為潛在惡意的,直到被證明無害為止,這改變了信任的模式。要為身分/SSO 提供者遭到駭客攻擊的情況做好準備。
AI 驅動的異常偵測:整合 AI 以進行即時異常偵測。組織應使用機器學習演算法來分析模式、行為和偏差,從而能夠主動識別和緩解潛在威脅。
更深入地整合 DevSecOps:將安全性無縫嵌入開發流程已不再只是一種建議,而是一項必須執行的要求。以持續整合和安全為重點的 DevSecOps,已成為建置具有韌性的 API 生態系統的關鍵策略。
縱深防禦:您的安全策略應該是分層的。您的系統能否防禦巨流量攻擊?如果可以,那麼它是否有可靠的授權/驗證檢查?如果有,它是否有強大的加密流程?如果有……
這些解決方案以及其他建議的、廣受歡迎的解決方案,例如威脅建模、分散式 IAM、即時情報摘要、自動化回應、強化網路安全性、執行階段驗證等等,都可歸納為需要留意的三大主要類別:
治理:考慮您的流程、政策和做法
工具:投資您的技術
人員:訓練、測試、文化
個人、團隊和組織必須記住,對此並沒有通用的解決方案。您必須考慮自己的風險接受程度、業務需求、監管要求等因素。您還必須從之前發生的所有攻擊事件中汲取教訓。如果您不幸成為受害者,保持透明不僅是出於監管方面的考量,也有助於他人從您的經歷中受益。
隨著 2023 年接近尾聲,顯而易見,解決 API 安全性這一複雜難題需要採取多面向的方法,精準處理根本原因,並採用現代解決方案。願意投資於主動且具動態性的防禦機制的組織,將會發現自己更有能力應對險惡的威脅情勢。組織應確保擬定相關規則定義,並從概念階段到廢止階段全程執行。
保持警惕!並提前祝您新年快樂!
Cloudflare 就影響當今技術決策者的最新趨勢和主題發表了一系列文章,本文為其中之一。
閱讀《API 安全性指南》白皮書,深入瞭解如何在 API 推動業務發展的同時為其提供保護。
Damiete King-Harry — @damiete
Cloudflare 解決方案架構師
閱讀本文後,您將能夠瞭解:
為何 API 攻擊或許比以往任何時候都更加危險
OWASP API Top Ten 清單的價值
如何使用現代化的複雜解決方案保護您的組織