OWASP TOP 10 API安全
在当今应用驱动的世界中, API的应用无处不在, 从银行、零售和运输到物联网、自动驾驶汽车和智能城市,API 是移动应用、SaaS 和 Web 应用程序的关键部分。 从本质上讲,API 会暴露应用程序逻辑和敏感数据,例如个人身份信息 (PII),因此越来越多地成为攻击者的目标。 如果没有安全的 API,就不可能进行快速创新。
2019 年的 API 安全TOP10
API 1:2019 失效的对象水平授权
API 倾向于暴露处理对象标识符的端点,从而产生广泛的攻击面级别访问控制问题。在使用用户输入访问数据源的每个函数中都应考虑对象级别的授权检查。阅读更多。
API 2:2019 损坏的用户身份验证
身份验证机制通常实施不正确,从而使攻击者能够破坏身份验证令牌或利用实施缺陷来临时或永久地假设其他用户的身份。损害系统识别客户端/用户的能力,会损害 API 的整体安全性。阅读更多。
API 3:2019 过度数据暴露
期待通用实现,开发人员倾向于在不考虑其个人敏感性的情况下公开所有对象属性,依赖客户端在将数据显示给用户之前执行数据过滤。阅读更多。
API 4:2019 缺乏资源和速率限制
很多时候,API 不会对客户端/用户可以请求的资源的大小或数量施加任何限制。这不仅会影响 API 服务器的性能,导致拒绝服务 (DoS),而且还会为身份验证缺陷(例如暴力破解)敞开大门。阅读更多。
API 5:2019 不当的功能级授权
具有不同层次结构、组和角色的复杂访问控制策略,以及管理和常规功能之间的不明确分离,往往会导致授权缺陷。通过利用这些问题,攻击者可以访问其他用户的资源和/或管理功能。阅读更多。
API 6:2019 批量分配
将客户端提供的数据(例如 JSON)绑定到数据模型,而没有基于许可列表的适当属性过滤,通常会导致批量分配。猜测对象属性、探索其他 API 端点、阅读文档或在请求有效负载中提供其他对象属性,都允许攻击者修改他们不应该修改的对象属性。阅读更多。
API 7:2019 安全配置错误
安全错误配置通常是由不安全的默认配置、不完整或临时配置、开放云存储、错误配置的 HTTP 标头、不必要的 HTTP 方法、允许的跨域资源共享 (CORS) 以及包含敏感信息的详细错误消息造成的。阅读更多。
API 8:2019 注入
当不受信任的数据作为命令或查询的一部分发送到解释器时,就会出现注入缺陷,例如 SQL、NoSQL、命令注入等。攻击者的恶意数据可以欺骗解释器执行意外命令或在未经适当授权的情况下访问数据。阅读更多。
API9:2019 资产管理不当
与传统的 Web 应用程序相比,API 往往会暴露更多的端点,因此正确和更新的文档非常重要。适当的主机和已部署的 API 版本清单在缓解诸如已弃用的 API 版本和暴露的调试端点等问题方面也发挥着重要作用。阅读更多。
API10:2019 记录和监控不足
日志记录和监控不足,再加上与事件响应的集成缺失或无效,攻击者可以进一步攻击系统、保持持久性、转向更多系统来篡改、提取或破坏数据。大多数违规研究表明,检测违规的时间超过 200 天,通常由外部方而不是内部流程或监控来检测。阅读更多。