OWASP API 安全风险,有哪些安全措施

随着互联网的快速发展,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环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm024家政服务网站设计+jsp

家政服务管理系统 摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 家政服务网站,主要的模块包括查看管理员;个人中心、用户管理、服务类型管理、家政类型管理、家政评…

学代码是理解就行,还是全部背?

在我没接触编程以前,看到程序,觉得这玩意到底怎么写出来的,写出这些代码的人,也太厉害了吧? 不会很多都要背下来吧? 我小学背课本都费劲,背不出来,中午不准回家吃饭,我就…

【零基础入门芯片课】半导体是什么?

大家好,我是砖一。 今天给大家分享一下半导体的基础知识,普及一下何为半导体,有从事IC,功率元器件,开关电源的朋友可以了解一下,希望对你有用~ 近几年,我们或多或少听过半导体,芯片…

02 Python进阶:CGI编程

什么是CGI CGI是通用网关接口(Common Gateway Interface)的缩写,它是一种标准协议,用于Web服务器执行外部程序或脚本与Web浏览器进行交互。通过CGI,Web服务器能够动态生成网页内容,处理用户提交的表单数据…

33-5 XXE漏洞 - xxe外部实体注入相关工具

1)xxe.sh || OOB XXE tool:一个方便的网站,可以输入您的域名并生成OOB XXE PoC。适用于盲注Out-of-band攻击。(主要) 2)staaldraad/xxeserv :简化FTP服务器的设置,以通过FTP接收OOB XXE攻击 以下是 ./xxeserv 命令的使用说明: Usage of ./xxeserv:-o string记录日志…

js的Proxy和Reflect

目录 Proxy对象的基本操作常见捕获器getset函数相关拦截器 ReflectReflect与基本语法的区别Reflect常见方法 Proxy和Reflect 在 ES6之前,如果我们对对象进行 新增或者删除属性时,仅靠原有的 Object.defineProperty是无法 监听的,基于此&a…

QT4-QT5-VS2019-编译无法打开文件 QtCore/qchar.h

1.系统环境变量 添加QTDIR 添加PATH 2.项目配置 2.1vc目录:包含目录库目录 2.2C/C 常规:附加包含目录QT5的头文件必须在附加包含目录里配置。 2.3链接器:附加库目录 2.4QTProject Settings

镜舟科技荣获第十三届中国智能制造高峰论坛两项大奖

2024年3月29日,由e-works数字化企业网和湖北省中小企业服务中心联合主办,中国中小企业发展促进中心指导的“第十三届中国智能制造高峰论坛暨第二十一届中国智能制造岁末盘点颁奖典礼”在北京圆满落幕。本次论坛汇聚了国内外智能制造领域的专家学者、企业…

有效的职场沟通及其重要性

欢迎来到职场沟通的世界,在这里,每一个词都至关重要,沉默则能传达出无尽的信息。一个有效沟通能力不仅仅是在线办公套件中的可选配件,而是一项绝对必需的能力。今天我们与您分享有效的职场沟通及其重要性。有效的职场沟通可以增强…

Redis高可用及持久化

文章目录 一、Redis高可用1、Redis高可用概述2、Redis高可用策略 二、Redis持久化1、Redis持久化的功能2、Redis持久化的两种方式2.1 RDB持久化2.2 AOF持久化(append only file) 3、RDB持久化3.1 触发条件3.1.1 手动触发3.1.2 自动触发3.1.2.1 配置方式3…

桶排序---

1、算法概念 桶排序:一种非比较的排序算法。桶排序采用了一些分类和分治的思想,把元素的值域分成若干段,每一段对应一个桶。在排序的时候,首先把每一个元素放到其对应的桶中,再对每一个桶中的元素分别排序&#xff0c…

EF数据持久化(三层架构,公司查,改)

效果图 Model设置具体流程在下面链接中 https://blog.csdn.net/Mr_wangzu/article/details/136805824?spm1001.2014.3001.5501 DAL using System; using System.Collections.Generic; using System.Linq; using System.Web; using WebApplication2.Models; namespace WebAppli…

结构体,联合体,枚举( 2 )

目录 2.联合体 2.1联合体类型的声明 2.2联合体的特点 2.3联合体的内存大小 3.枚举 3.1枚举类型的声明 3.2枚举类型的优点 3.3枚举类型的使用 2.联合体 联合体(Union)是另一种复合数据类型,它允许我们在同一内存位置存储不同的数据类型…

UE4_动画基础_ 瞄准偏移1D(Aim Offset Blend Space 1D)

瞄准偏移1D基本上可以完成角色的向左看向右看或者向上看向下看,像混合空间1D一样只有一个轴向可用。 操作步骤: 1、新建第三人称模板项目。 2、右键——动画——瞄准偏移1D 选取骨骼 双击打开 3、瞄准偏移混合的是姿势,我们需要创建姿势。 …

结合创新!多尺度特征融合+Transformer,参数和计算成本减半

通过多尺度特征融合,模型能够捕捉到不同层次的视觉细节,而Transformer的自注意力机制能够在这些不同层次的特征之间建立联系,有效地整合全局上下文信息,让模型能够应对多样化的视觉场景和变化。 这种结合策略充分利用了二者各自的…

库位电子标签可视化管理,让仓库更智能

一、工厂仓储的目前管理现状 目前工厂仓储管理存在诸多问题,如物料数量种类多,寻找困难且耗时;盘点人力成本高且速度慢;存储位置不清晰,常找不到物料,且多发、少发、错料现象时有发生;系统与库…

SSTI模板注入(jinja2)

前面学习了SSTI中的smarty类型,今天学习了Jinja2,两种类型都是flask框架的,但是在注入的语法上还是有不同 SSTI:服务器端模板注入,也属于一种注入类型。与sql注入类似,也是通过凭借进行命令的执行&#xff…

C++ 中的 vector 的模拟实现【代码纯享】

文章目录 C 中的 vector 模拟实现1. vector 的基本概念2. vector 的基本操作3. vector 的模拟实现4.代码纯享5. 总结 C 中的 vector 模拟实现 在 C 中,vector 是一个非常重要的容器,它提供了动态数组的功能。在本篇博客中,我们将尝试模拟实现…

函数参数缺省和内联函数【C++】

文章目录 函数参数缺省函数参数缺省的条件和要求 内联函数内联函数的工作原理内联函数的定义方法内联函数的要求解决方法:直接在.h中定义内联函数的函数体 内联函数再Debug模式下默认是不展开的 函数参数缺省 顾名思义:可以少传一个/多个参数给函数&…

防止推特Twitter账号被冻结,应该选什么代理类型IP?

在处理多个 Twitter 帐号时,选择合适的代理IP对于避免大规模帐户暂停至关重要。现在,问题出现了:哪种类型的代理是满足您需求的最佳选择?下面文章将为你具体讲解推特账号冻结原因以及重点介绍如何选择代理IP。 一、推特账号被冻结…