OWASP API安全性Top 10 RC

图片
该项目面向越来越多的组织,这些组织将潜在敏感的API作为其软件解决方案的一部分来实施。 API用于内部任务以及与第三方服务的交互。 不幸的是,许多API没有通过严格的安全性测试,以使其免受攻击,从而扩大了Web应用程序的威胁范围。

OWASP API安全性十大安全性项目旨在突出显示不安全API中的潜在风险,并提出缓解此类风险的措施。

OWASP


OWASP项目由许多标准,工具和组织(包括MITRE,PCI DSS,DISA,FTC等)引用。 方法论OWASP是一种用于评估全球Web应用程序漏洞的公认方法论。 OWASP项目反映了对Web和移动应用程序API的最大威胁,描述了测试方法和方法。

作为开发人员或安全顾问,许多人都将API视为项目的一部分。 尽管有一些资源可以帮助创建和评估这些项目(例如OWASP REST安全备忘单),但尚未开发出全面的安全项目来帮助开发人员,测试人员和安全专业人员。

现代API


该文档处于候选发布状态;计划于2020年第二季度进行正式演示。 “ API安全性”侧重于用于理解和缓解应用程序编程接口(API)的独特漏洞和安全风险的策略和解决方案。

成为此工作表的前提是:

  • 客户端设备变得越来越多样化和复杂。
  • 逻辑从后端移动到前端(以及一些漏洞)。
  • 更少的抽象层。
  • 客户端和服务器(和数据库)使用相同的JSON语言“讲话”。
  • 服务器更多地用作数据的代理。
  • 呈现组件是客户端,而不是服务器。
  • 客户使用原始数据。
  • API揭示了应用程序的基础实现。
  • 用户状态通常由客户端维护和监视。
  • 每个HTTP请求都会发送其他参数(对象标识符,
  • 过滤器)。

如果不使用API​​,几乎无法想象现代的Web应用程序。



OWASP API安全性排名前10位


A1对象级别的授权不正确


API通常会公开负责标识符的终结点,这为访问控制级别的攻击打开了很大的机会。 必须在接受用户输入的每个函数中实现对象级授权检查。

A2验证无效


身份验证机制通常会错误地实施,这使攻击者可以破坏身份验证令牌或利用实施中的错误,以临时或永久地冒充另一个用户。 损害系统识别客户端/用户的能力会损害整个API的安全性。

A3发行多余信息


为了实现标准化,开发人员可以公开对象的所有参数,而不必考虑每个参数的关键性,希望客户端在将数据显示给用户之前先对其进行过滤。

A4缺乏资源和要求的限制


通常,API不会对用户请求的资源大小或数量施加任何限制。 这不仅可能导致性能下降甚至DoS,还可能导致身份验证攻击-例如蛮力攻击。

A5功能授权错误


具有不同层次,组和角色的复杂访问策略,以及管理功能和常规功能之间的不透明分隔,通常会导致授权中的漏洞。 通过利用这些漏洞,攻击者可以访问其他用户的资源或管理员的功能。

A6参数重新分配


将从客户端接收的数据(例如,以JSON格式)绑定到数据模型而不进行过滤通常会导致参数重新分配。 攻击者可以通过探索API,阅读文档或仅凭猜测就可以向请求添加“额外”参数,从而更改他们无法访问的对象。

A7安全设置错误


安全设置中的错误通常是默认设置,“拐杖”,云中存储,HTTP标头配置错误,不必要的HTTP方法,过于宽泛的CORS设置以及已启用的错误输出的结果。

A8注射


注入漏洞,例如SQL,NoSQL,代码/命令注入等。 当不可信数据作为请求或命令的一部分发送到处理程序时发生。 攻击者嵌入的数据可以“欺骗”处理程序,并且它将执行任意命令,或者在没有适当授权的情况下接收数据。

A9资源管理错误


API通常比传统的Web应用程序提供更多功能,因此,文档的完整性和最新性尤为重要。 正确安装和配置的API在防止出现问题(例如对API的较早版本的开放访问和调试功能)方面起着重要作用。

A10日志和监控不足


日志和监控不足,再加上响应流程的集成不良或缺乏集成,使得攻击者可以发起攻击,在网络中立足,捕获新目标,下载或破坏数据。 大多数黑客调查表明,平均检测时间超过200天,并且黑客入侵的事实是由外部承包商而非内部监视系统检测到的。

OWASP API安全性Top 10 2019


OWASP俄罗斯分会: OWASP俄罗斯
OWASP俄罗斯聊天室: https : //t.me/OWASP_Russia
OWASP俄罗斯频道: https //t.me/OWASP_RU

Source: https://habr.com/ru/post/zh-CN470395/


All Articles