讓我們討論一下 API 管道的各個(gè)階段。

開(kāi)發(fā)/編碼

API 誕生于開(kāi)發(fā)中,理想情況下,首先要制定一個(gè) OpenAPI 規(guī)范(OAS spec)來(lái)形式化 API,指定參數(shù),確定可能的返回參數(shù)和代碼等。

許多開(kāi)發(fā)人員使用集成開(kāi)發(fā)環(huán)境 (IDE) 來(lái)組織環(huán)境,例如VSCode(開(kāi)源)、PyCharm(社區(qū)和付費(fèi)層)或GoLand(付費(fèi)層)。

根據(jù) IDE,可能會(huì)有擴(kuò)展程序幫助您編寫 OAS 規(guī)范。例如,VSCode 有多個(gè) OAS 規(guī)范 linter 擴(kuò)展,可以靜態(tài)標(biāo)記規(guī)范問(wèn)題,例如Spectral(開(kāi)源)和Postman (免費(fèi)和付費(fèi))。Spectral 擴(kuò)展甚至有一個(gè)OWASP Top 10 API 安全風(fēng)險(xiǎn)規(guī)則集。Panoptica?(免費(fèi)試用版和付費(fèi)版)可以從命令行運(yùn)行不同的OAS 規(guī)范 linter 。

AI 副駕駛現(xiàn)在非常流行,可用于開(kāi)發(fā) API 客戶端/服務(wù)器代碼。流行的 AI 副駕駛包括GitHub Copilot(付費(fèi)層)等。

請(qǐng)注意,并非所有 API 安全問(wèn)題都可以靜態(tài)檢測(cè)。許多問(wèn)題只能在動(dòng)態(tài)環(huán)境中檢測(cè)到,其中 API 調(diào)用實(shí)際上正在被執(zhí)行。

API 代碼完成后,就可以進(jìn)行單元測(cè)試了。

單元測(cè)試

開(kāi)發(fā)完成后,API 代碼將接受單元測(cè)試,其中會(huì)進(jìn)行“模擬”API 調(diào)用以驗(yàn)證 API 是否正常運(yùn)行。單元測(cè)試環(huán)境仍然是靜態(tài)的,因?yàn)楸M管可以調(diào)用客戶端和服務(wù)器函數(shù),但應(yīng)用程序并未作為一個(gè)整體運(yùn)行。

有許多工具可以自動(dòng)生成模擬 API 代碼并運(yùn)行模擬 API 服務(wù)器,包括WireMock(開(kāi)源)、Mockoon(開(kāi)源)、Microcks(開(kāi)源)、Postman(免費(fèi)和付費(fèi))、RestAssured(開(kāi)源)和SoapUI(開(kāi)源)。

一旦編寫并通過(guò)單元測(cè)試,API 代碼就可以用于 CI/CD。

持續(xù)集成/持續(xù)交付(CI/CD)

在 CI/CD 中,代碼提交進(jìn)行代碼審查,構(gòu)建鏡像,并自動(dòng)運(yùn)行一些門控測(cè)試。門控測(cè)試包括靜態(tài)測(cè)試(例如單元測(cè)試和 OAS spec linters)和動(dòng)態(tài)測(cè)試(例如端到端功能測(cè)試),其中實(shí)際安裝了代碼,并且可以以自動(dòng)化方式測(cè)試基本功能。

如果 CI/CD 測(cè)試全部通過(guò),則代碼可以合并到代碼存儲(chǔ)庫(kù)并在暫存區(qū)進(jìn)行測(cè)試。

暫存環(huán)境

暫存環(huán)境與實(shí)際生產(chǎn)環(huán)境類似,但獨(dú)立用于內(nèi)部測(cè)試。在暫存環(huán)境中,應(yīng)用程序已安裝,質(zhì)量保證團(tuán)隊(duì)可以驗(yàn)證其功能。

高可用性和性能測(cè)試也可以在階段運(yùn)行。高可用性測(cè)試涉及驗(yàn)證應(yīng)用程序中是否存在單點(diǎn)故障。性能測(cè)試驗(yàn)證您的應(yīng)用程序是否能夠大規(guī)模執(zhí)行,其中包括大量 API 流量。

API 性能和負(fù)載測(cè)試的工具包括Locust(開(kāi)源)、SoapUI 和 Postman。

另一種在準(zhǔn)備階段很有用的工具是模糊測(cè)試器。模糊測(cè)試器將壞數(shù)據(jù)傳遞到應(yīng)用程序中的 API 端點(diǎn),并試圖對(duì)應(yīng)用程序產(chǎn)生負(fù)面影響(例如使其停止響應(yīng)、崩潰、泄露數(shù)據(jù)等)。模糊測(cè)試工具的示例包括RESTler(開(kāi)源)和 Panoptica。

Greenfield Deployment

應(yīng)用程序首次部署到生產(chǎn)環(huán)境時(shí),稱為“Greenfield Deployment”。在綠地部署中,由于沒(méi)有現(xiàn)有工件,因此不存在任何版本控制或升級(jí)問(wèn)題。

在生產(chǎn)環(huán)境中,您可以動(dòng)態(tài)掃描實(shí)時(shí) API 流量以查找安全風(fēng)險(xiǎn),從而保護(hù)您的應(yīng)用程序。Panoptica?CNAPP 平臺(tái)擁有一整套 API 安全功能,我們將在下面討論。

Brownfield Deployment

Brownfield Deployment是指在現(xiàn)有生產(chǎn)環(huán)境中升級(jí)應(yīng)用程序。

對(duì)于Brownfield ,API 向后兼容性和版本控制等因素開(kāi)始發(fā)揮作用。例如,在應(yīng)用程序升級(jí)為新版本后,API 客戶端可以繼續(xù)使用以前的 OAS 規(guī)范版本。必須支持多個(gè) API 版本。

金絲雀部署是一種Brownfield ,其中應(yīng)用程序的不同版本同時(shí)運(yùn)行,以降低新版本的風(fēng)險(xiǎn)。金絲雀部署僅管理總 API 流量的子集。在這里,API 向后兼容性和版本控制也是重要的考慮因素。

預(yù)防管道中常見(jiàn)的 API 安全問(wèn)題

現(xiàn)在我們已經(jīng)討論了 OWASP 十大 API 安全風(fēng)險(xiǎn)和完整的 API 管道,讓我們來(lái)看看一些常見(jiàn)的 API 安全問(wèn)題以及如何在整個(gè)管道中預(yù)防它們。

BOLA

根據(jù) OWASP 的數(shù)據(jù),BOLA 是 2023 年最普遍的 API 安全問(wèn)題。它們包含在問(wèn)題 API1:2023(損壞的對(duì)象級(jí)別授權(quán))和 API3:2023(損壞的對(duì)象屬性級(jí)別授權(quán))中。

如前所述,在 BOLA 攻擊中,最終用戶能夠訪問(wèn)他們無(wú)權(quán)訪問(wèn)的數(shù)據(jù),通常是因?yàn)樵獢?shù)據(jù)在應(yīng)用程序的 API 響應(yīng)中泄露。

由于數(shù)據(jù)(尤其是 PII)是泄露的主要目標(biāo),任何未經(jīng)授權(quán)的訪問(wèn)都會(huì)是一個(gè)巨大的安全問(wèn)題。

如何防止 BOLA 穿過(guò) API 管道?

BFLAs

當(dāng)最終用戶調(diào)用應(yīng)用程序或應(yīng)用程序微服務(wù)之間未經(jīng)適當(dāng)授權(quán)訪問(wèn)應(yīng)用程序功能時(shí),就會(huì)發(fā)生 BFLA。BOLA(上文)是關(guān)于訪問(wèn)數(shù)據(jù)的,BFLA 是關(guān)于訪問(wèn)功能的。未經(jīng)授權(quán)訪問(wèn)功能最終會(huì)導(dǎo)致數(shù)據(jù)泄露。BFLA 是 OWASP 問(wèn)題 API5:2023(功能級(jí)別授權(quán)損壞)。

如何防止 BFLA 跨 API 管道?

弱身份驗(yàn)證

應(yīng)用程序的弱身份驗(yàn)證更容易被攻擊者攻陷。它可以讓威脅者訪問(wèn)用戶帳戶和數(shù)據(jù)。弱(或失效)身份驗(yàn)證包含在 OWASP 問(wèn)題 API2:2023(失效身份驗(yàn)證)和 API8:2023(安全配置錯(cuò)誤)中。

其中一種形式是基本身份驗(yàn)證,它需要用戶名和密碼,但密碼本身很“弱”。這包括短密碼、太常見(jiàn)的密碼(例如可以在字典搜索中找到)或跨帳戶重復(fù)使用的密碼。

弱身份驗(yàn)證也可能是由于端點(diǎn)安全性弱造成的,例如使用 HTTP 而不是 HTTPs。

最后,加密問(wèn)題也屬于這一類。沒(méi)有加密或加密薄弱的端點(diǎn)可能會(huì)為您的應(yīng)用程序打開(kāi)攻擊面。如果沒(méi)有任何加密,所有 API 流量都是“明文的”,這意味著它可以被竊聽(tīng)和輕松讀取。弱加密可能涉及較短的加密密鑰,很容易被破解。

如何防止 API 管道中出現(xiàn)弱身份驗(yàn)證?

影子 API

OWASP 問(wèn)題 API9:2023(庫(kù)存管理不當(dāng))包括影子 API。影子 API 未記錄在 OAS 規(guī)范中。它們是一種您甚至可能不知道的安全風(fēng)險(xiǎn)。

隨著應(yīng)用程序的發(fā)展,影子 API 的安全性不太可能隨之發(fā)展。它們甚至可能會(huì)被完全遺忘,從而暴露出應(yīng)用程序中持續(xù)存在的安全漏洞或后門。

如何防止影子 API 跨 API 管道?

僵尸 API

OWASP 問(wèn)題 API9:2023(庫(kù)存管理不當(dāng))也包括僵尸 API。僵尸 API 是 OAS 規(guī)范中已棄用但仍在應(yīng)用程序中活動(dòng)的 API。它們出現(xiàn)在棕地和金絲雀生產(chǎn)環(huán)境中,這些環(huán)境中可能正在使用多個(gè) API 版本。
與影子 API 一樣,僵尸 API 不太可能隨您的應(yīng)用程序一起發(fā)展,并且從安全角度來(lái)看可能受到較少的審查,從而為您的應(yīng)用程序留下后門。

如何防止僵尸 API 穿過(guò) API 管道?

弱第三方身份驗(yàn)證

即使您的應(yīng)用程序數(shù)據(jù)訪問(wèn)確實(shí)安全,薄弱的第三方身份驗(yàn)證仍可能使您的數(shù)據(jù)面臨威脅。第三方對(duì)您的數(shù)據(jù)的訪問(wèn)包括數(shù)據(jù)庫(kù)、S3 存儲(chǔ)桶等。薄弱的第三方身份驗(yàn)證包含在 OWASP 問(wèn)題 API8:2023(安全配置錯(cuò)誤)和 API10:2023(不安全的 API 使用)中。

如何防止 API 管道中出現(xiàn)弱第三方身份驗(yàn)證

資源消耗

無(wú)限制的資源消耗是 OWASP 問(wèn)題 API4:2023。如果應(yīng)用程序在短時(shí)間內(nèi)被大量 API 調(diào)用淹沒(méi),則可能會(huì)產(chǎn)生負(fù)面影響。例如,CPU、RAM 和存儲(chǔ)等應(yīng)用程序資源可能會(huì)被快速消耗或耗盡,從而導(dǎo)致運(yùn)營(yíng)成本增加、響應(yīng)時(shí)間變慢,甚至應(yīng)用程序故障和中斷。

如何防止 API 管道中不受限制的資源消耗?

OWASP 問(wèn)題 API6:2023(不受限制的敏感業(yè)務(wù)流訪問(wèn))與不受限制的資源消耗有關(guān),但它意味著自動(dòng)化、壞機(jī)器人或人工智能參與了 API 濫用,從而加劇了資源消耗。

URL 欺騙

通過(guò) URL 欺騙攻擊,無(wú)效或惡意的 URL 會(huì)被傳遞到 API 請(qǐng)求中,服務(wù)器會(huì)在不驗(yàn)證 URL 的情況下代理該 URL。可疑 URL 可能是虛假網(wǎng)站或 Webhook。這可能會(huì)允許訪問(wèn)敏感數(shù)據(jù)和 PII。OWASP 問(wèn)題 API7:2023(服務(wù)器端請(qǐng)求偽造)涵蓋了此類漏洞。

如何防止 API 管道中的 URL 欺騙?防御此類攻擊可能很復(fù)雜。這是一個(gè)很好的入門資源。預(yù)防措施的概要如下:

數(shù)據(jù)注入

數(shù)據(jù)注入可讓威脅行為者通過(guò) API 將惡意數(shù)據(jù)、配置或程序傳遞到應(yīng)用程序中。這可能會(huì)允許訪問(wèn)數(shù)據(jù)(例如 BOLA)或使應(yīng)用程序不穩(wěn)定。

如何防止通過(guò) API 管道注入數(shù)據(jù)?

代碼注入

代碼注入是指將不良代碼添加到應(yīng)用程序中。隨著 IDE 插件和 AI 副駕駛越來(lái)越多地用于生成 API 客戶端和服務(wù)器代碼,存在將“壞”代碼注入應(yīng)用程序的風(fēng)險(xiǎn)。這可能會(huì)產(chǎn)生意想不到的甚至是惡意的副作用。例如,流氓(惡意)API 可能會(huì)注入您的應(yīng)用程序,從而創(chuàng)建后門訪問(wèn)。流氓 API 屬于 OWASP 問(wèn)題 API9:2023(庫(kù)存管理不當(dāng))。

如何防止通過(guò) API 管道注入代碼?

結(jié)論

從 OWASP 十大 API 安全風(fēng)險(xiǎn),到 API 管道,再到常見(jiàn)的 API 安全問(wèn)題及其預(yù)防方法,我們涵蓋了很多內(nèi)容,并提供了很多工具建議。

祝您和您的應(yīng)用程序擁有最好的 API 安全性!

文章來(lái)源:Securing APIs From Left to Right (and Everywhere in Between)

熱門推薦
一個(gè)賬號(hào)試用1000+ API
助力AI無(wú)縫鏈接物理世界 · 無(wú)需多次注冊(cè)
3000+提示詞助力AI大模型
和專業(yè)工程師共享工作效率翻倍的秘密
返回頂部
上一篇
淺談人工智能下計(jì)算機(jī)病毒保護(hù)措施及其AI網(wǎng)絡(luò)安全專家
下一篇
API安全最佳實(shí)踐
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
亚洲伦在线观看| 日韩视频免费观看高清完整版| 久久97超碰国产精品超碰| 精品一区二区三区影院在线午夜 | 日本在线观看不卡视频| 91在线观看成人| 精品成a人在线观看| 国产精品亲子伦对白| 老汉av免费一区二区三区| 欧美色图天堂网| 亚洲一区二区欧美| 色综合久久天天| 综合欧美亚洲日本| 一本一道波多野结衣一区二区| 国产精品美女久久久久久2018| 一区二区不卡在线播放| 一本一道久久a久久精品| 国产精品色哟哟| 91欧美一区二区| 亚洲综合色丁香婷婷六月图片| 亚洲超碰精品一区二区| 精品视频资源站| 国产亚洲一本大道中文在线| 国产人妖乱国产精品人妖| 韩国一区二区视频| 精品视频1区2区| 免费看黄色91| 亚洲国产成人私人影院tom| 国产精华液一区二区三区| 国产精品美女视频| 4438成人网| 成人免费观看视频| 亚洲国产欧美在线人成| 911精品国产一区二区在线| 精品在线播放午夜| 国产精品国产三级国产专播品爱网| 国产一区二区三区免费播放| 亚洲毛片av在线| 日韩一区二区免费电影| www.日韩在线| 全部av―极品视觉盛宴亚洲| 久久精品日产第一区二区三区高清版| 丁香五精品蜜臀久久久久99网站| 久久免费电影网| 欧美在线播放高清精品| 精品夜夜嗨av一区二区三区| 亚洲视频一区在线| 欧美videos大乳护士334| 成人黄色一级视频| 美国一区二区三区在线播放| 亚洲美女免费视频| 在线不卡中文字幕| 久久国产综合精品| 午夜日韩在线观看| 亚洲视频资源在线| 国产精品免费久久| 国产日韩欧美一区二区三区综合| 精品污污网站免费看| 91污在线观看| a在线播放不卡| 亚洲国产成人av网| 亚洲色图丝袜美腿| 国产精品久久久久久福利一牛影视| 欧美日韩一区二区电影| 97se亚洲国产综合自在线观| 成人永久免费视频| 国产成a人亚洲| 国产麻豆成人精品| 亚洲综合色噜噜狠狠| 夜夜操天天操亚洲| 亚洲123区在线观看| 一区二区三区四区乱视频| 中文字幕欧美一| 亚洲欧美日韩中文播放| 2欧美一区二区三区在线观看视频| 久久婷婷一区二区三区| 国产精品视频一区二区三区不卡| 91丨九色porny丨蝌蚪| 中文字幕中文字幕在线一区| 国产精品二区一区二区aⅴ污介绍| 在线观看亚洲成人| 美女网站一区二区| 久久久久久一二三区| 久久99精品国产麻豆不卡| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩在线卡一卡二| 久久精品国产77777蜜臀| 久久69国产一区二区蜜臀| 亚洲丶国产丶欧美一区二区三区| 亚洲日本中文字幕区| 中文字幕一区二区视频| 亚洲精品五月天| 六月丁香婷婷色狠狠久久| 9i在线看片成人免费| 91女厕偷拍女厕偷拍高清| 国产**成人网毛片九色| 精品一区二区日韩| 99精品视频一区二区三区| 欧美日韩精品一区二区三区四区| 日韩精品一区二区三区在线观看| 国产精品国模大尺度视频| 欧美bbbbb| 91丝袜国产在线播放| 日韩午夜av一区| 亚洲精品国产一区二区三区四区在线| 日韩精品国产欧美| 99精品视频在线播放观看| 日韩一区二区三区四区五区六区| 中文字幕在线不卡| 国内精品免费**视频| 国产成人免费高清| 欧美一二三区在线观看| 亚洲激情中文1区| 成人av网在线| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | gogo大胆日本视频一区| 欧美一区二区三区四区五区| 一区二区三区在线视频免费| 国产91精品露脸国语对白| 欧美精品一区二区三区很污很色的| 国产乱妇无码大片在线观看| 欧美日韩一区二区三区四区 | 激情亚洲综合在线| 国产在线乱码一区二区三区| 制服视频三区第一页精品| 亚洲免费色视频| 日本视频免费一区| av电影在线观看不卡| 久久久精品人体av艺术| 国产真实乱子伦精品视频| 337p日本欧洲亚洲大胆精品| 欧美激情艳妇裸体舞| 91亚洲精品久久久蜜桃网站| 国产麻豆一精品一av一免费| 久久蜜臀精品av| 91网站黄www| 久久91精品久久久久久秒播| 国产精品久久久久aaaa樱花| 欧洲另类一二三四区| 日韩不卡一区二区| 国产精品美女www爽爽爽| 欧美在线视频你懂得| 精品无人区卡一卡二卡三乱码免费卡| 久久久五月婷婷| 欧美日韩激情一区二区三区| 国产精品白丝jk白祙喷水网站| 亚洲你懂的在线视频| 日韩免费看网站| 欧美中文字幕一区二区三区亚洲| 国产一区二区导航在线播放| 亚洲成人福利片| 国产精品久久久久影院亚瑟| 欧美一区日韩一区| 色网站国产精品| 成人精品视频网站| 男女男精品视频网| 午夜视频一区在线观看| 亚洲欧洲www| 国产精品免费网站在线观看| 精品久久久久久久久久久久久久久久久 | 久久99精品国产91久久来源| 一区二区三区色| 国产视频911| 欧美精品一区二区三| 51久久夜色精品国产麻豆| 欧美亚洲国产一区二区三区va| 成年人国产精品| 国产高清不卡一区| 精东粉嫩av免费一区二区三区| 亚洲二区在线视频| 亚洲一区中文日韩| 一区二区三区中文在线| 亚洲人成小说网站色在线| 国产精品理论在线观看| 国产精品久久久久三级| 国产精品视频九色porn| √…a在线天堂一区| 亚洲人成网站影音先锋播放| 亚洲天堂精品视频| 亚洲免费观看高清完整版在线观看| 国产精品视频一二| 亚洲人妖av一区二区| 一区二区三区免费看视频| 夜夜精品视频一区二区| 94色蜜桃网一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 免费高清不卡av| 日韩精品一区二区三区中文精品| 亚洲小说春色综合另类电影| 在线成人午夜影院| 精品亚洲国内自在自线福利| 久久久久久久久久电影| 国产在线精品一区二区夜色| 欧美性极品少妇| 国产一区 二区| 日韩久久一区二区| 韩国在线一区二区| 欧美亚洲高清一区| 欧美日本国产一区| 精品欧美一区二区久久|