对于对象级授权失效(BOLA)这一OWASP API安全十大漏洞之一,仅采用安全左移策略并不全面。BOLA并非拼写错误之类的简单编码错误,而是业务逻辑层面的根本性缺陷。
在庞杂的微服务环境中,依赖开发人员手动检查每一条所有权规则,无异于一场风险极高的赌博。2026年,随着美国证券交易委员会(SEC)实施严格的信息披露规定,以及《通用数据保护条例》(GDPR)执法力度不断加大,一个“逻辑漏洞”可能迅速演变为重大的财务灾难。
授权缺口剖析
在单体架构时代,授权是隐式完成的。服务器将会话保存在自身内存中,清楚掌握已登录用户的身份,并通过一个集中式进程控制数据库查询。
现代云架构已经打破了这一模式。如今,身份信息由外部提供商管理,而数据则分散在数百个独立服务中,两者彼此分离。我们会在入口处验证用户身份,但对于用户拥有哪些资源或可以访问哪些资源,往往由后端开发人员负责验证。
“2026年,BOLA攻击是导致数据泄露的快速途径之一。左移有助于发现技术缺陷,但要修复存在缺陷的业务逻辑,还需“坚守右侧”。”
“授权缺口”是指成功登录后未执行所有权检查所形成的安全空白。由于现代服务采用无状态设计,天然会信任收到的请求。如果请求中包含“订单 7788”,而代码未明确验证该订单是否属于请求者,数据就会被窃取。
授权缺口可视化
要理解为何仅依靠Web应用防火墙(WAF)不足以防范BOLA漏洞,需要审视现代无状态API中身份验证与资源所有权之间的技术脱节。WAF会查找SQL注入等“恶意”语法,而BOLA利用的是看似正常请求的“合法”语法。要阻止BOLA,防御机制必须能够感知身份,并根据用户请求的具体对象验证其访问权限。
以某银行应用为例。攻击者用户A登录自己的账户(用户ID:8899),并获得有效的会话令牌。此时,该用户已通过身份验证,攻击者可以通过向/api/v1/accounts/1234/balance发送请求,尝试访问另一名用户B的数据。
WAF会检查SQL注入或恶意脚本。由于1234是完全有效的整数,且语法没有问题,因此WAF会放行该请求。
API网关会验证会话令牌是否有效且尚未过期。由于攻击者用户A是已登录的合法用户,网关会将该请求标记为已通过身份验证,并将其转发到后端内部系统。
因此,后端服务收到该“可信”请求,并返回账户1234的余额。攻击者成功绕过了安全防护,因为网关只确认了其身份,却从未检查其有权访问的内容。

在许多现代架构中,API网关就像只在入口处查验身份的“门卫”。用户一旦提供有效的JWT或会话Cookie,网关便会认为该用户后续发出的每个请求都是合法的。
用户A登录并收到有效令牌。随后,该用户向GET/api/v1/data/1234发送请求。接下来进行语法和会话检查:标准WAF确认请求中不含恶意内容(无SQL注入),API网关则确认会话有效。
身份验证缺口就出现在这里:WAF和网关都未检查资源1234是否确实属于用户A,而后端服务盲目信任来自网关的“已验证”请求,将用户B的私有数据提供给用户A。数据泄露由此发生。
不过,借助高级API安全解决方案,这位新“门卫”不只会在门口检查用户的身份,还会验证用户是否有权进入其尝试进入的每个特定房间。

高级API安全解决方案通过以下步骤弥补身份验证缺口,并验证已登录用户是否有权对请求的对象执行请求的操作。
第一步,系统从令牌中提取身份(用户A),并从请求中提取资源ID(1234)。然后,平台利用学习得到的业务逻辑图,识别出资源1234归用户B所有,而非用户A。
第三步,由于身份与资源的映射未通过逻辑检查,该请求会在应用边缘被丢弃,无法与内部系统交互。最终,未经授权的请求不会到达存储数据的应用后端,从而在数据外泄发生前将其阻止。
为何左移无法阻止BOLA
仅将安全检查和测试提前到开发生命周期的早期阶段,并不能解决这一问题,因为左移策略缺少上下文。静态应用安全测试(SAST)等工具分析的是代码,而不是数据,因此无法得知用户A无权查看用户B的发票,因为这种关系是在数据库中定义的,而不是在源代码中。
此外,大多数动态应用安全测试(DAST)工具仅在单个用户的上下文中进行扫描。它们看到“200 OK”响应后便将其标记为通过,却无法识别该用户正在访问其他用户的私有记录。
相反,标准API测试无法感知上下文,本质上如同在真空中进行测试。由于忽略了真实环境中的流量数据,这类测试无法奏效。如果测试无法识别生产环境中身份A与资源B之间的映射关系,就只能验证语法,而无法验证逻辑。这样的测试并未检验实际业务。
在边缘实施策略
为解决这一问题,组织需要采用由以下三层组成的运行时策略:
- 用户到资源的映射。 API安全解决方案从令牌中提取身份信息,并将其与HTTP请求消息(标头、Cookie、路径或正文)中的资源ID进行比较。
- Open Policy Agent(OPA)边车。与其依赖数百名开发人员分别编写检查逻辑,不如使用OPA集中管理授权规则。OPA边车是一种与应用容器并行运行的部署模式,可在本地以低延迟、高性能完成授权决策,从而为微服务和API安全实时评估策略。
- 行为监控。要阻止BOLA攻击,防御系统必须从实时流量中提取身份(谁)、上下文(如何)和资源(什么),以建立正常关系基线。例如,如果单个用户的行为偏离既定基线,如试图在1分钟内访问50个不同的ID,系统就会识别出这一异常。这显然是抓取工具而非真人的行为特征,必须立即阻止。
F5如何提供帮助
F5 Distributed Cloud API Security提供了一条从完全不可见到实施运行时保护的清晰路径。作为F5 Distributed Cloud Services的一部分,它将应用交付与安全整合到一个平台中,提供统一安全防护。通过自动关联分布式拒绝服务(DDoS)缓解、反机器人、API安全和WAF等组件的情报,它可以区分单个客户的请求与协同式多向量攻击。
该产品的API发现功能可自动查找所有API,包括“影子API”,并持续分析生产流量,以了解应用的实际业务逻辑,并梳理用户与特定数据对象的交互方式。上下文感知测试利用这些洞察,在预生产环境中开展有针对性的“矩阵测试”,从而在代码部署前识别身份与对象映射中的薄弱环节。
Distributed Cloud API Security还提供BOLA攻击检测,通过将学习到的行为基线与传入请求进行关联来检测可疑活动,从而识别各种BOLA场景,并为运行时保护提供依据。
2026年,BOLA攻击可能迅速导致数据泄露。左移有助于发现技术缺陷,但要修复存在问题的业务逻辑,必须“坚守右侧”。将授权移至边缘,立即阻止数据泄露。
关于作者


相关博客文章

WAF和API发现技术在保护智能体AI应用中的作用
智能体AI系统的功能和集成会在运行时快速变化。要以同样的速度保障其安全,需要通过API发现和Web应用防火墙(WAF)实施切实可行的控制措施。




