API 類型

API 根據(jù)其用途而具有多種形式,這有助于您確定潛在的安全風(fēng)險(xiǎn),并為您應(yīng)采用的 API 安全技術(shù)和策略類型提供指導(dǎo)。

憑證如何影響 API 安全性

有權(quán)訪問(wèn) API 憑證的任何人都有權(quán)向 API 發(fā)出請(qǐng)求,以便他們可以與 API 提供的敏感數(shù)據(jù)、應(yīng)用程序或 Web 服務(wù)進(jìn)行交互。

API 憑證的兩個(gè)組件對(duì)于加強(qiáng) API 安全性至關(guān)重要。

  1. API 密鑰/令牌:一種獨(dú)特的字母數(shù)字字符串,可作為一種身份證明。它由 API 提供商提供給開(kāi)發(fā)人員或應(yīng)用程序,并在發(fā)出安全 API 請(qǐng)求時(shí)作為身份證明。
  2. 密鑰:在某些情況下,API 密鑰或令牌會(huì)與密鑰配對(duì),密鑰是只有 API 提供商和授權(quán)應(yīng)用程序才知道的機(jī)密信息。此密鑰用于生成加密簽名或執(zhí)行其他與 API 安全相關(guān)的操作。

API 安全最佳實(shí)踐包括隨機(jī)生成密鑰和機(jī)密、為不同的應(yīng)用程序使用不同的密鑰和機(jī)密、定期輪換密鑰和機(jī)密以及在不再需要時(shí)刪除密鑰和機(jī)密。現(xiàn)代特權(quán)訪問(wèn)管理 (PAM)保險(xiǎn)庫(kù)可自動(dòng)管理這些流程,甚至以快速開(kāi)發(fā)周期和DevOps 工作流所需的速度進(jìn)行管理。

訪問(wèn)控制如何影響 API 安全性

API 訪問(wèn)控制決定誰(shuí)可以訪問(wèn)哪些資源并執(zhí)行特定操作。您可以利用多種手段來(lái)確定 API 訪問(wèn)控制的“誰(shuí)、什么和何時(shí)”,以改善您的 API 安全狀況。

采用細(xì)粒度的訪問(wèn)控制方法可幫助您根據(jù)最小權(quán)限原則保護(hù) API ,以便人員和系統(tǒng)僅訪問(wèn)他們需要的數(shù)據(jù)和功能。PAM 解決方案允許您設(shè)置基于風(fēng)險(xiǎn)的訪問(wèn)控制,提供即時(shí)、足夠的訪問(wèn)權(quán)限以提高 API 安全性。

設(shè)計(jì) API 的安全注意事項(xiàng)

除了管理 API 憑證和特權(quán)訪問(wèn)之外,設(shè)計(jì)最佳實(shí)踐還可以幫助您提高 API 安全性。創(chuàng)建自己的 API 時(shí),請(qǐng)仔細(xì)檢查是否已正確配置它們以消除漏洞。如果您使用的是第三方設(shè)計(jì)的 API,請(qǐng)?jiān)趯⑺鼈兗傻侥?IT 環(huán)境中之前確認(rèn)這些元素已到位,以免引入漏洞。

請(qǐng)記住檢查:

接下來(lái),讓我們看看如果不遵循這些最佳實(shí)踐會(huì)發(fā)生什么。

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

攻擊者獲取您的 API 初始訪問(wèn)權(quán)限的最常見(jiàn)方式是利用代碼中的憑據(jù)。

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

一旦攻擊者通過(guò) API 憑證進(jìn)行身份驗(yàn)證,他們就可以輕松避免檢測(cè),因?yàn)樗麄冊(cè)陬A(yù)期的參數(shù)范圍內(nèi)工作

攻擊者正在積極搜索這些公共存儲(chǔ)庫(kù),以查找用于惡意目的的 API 憑據(jù)。他們使用這些憑據(jù)獲得對(duì) API 的初始訪問(wèn)權(quán)限,然后繼續(xù)枚舉以查找其他憑據(jù)來(lái)訪問(wèn)您 IT 環(huán)境中的更多資源。一旦攻擊者使用 API 憑據(jù)進(jìn)行身份驗(yàn)證,他們就可以輕松避免檢測(cè),因?yàn)樗麄冊(cè)陬A(yù)期的參數(shù)范圍內(nèi)工作。這就是 API 安全性如此難以攻克的原因之一。

有了 API 憑證,攻擊者就可以進(jìn)行任意數(shù)量的活動(dòng),即使您遵循了上面詳述的安全 API 設(shè)計(jì)指南。

通常,它們可能會(huì)通過(guò) SQL 注入或 NoSQL 注入攻擊注入惡意代碼并危害您的系統(tǒng)。因此,您應(yīng)該始終在 API 中處理用戶輸入之前對(duì)其進(jìn)行驗(yàn)證和清理,并使用參數(shù)化查詢來(lái)防止注入攻擊。

API 可能成為 DDoS 攻擊的目標(biāo),這可能會(huì)使您的基礎(chǔ)設(shè)施不堪重負(fù)并導(dǎo)致服務(wù)中斷。當(dāng) API 托管在云中時(shí),這些攻擊可能尤其具有破壞性。為了提高 API 安全性,您應(yīng)該始終采用 DDoS 緩解解決方案和流量監(jiān)控來(lái)及時(shí)檢測(cè)和緩解 DDoS 攻擊。如果您的 API 托管在云中,基于云的 DDoS 保護(hù)服務(wù)是關(guān)鍵。

通過(guò)黑客場(chǎng)景測(cè)試并提高您的 API 安全技能

提高對(duì) API 安全性的理解的一個(gè)好方法是逆向分析黑客在現(xiàn)實(shí)生活中會(huì)采取的攻擊路徑。您可以使用 Hackthebox 平臺(tái)來(lái)試用為此目的設(shè)置的 API。

黑客攻擊場(chǎng)景 1:利用弱憑證

Hackthebox 的“Secret”是一臺(tái)退役的 Linux 機(jī)器,難度為簡(jiǎn)單。它使用具有弱身份驗(yàn)證的自定義 API。為了鏡像黑客的攻擊路徑,您可以對(duì)機(jī)器進(jìn)行典型的偵察,這會(huì)顯示三個(gè)開(kāi)放端口:端口 22 – SSH、端口 80 – NGINX 和端口 3000 – Node.js。

瀏覽該網(wǎng)站會(huì)顯示有關(guān)基于 API 的身份驗(yàn)證、安裝和其他詳細(xì)信息的詳細(xì)信息。它還提供源代碼供下載。

下載源代碼后,它會(huì)顯示一個(gè)包含多個(gè)提交的 .git 存儲(chǔ)庫(kù)。

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

一旦您了解了令牌,您就可以偽造自己的令牌并找到訪問(wèn)網(wǎng)站和系統(tǒng)的方法。

使用 Delinea DevOps Secrets Vault 管理應(yīng)用程序、數(shù)據(jù)庫(kù)、CI/CD 工具和服務(wù)的憑據(jù)

黑客攻擊場(chǎng)景 2:利用錯(cuò)誤配置

在這種情況下,黑客會(huì)利用未充分保護(hù)數(shù)據(jù)的 API 端點(diǎn),無(wú)意中通過(guò)錯(cuò)誤消息泄露信息。“Monteverde”是Hackthebox提供的 Windows 計(jì)算機(jī),它演示了暴露的配置文件和硬編碼憑據(jù)如何導(dǎo)致端點(diǎn)入侵。

它的工作原理如下。

Hackthebox 的“Monteverde”是一臺(tái)中等難度的 Windows 機(jī)器,并具有 Azure AD Connect。

通過(guò)偵察機(jī)器發(fā)現(xiàn)的弱憑證獲得訪問(wèn)權(quán)限后,您將看到暴露域管理員憑證的配置文件。在這種情況下,敏感信息未加密或屏蔽。它會(huì)顯示在錯(cuò)誤消息中。

API 安全資源助您培養(yǎng)技能

由于網(wǎng)絡(luò)犯罪分子不斷改進(jìn)其策略,API 安全性變得越來(lái)越具有挑戰(zhàn)性。網(wǎng)絡(luò)社區(qū)有許多資源可幫助您掌握最新技術(shù)并實(shí)施 API 安全性的最佳實(shí)踐。以下是您應(yīng)該查看的一些優(yōu)秀資源:

OWASP API 安全項(xiàng)目

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

APISEC 大學(xué)

這是專門(mén)針對(duì) API 安全的免費(fèi)實(shí)踐課程的絕佳資源。

黑客 API

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

你成功了!

實(shí)施本博客中的建議將幫助您消除 API 中的漏洞并降低數(shù)據(jù)泄露和網(wǎng)絡(luò)攻擊的風(fēng)險(xiǎn)。記錄您的 API 安全策略,以便任何設(shè)計(jì)、實(shí)施或管理 API 訪問(wèn)權(quán)限的人都有一份可遵循的清單。

此外,請(qǐng)務(wù)必監(jiān)控 API 的使用情況并定期進(jìn)行滲透測(cè)試,以確認(rèn)安全控制措施按預(yù)期發(fā)揮作用。這樣,您就可以向任何審計(jì)員、監(jiān)管機(jī)構(gòu)或網(wǎng)絡(luò)保險(xiǎn)提供商證明,您正在盡一切努力確保 API 安全。

文章來(lái)源:API security and the importance of credentials and access control

上一篇:

API安全配置:詳細(xì)操作指南

下一篇:

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

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門(mén)場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)