API 安全
API 安全 是什么?
API 安全围绕 API 的设计、构建与运营,使其在受到攻击时仍能保持身份认证、授权、数据暴露与抗滥用能力的实践。
API 安全涵盖 REST、GraphQL、gRPC 与 Webhook 等接口,这些接口往往直接暴露业务逻辑。它对应 OWASP API Security Top 10(2023),其中排名第一的是对象级授权失效(BOLA/API1),其后依次为认证失效、对象属性级授权失效、资源消耗无限制、功能级授权失效与 SSRF。
为何 BOLA 居首。 大多数 API 泄露并不复杂,根源是缺失了针对每个对象的归属校验。在 2022 年 9 月的 Optus 事件中,一个面向互联网的端点无需认证,且记录可通过连续 ID 直接寻址,使攻击者得以枚举约 1000 万澳大利亚人的数据。2023 年 1 月,T-Mobile 披露一个 API 被滥用:它对会话做了认证,却未限定该会话可读取的记录范围,导致约 3700 万账户被暴露。二者都是典型的对象级授权失效。
控制措施。 有效方案结合强身份(OAuth 2.0/OIDC、短时效带 scope 令牌、mTLS)、对每个对象引用在服务端做归属校验、基于模式的请求与响应校验、用于遏制爬取的限速与配额,以及汇入 SIEM 的结构化日志。通过 SAST、DAST 与 API 专用模糊测试进行持续测试可捕获回归。识别并清点影子与僵尸 API 是基础——无法防御你不知道存在的接口。
flowchart TD
A[客户端请求 + Bearer 令牌] --> B{令牌有效?}
B -->|否| R[401 未授权]
B -->|是| C{令牌 scope 允许此操作?}
C -->|否| F[403 禁止]
C -->|是| D{调用者是否拥有该对象 ID?}
D -->|否 - BOLA 风险| F
D -->|是| E{在限速内且符合模式?}
E -->|否| G[429 / 400 拒绝]
E -->|是| H[仅返回允许的字段]● 示例
- 01
返回订单前校验当前认证用户拥有该 orderId,以防止 BOLA/IDOR。
- 02
在 GraphQL 端点前实施基于令牌的限速与请求大小上限。
● 常见问题
API 安全 是什么?
围绕 API 的设计、构建与运营,使其在受到攻击时仍能保持身份认证、授权、数据暴露与抗滥用能力的实践。 它属于网络安全的 应用安全 分类。
API 安全 是什么意思?
围绕 API 的设计、构建与运营,使其在受到攻击时仍能保持身份认证、授权、数据暴露与抗滥用能力的实践。
如何防御 API 安全?
针对 API 安全 的防御通常结合技术控制与运营实践,详见上方完整定义。
API 安全 还有哪些其他名称?
常见的别称包括: API 安全性。