BLOG | OFFICE OF THE CTO

应用安全 vs. API 安全?如何抵御 Bot 攻击来保护您的数字资产

Lori MacVittie 缩略图
Lori MacVittie
Published February 20, 2024

快速问答时间:这些端点中哪个属于 API,哪个属于应用程序?

https://www.example.com/product

https://www.example.com/product

如果你感到困惑,拿不定主意,没关系。这就是问题所在。应用程序端点和 API 端点看起来差不多。因为从技术角度看,如果它们是 RESTful(大多数都是 RESTful),它们的调用方式是一样的,都是通过 HTTPS,通常使用 GET 方法。通常不同的是随请求发送的有效载荷。对于 API 来说,这通常包含一些 JSON 或 XML 格式的数据,而 Web 应用请求可能什么都不包含。

尽管如此,F5 年度研究的主要发现之一仍然表明,企业在安全方面将 API 与应用程序区别对待。我们根据以下数据推断出这一点:41% 的企业至少拥有与应用程序相同或更多数量的 API,但对确保提供相同等级的 API 安全服务的重视程度却较低。

您可能会问,企业中的 API 数量怎么会超过应用程序呢?虽然用于内部服务间通信(如微服务)的 API 与其支持的服务肯定是紧密耦合的,但当 API 用于呈现外部接口时,情况就不一定如此了。

API 从何而来?

参考 2021 年的调查,61% 的受访者告诉我们,作为现代化的一种方法,他们正在 "添加一层 API,以实现现代用户界面"。而在 2022 年,这一比例为 45%。这意味着,实现现代用户界面的 API 并不一定是直接连接到应用程序的工具。它们可能是促进现代用户界面和应用程序(如移动应用程序和数字服务)的外层,也可能是旨在实现合作伙伴和供应链通信的外层。这些用例由负载均衡中的 API 网关和 7 层路由提供支持,它们通常提供一定程度的转换功能,允许它们从 API 端点转换到应用程序端点,从而实现 API 门面,就像那些使旧式美国西部老建筑看起来比实际更壮观的外墙一样。

当然,还有相当数量的 API 是面向公众的实体,附属于应用程序并通过网络(通常是 HTTPS)访问。

无论它们是如何出现的,面向公众的 API 都会受到许多与应用程序相同的攻击。当涉及 Bot 时尤其如此,因为具有良好文档的 API 可以让攻击者轻松编写大规模攻击脚本。

例如,2023 年受 F5 分布式云 Bot 防护的交易中,仅有 13% 多一点是自动完成的。也就是说,使用的是脚本或软件,而不是使用网页或移动应用程序的人类。这些交易通过 API 和应用程序进行。这些自动交易中肯定有一部分是 "恶意 Bot",我们的安全服务阻止了它们的恶意企图。(您可以在 F5Labs 报告中更深入地了解它们的企图)。

因此,当我们根据受访者自我报告的 API 数量来了解他们如何看待 Bot 管理时,我们惊讶地发现,Bot 管理的重要性非常低。

从这些漂亮的柱形图中可以看出,虽然对 API 网关的重视程度似乎与所管理的 API 数量相称,但对 Bot 管理的重视程度却不尽相同。事实上,情况完全相反!随着 API 数量的增加,Bot 管理的重要性似乎在迅速下降。

当然,这些 API 大部分都是内部应用程序接口。也就是说,它们是微服务之间的东西向 API,不会暴露给可能是恶意 Bot 的外部行为者。

但这种情况并不是绝对的。鉴于去年我读到的关于攻击者通过 API 获取访问权限的文章数量,我猜测外部攻击者比我们想象的要多得多。

因此,现在是时候提醒人们,虽然有许多恼人的 Bot — 如抢货机器人 — 通过抢购高需求商品来扰乱业务,但也有大量 Bot 的唯一目的是嗅出漏洞并对其进行攻击。无论漏洞在 API 还是应用程序中。

因此,企业最好采用全方位的安全策略来保护 API,并最终保护其业务。Bot 管理无疑是可信赖的安全解决方案之一,应被视为任何安全策略的关键组成部分。

说到底,Bot 并不在意要攻击的端点是属于应用程序还是 API。它们会同时发起攻击。

这意味着企业需要通过检测 Bot 来保护应用程序和 API,并阻止灾害发生。

了解 Bot 防护的实际效果,请点击查看此演示