API 類型

API 根據其用途而具有多種形式,這有助于您確定潛在的安全風險,并為您應采用的 API 安全技術和策略類型提供指導。

憑證如何影響 API 安全性

有權訪問 API 憑證的任何人都有權向 API 發出請求,以便他們可以與 API 提供的敏感數據、應用程序或 Web 服務進行交互。

API 憑證的兩個組件對于加強 API 安全性至關重要。

  1. API 密鑰/令牌:一種獨特的字母數字字符串,可作為一種身份證明。它由 API 提供商提供給開發人員或應用程序,并在發出安全 API 請求時作為身份證明。
  2. 密鑰:在某些情況下,API 密鑰或令牌會與密鑰配對,密鑰是只有 API 提供商和授權應用程序才知道的機密信息。此密鑰用于生成加密簽名或執行其他與 API 安全相關的操作。

API 安全最佳實踐包括隨機生成密鑰和機密、為不同的應用程序使用不同的密鑰和機密、定期輪換密鑰和機密以及在不再需要時刪除密鑰和機密。現代特權訪問管理 (PAM)保險庫可自動管理這些流程,甚至以快速開發周期和DevOps 工作流所需的速度進行管理。

訪問控制如何影響 API 安全性

API 訪問控制決定誰可以訪問哪些資源并執行特定操作。您可以利用多種手段來確定 API 訪問控制的“誰、什么和何時”,以改善您的 API 安全狀況。

采用細粒度的訪問控制方法可幫助您根據最小權限原則保護 API ,以便人員和系統僅訪問他們需要的數據和功能。PAM 解決方案允許您設置基于風險的訪問控制,提供即時、足夠的訪問權限以提高 API 安全性。

設計 API 的安全注意事項

除了管理 API 憑證和特權訪問之外,設計最佳實踐還可以幫助您提高 API 安全性。創建自己的 API 時,請仔細檢查是否已正確配置它們以消除漏洞。如果您使用的是第三方設計的 API,請在將它們集成到您的 IT 環境中之前確認這些元素已到位,以免引入漏洞。

請記住檢查:

接下來,讓我們看看如果不遵循這些最佳實踐會發生什么。

API 安全漏洞和攻擊路徑示例

攻擊者獲取您的 API 初始訪問權限的最常見方式是利用代碼中的憑據。

源代碼是一種易泄露的資產。開發人員通常會在 Wikis 留言板和 Slack 頻道中保護代碼。但很多時候,這些代碼最終都會出現在 GitHub 等公共存儲庫中。不幸的是,這些源代碼中的大部分都包含嵌入式 API 憑據。在我們的 401 Access Denied 播客——與 Mackenzie Jackson 一起發現和竊取秘密——中, GitGuardian 分享了他們掃描了 GitHub 中超過 10 億次提交,發現了 1000 萬個秘密,包括 API 密鑰。

一旦攻擊者通過 API 憑證進行身份驗證,他們就可以輕松避免檢測,因為他們在預期的參數范圍內工作

攻擊者正在積極搜索這些公共存儲庫,以查找用于惡意目的的 API 憑據。他們使用這些憑據獲得對 API 的初始訪問權限,然后繼續枚舉以查找其他憑據來訪問您 IT 環境中的更多資源。一旦攻擊者使用 API 憑據進行身份驗證,他們就可以輕松避免檢測,因為他們在預期的參數范圍內工作。這就是 API 安全性如此難以攻克的原因之一。

有了 API 憑證,攻擊者就可以進行任意數量的活動,即使您遵循了上面詳述的安全 API 設計指南。

通常,它們可能會通過 SQL 注入或 NoSQL 注入攻擊注入惡意代碼并危害您的系統。因此,您應該始終在 API 中處理用戶輸入之前對其進行驗證和清理,并使用參數化查詢來防止注入攻擊。

API 可能成為 DDoS 攻擊的目標,這可能會使您的基礎設施不堪重負并導致服務中斷。當 API 托管在云中時,這些攻擊可能尤其具有破壞性。為了提高 API 安全性,您應該始終采用 DDoS 緩解解決方案和流量監控來及時檢測和緩解 DDoS 攻擊。如果您的 API 托管在云中,基于云的 DDoS 保護服務是關鍵。

通過黑客場景測試并提高您的 API 安全技能

提高對 API 安全性的理解的一個好方法是逆向分析黑客在現實生活中會采取的攻擊路徑。您可以使用 Hackthebox 平臺來試用為此目的設置的 API。

黑客攻擊場景 1:利用弱憑證

Hackthebox 的“Secret”是一臺退役的 Linux 機器,難度為簡單。它使用具有弱身份驗證的自定義 API。為了鏡像黑客的攻擊路徑,您可以對機器進行典型的偵察,這會顯示三個開放端口:端口 22 – SSH、端口 80 – NGINX 和端口 3000 – Node.js。

瀏覽該網站會顯示有關基于 API 的身份驗證、安裝和其他詳細信息的詳細信息。它還提供源代碼供下載。

下載源代碼后,它會顯示一個包含多個提交的 .git 存儲庫。

探索 .git 提交會揭示代碼更改的詳細信息,該更改會刪除硬編碼令牌并將其替換為通用的“秘密”。

一旦您了解了令牌,您就可以偽造自己的令牌并找到訪問網站和系統的方法。

使用 Delinea DevOps Secrets Vault 管理應用程序、數據庫、CI/CD 工具和服務的憑據

黑客攻擊場景 2:利用錯誤配置

在這種情況下,黑客會利用未充分保護數據的 API 端點,無意中通過錯誤消息泄露信息。“Monteverde”是Hackthebox提供的 Windows 計算機,它演示了暴露的配置文件和硬編碼憑據如何導致端點入侵。

它的工作原理如下。

Hackthebox 的“Monteverde”是一臺中等難度的 Windows 機器,并具有 Azure AD Connect。

通過偵察機器發現的弱憑證獲得訪問權限后,您將看到暴露域管理員憑證的配置文件。在這種情況下,敏感信息未加密或屏蔽。它會顯示在錯誤消息中。

API 安全資源助您培養技能

由于網絡犯罪分子不斷改進其策略,API 安全性變得越來越具有挑戰性。網絡社區有許多資源可幫助您掌握最新技術并實施 API 安全性的最佳實踐。以下是您應該查看的一些優秀資源:

OWASP API 安全項目

與其他 OWASP 項目一樣,API 安全項目受益于多元化專家社區的協作。這種協作方式可確保所提供的指導和資源具有相關性且最新。該項目做了許多事情:

APISEC 大學

這是專門針對 API 安全的免費實踐課程的絕佳資源。

黑客 API

Corey J. Ball 的《黑客 API》將教您如何測試 Web API 是否存在安全漏洞。您將了解常見的 API 類型(REST、SOAP 和 GraphQL)在實際中的工作方式,以及如何設置 API 安全測試實驗室來執行常見攻擊,例如針對 API 身份驗證機制的攻擊和 Web 應用程序中常見的注入漏洞。

你成功了!

實施本博客中的建議將幫助您消除 API 中的漏洞并降低數據泄露和網絡攻擊的風險。記錄您的 API 安全策略,以便任何設計、實施或管理 API 訪問權限的人都有一份可遵循的清單。

此外,請務必監控 API 的使用情況并定期進行滲透測試,以確認安全控制措施按預期發揮作用。這樣,您就可以向任何審計員、監管機構或網絡保險提供商證明,您正在盡一切努力確保 API 安全。

文章來源:API security and the importance of credentials and access control

上一篇:

API安全配置:詳細操作指南

下一篇:

Web應用程序和API安全的新規則
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費