梆梆资讯

梆梆资讯

API 安全专题(17)| OWASP API TOP1:对象级授权损坏 (BOLA)

2024-05-30

对象级授权损坏 (BOLA) 漏洞是 OWASP API 安全前 10 名中排名第一的 API 安全威胁。

对象级授权损坏(Broken Object Level Authorization,简称BOLA)是指在API安全中,由于验证数据对象访问的授权控制存在缺陷,导致用户可以访问其他用户的数据。攻击者可以通过篡改请求中发送的ID来利用缺乏适当访问控制的API端点,从而访问到他们不应该能访问的特定数据对象。

01

什么是对象级授权损坏(BOLA)?

对象级授权损坏是一种访问控制漏洞,允许攻击者对他们未授权的资源执行操作。API,无论是 RESTful 还是 GraphQL,通常都遵循 CRUD(创建、读取、更新、删除)模型进行资源操作。当攻击者可以创建、读取、更新或删除属于另一个用户的资源时,就会发生BOLA。

 

02

损坏的对象级授权漏洞示例

根据 API 的业务逻辑,BOLA漏洞可能导致数据泄露、账户接管、数据丢失或数据被篡改。在某些情况下,未经授权访问对象还可能导致整个账户被接管。这种漏洞在基于API的应用程序中非常常见,因为服务器组件通常不会完全跟踪客户端的状态,而是更多地依赖客户端发送的对象ID等参数来决定访问哪些对象。以下是一些BOLA漏洞的实例:

  • 编辑帖子并将内容错误归因于其他用户。

  • 查看或删除他人云存储中的文档。

  • 访问社交媒体平台上的私人帖子或照片。

对象级授权损坏(BOLA)漏洞的影响范围从轻微到严重,具体取决于 API 的性质和所访问资源的敏感性。

 

03

为什么对象级授权破坏是 API 中的一个问题?

随着API的发展和复杂性增加,暴露出更多端点,扩大了潜在攻击面,使得对每个资源进行有效访问控制变得具有挑战性。此外,API 通常使用易于识别的 ID,使攻击者更容易预测或操纵资源标识符。

 

04

BOLA漏洞的预防措施

为有效预防对象级授权破坏(BOLA)漏洞,开发人员应考虑以下最佳实践:

1、设计 API 时考虑访问控制:在部署 API 之前明确定义每个 CRUD 操作的访问控制模型,确保只有经过授权的用户才能访问特定的资源或数据。

2、实施强大的访问控制程序:支持开发人员和安全工程师生成安全代码和修复漏洞,利用成熟的安全库和框架来帮助实现安全的API设计和实现。

3、验证 API 端点:避免通过模糊性来依赖安全性,例如使用模糊的标识符。避免使用容易预测的序列号或其他容易被猜到的ID,以减少攻击者预测或操纵资源标识符的机会;实施依赖于用户策略的授权机制:验证用户是否有权对特定对象执行请求的操作。

4、避免自动创建端点:避免使用自动生成 API 端点的工具,验证每个端点以确保其遵守访问控制模型;

5、跟踪 API 端点:在开发过程中,监控和管理不断增加的 API 端点以防止出现未被注意到的漏洞至关重要;定期进行安全审计和渗透测试,以发现和修复潜在的安全漏洞。

 

为了全面保护企业的API安全,除了应用上述措施外,还应采取必要的API运行时保护和安全测试措施。运行时保护平台可以分析实时流量检测和阻止 API 攻击;安全测试允许开发人员部署前在开发生命周期中识别和解决 API 漏洞,例如对象级授权损坏 (BOLA) 。

梆梆·API安全平台通过对API上线运行后的数据流量进行实时检测,解决API上线运行后所面临的各种安全风险,为企业建立一套完整的API安全防御管控机制,产品从API资产管理、API风险检测、API敏感数据识别、API防护管控四大核心模块,帮助企业解决资产数据难治理、风险行为难发现、数据泄露难感知、威胁攻击难防护四大安全问题。

产品综合利用前端检测技术与后端流量分析技术,将API访问端和API服务端之间建立端到端的安全访问机制,降低企业在设计API之初遗留的安全风险,并引入零信任理念,建立可信机制,确保前后端访问行为均经安全认证,且采用AI/ML技术,针对大量的业务往来和频繁的业务更新以及不断变化的攻击方式,进行动态持续化的检测及自动化防御机制,解决企业在数字化转型下建立的新业务所带来的新型安全风险问题。

 

友情链接:

京公网安备 11010802024511号

Copyright ©2022. All Rights Reserved 京ICP证160618号  京ICP备11006574号-1