什麼是 OWASP 十大 API 安全風險?

開放式 Web 應用程式安全專案 (OWASP) 彙總了應用程式程式設計介面 (API) 的最大安全風險清單。

學習目標

閱讀本文後,您將能夠:

  • 總結 OWASP API 十大安全風險
  • 將此清單與 OWASP Top 10 進行比較

複製文章連結

什麼是 OWASP 十大 API 安全風險?

開放式 Web 應用程式安全專案 (OWASP) 是一個非營利組織,其目標是促進 Web 應用程式安全性。OWASP 為任何想要構建安全 Web 應用程式的人提供許多免費資源。

他們最廣泛引用的資源之一是 OWASP Top 10,其中列出了 Web 應用程式的 10 大安全問題。

OWASP 還為應用程式程式設計介面 (API) 維護了一個單獨的類似清單,API 是大多數 Web 應用程式的關鍵構建塊。此清單是「OWASP API Security Top 10(OWASP API 十大安全風險)」。

截至 2019 年*,OWASP API 十大安全風險包括:

  1. 失效的物件級授權:這是指在請求中操縱物件識別符以獲得對敏感性資料的未經授權的存取。攻擊者僅透過變更識別符即可存取他們不應存取的物件(資料)。
  2. 失效的使用者驗證:如果驗證實作不正確,攻擊者可能能夠冒充 API 使用者,並存取機密資料。
  3. 過度的資料暴露:許多 API 在暴露資料方面犯錯,並依靠 API 使用者正確篩選資料。這可能允許未經授權的人檢視資料。
  4. 缺乏資源和限速:預設情況下,許多 API 不限制它們在給定時間可以接收的請求的數量或大小。這使他們容易受到阻斷服務 (DoS) 攻擊
  5. 失效的功能級授權:這種風險與授權有關。API 使用者可能被授權做太多事情,導致資料暴露。
  6. 批量指派:API 自動將使用者輸入套用至多個屬性。例如,攻擊者可以利用此漏洞將自己變更為管理員,同時更新其使用者設定檔的其他一些無害屬性。
  7. 安全設定錯誤:這涵蓋了設定 API 時的各種錯誤,包括錯誤設定的 HTTP 標頭、不必要的 HTTP 方法,以及 OWASP 所說的「包含敏感性資訊的詳細錯誤訊息」。
  8. 插入:在資料隱碼攻擊中,攻擊者向 API 傳送專門的命令,誘騙其洩露資料或執行其他一些意外動作。瞭解 SQL 資料隱碼攻擊
  9. 資產管理不當:當沒有追蹤當前的生產 API 和已棄用的 API 時,就會發生這種情況,從而導致影子 API。API 很容易受到這種風險的影響,因為它們往往提供太多端點
  10. 記錄和監控不足:OWASP 指出,研究表明通常需要 200 多天才能偵測到洩露。詳細的事件記錄和嚴密監控可以使 API 開發人員更早地偵測和阻止洩露。

*截至 2021 年 12 月,該清單自 2019 年以來未更新。

想要更深入地瞭解這 10 個安全風險,請參閱 OWASP 的官方網頁

OWASP Top 10 清單(此處為完整清單)和 OWASP API 十大安全風險清單之間存在一些交叉。例如,插入、失效的驗證以及記錄和監控不足都出現在兩者中。但是,與 Web 應用程式相比,API 存在的風險略有不同。開發人員應該同時考慮這兩個清單。

Cloudflare API Shield 如何幫助應對這 10 種安全風險?

Cloudflare API Shield 使用分層 API 防禦來防禦各種針對 API 的攻擊。其中的功能包括資資料外洩防護(針對 1 號和 3 號風險)、mutual TLS(針對 2 號風險)和限速(針對 4 號風險)。請參閱 Cloudflare API Shield 頁面上的完整功能清單。

要瞭解有關 API 安全的更多資訊,請閱讀什麼是 API 安全性?