2023年OWASP十大API安全风险排行榜
随着越来越多的组织依赖Web应用程序和连接服务提供的自动化和规模,应
2023-07-27随着越来越多的组织依赖 Web 应用程序和连接服务提供的自动化和规模,应用程序编程接口 (API) 安全性已变得势在必行。仅去年一年,针对客户 API 的独特攻击者就增长了 400%,这证明组织必须采取主动方法来保护这些日益有价值的服务。
但考虑到 API 技术的快速发展和威胁数量的不断增加,了解从何处以及如何开始保护 API 可能会令人难以承受。幸运的是,像开放 Web 应用程序安全项目 (OWASP) 这样的组织一直在努力识别企业应优先考虑的最常见和最危险的 API 安全风险。
(资料图片)
OWASP 前 10 名是什么?开放 Web 应用程序安全项目 (OWASP) Top 10因其全面性和准确性而受到认可,是一份详细列表,每一到两年更新一次,突出显示企业应了解的关键 Web 应用程序安全风险。OWASP 是一个由数万名贡献者组成的非营利社区,致力于通过创建框架、工具和教育计划等各种措施来促进软件安全。
随着时间的推移,数字威胁不断演变。因此,OWASP列表会根据API安全特定的数据趋势及时更新,有助于开发人员和安全专业人员优先考虑对策。最近,2023年,OWASP发布了需要警惕的10大API安全风险的更新列表。
从列表底部开始,这些是组织在 2023 年需要注意的OWASP Top 10API 安全风险以及可以采取的缓解这些风险的具体措施。
10. API 的不安全使用当应用程序无法验证、过滤或清理从外部 API 接收的数据时,就会发生 API 的不安全使用。这可能会导致注入攻击或数据泄露等安全漏洞。随着组织越来越依赖第三方 API 来提供关键功能,确保安全使用对于防止攻击者利用这些集成变得更加重要。
缓解策略:
在处理或存储之前验证和清理从外部 API 接收的所有数据。这有助于确保您的应用程序中仅使用有效且安全的数据。使用允许列表和严格的数据类型限制实施输入验证,以防止您的应用程序处理潜在有害的数据。使用安全的 API 网关来过滤和监控传入的 API 请求,从而针对针对您的 API 的恶意流量添加一层保护。9、库存管理不当库存管理不当与组织使用的 API 缺乏足够的控制有关。这可能会导致未经授权的访问和增加攻击面,从而将敏感数据暴露给恶意方。随着组织使用的 API 数量不断增加,跟踪其功能、端点和可访问性指令以维护对 API 生态系统的整体保护至关重要。
缓解策略:
维护组织内所有 API 的最新清单,包括其用途、端点和访问控制。这可以帮助您识别潜在的安全漏洞并确保所有 API 都得到充分保护。定期审查和更新 API 文档,以确保其准确反映 API 的当前状态。清晰准确的文档对于开发人员和安全专业人员有效理解和保护 API 至关重要。停用未使用或已弃用的 API,以最大程度地减少攻击面。删除不必要的 API 可以降低攻击者发现和利用易受攻击端点的可能性。8. 安全配置错误当 API 未安全配置时,就会发生安全配置错误,从而使其面临各种安全风险。安全配置错误的示例包括使用默认凭据、未能关闭不必要的功能或忽略及时应用安全补丁。
缓解策略:
在开发的早期阶段使用安全配置设置您的 API。定期审查和更新 API 配置,以确保它们持续应用最佳安全实践。使用自动化工具通过持续监控来检测和修复安全配置错误。7. 服务器端请求伪造(SSRF)服务器端请求伪造 (SSRF) 是一个漏洞,允许攻击者操纵服务器端请求,可能导致未经授权访问内部资源或远程执行代码。这可能会导致敏感数据暴露、关键系统中断甚至整个系统受损。
缓解策略:
验证和清理服务器端请求中使用的用户提供的输入。这有助于确保您的应用程序仅处理合法请求,并降低 SSRF 攻击的风险。限制 API 可以访问的请求类型和资源。实施严格的访问控制有助于防止未经授权的操作并限制 SSRF 攻击的潜在影响。实施网络分段和防火墙规则以限制对内部系统的访问。您可以通过将敏感资源与面向公众的 API 隔离来降低 SSRF 攻击成功的可能性。6. 不受限制地访问敏感业务流程当 API 未能实施适当的访问控制时,就会出现对敏感业务流的不受限制的访问,从而允许未经授权的用户执行敏感操作或访问机密数据。
缓解策略:
为所有 API 端点实施强大的身份验证和授权机制。应用最小权限原则,授予用户执行任务所需的最低权限。定期审核和监控API访问日志,以检测和响应潜在的安全事件。5. 功能级别授权被破坏功能级授权损坏本质上是指由于不安全的直接对象引用 (IDOR) 问题,普通用户可以执行应为管理员保留的任务的情况。当用户的分级权限系统不完整或出现故障时,就会发生这种情况。
缓解策略:
对所有 API 端点实施严格的授权检查。使用基于角色的访问控制 (RBAC) 来管理用户权限。定期审查和更新访问控制策略。4. 资源消耗不受限制当攻击者利用 API 漏洞消耗过多的系统资源(例如内存、CPU 或网络带宽)时,就会发生无限制的资源消耗或拒绝服务 (DoS) 攻击。这可能会导致受影响的服务降级或完全不可用。
缓解策略:
监视和限制资源使用。实施速率限制以控制来自客户端的请求数量。使用缓存来减少后端系统的负载。3.破坏对象属性级别授权损坏的对象属性级别授权是一种安全风险,当攻击者可以访问或修改他们不应访问的对象的属性时,就会发生这种安全风险。如果 API 在授予对象属性访问权限之前未正确验证用户权限,则可能会发生这种情况。
缓解策略:
对所有对象属性实施适当的访问控制检查。在授予对对象属性的访问权限之前验证用户权限。使用基于属性的访问控制 (ABAC) 定义精细的访问规则。2. 认证失效当身份验证协议不够强大或执行不正确时,就会出现安全问题。这为攻击者在未被发现的情况下破坏 API 敞开了大门。身份验证弱点可以通过多种方式表现出来,包括但不限于不良的密码创建最佳实践、受损的密码存储系统以及基于令牌的身份验证框架中的漏洞。
缓解策略:
实施强密码策略。使用安全密码存储方法,例如 bcrypt 或 Argon2。尽可能实施多重身份验证 (MFA)。1. 对象级授权被破坏由于验证数据对象访问的授权控制存在缺陷,当用户可以访问其他用户的数据时,就会出现对象级授权损坏 (BOLA) 漏洞。BOLA 漏洞通常是由不安全的编码实践引起的,例如在授予对象访问权限之前未能正确验证用户输入或检查权限。当 API 使用过于宽松的访问控制或 API 资源没有得到充分保护时,就会发生这种情况。
缓解策略:
采用随机、通用唯一标识符 (UUID)。建立强大的授权协议。采用零信任安全框架。确保API 安全确保 API 的安全需要采用整体方法,涵盖从身份验证和授权到访问控制和资源管理的所有内容。通过采取必要的步骤来确保API 并采用最佳安全实践,可以保护应用程序和数据免受潜在攻击,同时受益于强大的 API 驱动架构的优势。