伴随企业数字化程度的加深,API成为软件世界数据交互的“通用语言”,其数量迎来爆发式增长。同时,API的广泛应用也为运维可见性、安全性提出了新的挑战。针对API这种“易攻难守”的新兴资产的安全治理显得愈发重要。
OWASP为强调API安全的重要性,在2019年首次提出了API Security Top 10。后随着安全产业实践加深,于2023年发布了API Security Top 10(候选版)的内容更新。该更新内容进一步强调了API攻击场景与Web攻击的差异化,突出API权限管理、资产管理、业务风控及供应链问题。
主要变化如下图所示:
1. 针对身份认证漏洞,越来越多的服务提供商开始将身份认证范围从对人的认证变为对“人+机”的认证。这意味着除了对用户身份进行验证外,还需结合设备、环境等其他因素来进行身份认证。这种方式相比传统的单一身份认证方式更安全可靠,可以有效避免伪造、冒用等攻击手段。
2. 增加了“服务端请求伪造漏洞”内容,说明这是一种非常危险的安全漏洞,攻击者可以利用该漏洞窃取敏感信息、发起内网攻击、进行DoS攻击等,同时表明了在服务端请求处理过程中,输入验证与过滤的重要性。加强对SSRF漏洞的防范,可以有效提高应用程序的安全性。
3. 随着人工智能、机器学习等技术的发展,自动化攻击手段也变得越来越普遍和复杂。自动化攻击可以通过机器学习算法、大数据分析、自动化工具等方式,快速、准确地扫描目标系统漏洞或发起攻击,对系统造成严重威胁。增加了“缺少对自动化威胁的防护”内容,说明在实际应用中,很多企业缺乏对自动化攻击的防护措施,存在一定的安全风险。而不安全的第三方API可能会导致系统遭受攻击,企业需要加强安全意识,选择可信赖的服务提供商,进行充分的安全测试和验证,限制API的权限并监控API的使用情况,可以保障系统的安全性。
这些趋势变化说明了在信息化和数字化快速发展的时代,传统的身份验证方式已经无法满足日益增长的安全需求,需要采用更多元化、智能化的身份认证方式来提高系统、服务、数据的安全性。
以下是本次API Security Top 10 2023版的详细解析:
1. 对象级别授权失效(Broken Object Level Authorization):无变化
对象级授权是一种访问控制机制,其作用是校验用户是否能够访问特定的对象。这种授权通常在代码层面实现,以确保用户只能访问他们有权利访问的对象。但是,如果API存在“失效的对象级授权”漏洞,攻击者就可以通过改变请求中的对象ID来绕过授权限制,从而获取敏感数据或者完全掌控账户。这个漏洞在基于API的应用程序中非常普遍,因为服务器通常无法跟踪完整的用户状态,而是依赖于请求参数中的对象ID来决定哪些对象可以被用户访问。
场景案例:
在线文档存储服务允许用户上传、查看、编辑和删除他们的文件。当用户想要删除一个文件时,系统会将对应文件的ID传递给API,以便系统确定要删除哪个文件。
POST /graphql
{
"operationName":"deleteReports",
"varia