Ezivox

Ezivox

比较2019年和2023年OWASP十大API安全风险

随着对微服务的日益倾向,组织对 API 的依赖也显著增加。事实上,根据 Postman 进行的一项调查,43% 的受访者表示 API 创造了公司收入的四分之一以上。

但随着对 API 的依赖性增加,它们也受到了黑客的窥探。为了解决这个问题,OWASP(一个制作有关 Web 应用程序安全内容的非营利社区)每隔几年就会发布一份十大 API 风险列表。本文将比较 OWASP 2019 年的十大 API 漏洞和 OWASP 2023 年的十大 API 漏洞。下面的信息图简要介绍了 2019 年和 2023 年列出的 API 风险。

从表面上看,很明显其中一些漏洞占据了相同的位置,但有一些漏洞进行了更新、更改或合并。让我们回顾一下 2023 年列表中的每个漏洞,并查看其 2019 年的历史记录。

风险1:损坏的对象级授权(未更改)

损坏的对象级授权(缩写为BOLA)自 2019 年以来一直排名第一。这种攻击通常是由于对象级授权不当而发生的。这为黑客提供了更大的攻击面,因为处理对象标识符的端点暴露在黑客面前。

2021 年,Microsoft Exchange 遭受了 BOLA 攻击。通过利用此漏洞,黑客绕过了一些访问控制点,并能够访问存储在 Microsoft Exchange 服务器中的敏感信息。这些数据包括用户凭据和电子邮件通信。此次攻击影响了全球数万家公司。

可以通过以下方式减轻此 API 安全风险:

  • 在每个接入点实施强大的身份验证和授权协议
  • 定期进行安全审计
  • 监控和记录 API 活动

风险2:身份验证中断(已更新)

2019 年以来,身份验证漏洞也一直排在第二位。此漏洞唯一的变化是其名称。在OWASP 2019 API 安全风险列表中,它被称为“用户身份验证漏洞”。近年来,攻击的性质一直没有改变。

如果身份验证过程设计不当,黑客可以使用多种方式,包括凭证填充、非散列密码、暴力破解和会话劫持来攻击 API 并访问敏感数据。

2015 年,Dunkin’ Donuts 因遭受暴力攻击而登上新闻头条。攻击者瞄准了其数字客户账户。他们利用之前泄露和窃取的客户信息,并运行暴力算法。黑客利用客户忠诚度应用程序访问了超过 19,000 个账户并窃取了数以万计的奖励现金。

可以通过以下方式缓解此 API 安全风险

  • 使用安全存储来存储凭证
  • 引入强密码策略
  • 经常进行安全测试
  • 实施多因素身份验证

风险3:损坏的对象属性级别授权(已更新)

OWASP 2019 安全风险列表中的过度数据暴露被 OWASP 2023 安全风险列表中的对象属性级别授权损坏所取代。此漏洞是过度数据暴露和批量分配的组合,在 2019 年列表中分别排名第三和第六位。

当允许用户访问任何 API 端点时,验证用户是否有权访问特定对象属性非常重要。如果在此级别无法进行适当的身份验证,敏感数据可能会暴露给攻击者。

Twitter 已成为利用破坏的对象属性级授权漏洞进行攻击的受害者。这家社交媒体巨头提供了一个 API,允许将 Twitter ID 交换为关联的电子邮件地址和电话号码。然而,这种做法引发了对过度数据暴露的担忧,因为获取 Twitter ID 可以进一步用于获取用户信息。这家社交媒体公司于 2022 年 8 月发布声明称,该漏洞是其漏洞赏金计划于 2022 年 1 月发现的。然而,一名攻击者在 2022 年 7 月利用了此漏洞,并提出出售这些数据。

可以通过以下方式减轻此 API 安全风险:

  • 在提供对对象属性的访问权限之前验证用户权限
  • 实施适当的授权检查
  • 监视和记录对象属性访问

风险4:不受限制的资源消耗(更新)

在 OWASP 2019 API 漏洞中被称为资源不足和速率限制,现在在OWASP的 2023 API 风险列表中被称为无限制的资源消耗。前者仅关注漏洞,而后者谈论的是忽视适当的速率限制和资源使用限制的后果。

通过利用此 API 漏洞,攻击者可以使用拒绝服务 (DoS) 攻击耗尽目标系统的资源。他们向目标 API 发送大量请求,这可能会导致系统不可用或不稳定。波兰的主要税务门户网站最近遭受了 DDoS 攻击。攻击者瞄准了支持中央税务服务背后 API 的资源。因此,服务器几个小时都无法使用。

可以通过以下方式缓解此 API 安全风险

  • 监控和分析资源使用情况
  • 进行输入验证和清理
  • 实施节流和速率限制

风险5:功能级别授权损坏(未更改)

此漏洞在 OWASP 2019 和 2023 API 安全风险列表中均位列第五。当允许用户执行必须仅允许管理员执行的任务时,就会利用损坏的功能级别授权漏洞。当用户的分层权限系统未正确集成时,就会发生这种情况。

2022 年 9 月的 Optus 数据泄露事件是由于公开暴露且未受保护的 API 造成的。此次攻击是由三个主要安全漏洞引起的。首先,他们有面向公众的 API。其次,这些 API 可以轻松访问敏感的客户数据。最后,客户 ID 的分配方式很具罪证。该漏洞被利用了大约三个月,导致 980 万客户的数据存在泄露风险。

可以通过以下方式缓解此 API 安全风险

  • 使用基于角色的访问控制
  • 定期检查访问控制策略
  • 在所有 API 端点上实施强大的授权检查

风险6:不受限制地访问敏感业务流(新)

在 OWASP 2019 API 安全风险列表中,Mass Assignment 排名第六。然而,它在 2023 年被“对敏感业务流程的无限制访问”所取代。每家公司都有自己的业务流程。使用提供对这些敏感业务流程的过度访问权限的 API 可能会让攻击者识别工作流中的漏洞并破坏其正常运行。

网络安全公司赛门铁克也因该漏洞而遭受攻击,攻击者利用经销商业务逻辑中的访问控制。他们泄露了私钥,导致 20,000 个 SSL 证书被撤销。

可以通过以下方式缓解此 API 安全风险

  • 实施强大的API 身份验证和授权
  • 识别和分类 API 中的敏感业务流程
  • 向用户提供执行任务所需的最低限度的权限
  • 频繁监控API访问日志

风险7:服务端请求伪造(新)

服务器端请求伪造 (SSRF) 已取代安全配置错误,从 2019 年 API 安全风险列表中排名第七。当攻击者可以操纵服务器端的请求,从而访问内部资源并进一步从事恶意活动时,就会发生这种攻击。

美国银行控股公司 CapitalOne 在 2019 年成为 SSRF 的受害者。基础设施中存在漏洞以及糟糕的安全措施是此次攻击的主要原因。攻击者泄露了超过 1 亿条客户记录。

可以通过以下方式缓解此 API 安全风险

  • 验证服务器端请求中使用的用户输入
  • 通过实施严格的访问控制来限制可以访问 API 端点的请求
  • 实施强大的防火墙配置来限制对内部系统的访问。
  • 监控并记录服务器端请求

风险8:安全配置错误(未更改)

注入攻击在 OWASP 2019 年 API 安全风险中排名第八,之前排名第七的安全配置错误取代了注入攻击。顾名思义,当 API 配置不安全时就会发生这种风险,这可能会导致潜在的安全漏洞和漏洞。这可能涉及默认设置、未受保护的敏感信息、冗余功能和不良的访问限制,攻击者可以利用这些来获取未经授权的访问、泄露数据或中断服务。

协作工具 JIRA 存在安全配置错误,导致许多大型公司的个人和公司数据容易受到攻击。攻击空间是由于 Global Permissions 中的授权配置错误而产生的。

可以通过以下方式缓解此 API 安全风险

  • 定期更新和修补所有软件组件
  • 将访问权限限制为 API 操作所必需的权限
  • 实施正确的输入验证和 CORS 配置
  • 经常检查和更新 API 配置

风险9:库存管理不当(已更新)

不当库存管理(在 OWASP 2019 年列表中也称为不当资产管理)是指未对 API 进行盘点或正确管理,从而产生多个盲点和更大的攻击面。它可以暴露业务逻辑和资源,从而产生更多漏洞。

2022 年 9 月,澳大利亚电信公司 Optus 因库存管理不当而遭受攻击。攻击者瞄准了用于管理客户帐户的 API,该 API 使他们能够访问有关客户的关键信息,包括姓名、电话号码和地址。由于 API 管理不当,该漏洞未被发现,危及了数千名客户的敏感信息。

可以通过以下方式缓解此 API 安全风险

  • 实施库存管理系统
  • 进行频繁审计以验证库存的准确性
  • 停用未使用的 API 以减少攻击面

风险10:不安全的 API 使用(新)

OWASP 2023 API 安全风险列表中,不安全的 API 使用已取代日志记录和监控不足。如果从外部 API 收到的数据未经验证和清理,则可能会出现此漏洞。当 API 遵循不安全的重定向、盲目支持第三方集成并信任所有传入数据而未进行适当验证时,就会发生通过不安全的 API 使用进行的攻击。

Log4Shell 漏洞是最新和最著名的不安全使用 API 的例子之一。Apache Log4j 日志库在全球范围内广泛使用,它允许用户通过 API 控制输入进行无限制访问。代码中的漏洞允许用户在托管应用程序的服务器上运行任意代码。攻击者可以通过在请求中发送恶意代码来利用此漏洞。

可以通过以下方式缓解此 API 安全风险

  • 实施严格的输入验证和清理流程
  • 使用安全通信协议
  • 使用 API Gateway 监控和记录 API 通信

总之,OWASP 2023 API 安全风险列表主要倾向于控制访问。如果我们观察,我们会注意到四个风险集中在提供访问权限上,其中三个倾向于限制访问权限,其余三个则涉及安全地设置 API 以及验证和清理传入的请求。

技术日新月异,但网络犯罪分子的技术也日新月异。始终领先于攻击者才是明智之举。

文章来源:Comparing 2019 and 2023 OWASP Top 10 API Security Risks