BOPLA 是 Broken Object Property Level Authorization(失效对象属性级授权)的缩写。BOPLA 不同于 BOLA,它指的是对象内的属性,而 BOLA 指的是整个对象。旨在防范 BOLA 的 API 安全措施并不能确保 API 免受 BOPLA 攻击,因此安全团队必须采取能够同时防御这两种攻击类型的解决方案。
一种集中管理 API 的方式
如今,API 无处不在。各种软件系统通过 API 实现多样化的沟通,为构建我们这个日益紧密的世界提供了强大的推动力。API(即,应用程序编程接口)提供了一组规则和工具,使得用不同语言编写的各种软件程序能够交换信息和共享功能。API 网关提供了一个集中枢纽来管理、保护和优化 API 调用(包括请求和响应)。
由于 API 在许多流程中扮演着至关重要的角色,并且经常与敏感数据相连,这使得它们成为了恶意攻击者钟爱的目标。因此,安全团队必须采取一系列协议、实践和措施,以确保 API 网关的安全性并保护 API 支持的底层微服务和后端服务。
什么是 API?
API 是一组协议和定义,使得来自不同系统或以不同语言编写的软件组件能够轻松通信和共享信息。通过标准化应用程序的通信方式,API 使得一个应用程序能够访问和整合另一个应用程序的数据和功能。例如,如果开发人员想在网站上提供最新的天气信息,他们可以利用 API 从天气相关来源获取数据,而无需另行开发应用程序来收集和解读天气数据。从电子商务和移动支付,到社交媒体平台和云服务,每一项在线操作和每一笔交易都涉及 API,因此它们构成了一个庞大的 攻击面。
什么是对 API 的威胁?
黑客们现在将 API 视为攻击目标,因为 API 往往提供对敏感数据的访问权限,或者可能被利用来实现对更大系统的未授权访问。随着 API 数量的迅速增长,安全团队往往难以全面监控企业数字生态系统中的每一个 API。这使得通过安全控制措施、定期安装补丁和更新来充分保护每个 API 变得更加具有挑战性。 API 安全 可能会受到各种风险的威胁,包括漏洞利用、授权错误、身份验证问题和拒绝服务攻击。
什么是 API 网关?
API 网关是一个软件层,它充当单一的入口点,负责管理 API 调用或客户端请求,并返回来自 API 端点的响应。API 网关负责将传入的请求路由到对应的微服务或后端服务,将多个请求合并为一个请求,或将单个请求拆分为多个请求,以确保高效满足客户的需求。此外,API 网关还可以在不同的应用程序与微服务之间转换协议,并且可以用作负载均衡器来优化 API 性能。
什么是 API 网关安全?
API 网关可以执行各种安全功能来阻止 API 滥用和攻击,并且可以增强企业的安全态势。
- 身份验证。API 网关可以验证 ID 令牌等凭据,从而对所有 API 请求的身份进行验证。
- 速率限制和节流。 API 网关安全措施包括限制 API 在特定时间段内的调用次数,以确保不会超出其处理能力或不堪重负。这有助于防范拒绝服务攻击以及暴力破解攻击和试错攻击,在后面这两种攻击中黑客会反复使用各种凭据来尝试访问系统。
- 策略执行。 API 网关可以强制要求 API 在访问微服务和后端服务时遵循各种策略和规则,尤其是与身份验证、授权及访问控制措施相关的策略和规则。
- 基于签名的防护。 API 可以识别出已知攻击的签名和模式,从而拦截一些威胁。
- 日志记录和监控。 API 网关能够持续监控与 API 使用相关的 API 流量和指标。此外,API 网关也可以记录所有事务,方便用户深入了解使用情况和安全问题。
- 分离。 为了增强安全性,API 网关将后端服务与前端应用程序分离,以消除两者之间的任何直接接触。这可以帮助阻止将恶意代码注入后端数据库的 SQL 注入攻击。
API 网关安全的有效性如何?
尽管 API 网关是安全计划中的重要组成部分,但它们仅仅是一层防护机制,因此,仍然存在一些需要应对的安全漏洞。对于 API 网关,失效的对象级授权 (BOLA) 等攻击可能看起来像是正常流量,这会导致系统容易受到 BOLA 和失效对象属性级授权 (BOPLA) 攻击的威胁。此外,API 网关无法对 API 清单进行充分监控,因而无法确保安全团队能够留意到所有 API,也无法确保采取适当的控制措施和策略来保护每个 API。因此,很多企业都将其他 API 保护解决方案与 API 网关搭配使用,以提升对攻击面的监测能力。
API 网关安全的最佳实践有哪些?
企业及其安全团队可通过遵循以下最佳实践来增强 API 网关安全。
- 集中管理身份验证。 一些微服务会尝试独立管理身份验证过程中的访问权限、令牌验证及其他要素,这会导致复杂性增加并带来安全漏洞。通过在网关处集中管理 API 身份验证,企业可以充分地降低每个此类微服务的风险。
- 实施速率限制。 控制 API 请求的数量不仅可以防止过量的恶意或合法请求使服务过载,还能够抵御 DoS 或 DDoS 攻击。
- 持续监控。 持续监控和分析可以帮助检测潜在威胁,并解决客户端访问和请求问题。
- 移除不使用和已弃用的 API。 通过跟踪所有 API 并移除不再使用或不再支持最新安全措施的 API,安全团队可以增强 API 网关安全。
- 启用 Web 应用程序防火墙 (WAF)。 在网络和 API 安全计划中部署 WAF,可以根据已定义的规则和条件来限制对 API 的访问,从而阻止注入攻击和跨站点脚本攻击等常见威胁。
- 利用行为分析。 基于 SaaS 的行为分析解决方案可以记录所有 API 活动,以确定正常行为的基准。然后,它可以对潜在威胁发出告警,并提供防御或主动响应建议。
常见问题
OpenAPI 是用于 HTTP API 的开源标准和规范语言,它以一种与创建 API 的编程语言无关的方式阐明结构和语法。利用 OpenAPI,DevOps 可以轻松地在使用 JSON 或 YAML 文档编码的规范中说明 API 的工作原理。OpenAPI 安全指的是各种安全方案,这些方案能够根据身份验证限制对应用程序的访问,而且可以提供加密、授权和其他措施来保护 API 的完整性、可用性和机密性。
BOLA 是 Broken Object Level Authorization(失效对象级授权)的首字母缩写,它是针对 API 安全和 API 网关安全的巨大威胁之一。此漏洞属于 OWASP 十大 API 安全威胁之一,能够让黑客操纵 URL 参数等输入参数或请求攻击负载,进而访问未经授权的数据或执行未经授权的操作。
Why customers choose Akamai
Akamai is the cybersecurity and cloud computing company that powers and protects business online. Our market-leading security solutions, superior threat intelligence, and global operations team provide defense in depth to safeguard enterprise data and applications everywhere. Akamai’s full-stack cloud computing solutions deliver performance and affordability on the world’s most distributed platform. Global enterprises trust Akamai to provide the industry-leading reliability, scale, and expertise they need to grow their business with confidence.