这篇文章根据 2023 年 11 月我在 Black Hat MEA 大会上发表的演讲而撰写。它介绍了截至年底的 API 安全趋势。主要有两个特征。首先,和过去几年一样,API 的使用量有所增长。它们占据了大多数 HTTP 流量。其次,或许更重要的一点是,随着使用量的增长,针对这些 API 的攻击数量也同步增长。尽管发布了更新的 OWASP 十大 API 列表,但 API 攻击数量持续上升或许更值得关注。我们将探讨这个问题及其根本原因,并思考采用哪些关键解决方案来强化 API 生态系统。
近几年来,API 已成为越来越强大的工具,用于在现有技术基础之上构建更一体化的动态应用。它们已成为推动动态软件应用开发和业务运营的关键因素。API 还可用于改善生活。例如,英国的某地方议会希望使用环境署降雨量 API 提供的数据,来了解当地的降雨趋势并做好相应的准备。某公民参与小组希望构建一个可以与公民 API 集成的应用,以便为居民提供关于即将举行的选举、投票地点和候选人信息。还有一些监管原因,例如正在被全球越来越多的国家/地区采用的开放银行监管框架,要求银行必须向其他银行和第三方提供商授予 API 访问权限来访问其客户的财务数据。这将增加竞争,最终让消费者受益。
随着 API 使用量的增长,针对 API 的攻击数量也同步增长。早在 2021 年,Gartner 曾预测,到 2022 年,API 滥用将从不常见的攻击手段转变为最常见的攻击手段,导致企业 Web 应用发生数据泄露。尽管发布了多次警告,但大部分 API 攻击仍然取得成功。在此之前的几年里,许多知名企业都沦为受害者。OWASP 是一个专注于增强 Web 应用安全的组织,它在 2019 年首次发布了十大 API 风险清单。该清单今年已更新。遗憾的是,遭受攻击的大型企业清单也已更新。某些企业今年遭受了两次攻击。如果大型企业都成为攻击目标,想象一下那些不会成为头条新闻的小微企业会遭遇什么。今年的 API 攻击泄露事件数量很有可能创下历史新高。(我不具体点名,因为不是要指责特定企业。)
事实上,这会影响所有人。姑且不论全球数据泄露的平均成本为 445 万美元这样一个事实,越来越多的个人数据落入那些可能没有采取足够保护措施的机构手中,尽管他们自认为已经采取了保护措施。数据泄露或帐户接管会导致身份盗用,这种频繁发生的问题给个人带来了巨大的困扰。API 攻击数量的激增,凸显了更深入地了解攻击态势并采取更复杂的防御措施的必要性。
过去一年来,安全领域面临的主要挑战分为以下五个方面:
身份验证/授权难题:网络安全漏洞通常源于身份验证和授权系统的各种缺陷。无论是因为凭据泄露、身份验证方法薄弱,还是与此相关的流程/协议不足,身份管理在网络安全中的重要性并未随着不断变化的威胁形势而得到应有的调整。失效的对象级授权 (BOLA) 在两份相隔数年的 OWASP 清单上均被列为头号 API 安全风险。
API 激增:无论是面向内部还是面向公众,API 数量的增长令人难以置信。API 种类繁多及其复杂的使用环境给组织带来了日益严峻的挑战。
使用的 WAF:通常对保护 API 特定流量可能无效或不适用,并且无法解决上述第 1 个问题。大多数攻击会伪装成合法流量,许多 WAF(包括那些采用机器学习的 WAF)让这些攻击流量通行。因此,早期的一个步骤是不盲目信任 WAF,对其保持合理的怀疑。这是我演讲中的一张相关的幻灯片:
进退两难:尽管左移(在开发的早期阶段就集成测试和安全措施)的重要性已得到广泛认可,但依然无法做到,这严重削弱了强大的端到端保护措施的实施。许多团队依然不熟悉这个概念:在设计和构建时,就要考虑安全性。事实上,它应该是一个持续的、自适应流程。
API 配置:配置错误是 API 安全的致命弱点,这也依然是 API 安全管理中的一个痛点。它涵盖 API 实施过程中可能会出现的各种问题,例如启用未使用的方法、保留未使用的默认端点,以及过多的日志记录。依赖于静态配置,而不是根据不断变化的威胁情报进行持续的、自适应调整。
这方面进展受阻的三个根本原因是:
知识/专长:不了解。个人/团队缺乏 API 安全的知识、理解或认知。其原因可能是没有接触、培训或缺少好奇心。
资金:预算。团队被要求在有限的资源条件下完成更多工作。具备专业知识的工程师可能会要求更高的薪资。专用于 API 的安全工具或网关通常并不免费提供。培训也被认为需要高昂成本。组织在分配资金时未充分考虑潜在攻击的成本。
优先事项:截止日期。新产品/API 的发布通常比签核所需的安全检查或合规流程更重要。如果安全团队与开发团队无法像管弦乐队成员那样协调配合,那么企业未来可能会面临负面新闻。
需要注意的是,这些因素并不是互相对立。
可见性:如果看不到数据,便无法保护数据。不管称之为发现或清单,重要的是团队始终知道数据的内容和位置。影子 API、僵尸 API、测试版 API 以及隐形 API 都是攻击者侵入基础设施的快速途径。
Zero Trust 架构:将每一个访问请求视为潜在的恶意请求,直至证明其并非恶意请求,从而改变信任范式。做好身份/SSO 提供商的确会遭到黑客攻击的心理准备。
AI 驱动的异常检测:集成人工智能进行实时异常检测。组织应使用机器学习算法来分析模式、行为和异常,从而主动识别并缓解潜在威胁。
DevSecOps 的深度集成:将安全实践无缝融入开发流程不再是一项建议,而是一项强制要求。DevSecOps 专注于持续集成和安全,已成为构建有韧性的 API 生态系统的 关键策略。
纵深防御:应该采用分层安全策略。尝试回答以下问题:系统是否能够防范容量耗尽攻击?如果“是”,是否设置了可靠的授权/身份验证检查?如果“是”,是否设置了强大的加密流程?如果“是”……
这些解决方案以及其他建议的热门解决方案,例如:威胁建模、去中心化 IAM、实时情报信息流、自动化响应、增强网络安全、运行时验证等,都属于以下三个主要类别:
治理 - 流程、策略和实践
工具 - 技术投资
人员 - 培训、测试和文化
个人、团队和组织必须谨记,没有通用的万能解决方案。必须考虑自身的风险承受能力、业务需求、监管要求等。同时还必须从之前所有攻击事件中吸取教训。如果确实成为受害者,公开分享事件信息来保持透明(不仅仅是出于监 管原因)也大有裨益,还可让其他组织借鉴经验,避免将来遭遇类似的攻击。
2023 年即将结束,显而易见的是,要解决 API 安全的复杂挑战,需要采取多管齐下的方法,精确解决根本原因并采用现代化解决方案。愿意投资积极主动、动态防御策略的组织,将处于更有利的位置,能够应对不断演变的网络威胁格局。组织应确保制定明确的规则并在系统生命周期的每个阶段(从最初的概念到最终的弃用)严格执行。
筑牢安全意识,始终保持警惕!祝大家新年快乐!
Cloudflare 就影响当今技术决策者的最新趋势和主题发布了系列文章,本文为其中之一。
阅读《API 安全指南》白皮书,进一步了解如何在推动业务发展的同时保护 API。
Damiete King-Harry - @damiete
Cloudflare 解决方案架构师
阅读本文后,您将能够了解:
为什么 API 攻击可能比以往任何时候都更危险
OWASP API 十大安全风险
如何使用成熟的现代化解决方案保护组织