整体式API安全策略的6项原则

执行摘要

UX是应用的门面,而API则是组织的支柱。许多企业常犯的一个错误,是仅将API视为应用之上的接口层。实际上,API是连接应用与第三方生态系统的纽带,而这些应用和生态系统正日益分布在混合云和多云架构中。API面临一些与Web应用相同的风险,包括漏洞利用、业务逻辑滥用和配置错误,但也存在其他重大风险,例如绕过薄弱身份验证和授权控制的攻击、资产清单管理不当,以及不安全地使用第三方API。复杂的软件供应链和自动化CI/CD流水线加快了数字业务的运行速度,也进一步增加了风险,可能产生未知、未受监控且不安全的API。具体而言,这些API包括安全团队不知情的影子API,以及开发团队不再维护的僵尸API,或同时具备这两种情况的API。本文将探讨构建全面、完善的API安全方法所需遵循的6项原则。

1. 了解您的API和端点

即使现在尝试梳理,也很可能无法识别环境中的每个API端点。遗憾的是,恶意行为者或许能做到这一点。只要端点存在,就可能被用作入侵入口,或成为破坏关键业务功能的途径。

此外,公开暴露API意味着会收到众多客户、合作伙伴和应用的查询,同时也会使组织面临遭到入侵的风险。因此,了解并监控API至关重要。需要考虑多项风险控制措施,以保护组织免受API可能暴露的漏洞和潜在威胁影响,避免由此导致数据泄露和停机。

对于任何防御方而言,API发现都是保护API安全的首要关键步骤。虽然这似乎不言而喻,但“看不见,就无法保护”这句话确实切中要害。完整的API清单是建立或改进API安全态势的起点,有助于了解并量化整个API威胁面。它可作为以下工作的基准:

  • 可见性:通过对所有可用API进行编目,可以更深入地了解API威胁态势,包括漏洞、敏感数据暴露,以及未经授权或被遗忘的端点。
  • 版本控制:建立清单有助于版本管理。了解API的历史记录和不同版本,有助于停用过时或存在漏洞的版本,或对其采取适当的安全保护措施。
  • 监控:集中、完整的API清单有助于更有效地监控和记录API使用情况,从而更轻松地检测和响应可疑活动(异常)及潜在安全事件。此外,发生事件时,清晰的清单也有助于开展响应工作。
  • 一致的安全控制措施和策略:全面了解相关情况(包括掌握完整的API清单),有助于在整个API威胁面有效实施控制措施和策略。

2. 在创新与安全之间取得平衡

这是一项由来已久的挑战。一方面,勇于突破边界、做到竞争对手无法做到的事,是企业取得成功的重要基石。另一方面,保障安全与采用最新创新并不总能兼得。

实现平衡的关键有三点:

  • 针对每种API设计相应的API治理策略,以设置适当的安全控制措施。
  • 实施API安全策略,确保无论API部署在何处,都能一致执行这些策略。
  • 利用AI应对新出现的威胁、异常行为,以及试图利用或滥用API的恶意用户,从而减轻安全团队的负担。

合规标准因行业而异,有些行业的安全要求更为严格。无论如何,都必须建立足够稳健的API安全体系,以应对层出不穷的威胁向量。

“从外部客户端到内部后端基础设施,架构的每个部分都必须采取相应的保护措施。”

3. 管理整个开发生命周期中的风险

API安全测试并非一次性工作。在部署前、部署期间和部署后开展测试至关重要。将测试融入开发的每个阶段,可以增加在安全事件发生前发现薄弱环节和漏洞的机会。除了使用专门的安全测试工具,也不要忽视安全用例建模。

安全措施需要贯穿应用本身的整个持续生命周期,这意味着必须与CI/CD管道、服务配置和事件监控生态系统紧密集成。

4. 构建从后端到最终客户的分层防护

从外部客户端到内部后端基础设施,架构的每个部分都必须采取相应的防护措施。

此外,经过实践检验的安全措施仍然适用,包括默认拒绝架构、强加密和最小权限访问。

在考虑API层保护时,建议先将API分为两类:内部API和外部API。内部API的保护相对简单,因为API提供方可以与应用团队协调安全措施。对于外部API,风险评估则有所不同。可以(也应该)实施API层保护,以实现以下三点:

  • 利用实时威胁情报和强化会话令牌等访问控制机制,降低发生安全漏洞的可能性。
  • 建立正常和异常流量模式基线。
  • 限制API使用,并对所有已获批准的聚合器和第三方集成实施精细控制。

在生产环境中,API蔓延产生的海量流量使得必须使用AI来检测异常行为和恶意用户。

5. 制定适当的策略并配备合适的工具

正如没有任何一种食物能为我们提供全面的营养,也没有任何一种安全控制措施能完全保护API。您需要制定相应策略,将完善的工具生态系统纳入整体的应用和API安全架构。该架构应包括检测和内联执行功能,以便控制API行为、限制不良或恶意活动,并防止敏感数据泄露。

这可能包括以下功能和工具的组合:

  • API网关
  • 应用安全测试(SAST和DAST)
  • Web应用防火墙(WAF)
  • 数据丢失防护(DLP)
  • 机器人管理
  • DDoS缓解

API网关提供强大的清单和管理功能,但只能提供速率限制等基础安全功能,无法阻止复杂的攻击者。此外,API数量激增正导致工具泛滥,其中也包括API网关泛滥。

应用安全测试始终至关重要,但要在开发过程中实现可靠的应用安全,仅采用左移方法还不够,还需要辅以右侧防护实践,即保护生产环境中的API端点。

Web应用防火墙可通过特征码缓解针对应用漏洞的利用,是一项关键的临时防护措施。API与其所支持的应用一样,也容易遭受各类注入攻击,例如攻击者可能试图执行非预期命令或访问数据。但WAF通常缺乏必要的动态发现能力,无法持续检测未知API(影子API或僵尸API),也难以持续发现API行为异常和业务逻辑可能遭到利用等问题。

敏感数据检测和数据丢失防护功能通过检测和掩蔽敏感的关键数据(包括个人身份信息(PII)和财务信息),帮助保护API及其访问和传输的数据。组织可借此创建数据保护规则,以限制或掩蔽数据传输,并阻止API端点暴露任何数据,从而帮助防止通过API泄露数据。

机器人管理对于API而言,通常无法依赖多重身份验证(MFA)和CAPTCHA等常用安全控制措施,因为API流量通常是机器间通信,除非通过API系统的用户界面进行操作,否则不会有人直接参与交互。

传统DDoS缓解措施主要针对网络攻击和大流量攻击,而API可能遭受滥用关键业务逻辑的针对性第7层攻击。最终结果相同:性能下降,并可能导致停机。

动态API发现、架构强制执行(正向安全)、访问控制,以及基于机器学习的自动异常检测和防护,已成为API防御生态系统中的关键能力。使用一个或多个熟悉API协议的工具至关重要,这些工具应支持强制执行正确的API行为并创建API防护规则。组织需要能够创建专门管控API及其行为的自定义规则,包括允许列表和拒绝列表控制、速率限制、Geo-IP过滤,以及创建自定义规则来处理API请求,例如屏蔽敏感数据,并针对特定API端点或端点组设置匹配条件和请求约束条件。

6. 混合云和多云安全

API数量激增正导致混合云和多云环境中的架构无序扩张,难以为继。由于许多安全工具无法在数据中心、私有云和公有云以及边缘等多种架构中提供一致的安全防护,API无序扩张也进一步造成API网关泛滥。必须全面掌握并控制整个数字生态系统中的API流量,才能缓解下一个严重漏洞带来的风险,并防止端点分布在不同云提供商时可能出现的配置错误。

全面保护各处的API

API无处不在,遍布数据中心、各类云环境和边缘,并在Web应用、移动应用及相关第三方集成的背后相互连接。无论API位于何处,都需要得到保护,安全防护也不能中断。因此,应确保安全策略包含能够持续保护API背后关键业务逻辑,并为API互联的数字架构提供一致安全防护的解决方案,从而简化运营并更有信心地推进创新。

资源

精选
API安全组件

API安全的八大组成部分

查看最新Forrester报告,深入了解本文涵盖的主题。

获取报告