OWASP API安全漏洞类型
在API安全发展的过程中,除了各大安全厂商和头部互联网企业在 奔走呼吁之外,还有一家公益性安全组织,即开放式Web应用程序安全 项目(Open Web Application Security Project,OWASP)。OWASP是一 个开源的、非盈利的全球性安全组织,主要致力于应用软件的安全研 究,它有很多开源项目,OWASP API安全Top 10就是其中的一个。在OWASP API安全T
在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安全的综合治理提供了指导方向。当然,作为API安全 的第一个版本,也会有它的不足,比如笔者认为API1与API5对问题成 因的阐述,没有传统的Web安全中对水平越权、垂直越权的描述清晰, 容易导致问题归类划分的混乱,但仍有理由相信,OWASP API安全Top 10对业界的重大意义,未来的版本发布更值得期待。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)