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

news2024/11/19 18:44:53

随着互联网的快速发展,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.coloradmin.cn/o/1567066.html

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

相关文章

redis---位图Bitmap和位域 Bitfield

位图是字符串类型的拓展,可以使用一个string类型来模拟一个Bit数组。数组的下标就是偏移量,值只有0和1,也支持一些位运算,比如与或非,异或等等,它们的应用场景非常广泛比如可以用来记录用户的签到情况&…

【Java核心能力】饿了么一面:Redis 面试连环炮

欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送! 在我后台回复 「资料」 可领取编程高频电子书! 在我后台回复「面试」可领取硬核面试笔记! 文章导读地址…

flink1.18源码本地调试环境

01 源码本地调试环境搭建 1. 从github拉取源码创建本地项⽬ https://github.com/apache/flink.git 可以拉取github上官⽅代码 https://github.com/apache/flink.git GitHub - apache/flink: Apache Flink 2. 配置编译环境 ctrlaltshifts (或菜单)打…

zabbix 7.0 新增功能亮点(一)——T参数

概要: T参数是zabbix7.0新增的一项功能,它支持对配置文件进行可用性验证,即zabbix程序(server/proxy/agent等)修改配置文件后,支持-T或–test-config参数验证配置参数可用性。 T参数主要包含以下三个方面的应用场景: …

SQL语句生成器,支持MSSQL/MYSQL/SQLITE/ACCESS/EXCEL

经过7个月的艰苦开发,SQL语句生成器终于和各位见面了,因为工程量浩大,一度做到崩溃,差点烂尾,好在经过N次激烈思想斗争后还是坚持了下来累累累累累累累 本软件能够自动生成SQL语句及对应的易语言代码,还有相…

如何在Java中,使用jackson实现json缩进美化

导入的maven依赖 <!--json--> <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.10.0</version> </dependency>示例代码 json要是String类型 public…

HarmonyOS NEXT应用开发之MVVM模式

应用通过状态去渲染更新UI是程序设计中相对复杂&#xff0c;但又十分重要的&#xff0c;往往决定了应用程序的性能。程序的状态数据通常包含了数组、对象&#xff0c;或者是嵌套对象组合而成。在这些情况下&#xff0c;ArkUI采取MVVM Model View ViewModel模式&#xff0c;其…

Linux TUN设备实现Tunnel性能分析

一、TUN/TAP设备原理&#xff1a; Linux的TUN/TAP设备是一种可以使得应用层与TCP/IP协议栈交互的驱动模块&#xff0c;通常用于组建虚拟局域网中的点对点隧道&#xff08;Tunnel&#xff09;&#xff0c;可以工作于2层&#xff08;TAP设备&#xff09;和3层&#xff08;TUN设备…

下载与安装Latex(windows简洁板)

总共要安装两个软件&#xff1a;TeX Live与TeX Studio 下载与安装TeX Live 下载 下载地址&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/ 点击&#xff1a; texlive2024.iso 文件很大&#xff0c;可能会慢点 2. 安装 下载好了iso文件&…

redis事务(redis features)

redis支持事务&#xff0c;也就是可以在一次请求中执行多个命令。redis中的事务主要是通过MULTI和EXEC这两个命令来实现的。 MULTI命令用来开启一个事务&#xff0c;事务开启之后&#xff0c;所有的命令就都会被放入到一个队列中&#xff0c;最后通过一个EXEC命令来执行事务中…

【项目新功能开发篇】开发编码

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

C++ //练习 11.9 定义一个map,将单词与一个行号的list关联,list中保存的是单词所出现的行号。

C Primer&#xff08;第5版&#xff09; 练习 11.9 练习 11.9 定义一个map&#xff0c;将单词与一个行号的list关联&#xff0c;list中保存的是单词所出现的行号。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /***********…

c++20协程详解(三)

前言 前面两节我们已经能够实现一个可用的协程框架了。但我们一定还想更深入的了解协程&#xff0c;于是我们就想尝试下能不能co_await一个协程。下面会涉及到部分模板编程的知识&#xff0c;主要包括&#xff08;模板偏特化&#xff0c;模板参数列表传值&#xff0c;模板函数…

Bat初級

目录 一、編碼發展史 二、Bat運行順序 1、Bat是從上到下逐句運行的。 三、一些Bat元素 1、和echo off 2、注釋 3、pause 4、errorlevel 5、title 6、COLOR 7、GOTO label 和 :label 8、FIND 9、START 目录 一、編碼發展史 二、Bat運行順序 1、Bat是從上到下逐句運行的。 三…

三维VR虚拟展馆打破传统展览的时间与空间限制

探索绿色未来&#xff0c;见证生态转型——这是长江经济带在国家发展蓝图中的承诺。如今&#xff0c;通过线上长江经济带发展阶段性成效展厅&#xff0c;这一承诺正以创新的互动体验呈现给公众&#xff0c;彰显了环境保护与经济增长的和谐统一。 深圳VR公司华锐视点精心策划的长…

学术前沿|通研院提出首个“对称现实”框架,探索智能时代人机共生新范式

人类正在迈入智能时代&#xff0c;其中一个显著特征是大量智能体的涌现。无论生物人、数字人和机器人&#xff0c;都是智能体的不同具身形式。为实现多种智能体在跨虚实空间的共存协作&#xff0c;探索人机共生的新范式&#xff0c;北京通用人工智能研究院&#xff08;简称通研…

Jenkins详细教程(下载安装、构建部署到Linux)

目录 第一章、快速了解Jenkins1.1&#xff09;Jenkins中一些概念介绍1.2&#xff09;Jenkins和maven用途上的区别1.3&#xff09;为什么使用Jenkins 第二章、Winodws下载安装Jenkins2.1&#xff09;安装之前的准备2.2&#xff09;Windows中Jenkins下载安装教程2.3&#xff09;J…

百度行驶证C++离线SDK V1.1 C#接入

百度行驶证C离线SDK V1.1 C#接入 目录 说明 效果 项目 代码 下载 说明 自己根据SDK封装了动态库&#xff0c;然后C#调用。 SDK包结构 效果 项目 代码 using Newtonsoft.Json; using System; using System.Drawing; using System.Runtime.InteropServices; using System…

【Android、 kotlin】kotlin学习笔记

基本语法 fun main(){val a2var b "Hello"println("$ (a - 1} $b Kotlin!")} Variables 只赋值一次用val read-only variables with val 赋值多次用var mutable variables with var Standard output printin() and print() functions String templ…

蓝凌OA单点登录实现方案:以统一身份管理提升效率与安全新举措

蓝凌OA的优势与挑战 在数字化浪潮的推动下&#xff0c;企业对于高效、安全的身份管理需求愈发迫切。蓝凌OA系统&#xff0c;以其出色的流程管理和协同办公能力&#xff0c;已经成为众多企业实现数字化转型的重要工具。然而&#xff0c;随着企业信息化建设的不断深入&#xff0…