為了提高人們對最嚴重的API安全威脅的認識,開放全球應用程序安全項目 (OWASP) 調查并發布了最嚴重的 API 安全風險列表。您應該查看OWASP 十大 API 安全風險,以掌握最嚴重的威脅并相應地保護您的 API。
影響 API 的安全問題不止于此,因為這不是一份詳盡的清單。
盡管如此,為了方便起見,這里還是列出了 OWASP 2023 年十大 API 安全風險:
OWASP 2023 年十大 API 安全風險
| 風險 | 描述 |
|---|
| 1:2023 對象級授權損壞 | API 往往會暴露處理對象標識符的端點,從而創建對象級訪問控制問題的廣泛攻擊面。每個使用用戶 ID 訪問數據源的函數都應考慮授權檢查。 |
| 2:2023 身份驗證失敗 | 身份驗證機制通常實施不當,導致攻擊者能夠竊取身份驗證令牌或利用實施缺陷暫時或永久地冒充其他用戶的身份。系統識別客戶端/用戶的能力一旦受損,整個 API 安全就會受到損害。 |
| 3:2023 損壞的對象屬性級別授權 | 此類別結合了 API3:2019 過度數據泄露和 API6:2019 – 批量分配,重點關注根本原因:對象屬性級別的授權驗證不足或不當。這導致信息泄露或被未經授權的各方操縱。 |
| 4:2023 不受限制的資源消耗 | 滿足 API 請求需要網絡帶寬、CPU、內存和存儲等資源。其他資源(如電子郵件/短信/電話或生物識別驗證)由服務提供商通過 API 集成提供,并按請求付費。成功的攻擊可能導致拒絕服務或運營成本增加。 |
| 5:2023 功能級別授權損壞 | 具有不同層次、群組和角色的復雜訪問控制策略以及管理功能和常規功能之間的不明確劃分往往會導致授權漏洞。通過利用這些問題,攻擊者可以訪問其他用戶的資源和/或管理功能。 |
| 6:2023 不受限制地訪問敏感業務流 | 易受此風險影響的 API 會暴露業務流程(例如購買門票或發表評論),但無法彌補過度自動化使用功能可能對業務造成的損害。這不一定是實施錯誤造成的。 |
| 7:2023 服務器端請求偽造 | 當 API 在未驗證用戶提供的 URI 的情況下獲取遠程資源時,可能會發生服務器端請求偽造 (SSRF) 漏洞。即使受到防火墻或 VPN 的保護,攻擊者也可以強迫應用程序將精心設計的請求發送到意外目的地。 |
| 8:2023 安全配置錯誤 | API 及其支持系統通常包含復雜的配置,旨在使 API 更加可定制。軟件和 DevOps 工程師可能會忽略這些配置,或者不遵循有關配置的安全最佳實踐,從而為不同類型的攻擊打開大門。 |
| 9:2023 庫存管理不當 | API 往往比傳統的 Web 應用程序暴露更多的端點,因此正確且更新的文檔非常重要。主機和已部署 API 版本的正確清單對于緩解諸如棄用的 API 版本和暴露的調試端點等問題也很重要。 |
| 10:2023 API 的不安全使用 | 開發人員往往更信任從第三方 API 收到的數據,而不是用戶輸入,因此傾向于采用較弱的安全標準。為了入侵 API,攻擊者會攻擊集成的第三方服務,而不是直接入侵目標 API。 |
API 安全基礎知識
本節重點介紹 API安全的最基本原則,您應將其視為為設計和實施 API 建立安全基礎的基石。
授權和訪問控制
授權和訪問控制決定用戶或系統可以訪問哪些操作或資源:
- 授權– 授權定義授予經過身份驗證的實體的策略和權限。精心設計的授權系統可確保用戶或系統只能訪問您希望他們訪問的資源和功能。
- 訪問控制– 訪問控制強制執行授權策略,規定如何根據預定義規則授予或拒絕權限。這涉及以下機制:
- 基于角色的訪問控制 (RBAC) – 用戶或系統具有關聯角色,該角色定義了 API 內的訪問權限。
- 基于屬性的訪問控制 (ABAC) – 在這種情況下,策略是根據與用戶、系統甚至其他特征直接相關的特定特征來實施的。例如,部門、位置或一天中的時間。這種機制也可以稱為基于策略的訪問控制 (PBAC) 或基于聲明的訪問控制 (CBAC)。
令牌是實現授權的常用方法,在需要身份驗證的設置過程中獲取。它們將攜帶有關授權策略的信息,并在授予用戶或系統訪問權限之前由 API 進行驗證。
最常見的令牌類型是:
- API 密鑰– 向 API 發送的用于識別客戶端的字母數字令牌。通常,API 密鑰授予對 API 可以執行的每個操作的完全訪問權限。它通常用于服務器到服務器的通信或以簡單性為優先的場景。
- 開放授權 (OAuth) – 向 API 發送請求以代表客戶端發出請求而不暴露其憑據的令牌。令牌包含允許對授予的訪問級別進行細粒度控制的信息。這是一個更強大的框架,在涉及用戶的場景中表現出色。通常使用兩個令牌來實現 OAuth:
- 訪問令牌– 在請求中發送的令牌。訪問令牌可能會過期(可選)。
- 刷新令牌——當前訪問令牌過期時發送的請求新訪問令牌的令牌。
- JSON Web 令牌 (JWT) – JWT 是一種緊湊且自包含的令牌,在請求中發送到 API 以識別客戶端。該令牌包含確定身份和訪問范圍所需的數據的 base64 編碼版本。它包含三個部分:指定令牌類型和簽名算法的標頭、帶有聲明或斷言的有效負載以及用于完整性驗證的簽名。
JWT 提供了一種安全傳輸信息的多功能方式,在復雜的環境中特別有用。
根據您的 API 所需的安全措施實施一種或多種機制的組合。
數據加密
通過加密數據,防止攻擊者讀取客戶端和 API 之間交換的數據(傳輸中的數據)和存儲的數據(靜態數據)。
- 傳輸加密– 這是通過 HTTPS 等協議實現的,這些協議會在傳輸過程中自動加密數據,使任何觀察網絡的人都無法理解。例如,有人試圖在公共 Wi-Fi 上竊聽網絡。
- 靜態加密– 這涉及保護存儲在支持 API 的磁盤或數據庫中的數據。如果未經授權訪問服務器或數據中心,攻擊者將無法解密數據。
選擇強大的加密算法、確保密鑰安全以及使用經過驗證的加密庫是全面數據保護策略的關鍵方面。無論是信用卡詳細信息、用戶憑據還是敏感的業務信息,傳輸和靜態加密的應用都可以確保您的 API 以機密性和彈性處理關鍵數據,以抵御潛在攻擊。
保護 API 不僅限于授權、訪問控制和加密。另一個需要考慮的重要方面是輸入驗證,以防止通過將惡意代碼注入應用程序來利用漏洞進行注入攻擊。
例如,如果未充分驗證 API 請求中的輸入(例如查詢參數),則可能成為注入攻擊的潛在入口點。通過驗證輸入數據,您可以確保其符合預期的格式和標準,從而防范注入漏洞(例如 SQL 注入)。
定義并實施嚴格的輸入驗證策略,并確保您選擇高度安全且完善的庫。
API 安全性的最佳實踐
本節概述了 API 安全的最佳實踐列表,其中包含一些原則和可操作的策略,可增強 API 抵御安全威脅的彈性和可靠性。
前三項最佳實踐證實并強調了我們在討論 API 安全基礎時提到的安全基礎的重要性。但是,您還必須研究其他最佳實踐并考慮應用它們,因為它們將全面提高您的 API 安全性。
授權和訪問控制
根據預定義的角色或屬性實施精細控制并限制對 API 資源的訪問。這可確保用戶或系統僅具有必要的權限。
遵守最小特權原則,確保僅向用戶或系統授予執行特定任務或功能所需的最低訪問權限。這樣,您可以顯著降低未經授權的訪問和數據泄露的風險。
數據加密
使用 HTTPS 等加密協議來保護傳輸中的數據并實施加密。在與 API 和應用程序的所有通信中使用 TLS(傳輸層安全性)。TLS 可確保傳輸過程中數據的機密性(無法讀取)、完整性(無法更改)和身份驗證(我們期望的來源)。
對于靜態數據,請選擇成熟的加密算法和工具來加密磁盤和數據庫。還請考慮對特別敏感的數據進行標記化,這會將數據替換為對攻擊者毫無意義的標記,只有授權方才能將這些標記映射回原始數據。
仔細檢查并過濾請求中提供的數據,以防止注入漏洞。實施徹底的輸入驗證,以確保數據符合預期的格式和標準。
速率限制和節流
實施機制來控制 API 請求的頻率和數量。速率限制(也稱為節流)有助于降低濫用和拒絕服務攻擊的風險。這可以通過應用程序來實現,需要花費大量的實施時間。不過,它可能會讓您對特定情況進行精細控制,甚至將速率限制與應用程序概念或邏輯聯系起來。
或者,您可以使用 API 網關/防火墻,這通常更簡單,并提供更完整的解決方案,以最小的努力保護整個 API(參見最后的最佳實踐)。
日志記錄和監控
建立系統化的日志記錄實踐并實施監控工具,以檢測和應對異常活動或潛在的安全事件。定期檢查日志并針對可疑行為設置警報。確保您的日志始終能夠回答以下問題:誰?何時?什么?
定期安全審計和測試
定期進行安全審計,包括在開發生命周期內進行滲透測試和代碼審查,以識別和解決潛在漏洞。積極主動地應對新出現的威脅和不斷發展的安全標準。
API 版本控制和生命周期管理
實施版本控制,以便在對 API 進行更改時實現平穩過渡。建立明確的生命周期管理實踐,以淘汰棄用的版本并保持兼容性。
安全的第三方集成
與其他 API 集成會增加對第三方提供商的依賴,以及確保系統安全的復雜性和挑戰。從這個意義上講,在與第三方 API 集成之前充分評估其安全風險并規劃實施階段所需的緩解措施至關重要。
僅共享必要信息的原則規定,API 在執行特定交易或交互時應披露最少的信息。這一原則對于減少敏感數據的暴露和限制潛在的攻擊媒介至關重要。這一原則也稱為最少披露原則。
API 網關
最后但并非最不重要的一點是,考慮將 API 網關作為管理和保護 API 生態系統的中心點,并強化上面描述的一些最佳實踐。
API 網關提供多種功能:
- 授權– 它可以包括對 API 密鑰、OAuth、JWT 和其他協議的支持。它還可以實施授權策略來控制對特定 API 資源的訪問,確保只有授權用戶或應用程序才能訪問某些端點。
- API 密鑰管理– 處理 API 密鑰或令牌的生成、分發和撤銷,確保安全訪問 API 并有效管理訪問憑據。
- 安全協議和加密– 強制執行 HTTPS 等安全協議,以確保數據加密且安全。管理 TLS 終止,減輕各個 API 加密的復雜性。
- 輸入驗證– 驗證傳入的請求以防止常見的安全威脅,如 SQL 注入、參數篡改和惡意上傳。
- 請求和響應轉換– 修改傳入請求和傳出響應以遵守安全性、合規性或數據格式要求。
- 速率限制和節流– 保護 API 免受過多流量的影響。
- 日志記錄和監控– 記錄 API 流量,這對于調試、審計和安全分析非常有用。還提供實時監控和分析以跟蹤 API 性能、流量模式和安全問題。
- API 版本和兼容性– 支持舊版本和新版本,確保向后兼容性和 API 版本之間的平穩過渡。
- 路由和請求轉發– 根據預定義的規則和配置將傳入的請求路由到適當的后端服務或微服務。
- 負載平衡– 優化資源利用率并增強整體 API 可靠性。
- 緩存– 通過減少后端服務器的負載并最小化響應時間來提高 API 性能。
- 可擴展性和高可用性– 水平擴展以處理增加的 API 流量,并可部署在多個區域或數據中心以確保高可用性和災難恢復。
- 跨源資源共享 (CORS) – 強制執行 CORS 策略來控制哪些域可以訪問 API,幫助防止跨源請求攻擊并確保跨源 API 請求的安全。
- 策略執行和可擴展性– 支持自定義安全策略的執行,并與安全插件和擴展集成,以適應不斷變化的安全威脅和合規性要求。
測試 API 安全性
API 安全測試是應對不斷演變的威脅的基礎。如果定期系統地進行測試,您肯定會提高 API 抵御潛在威脅的穩健性。
API 安全測試的類型
在API安全方面,可以采用各種測試方法來發現漏洞并確保更全面地識別 API 中的漏洞。
以下是一些需要考慮的測試類型的列表:
- 授權測試– 評估 API 授權機制(例如 API 密鑰、OAuth、JWT)的有效性,并檢查授權策略和控制是否正確實施和執行。此外,驗證 API 令牌、密鑰和憑據的安全生成、存儲和撤銷,以防止未經授權的訪問。
- 數據安全測試– 評估 API 對敏感數據的處理。這包括驗證數據加密、適當的數據屏蔽以及防止數據泄露的措施。
- 滲透測試– 對 API 進行受控攻擊,以識別漏洞并評估其對現實威脅的抵抗力。滲透測試人員模擬 SQL 注入、服務器端請求偽造 (SSRF) 等攻擊。
- 模糊測試– 通過向 API 提供無效或意外的輸入來檢測潛在的安全漏洞。模糊測試旨在識別與輸入驗證、數據解析和錯誤處理相關的漏洞。
- 錯誤處理和日志測試– 評估 API 的錯誤處理機制和日志記錄實踐。查找通過錯誤消息泄露的潛在信息,并評估 API 處理惡意或意外輸入的能力。
- 合規性測試——確保 API 符合行業特定的法規和標準,例如 GDPR、HIPAA 或 PCI DSS,這些法規和標準規定了如何保護敏感數據。
- 負載測試– 分析 API 在高流量條件下的行為,以確定其容量和限制,確保 API 能夠處理增加的用戶負載,而不會降低性能或安全性。更重要的是,它還有助于防止拒絕服務 (DoS) 和分布式拒絕服務 (DDoS) 攻擊的情況。
選擇正確的工具和框架會顯著影響 API 安全測試的有效性。以下是一些必備工具和框架的列表:
- Probely DAAST(動態 API 和應用程序安全測試) ——一款強大且可擴展的安全測試工具,用于識別 Web 應用程序和 API 中的安全漏洞。其廣泛的漏洞和合規性測試、配置和集成功能、自動化和詳細報告使其成為 API 安全的寶貴資產。
- OWASP ZAP(Zed Attack Proxy) ——一種多功能開源安全測試工具,廣泛用于 Web 應用程序和 API 安全評估。它提供自動掃描程序,用于識別常見漏洞,以進行全面測試。
- Burp Suite – 用于滲透測試的安全測試工具,具有 API 測試的特定功能。它包括掃描和分析 API、攔截請求和響應以及識別安全漏洞(如 SSRF 或 SQL 注入)的功能。
- Postman – 一款簡化測試流程的 API 開發和測試工具。它允許測試人員創建和管理 API 請求、自動化測試和監控響應。雖然它主要是一種開發工具,但由于其易用性和自動化功能,可以有效地用于安全測試。
- Jenkins – 一種常用于持續集成和持續交付 (CI/CD) 管道的自動化服務器。雖然 Jenkins 本身并不是一個測試工具,但可以通過將其與其他安全測試工具和腳本集成來自動化 API 安全測試。
- SwaggerHub Explore – 一種基于云的工具,用于測試使用 Swagger 或 OpenAPI 規范記錄的 API。它有助于發送請求并在開發過程中發現潛在的安全問題。
根據您的安全測試目標、被測試 API 的性質以及測試團隊的專業知識選擇正確的工具和框架。
保障數字世界的門戶安全
如果沒有適當的 API 安全性,敏感數據和功能的網關將完全被解鎖,任何人都可以輕易進入,有時甚至沒有人注意到,直到為時已晚。
API 安全不應被視為奢侈品,而應被視為必需品。由于 API 已成為我們日益互聯的數字環境中現代應用程序和服務不可或缺的一部分,因此需要采取保護措施來保護它們免受數字世界中眾多威脅和惡意行為者的侵害。
我們希望本指南能為您提供一個很好的介紹,讓您知道您應該擔心什么,以及如何開始關注這些網關的安全性。即使您認為自己受到了保護,那些惡意行為者的技巧和狡猾程度也不容小覷,而且隨著時間的推移,他們的技術水平將越來越高。
文章來源:A Comprehensive Intro Guide to API Security
熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業工程師共享工作效率翻倍的秘密
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
a在线播放不卡|
国产精品拍天天在线|
午夜激情久久久|
91.麻豆视频|
欧日韩精品视频|
在线观看视频一区二区欧美日韩
|
不卡的av电影|
欧美日韩精品免费|
精品国产3级a|
婷婷久久综合九色综合伊人色|
亚洲国产精品久久人人爱|
国产精品亚洲午夜一区二区三区
|
欧美日韩国产一级|
欧美国产国产综合|
欧美一卡在线观看|
欧美日韩中文国产|
色综合色狠狠综合色|
7799精品视频|
欧美一区二区在线看|
中文字幕一区二区三区在线不卡|
午夜精品视频一区|
国产河南妇女毛片精品久久久|
国产麻豆成人传媒免费观看|
欧美色图天堂网|
91麻豆国产在线观看|
日本一区二区三区电影|
国产伦精品一区二区三区视频青涩|
成人毛片在线观看|
久久综合色8888|
国产精品免费aⅴ片在线观看|
婷婷中文字幕一区三区|
色丁香久综合在线久综合在线观看|
久久先锋影音av鲁色资源
|
欧美手机在线视频|
日韩一级完整毛片|
国产一区二区视频在线播放|
亚洲欧美色一区|
2020国产精品久久精品美国|
色婷婷av久久久久久久|
成人黄色av电影|
日韩**一区毛片|
亚洲综合一二三区|
一区二区三区四区在线免费观看|
久久精品在线观看|
日韩欧美在线影院|
日韩精品中文字幕一区|
国产福利一区在线观看|
制服丝袜中文字幕一区|
欧洲精品在线观看|
在线观看亚洲专区|
91久久一区二区|
精品视频在线免费|
国产精品原创巨作av|
91精品国产91久久久久久最新毛片|
欧美网站大全在线观看|
欧美日韩精品专区|
26uuu精品一区二区在线观看|
欧美一区午夜视频在线观看|
91精品在线免费观看|
精品日韩欧美一区二区|
国产日韩欧美综合一区|
午夜一区二区三区视频|
裸体在线国模精品偷拍|
国产一区二区在线影院|
99re亚洲国产精品|
日韩手机在线导航|
国产精品三级av|
亚洲免费毛片网站|
国产一区二区视频在线|
91视频国产观看|
日韩欧美一级二级三级|
亚洲在线视频网站|
国产精品一区二区x88av|
av不卡免费电影|
久久精品一区二区三区不卡
|
久久国产人妖系列|
av影院午夜一区|
日韩精品欧美成人高清一区二区|
久久精品日韩一区二区三区|
亚洲图片有声小说|
成人激情视频网站|
中文字幕国产一区二区|
av一二三不卡影片|
亚洲免费视频成人|
精品国产网站在线观看|
亚洲免费视频中文字幕|
久久久午夜精品理论片中文字幕|
精品成人一区二区|
午夜久久久久久|
高清久久久久久|
日韩欧美国产系列|
一区二区三区四区亚洲|
av电影在线观看一区|
久久久亚洲综合|
精品久久久久av影院|
色婷婷综合激情|
亚洲国产日韩综合久久精品|
精品一区二区三区免费毛片爱|
精品视频色一区|
日本一不卡视频|
亚洲午夜久久久久久久久电影网|
国产成人免费9x9x人网站视频|
日韩精品影音先锋|
裸体健美xxxx欧美裸体表演|
91黄色激情网站|
亚洲综合成人在线|
日韩一级片在线观看|
国产成人啪午夜精品网站男同|
久久久久久久久久久久久夜|
亚洲成人激情自拍|
26uuu精品一区二区三区四区在线|
视频精品一区二区|
在线电影院国产精品|
日本欧美韩国一区三区|
国产精品丝袜在线|
7777精品伊人久久久大香线蕉|
久久精品国产成人一区二区三区
|
精品视频一区二区不卡|
91视频91自|
国产99久久久久|
国产一级精品在线|
久久超碰97中文字幕|
激情综合色综合久久综合|
天天色天天操综合|
蜜桃av一区二区|
国产在线精品一区二区不卡了
|
成人网在线播放|
成人性生交大片免费看中文|
国产成人精品免费看|
成人黄色免费短视频|
成人av网址在线观看|
成人午夜在线免费|
一区二区三区精品|
欧美激情综合五月色丁香|
色狠狠桃花综合|
青青国产91久久久久久|
久久国产精品第一页|
国产jizzjizz一区二区|
色老综合老女人久久久|
91精品国产91久久久久久一区二区
|
日韩午夜中文字幕|
久久午夜免费电影|
日韩美女精品在线|
亚洲va欧美va人人爽午夜|
韩国视频一区二区|
色av综合在线|
国产精品成人一区二区艾草|
亚洲一区二区三区在线播放|
激情五月婷婷综合|
日本久久一区二区|
91在线看国产|
日韩精品一区二区三区在线|
国产精品久久久久毛片软件|
免费看日韩a级影片|
欧洲激情一区二区|
日韩一区二区三区四区五区六区
|
性久久久久久久久久久久|
天堂资源在线中文精品|
欧美主播一区二区三区美女|
亚洲免费电影在线|
欧美色成人综合|
激情国产一区二区|
国产精品无人区|
奇米色一区二区|
国产精品美女久久久久久|
在线日韩av片|
国产一区三区三区|
国产精品理伦片|
久久久五月婷婷|
欧美日本一区二区在线观看|
国产美女视频91|
日韩成人免费看|
亚洲精品免费播放|
久久久精品国产免大香伊|
91麻豆精东视频|
日本伊人精品一区二区三区观看方式|
中文字幕综合网|
亚洲小少妇裸体bbw|
亚洲激情自拍偷拍|
美女网站视频久久|
国产一区二区三区av电影|
精品视频1区2区3区|
亚洲欧美色一区|
成人免费视频视频在线观看免费
|
国产三级精品三级|
国产精品久久午夜|
国产成人在线网站|
在线看国产一区二区|
欧美精品乱人伦久久久久久|
voyeur盗摄精品|
5566中文字幕一区二区电影|
成人sese在线|
亚洲尤物视频在线|
国产高清精品久久久久|
99国产精品久久久久|
精品久久久久av影院|
免费看精品久久片|
日韩欧美一级在线播放|
激情成人午夜视频|
亚洲国产精品二十页|