剖析 Edulog 家長門戶網站 API 漏洞,化解 BOLA 威脅

作者:szSun · 2024-08-18 · 閱讀時間:5分鐘
2023 年 9 月 13 日,Tenable 的研究人員發現 Edulog 的家長門戶 API 中存在一個漏洞,該漏洞允許任何創建帳戶的人繞過學校注冊保護措施并“不受限制地訪問”任何可用信息。?

Edulog 家長門戶平臺發生了什么?

2023 年 9 月 13 日,Tenable 的研究人員發現 Edulog 的家長門戶 API 中存在一個漏洞,該漏洞允許任何創建帳戶的人繞過學校注冊保護措施并“不受限制地訪問”任何可用信息。 

這個 API 缺陷暴露了什么?

  • 學生姓名
  • 指定公交車的 GPS 位置
  • 家長聯系信息

攻擊者如何利用該漏洞? 

任何創建帳戶的人都可以手動直接向 API 端點提交請求。這樣他們就可以從上面檢索任何信息,甚至無需注冊學校。 

對象級授權失效

請求驗證失敗允許攻擊者通過重復使用訪問令牌執行未經授權的操作。Tenable 研究人員利用此漏洞從其他用戶那里獲取信息。 

身份驗證失敗

破壞的用戶身份驗證允許攻擊者冒充合法用戶。Tenable 研究人員通過手動向 API 端點提交請求來實現這一點。API 將研究人員視為帳戶所有者。?

如何防止這種情況發生在你身上

Edulog 不是第一個擁有易受攻擊的 API 的教育平臺,當然也不會是最后一個,但有一些措施可以防止類似的事情發生。以下是您可以采取的措施來保護您的公司免受 BOLA 和 Broken Authentication 的侵害:

實施強大的授權機制

實施強大的授權機制是任何組織對抗 BOLA 漏洞應采取的第一步。 

許多組織認為他們的 API 是安全的,因為他們有強大的身份驗證。但當涉及到 BOLA 漏洞時,這實際上并沒有多大幫助。

為了保證 API 的安全,您需要強大的身份驗證機制,但更大的挑戰是確保您擁有良好控制的授權策略,并進行嚴格、持續的測試,以確保它們沒有邏輯缺陷或漏洞。

使用隨機通用唯一標識符 (UUID)

下一步是重新定義在 API 生態系統中生成和管理 ID 的過程。自動遞增 ID 絕對必須取消。

作為替代方案,在創建和訪問 API 時使用隨機 ID。這些 ID 通常稱為 UUID,專門設計用于讓網絡犯罪分子或未經授權的用戶難以猜測。

UUID 由字母、數字和符號組合組成,沒有固有含義或模式,因此幾乎不可能猜測或進行逆向工程。

使用 UUID 可最大限度地降低惡意篡改的風險,這是 BOLA 漏洞的根本原因之一。

專注于您的業務邏輯層

BOLA 漏洞非常棘手,因為它們通常潛伏在API 的業務邏輯層中。

這意味著什么?這意味著 BOLA 漏洞通常是由于 API 合法功能設計缺陷而發生的,而不是惡意代理使用復雜的漏洞侵入您的系統。

這就是為什么要仔細測試您的業務邏輯層以發現每次發布時無法使用漏洞掃描程序可靠解決的漏洞至關重要。

“BOLA 已經位居 OWASP API 安全前 10 名榜單之首,這是有充分理由的。API 提供商在確保用戶通過 API 身份驗證方面做得很好,因此他們希望確保合法用戶能夠訪問。但經常被忽視的第一件事是授權,確保用戶 A 無法訪問用戶 B 的資源。隱藏資源 ID 是一回事,但重要的因素是用戶 A 根本不能訪問、交互或更改用戶 B 的資源。”

– Corey Ball,網絡安全咨詢經理兼《Hacking API》作者

實施零信任安全模型

實施零信任安全模型是組織通常采取的另一個措施,以保護 API 免受 BOLA 漏洞的攻擊。

在傳統的安全模型中,經過授權和認證的用戶默認是受到信任的。

但在零信任安全模型中,所有用戶在訪問任何資源之前都必須經過身份驗證和授權。此外,授權用戶會受到持續監控,以防止內部威脅。

基于此模型,每個 API 調用都必須經過身份驗證和授權才能執行。用戶通過身份驗證后,現有的授權機制將確定用戶是否被允許訪問所請求的資源。

如果用戶未獲得授權,則不會執行 API 調用,這使得攻擊者更難以利用 BOLA 漏洞。

確保持續進行 API 安全測試

這可以說是保護 API 免受 BOLA 漏洞攻擊的最有效方法。然而,問題就在這里。

傳統的 API 安全測試工具并不可靠,因為漏洞掃描程序沒有考慮到 API 的獨特架構,而滲透測試無法擴展以確保每次更新都完全覆蓋。

APIsec 是一種行業領先的解決方案,它利用人工智能的力量來剖析您的 API 并生成旨在識別業務邏輯漏洞的定制攻擊場景。

APIsec 是自動保護您的 API 免受 BOLA 漏洞和最重要的業務邏輯缺陷侵害的唯一可靠方法,同時確保全面覆蓋并消除人為錯誤。

文章來源:Edulog Parent Portal Breach: Unraveling the API Vulnerability and Safeguarding Against BOLA Threats