paint-brush
机器人在 API 攻击中的作用经过@venkateshsundar
577 讀數
577 讀數

机器人在 API 攻击中的作用

经过 Venkatesh Sundar6m2023/05/09
Read on Terminal Reader

太長; 讀書

API 是现代应用程序的构建块,可驱动可组合的企业模型和数字平台。目前,全球使用的公共和私有 API 总数估计约为 2 亿。通过设计,它们提供对数据、资源和功能的快速、轻松访问;攻击者不可能错过它们。
featured image - 机器人在 API 攻击中的作用
Venkatesh Sundar HackerNoon profile picture
0-item

API 是现代应用程序的构建块,可驱动可组合的企业模型和数字平台。随着越来越多的组织意识到 API 集成的重要性,API 的使用也在猛增。


目前,全球使用的公共和私有 API 总数估计约为2 亿个。由于 API 如此重要,而且在设计上,它们提供了对数据、资源和功能的快速、轻松访问;攻击者不可能错过它们。机器人是攻击者武器库中的关键工具,他们利用机器人来编排 API 机器人攻击。


API 机器人攻击到底是什么?威胁行为者如何使用机器人来攻击API ?您如何保护您的 API 免受机器人攻击?继续阅读以找出答案。


API 机器人攻击

在深入研究什么是 API 机器人攻击之前,让我们先了解机器人的基础知识。


机器人是用于机器对机器通信的自主程序。可以对它们进行编程以在无需人工干预的情况下执行功能和执行 Web 请求。它将 HTTP 流量从 IP 地址发送到系统。僵尸网络是一起工作并可以利用多个 IP 地址的机器人的集合。僵尸网络的大小从几百到几千个 IP 地址不等。


在机器人攻击中,恶意行为者利用机器人来操纵、欺诈或破坏目标网站、应用程序、最终用户或 API。 Bot 攻击最初用于垃圾邮件目标。但是今天,它们变得更加复杂,可以执行非常模仿人类行为的复杂攻击。


当这些自动化程序被用来专门攻击 API 时,或者当攻击者利用机器人来增加 API 攻击的规模、影响和复杂性时,这就是 API 机器人攻击。


为什么使用机器人来对抗 API?

数据、资源和业务逻辑的程序化公开:

多年来,机器人一直被用于网络攻击。但是,当它们用于 API 时,为什么会引起关注呢?这是因为 API 旨在连接不同的应用程序,提供对数据、资源等的编程访问,并使多个客户端能够轻松集成和共享。就其本质而言,它们公开了高价值的功能和业务逻辑,并使资源可被发现。因此,它们增加了接触敏感信息的风险。


缺乏能见度:

API 是机器人攻击的有吸引力的目标,因为组织缺乏对 API 整个生命周期的可见性。他们在幕后工作的事实并没有太大帮助。当您不知道您的架构中存在 API 时,您将如何审查、管理和保护它们?这给您留下了几个易受攻击的、影子的、僵尸的、流氓的和配置错误的 API。因此,它们通常不如传统端点安全,并成倍增加您的风险。


当您将机器人添加到这种组合中时,您就有了灾难的秘诀。组织可能不知道存在哪些 API、谁在使用它们、它们可以访问哪些资源以及它们公开了哪些业务逻辑。但威胁行为者利用机器人来映射组织的 IT 架构并四处窥探 API 中的薄弱环节。机器人实际上使攻击者的过程变得快速、简单和敏捷。


今天的机器人是隐身的:

机器人用于 API 攻击还因为它们可以非常隐蔽并且避免被传统安全工具检测到。事实上,当今更复杂的机器人也可以避免被更高级的安全工具检测到。


例如,您可能临时调整了 API 身份验证规则以在三次登录尝试失败后冻结帐户。在凭据填充攻击尝试两次失败后,机器人将简单地切换到另一个 IP 地址。使用智能自动化,他们可以在没有人工干预的情况下完成所有这些工作,根据他们编程的规则和他们随着时间的推移学习做出决定。


机器人被用作其他攻击的烟幕:

API 机器人攻击通常被攻击者用作干扰或烟幕,以策划其他类型的 API 滥用。例如,攻击者可能利用僵尸网络触发数以千计的安全警报,供安全团队跟进。但他们的目的是在安全团队调查安全警报时枚举 ID。


威胁行为者利用机器人攻击 API,因为它在此过程中提供无与伦比的速度、灵活性和敏捷性。例如,在不触发安全防御措施的情况下,无法手动进行凭据填充或暴力攻击。但机器人使暴力破解和凭据填充变得快速、简单且可扩展。


这是机器人如何帮助攻击者瞄准 API 的另一个示例。攻击者可以在未经身份验证的情况下向端点发送大量 API 请求,并在短时间内收集大量数据。


传统工具对现代机器人无效:

传统的安全工具被发现即使在常规的机器人攻击中也有缺陷。但它们在阻止 API 机器人攻击方面更加无效,因为它们不是专门为 API 设计的。首先,传统工具无法有效区分机器人和人类活动以及机器人活动的好坏。这严重限制了他们保护 API 免受基于机器人的攻击的能力。


其次,随着机器人留下的线索越来越少,API 收集的细节也越来越少,传统工具无法有效地判断 API 调用是恶意的还是合法的。本质上,机器人程序请求与浏览器攻击相同的数据。


不同之处在于,API 机器人攻击不提供有关浏览器版本、使用的 cookie、设备类型等的信息,而传统工具使用这些信息来检测机器人活动。由于 API 攻击是完全虚拟的,机器人可以绕过攻击、在不同的云之间移动、轮换 IP 地址、使用代理网络,以及做更多的事情来摆脱传统的防御。


业务逻辑缺陷:

开发人员倾向于使用通用规则集并使用默认配置保留 API,而不考虑业务逻辑。这会产生业务逻辑缺陷,机器人可以利用这些缺陷来造成严重破坏,同时通过看似合法的 API 请求逃避检测。


对 API 的机器人攻击更容易安装:

与针对移动和 Web 应用程序的机器人攻击相比,针对 API 的机器人攻击更容易编排且更具成本效益。虽然不同的应用程序需要不同的方法和机器人功能,但攻击者可以对直接 API 和 Web API 使用相同的基础设施和攻击机制。此外,API 使攻击者能够更接近地访问核心 IT 基础设施和关键资产。


此外,机器人、僵尸网络和攻击工具包很容易租用,而且价格通常很低。因此,攻击者不需要太多资源或深厚的技术知识即可发起 API 机器人攻击。


API 攻击中使用机器人的方式有哪些?

  1. 侦察:攻击者利用机器人和僵尸网络挖掘易受攻击的 API 端点、测试检测阈值、映射攻击面等。

  2. 攻击:机器人和僵尸网络用于攻击 API。一些常见的 API 机器人攻击包括凭据填充、暴力攻击、内容抓取攻击、注入等。

  3. 规避:在基于 API 的攻击中,攻击者还利用机器人和僵尸网络通过其隐蔽行为或制造干扰来规避安全防御。


API Bot 缓解:5 种有效方法

  • 收集情报并为机器人针对您的 API 的正常行为建立基线。
  • 监控所有传入的 API 请求,以便在侦察阶段发现并阻止异常行为。
  • 部署的安全工具应该能够根据具体情况智能地允许、阻止、标记或挑战传入流量,而无需太多人为干预。
  • 利用行为和模式分析、工作流验证和指纹识别,有效地区分人类、好的和坏的机器人程序活动。
  • 持续扫描、测试和监控您的 API 是否存在错误配置、漏洞和业务逻辑缺陷。
  • 使用零信任策略加强访问控制和身份验证机制。
  • 始终自定义 API 规则集。