API网关:防范BFLA失效风险的策略
API 无处不在,用于访问后端服务和敏感信息,例如银行详细信息、健康报告、财务数据、公司敏感信息等。这使得易受攻击或暴露的 API 容易产生攻击面,并增加了可能造成严重破坏的 API 攻击风险。如果您了解 API 安全的技术泡沫,那么您一定听说过 OWASP API 安全项目。它包含威胁 API 的十大漏洞,而破坏功能级别授权 (BFLA) 就是其中之一。
什么是破坏功能级别授权攻击?
大多数组织为不同部门的员工提供各种访问级别,例如文档、营销、开发等。当在 API 示例,如下所示:

如果攻击者尝试修改删除方法,将路径中的用户关键字更改为管理员,则攻击者获得管理员角色的访问权限,并可以执行删除操作。

由于服务器端缺乏 API 访问控制处理,攻击成功。
BFLA 攻击示例
假设有一个在线银行应用程序允许用户在账户之间转账。该应用程序具有不同的授权级别,普通用户只能在自己的账户内转账,而管理员可以在任何账户之间转账。在这种情况下,如果应用程序在处理资金转账请求之前未能检查用户的角色或权限,则存在 BFLA 漏洞。例如,如果普通用户试图将资金从一个账户转移到不属于他们的另一个账户,应用程序应该拒绝该请求。然而,由于功能级别授权受损,应用程序可能会忽略此检查,从而允许未经授权的交易继续进行。攻击者可以通过操纵请求参数或使用代理工具拦截请求来利用此漏洞。通过将目标帐号更改为另一个用户的帐户,他们可以诱骗应用程序将资金从受害者的帐户转移到自己的帐户。
如何预防 BFLA 攻击?
为了缓解 BFLA 漏洞,必须在每个功能或特性级别实施强大的授权检查,确保用户在尝试执行操作时得到正确的身份验证和授权。API 网关可以帮助实现这一点。
API 网关的以下功能有助于防止破坏功能级别授权攻击:
- 集中授权:每个发往后端的请求都会经过 API 网关。我们可以在网关级别强制执行授权逻辑或策略。因此,在所有 API 端点上,您都可以保证可靠且一致的执行。
- 访问控制策略:在网关中,您可以定义不同的细粒度操作控制策略。用户还可以定义基于角色的访问控制,以便每个角色对资源的访问权限有限,最终有助于防止未经授权的访问。
- 速率限制:分析 API 调用中的奇怪模式。
文章来源:The Risks of Broken Function Level Authorization(BFLA) and How to Mitigate Them with an API Gateway
最新文章
- 小红书AI文章风格转换:违禁词替换与内容优化技巧指南
- REST API 设计:过滤、排序和分页
- 认证与授权API对比:OAuth vs JWT
- 如何获取 Coze开放平台 API 密钥(分步指南)
- 首次构建 API 时的 10 个错误状态代码以及如何修复它们
- 当中医遇上AI:贝业斯如何革新中医诊断
- 如何使用OAuth作用域为您的API添加细粒度权限
- LLM API:2025年的应用场景、工具与最佳实践 – Orq.ai
- API密钥——什么是API Key 密钥?
- 华为 UCM 推理技术加持:2025 工业设备秒级监控高并发 API 零门槛实战
- 使用JSON注入攻击API
- 思维链提示工程实战:如何通过API构建复杂推理的AI提示词系统