API 攻击是针对应用程序接口的一种攻击手段,近年来逐渐成为网络安全领域的热点话题。攻击者主要针对应用程序接口中的漏洞或者错误进行API攻击,从而达到窃取敏感数据、进行恶意操作、破坏系统正常运行等恶意目的。
什么是API攻击?
API 攻击是指利用应用程序接口(API)中的漏洞或者错误,通过恶意请求或其他手段获取未授权的数据或对系统进行恶意操作。API攻击范围很广,包括Web API、REST API、SOAP API等,具有隐蔽性高、威胁性大等特点,攻击者可以利用API漏洞绕过防火墙、入侵检测系统等安全防护设备,从而对系统进行深入攻击。
以下是一些常见的 API 滥用案例,以及如何预防的建议。
失效的对象级授权 (BOLA)
BOLA 指对对象访问请求的验证不充分,允许攻击者通过重用访问令牌来执行未经授权的操作。根据 OWASP 的 API 安全项目,BOLA 是当今最严重且最常见的 API 攻击,占所有 API 攻击的40%。
预防 BOLA 的建议:
-
实施依赖于用户策略的授权机制,验证登录用户是否有权执行请求的操作。
-
使用随机和不可预测的值作为记录 ID 的 GUID。
-
编写评估授权的测试。
分布式拒绝服务攻击 (DDoS)
DDoS 是一种常见的攻击类型,恶意攻击者通过故意使用来自多个设备和 IP 地址的大量机器人流量使 API 过载。对于企业而言,关键业务服务因此面临风险,例如登录服务、会话管理和其他为用户提供应用程序正常运行时间和可用性的服务。
执行 DDoS 活动的攻击者通常使用不对称技术,通过这种技术发送少量数据来生成 API 调用,这通常会导致服务器严重超载,因为他们必须使用大量数据来响应此类 API 调用。此类攻击会严重占用系统资源并大大增加系统所有用户的服务器响应时间。
企业可以采取以下措施来阻止 DDoS 攻击:
-
流量分析
-
速率限制(例如,每个客户端/资源的请求数、请求负载大小)。
-
自动缩放资源(确保为阈值报告打开警报)。
-
使用德迅云安全高防服务器,SCDN,等高防产品,一键部署防护
安全配置错误
应用程序中安全设置的不当配置可能会导致通过帐户接管(ATO) 的方式被利用和攻击。
防止这种情况的几种方法是:
-
盘点和管理所有 API,特别留意影子 API 和僵尸 API。
-
扩大数据治理范围,从应用程序扩展到所涉及的 API 的数据。
数据泄露
这种威胁通常被认为是通过开放的 API 意外泄露机密信息造成的。某旗下的移动支付服务。交易在设计上和默认情况下都是公开的。这种开放策略在 2019 年导致了严重的数据抓取问题,2 亿 用户的私人信息被抓取。此外,还发现了美国总统拜登的账户。 无论是有意还是无意的数据泄露,在被大量滥用时都可能引发国家安全问题。
缓解或消除数据泄露风险的两种方法是:
-
在 API 而非客户端级别执行信息过滤
-
避免在功能不需要时发送敏感信息
API 注入
API 注入指恶意代码连同 API 请求被注入。注入的命令执行后,这种恶意代码(不仅仅是 SQLi)可以从服务器删除用户的整个站点。恶意攻击者通常以此来获取对私人数据的访问权限。
以下是一些避免注入的方法:
-
参数化查询
-
保证安全的上下文,可在时间线上查看所有 API 活动。
-
用授权取代过时和不安全的认证方法。
-
在服务器端添加输入验证机制
-
避免执行特殊字符
-
全面的日志记录、监控和警报
API安全的建设意见
面对高速迭代、隐秘多变的API攻击技术,企业在数字化转型的过程中,应在把握自身现状的基础上加强内部风险管理、做好 API 全生命周期安全管控、建立健全业务漏洞应急响应制度,从根本上提升数据安全及合规能力,有效形成数据信息保护的防御闭环。
1. API资产发现与管理
对API进行深度资产梳理,通过主动、被动等识别方式,建立API资产台账,帮助安全团队了解不同应用程序使用的API 的业务属性以及对应API的关联性。
2. API漏洞识别
建设持续挖掘、收集 API相关漏洞的能力和机制,并做好补丁管理,包括引入第三方组件时充分考虑组件自身安全,避免第三方组件引入安全漏洞。
3. 异常行为检测
关注API高频访问、异常数量级数据访问、异常时间访问等异常行为,建立全面可视化管理。
4. 敏感数据识别
数据分级分类治理,通过技术手段持续监测API访问数据,自动梳理API接口中的敏感数据流并生成API接口与敏感数据映射,确保个人隐私数据、商业数据以及其他敏感数据不被泄露。
5. 建立认证授权体系
构建完整的认证授权体系,实现认证授权统一,对API内外部访问执行可信认证策略。
6. 访问控制限制
对API 请求设置一套限制策略,从系统的处理能力方面对 API请求做限流管控,缓解基于API的DDoS攻击,有效防止资源消耗在无意义或恶意的API请求上。
7. 使用高防产品
使用德迅云安全防护,一键解决攻击问题,无需额外部署,一键接入,全面防护。