可以说,API是这个数字革命时代的无名英雄,它是将各种软件组件连接在一起的粘合剂,为用户创建全新体验。但正是如此,对API接口的访问与控制也伴随着大量数据的传输,因此越来越多的恶意行为者将API接口作为攻击的目标,并试图通过非法控制和使用API接口来进行数据窃取等活动。
根据Salt Security的最新报告显示,94%的企业在过去一年的生产中遇到了API安全问题,17%的受访者表示他们所在的企业组织由于API安全漏洞而发生了数据泄露。报告还发现,在过去的6个月时间里,API攻击活动数量增长了400%,其中有78%的攻击发生在经过初步安全性验证的API上。研究人员表示,API威胁态势仍在持续加剧。
![](http://img.anquan419.com/2023/0627/20230627114817809.png)
API威胁造成多大范围影响?
Gartner认为,API是可组合企业的关键,鼓励企业将其应用程序分解为打包的业务功能 (PBC)。其理念是,以各种方式组装这些较小的组件,使企业能够以更快的速度、更灵活地移动,以创建直观的应用程序体验,并可根据用户个人需求或偏好进行定制,以应对快速发展的业务需求。API是PBC的一个关键组件,随着微服务架构的日益采用,企业架构师需要API来促进和扩展整个数字企业的PBC,推动API的使用量激增。
因此,几乎所有(97%)全球IT领导者都将API战略作为未来企业发展和收入增长的关键驱动因素。然而,API绝对数量激增及其在企业关键架构的广泛分布,也让其成为企业网络安全最大的风险敞口。若企业无法将适当的API治理部署到位,那么整个数字化业务系统就会有崩溃的可能。
仅今年一年,就出现了多个API攻击事件:
· T-Mobile USA承认,3700万客户的个人和账户信息被恶意行为者通过API访问;
· Booking.com的开放授权(OAuth)实施配置错误,可能会对网站造成严重的用户账户接管攻击;
API安全性已经成为企业的一个关键性业务发展问题,而不仅仅是名誉问题或安全问题。Salt Security的报告显示,超过一半(59%)的企业表示,由于API安全问题,他们不得不放缓新业务的推进速度。
三大 API 风险
OWASP近日发布了十大 API 安全风险清单,强调不安全 API 中的潜在风险,并说明如何减轻这些风险,为软件开发人员和安全评估人员提供价值。以下主要介绍三大安全风险:
· 中断对象级别授权 (BOLA):攻击者可以利用对破损的对象级别授权存在漏洞的API端点,通过操纵请求中的对象ID来实施攻击,这可能导致对敏感数据的未经授权访问,造成数据被盗、修改或删除。
· 身份认证失效:OWASP认为,对于许多开发人员来说API 中的身份验证机制是一个复杂且令人困惑的部分,并且身份验证机制易受攻击者攻击。一但攻击者破坏身份验证令牌或利用实现缺陷暂时或永久假定其他用户的身份,损害系统识别客户端/用户的能力,将会损害整个API系统的安全性。
· 对象属性级别授权(BOPLA)失效:攻击者可以利用易受破损对象属性级别授权的 API 端点,读取或更改它们不能访问的对象属性值或更改、添加、删除敏感对象属性的值。主要涉及 API 3:2019—过度的数据泄露和 API 6:2019—批量分配,未经授权的访问可能导致数据泄露、数据丢失或数据操纵。
多种方法帮助缓解 API 风险
随着API应用的发展和安全实践的深化,API的安全局势也在不断变化,考虑到其中的利害关系,从一开始就将安全性构建部署到 API 策略中这一点至关重要。当然,这就意味着企业安全团队需要明确所有 API 的位置,并通过分层工具或技术来管理端点身份认证、保护网络通信、缓解常见错误并应对恶意爬虫程序的威胁。
· 通过创建以 API 为中心的应用开发模型来改进 API 治理,企业可借其评估当前的成熟度,获得对API暴露面、供给面的可见性和控制力,将安全“左移”,将安全检测以一种无缝且不可见的方式注入整个业务发展结构中,以便在软件开发生命周期的早期应用控件,并在 CI/CD 管道中自动执行这些控件;
· 使用 API 发现工具减少影子API或僵尸API的存在,并明确API位置,及时发现API问题并实时补救解决方案;
· 部署 API 网关,该网关接受客户端请求并将其路由到正确的后端服务,并在网关层处理所有的非业务功能;
· 添加 Web 应用程序防火墙 (WAF) 以增强网关的安全性,阻止恶意流量,包括 DDoS 和其他恶意尝试,可以快速地实施策略修改,从而更快地响应变化的攻击媒介;
· 加密通过 API 传输的所有数据(即传输层安全协议TLS),提供保密性和数据完整性;
· 使用 OAuth 控制对网站等资源的 API 访问,采用客户端模式进行授权,而无需公开用户凭据;
· 应用速率限制以限制调用API的频率,直接从源头减轻因DDoS攻击等高峰值请求造成的损害;
· 在 API 中集成零信任,该方法假定边界内的任何用户、资产或资源都不能信任,要求为每个操作提供身份认证和授权证明。采用零信任框架将保护重点从单一措施转移到不同核心(用户、设备、网络、应用程序和数据),可以帮助企业持续监控并确保API访问的每一部分都处于最低权限;