写点什么

OWASP API 安全漏洞类型

作者:阿泽🧸
  • 2022-11-14
    北京
  • 本文字数:1219 字

    阅读完需:约 4 分钟

OWASP API安全漏洞类型

在 API 安全发展的过程中,有一家公益性安全组织,即开放式 Web 应用程序安全项目(Open Web Application Security Project,OWASP)。OWASP 是一个开源的、非盈利的全球性安全组织,主要致力于应用软件的安全研究,它有很多开源项目,OWASP API 安全 Top 10 就是其中的一个。


在 OWASP API 安全 Top 10 中,OWASP 延续了 Web 安全的传统,收集了公开的与 API 安全事件有关的数据和漏洞猎人赏金平台的数据,由安全专家组进行分类,最终挑选出了十大 API 安全漏洞的类型,以警示业界提高对 API 安全问题的关注。这十大 API 安全漏洞类型的含义分别如下。


  • API1-失效的对象级授权:攻击者通过破坏对象级别授权的 API,来获得未经授权的或敏感的数据,比如通过可预测订单 ID 值来查询所有订单信息。

  • API2-失效的用户认证:开发者对 API 身份认证机制设计存在缺陷或无保护设计,导致身份认证机制无效,比如弱密码、无锁定机制而被暴露破解、Token 未校验或 Token 泄露导致认证机制失效等。

  • API3-过度的数据暴露:在 API 响应报文中,未对应答数据做适当的过滤,返回过多的、不必要的敏感信息。比如查询用户信息接口时却返回了身份证号、密码信息;查询订单信息时也返回了付款银行卡号、付款人地址信息等。

  • API4-缺乏资源和速率控制:在 API 设计中,未对 API 做资源和速率限制或保护不足,导致被攻击。比如用户信息接口未做频次限制导致所有用户数据被盗;文本翻译接口没有速率限制导致大量文件上传耗尽翻译服务器资源。

  • API5-失效的功能级授权:与 API1 类似,只不过此处主要指功能级的控制,比如修改 HTTP 方法,从 GET 改成 DELETE 便能访问一些非授权的 API;普通用户可以访问 api/userinfo 的调用,直接修改为 api/admininfo,即可调用管理类 API。

  • API6-批量分配:在 API 的业务对象或数据结构中,通常存在多个属性,攻击者通过篡改属性值的方式,达到攻击目的。比如通过设置 user.is_admin 和 user.is_manager 的值提升用户权限等级;假设某 API 的默认接口调用参数为{"user_name":"user","is_admin":0},而恶意攻击者修改请求参数,提交值为{"user_name":"attacker","is_admin":1},通过修改参数 is_admin 的值来提升为管理员权限。

  • API7-安全性配置错误:系统配置错误导致 API 的不安全,比如传输层没有使用 TLS 导致中间人劫持;异常堆栈信息未处理直接抛给调用端导致敏感信息泄露。

  • API8-注入:与 OWASP Web 安全注入类型相似,主要指 SQL 注入、NoSQL 注入、命令行注入、XML 注入等。

  • API9-资产管理不当:对于 API 资产的管理不清,比如测试环境的、已过期的、低版本的、未升级补丁的、影子 API 等接口暴露,从管理上没有梳理清楚,导致被黑客攻击。

  • API10-日志记录和监控不足:对 API 缺失有效的监控和日志审计手段,导致被黑客攻击时缺少告警、提醒,未能及时阻断。比如没有统一的 API 网关、没有 SEIM 平台、没有接入 Web 应用防火墙等。


OWASP API 安全 Top 10 的发布,第一次在公众视野中理清了 API 安全的常见问题类型,同时也从 API 生命周期管理、纵深防御的安全设计思想上,为 API 安全的综合治理提供了指导方向。


发布于: 刚刚阅读数: 5
用户头像

阿泽🧸

关注

还未添加个人签名 2020-11-12 加入

还未添加个人简介

评论

发布
暂无评论
OWASP API安全漏洞类型_11月月更_阿泽🧸_InfoQ写作社区