什么是 API 安全?

2023 年 11 月 20 日

作者

Chrystal R. China

Writer, automation & ITOps

Michael Goodwin

Editorial lead, Automation & ITOps

什么是 API 安全?

API 安全是指保护应用程序编程接口(API) 免遭滥用、恶意机器人攻击和其他网络安全威胁的实践和程序。它作为 Web 安全的一个子集,但特别关注 API,这对于企业 IT 管理越来越重要。1

API 已成为数字化转型的基石,使公司能够向外部开发人员和合作伙伴提供服务。由于 API 协调应用程序之间的通信和数据交换,因此它们可以促进更多互联的用户体验,扩大整体业务范围并促进突破性的技术创新。API 还简化了服务集成,使企业能够快速适应市场变化和客户需求。

但是随着 API 的激增,相关的安全问题也随之增加。

API 位于组织的 IT 资源和第三方软件开发商之间,或 IT 资源和个人之间,在流程端点提供数据和信息。由于端点暴露于外部世界,它们会使 API 成为各种类型攻击的有利可图的目标。

高速公路鸟瞰图

在云端保持清醒头脑 


获取每周 Think 时事通讯,了解有关在 AI 时代优化多云设置的专家指导。

API 安全的演变

API 管理和 API 安全的发展与 API 本身的发展有着内在的联系。早期的 API 主要侧重于单个系统内的进程间通信。因此,安全(或缺乏安全)就不那么重要了,因为通信仅限于单台机器。

然而,随着物联网 (IoT) 和云原生微服务架构的出现,API 得到了扩展,从而实现了应用程序之间以及跨开发运维环境的无缝通信和调用路由。高质量的现代 API,例如,表述性状态转移 (REST)、简单对象访问协议 (SOAP),可以协调应用程序集成、指定数据格式并规定调用类型、程序和约定。

Web API(尤其是 GraphQL、REST API 和 SOAP API)通过扩展功能,在无数复杂网络中实现了广泛的集成能力,从而改变了格局。

但是,由于先进技术的功能在很大程度上依赖于 API 端点,因此企业和安全团队必须实施强有力的安全措施来保护数据和网络服务,并最终最大限度地利用 IT 资源。

AI 学院

利用混合云实现 AI 就绪

本课程由 IBM 资深思想领袖带领,旨在帮助企业领导者获得所需的知识,以便划分可以推动增长的 AI 投资的优先级。

API 漏洞

如果没有得到适当的保护,API 端点可能会允许恶意行为者未经授权访问敏感数据、中断服务操作或两者兼而有之,从而造成潜在的灾难性后果。常见的威胁包括:

  • 基于身份验证的攻击 - 黑客试图猜测或窃取用户密码,或利用薄弱的身份验证机制来访问 API 服务器。

  • 中间人攻击 - 恶意行为者通过拦截 API 请求或响应来窃取或修改数据(例如,登录凭证或支付信息)。

  • 代码注入/注入攻击 - 黑客通过 API 请求,使读取和翻译数据的 API 解释器暴露出弱点,从而传输有害脚本(插入虚假信息、删除或泄露数据或破坏应用程序功能)。

  • 安全配置错误 — 由于默认配置不足、过于宽松的跨源资源共享 (CORS) 或不正确的 HTTP 标头,敏感的用户信息或系统详细信息被暴露。

  • 拒绝服务 (DoS) 攻击 - 这些攻击会发送大量 API 请求来导致服务器崩溃或减慢速度。在所谓的分布式拒绝服务 (DDoS) 攻击中,DoS 攻击往往来自多个攻击者同时攻击。

  • 破坏对象级授权 (BOLA) 攻击 — 当网络罪犯操纵 API 端点处的对象标识符以扩大攻击面并获得对用户数据的未经授权的访问时,就会发生攻击。BOLA 攻击尤其常见,因为实施适当的对象级授权检查可能既困难又耗时。

API 安全最佳实践

在充满活力的数字经济中,API 对业务敏捷性至关重要,但其开放性可能会带来巨大的数据安全风险。API 安全漏洞已导致大量数据泄露,即使对于 John Deere、Experian 和 Peloton 等信誉良好的大型公司也是如此。2

在这样一个全球技术环境中,安全漏洞威胁着所有主要服务提供商,无论其属于哪个行业,也不论其处于哪个地理位置。例如,2022 年针对澳大利亚电信公司 Optus 的 API 攻击,导致近 1000 万客户的姓名、电话号码、护照详细信息和驾驶执照信息泄露。3

这些事件凸显了 API 保护的重要性,并加速了全面的 API 安全策略和工具的开发。

实施严格的 API 安全协议可保护 API 端点显示的数据、应用程序和服务,同时保护其对合法用户的可用性。不过,API 安全不仅仅是保护端点。它还优先考虑整个 API 生命周期中网络交互的安全性,例如数据传输、用户请求和应用程序间通信。

用于支撑 IT 基础设施的一些最常见的 API 安全解决方案包括:

身份验证和授权协议

身份验证是验证用户、系统或程序身份的过程。在 API 上下文中,它指的是使用用户身份验证协议(例如 OAuth 2.0、API 密钥和 JWT 规范)来确保请求者是他们所声称的身份。

与之相对,授权是验证经过身份验证的用户有权访问什么的过程。用户一经通过身份验证,基于角色的访问控制应严格限制用户访问他们需要或请求的资源。

加密

通过加密,纯文本和其他类型的数据从可读形式转换为编码版本,只有拥有解密密钥的实体才能解码。利用传输层安全 (TLS)、SSL 连接和 TLS 加密协议等加密技术,团队可以确保 API 流量不会被不法分子或未经授权的用户拦截或篡改。

输入验证

输入验证协议通过确保输入在处理前符合特定条件(长度、类型、格式、范围等),从而保护 API 免受恶意数据(如 SQL 注入攻击和跨站脚本)的攻击。利用网络应用防火墙 (WAF) 和 XML 或 JSON 模式验证可帮助安全团队自动执行验证流程,抢先分析传入请求,并在恶意流量到达服务器之前将其拦截。

速率限制

速率限制通过限制用户或 IP 地址在特定时间范围内可以进行的调用次数来保护 API 资源免受暴力破解和 DoS 攻击。速率限制可确保所有 API 请求得到及时处理,并且任何用户都无法向系统发送有害请求。

配额和限流

与速率限制一样,限流也会限制系统接收的 API 调用数量。但是,限流不是在用户/客户端级别进行操作,而是在服务器/网络级别进行。通过将 API 限制为每秒一定数量的调用、消息或同时限制两者,限流和配额可确保 API 后端系统带宽的安全。

安全标头

安全标头对于防止点击劫持攻击特别有效。例如,“content-security-policy”标头告诉浏览器可以从服务器请求哪些资源。“x-content-type-option”标头阻止浏览器尝试 MIME 嗅探内容类型,“strict-transport-security”标头强制与服务器建立安全(基于 SSL/TLS 的 HTTP)连接。

API Gateway

安装 API Gateway 是限制 API 访问和添加额外网络安全层的最简单方法之一,特别是在开放 API 的情况下。API Gateway 充当系统接收的所有 API 请求的单一入口点,标准化 API 交互并提供缓存、分析、API 组合、速率限制、加密、日志记录和访问控制等安全功能。

审核和记录

保留全面、最新的审核日志并经常查看它们,使组织能够跟踪数据访问和使用情况,并记录每个 API 请求。鉴于 API 生态系统的复杂性,对 API 活动进行监控可能会耗费大量人力物力,但在发生数据泄露或合规性失效后,团队需要追溯其步骤时,审核和记录程序可以节省时间。

错误处理

API 环境中的主动错误处理可以防止网络犯罪分子泄露有关 API 流程的敏感信息。理想情况下,任何 API 错误都会返回 HTTP 状态代码,广泛指示错误的性质,为团队提供足够的上下文来理解和解决问题,而不会冒过多数据暴露的风险。

API 监控和补丁

与任何软件应用程序或系统一样,警惕的实时监控和维护对于维护 API 安全至关重要。密切关注任何异常的网络活动,并使用最新的安全补丁、错误修复和新功能更新 API。

组织还应该及时采用安全标准,例如开放 Web 应用程序安全项目 (OWASP) 的 API 安全建议。例如,OWASP API 安全 10 强榜单提供了一个框架,用于了解和缓解最关键、最常见的 API 安全威胁,如身份验证失效、批量分配和服务器端请求伪造。

版本和文件

API 软件的每个新版本都附带安全更新和错误修复,以弥补早期版本中的安全漏洞。但如果没有适当的版本控制实践,用户可能会意外(或故意)部署过时的 API 版本,并使敏感数据受到损害。细致的版本管理和文档实践使公司能够加快 API 开发,并在不中断服务的情况下逐步淘汰旧版本的 API,从而将用户推向更新、更安全的迭代版本。

例如,如果团队在 API 版本 1 中发现安全缺陷,他们可以在版本 2 中修复它。通过版本控制,安全团队可以鼓励用户按照自己的节奏从版本 1 迁移到版本 2,同时在版本文档中明确指出版本 1 存在已知的安全漏洞。

安全测试

安全测试要求开发人员使用 API 客户端提交标准请求,以评估系统响应的质量和正确性。定期进行安全测试来识别和解决安全漏洞,可以帮助团队在攻击者有机会利用 API 漏洞之前修复它们。

相关解决方案
IBM webMethods

使用混合多云平台 IBM webMethods 集成应用程序并实现工作自动化。

深入了解 webMethods
集成软件和解决方案

借助 IBM 整合解决方案解锁业务潜力,从而连接不同的应用程序和系统以快速、安全地访问关键数据。

深入了解云集成解决方案
云咨询服务

利用 IBM 的云咨询服务发掘新功能并提升业务敏捷性。了解如何通过混合云战略和专家合作共同制定解决方案、加快数字化转型并优化性能。

云服务
采取后续步骤

利用强大的集成工具简化您的数字化转型之旅。了解 IBM 领先的解决方案如何连接、自动化和保护您的业务应用程序。

开始整合 深入了解专业解决方案