随着互联网的快速发展,Web应用已成为人们日常生活和工作中不可或缺的一部分。然而,Web应用的安全问题也日益凸显,给企业和个人带来了极大的风险。
对于一些安全行业的用户来说,不少都听过关于OWASP这个词,很多用户想要了解下到底是什么意思,以及提到的OWASP top10指的是哪些,接下来德迅云安全就分享下关于OWASP方面的知识,通过了解OWASP方面的情况,我们可以采取一些相应的安全措施来加强API业务的安全性。
一、什么是OWASP
OWASP全称:Open Web Application Security Project,是一个开放式Web应用程序安全项目组织,旨在帮助计算机和互联网应用程序提供公正、实际、有成本效益的信息。
为了应对web风险,该组织发布了OWASP Top 10,这是一份关于Web应用安全风险的清单,旨在帮助开发者和安全专家识别并防范最常见的安全威胁。
二、OWASP API Top 10有哪些
OWASP发布需要警惕的10大API安全风险的更新列表,该列表总结并更新Web应用程序中最可能、最常见、最危险的十大漏洞。它涵盖了当前Web应用中最为常见的十类安全风险,每一到两年更新一次,突出显示企业应了解的关键 Web 应用程序安全风险。
接下来德云安全着重来介绍OWASP Top 10 2023最新版本,该版与 2019 年十大 API 安全风险相比有不少变化。我们来了解下都有哪十大安全风险,以及有什么安全措施。
1、对象级授权被破坏
由于验证数据对象访问的授权控制存在缺陷,当用户可以访问其他用户的数据时,就会出现对象级授权损坏 (BOLA) 漏洞。BOLA 漏洞通常是由不安全的编码实践引起的,例如在授予对象访问权限之前未能正确验证用户输入或检查权限。当 API 使用过于宽松的访问控制或 API 资源没有得到充分保护时,就会发生这种情况。
安全措施:
-
采用随机、通用唯一标识符 (UUID)。
-
建立强大的授权协议。
-
采用零信任安全框架。
2、认证失效
当身份验证协议不够强大或执行不正确时,就会出现安全问题。这为攻击者在未被发现的情况下破坏 API 敞开了大门。身份验证弱点可以通过多种方式表现出来,包括但不限于不良的密码创建最佳实践、受损的密码存储系统以及基于令牌的身份验证框架中的漏洞。
安全措施:
-
实施强密码策略。
-
使用安全密码存储方法,例如 bcrypt 或 Argon2。
-
尽可能实施多重身份验证 (MFA)。
3、破坏对象属性级别授权
损坏的对象属性级别授权是一种安全风险,当攻击者可以访问或修改他们不应访问的对象的属性时,就会发生这种安全风险。如果 API 在授予对象属性访问权限之前未正确验证用户权限,则可能会发生这种情况。
安全措施:
-
对所有对象属性实施适当的访问控制检查。
-
在授予对对象属性的访问权限之前验证用户权限。
-
使用基于属性的访问控制 (ABAC) 定义精细的访问规则。
4、资源消耗不受限制
当攻击者利用 API 漏洞消耗过多的系统资源(例如内存、CPU 或网络带宽)时,就会发生无限制的资源消耗或拒绝服务 (DoS) 攻击。这可能会导致受影响的服务降级或完全不可用。
安全措施:
-
监视和限制资源使用。
-
实施速率限制以控制来自客户端的请求数量。
-
使用缓存来减少后端系统的负载。
5、功能级别授权被破坏
功能级授权损坏本质上是指由于不安全的直接对象引用 (IDOR) 问题,普通用户可以执行应为管理员保留的任务的情况。当用户的分级权限系统不完整或出现故障时,就会发生这种情况。
安全措施:
-
对所有 API 端点实施严格的授权检查。
-
使用基于角色的访问控制 (RBAC) 来管理用户权限。
-
定期审查和更新访问控制策略。
6、不受限制地访问敏感业务流程
当 API 未能实施适当的访问控制时,就会出现对敏感业务流的不受限制的访问,从而允许未经授权的用户执行敏感操作或访问机密数据。
安全措施:
-
为所有 API 端点实施强大的身份验证和授权机制。
-
应用最小权限原则,授予用户执行任务所需的最低权限。
-
定期审核和监控API访问日志,以检测和响应潜在的安全事件。
7、服务器端请求伪造(SSRF)
服务器端请求伪造 (SSRF) 是一个漏洞,允许攻击者操纵服务器端请求,可能导致未经授权访问内部资源或远程执行代码。这可能会导致敏感数据暴露、关键系统中断甚至整个系统受损。
安全措施:
-
验证和清理服务器端请求中使用的用户提供的输入。这有助于确保我们的应用程序仅处理合法请求,并降低 SSRF 攻击的风险。
-
限制 API 可以访问的请求类型和资源。实施严格的访问控制有助于防止未经授权的操作并限制 SSRF 攻击的潜在影响。
-
实施网络分段和防火墙规则以限制对内部系统的访问。我们可以通过将敏感资源与面向公众的 API 隔离来降低 SSRF 攻击成功的可能性。
8、安全配置错误
当 API 未安全配置时,就会发生安全配置错误,从而使其面临各种安全风险。安全配置错误的示例包括使用默认凭据、未能关闭不必要的功能或忽略及时应用安全补丁。
安全措施:
-
在开发的早期阶段使用安全配置设置我们的 API。
-
定期审查和更新 API 配置,以确保它们持续应用最佳安全实践。
-
使用自动化工具通过持续监控来检测和修复安全配置错误。
9、库存管理不当
库存管理不当与组织使用的 API 缺乏足够的控制有关。这可能会导致未经授权的访问和增加攻击面,从而将敏感数据暴露给恶意方。随着组织使用的 API 数量不断增加,跟踪其功能、端点和可访问性指令以维护对 API 生态系统的整体保护至关重要。
安全措施:
-
维护组织内所有 API 的最新清单,包括其用途、端点和访问控制。这可以帮助我们识别潜在的安全漏洞并确保所有 API 都得到充分保护。
-
定期审查和更新 API 文档,以确保其准确反映 API 的当前状态。清晰准确的文档对于开发人员和安全专业人员有效理解和保护 API 至关重要。
-
停用未使用或已弃用的 API,以最大程度地减少攻击面。删除不必要的 API 可以降低攻击者发现和利用易受攻击端点的可能性。
10、API 的不安全使用
当应用程序无法验证、过滤或清理从外部 API 接收的数据时,就会发生 API 的不安全使用。这可能会导致注入攻击或数据泄露等安全漏洞。随着组织越来越依赖第三方 API 来提供关键功能,确保安全使用对于防止攻击者利用这些集成变得更加重要。
安全措施:
-
在处理或存储之前验证和清理从外部 API 接收的所有数据。这有助于确保我们的应用程序中仅使用有效且安全的数据。
-
使用允许列表和严格的数据类型限制实施输入验证,以防止我们的应用程序处理潜在有害的数据。
-
使用安全的 API 网关来过滤和监控传入的 API 请求,从而对 API 添加一层保护。
三、如何对API业务进行全方位防护
在数字化时代的今天,API(应用程序接口)的广泛应用和深入推广,API 越来越成为攻击者的目标,没有永远安全的 API。针对当前存在的API业务安全风险,我们需要一个更有效的安全防范措施,构建全方位的API安全保护体系。
德迅云安全的WAAP全站防护可以对API业务提供全方位防护。
API资产盘点
基于流量分析,帮助企业从流量数据中发现尚未掌握的API业务,形成API资产清单,为后续的防护工作做好资产盘点。
API风险监测
针对API应用进行精细化的管理和防护,包括OWASP API Top 10中列出的各种风险。企业能够及时了解风险,防范在先,扼杀风险发生的可能。规避API滥用行为、防止数据泄。
在这样全方位的防护体系下,API业务安全能够得到有效的保障,为企业营造安全可控的API环境。