The goal of the OWASP(开放全球应用安全项目)发布API安全风险Top 10,旨在帮助API开发和维护人员了解常见的API安全薄弱环节,提高安全意识。API日益成为攻击者的目标,OWASP API安全项目重点关注相关策略和解决方案,以了解并缓解API特有的漏洞和安全风险。
什么是API?
应用程序编程接口(API)是现代应用开发的基础,可帮助应用与其他应用、服务或平台进行通信和数据交换。API是应用现代化战略的关键组成部分,也是移动应用的基础。企业可以借助API轻松集成外部平台和第三方服务,并通过连接各种组件构建全面的解决方案。这种方式有助于实现模块化应用开发,使开发人员能够利用现有服务和功能,促进代码复用,缩短开发周期并提高工作效率。
API还会扩大风险面。由于API在多云架构中相互依赖,其特性尤其会带来难以预见的风险。与Web应用一样,API也容易遭受漏洞利用、自动化威胁滥用、拒绝服务、错误配置,以及绕过身份验证和授权控制的攻击。
API本身会暴露关键业务逻辑和敏感信息,例如用户数据、身份验证凭据和金融交易,因此日益成为攻击者的目标,尤其是登录、创建账户、添加到购物车和转账等功能。攻击者可能以API为入口,利用漏洞或薄弱环节,或暴露底层基础设施和资源。
API安全最佳实践有哪些?
必须采取强有力的API安全措施,保护数据免遭未经授权的访问、篡改或泄露,从而保障隐私,维护用户和利益相关方的信任,并确保API的机密性、完整性和可用性。API安全最佳实践包括:
- 实施强身份验证和授权。执行适当的授权检查,确保通过身份验证的客户端具备访问特定资源或执行特定操作所需的权限。采用细粒度访问控制,限制对敏感API端点或数据以及相关对象和函数的访问。
- 验证输入和输出编码。验证并清理从API客户端接收的所有输入,以防止注入攻击;同时对输出进行适当编码,以防止恶意脚本执行。
- 使用安全通信。采用安全协议在API客户端与服务器之间传输数据,并对传输中和静态存储的敏感信息进行加密,以确保数据的机密性和完整性。
- 实施速率限制和节流。限制API客户端在指定时间范围内可发出的请求数量,以防止过度使用或未经授权的访问尝试,例如分布式拒绝服务(DDoS)攻击和暴力破解攻击。
- 定期开展安全测试和审计。定期开展安全评估、渗透测试和代码审查,以识别并修复API中的潜在漏洞;同时开展安全审计,以发现薄弱环节,并确保符合行业标准和强制性要求。鉴于API与底层框架和库之间存在相互依赖关系,这一点尤为重要。
- 强制实施架构和协议合规性。使用OpenAPI规范自动创建并实施正向安全模型,有助于确保安全策略的一致性。
- 动态发现并持续评估API。 API激增导致部分API未被纳管或维护,其中包括影子API。安全控制措施需要采用零信任和最小权限访问模式,持续盘点并保护API,以降低第三方相互依赖关系带来的不可预见风险。
- 全面的威胁检测。API面临多种威胁,需要加以防护,包括漏洞利用、配置错误、机器人程序、欺诈和滥用。
OWASP API安全十大风险(2023年)
制定OWASP API 安全十大风险(2023 年版)旨在提高人们对常见 API 安全弱点的认识,并帮助开发人员、设计人员、架构师、管理人员及其他参与 API 开发和维护的人员主动保障 API 安全。
2023年OWASP API十大安全风险如下:
- 对象级授权失效。当应用未能在对象或数据级别正确实施访问控制时,就会出现此安全漏洞。攻击者可借此操纵或绕过授权检查,未经授权访问应用中的特定对象或数据。造成此漏洞的原因可能包括授权检查实施不当、缺少适当的验证或访问控制被绕过。任何接收对象ID并对该对象执行操作的API端点,都应实施对象级授权检查,以验证已登录用户是否有权对所请求的对象执行所请求的操作。
- 身份验证失效。API中的身份验证机制往往实施不当,使攻击者能够未经授权访问用户账户或敏感数据,或执行未经授权的操作。这通常是由于身份验证流程实施或配置不当、密码策略薄弱、会话管理缺陷或身份验证工作流中的其他弱点所致。
- 对象属性级授权失效。当API未能在对象属性级别正确实施访问控制和授权检查时,就会出现此威胁。如果API端点暴露了被视为敏感且不应由用户读取的对象属性,则容易受到此类攻击。这种利用方式有时称为“过度数据暴露”。如果API端点允许用户更改、添加或删除敏感对象的属性值,也容易受到此类攻击。这种利用方式有时称为“批量赋值”。
- 不受限制的资源消耗。这种攻击也称为资源耗尽,是指利用API实现中的弱点,故意消耗过多资源,例如CPU、内存、带宽或其他系统资源。这种拒绝服务(DoS)攻击会降低API或底层系统的性能或可用性,并可能导致停机。
- 功能级授权失效。当API未能在功能或操作级别正确执行授权检查,导致攻击者能够访问未经授权的功能时,就会出现此类威胁。现代应用可以定义多种功能角色和组,并涉及复杂的用户层级关系,攻击者可能会利用这些因素,因此正确实施授权检查可能较为复杂。
- 不受限制地访问敏感业务流程。当API缺少适当的访问控制或授权检查时,攻击者便可自动访问由该API支持的敏感业务流程,从而发起此类攻击。这些业务流程可能支持批量购买票券或运动鞋等高价值、库存有限的商品,而这些商品可在二级市场加价转售。攻击者通常会使用复杂的自动化工具包调整攻击方式;如果目标的Web应用受到反自动化防御措施的充分保护,他们可能会转而攻击API背后的业务逻辑。
- 服务器端请求伪造(SSRF)。当攻击者发现某个存在漏洞的API端点可接受用户提供的URL,或可从服务器端向外部资源发起请求时,就会产生此漏洞。攻击者构造恶意请求,并在其中指定其想要攻击的内部资源或系统的URL。服务器未能识别其恶意意图,因而向指定URL发起服务器端请求,这可能会暴露敏感信息或服务。
- 安全配置错误。攻击者会尝试查找未修补的缺陷、常见端点、采用不安全默认配置运行的服务,或未受保护的文件和目录,以未经授权访问API。如果API堆栈从网络层到应用层的任何层级缺少适当的安全加固,或云服务权限配置不当,就可能产生此漏洞。配置错误会影响Web应用和API。随着架构不断去中心化并分布到多云环境中,这一风险日益增加。
- 清单管理不当。API会随时间推移而变更和更新,但过时或不安全的API版本可能仍在生产环境中运行,旧端点也可能在未修补漏洞或采用较低安全要求的情况下继续运行,从而增加安全事件的风险。缺乏适当的清单管理,会导致难以跟踪哪些版本正在使用、哪些版本已过时或弃用,以及哪些漏洞已得到修复。影子API和僵尸API会带来重大风险,这凸显了持续发现和自动化防护的重要性。
- 不安全地使用API。开发人员往往信任从第三方API接收的数据,尤其是知名公司提供的API数据,因此会降低对这些数据的安全要求,例如放宽输入验证、数据清理或传输安全方面的要求。通过不安全的协议访问API或未使用适当的加密机制,也可能导致API使用不安全,进而造成窃听、数据截获以及未经授权访问敏感信息。
采用集成式安全控制的理由
F5应对OWASP安全风险
F5支持OWASP基金会及其为提升软件安全性、增强各层面对Web应用安全风险和漏洞的认识所做的努力。事实上,应用和API面临一些共同的安全风险,在实施安全解决方案时需要考虑这些风险。例如:
- 薄弱的身份验证和授权控制
- 配置错误
- 业务逻辑滥用(凭据填充、账户接管)
- 服务器端请求伪造(SSRF)。
F5通过相关解决方案应对OWASP API安全十大风险,保护不断扩大的攻击面并抵御新兴威胁。随着应用不断演进和API部署日益增多, F5 Web Application and API Protection (WAAP)解决方案为现代应用的整个攻击面提供全面防护,包括WAF、API Security、L3-L7 DDoS缓解,以及针对自动化威胁和欺诈的机器人防护。借助分布式平台,可以轻松部署一致的策略,并将安全防护扩展至所有应用和API资产,无论这些应用和API托管在何处;还可将防护措施集成到API生命周期和更广泛的安全生态系统中。
F5提供混合安全架构,从核心到云端再到边缘,持续一致地保护应用和API。F5解决方案利用威胁情报、基于机器学习的安全技术和零信任原则,动态发现并自动保护API背后的关键业务逻辑,帮助企业获得在API驱动的数字经济中保持竞争力所需的韧性和敏捷性。
F5 Web Application Firewall解决方案还可阻止和缓解由OWASP十大风险所识别的各类风险。该榜单广受认可,列出了严重的Web应用安全风险。与Web应用一样,API也容易受到错误配置和自动化威胁的影响,并可能成为漏洞利用、SSRF以及试图绕过身份验证和授权控制的攻击目标。F5 WAF解决方案结合基于签名和行为的防护,包括来自F5 Labs的威胁情报和基于机器学习的安全防护,以应对不断涌现的威胁;还可与专用的机器人防御控制措施集成。
这些解决方案可减轻在云、本地和边缘环境中持续保护应用的负担和复杂性,同时通过集中式SaaS基础设施简化管理。F5 WAF还将防护功能集成到开发框架和CI/CD流水线中,并通过核心安全功能、集中编排以及单一仪表板进行监管,从而简化应用安全管理。该仪表板可全面呈现分布式应用的性能和安全事件。
F5还提供相应解决方案,用于应对OWASP的Web应用自动化威胁项目中所述的风险。F5 Distributed Cloud Bot Defense可防范绕过现有机器人管理解决方案的欺诈和滥用行为,并提供实时监控和威胁情报,以及基于机器学习的回溯分析,帮助组织抵御自动化攻击,同时避免增加用户操作阻力或影响客户体验。无论攻击者如何调整攻击手段,Distributed Cloud Bot Defense都能保持防护效果,包括将攻击目标从Web应用转向API,或通过伪造遥测数据或使用人工CAPTCHA解题服务来绕过反自动化防御。
F5还提供多层DDoS防护,以托管式云交付缓解服务增强在线安全,实时检测并缓解针对网络、协议和应用的大规模攻击;同样的防护也可通过本地部署的硬件、软件和混合解决方案提供。F5 Distributed Cloud DDoS Mitigation可在大流量攻击、针对特定应用的第3至4层攻击以及高级第7层攻击抵达网络基础设施和应用之前进行防御。
如需详细了解F5 ADSP平台组件如何防范OWASP安全风险,请参阅以下资源:

