流量反作弊(6)Salt Security-Blocking a Low-rate-per-bot HTTP DDoS Attack

Salt Customer Attack Case Study: Blocking a Low-rate-per-bot HTTP DDoS Attack

一、What is an HTTP DDoS Attack?

一个HTTP DDoS攻击是一种恶意企图,旨在通过利用大量设备(称为僵尸网络)向网络服务或中间设备发送高速的请求,从而使其无法为合法用户提供服务。攻击者会利用这些攻击来压倒网络服务的资源,或者中间设备的资源,以阻止它们为合法用户提供服务,从而达到攻击的目的。

img

攻击的振幅是通过受害者网络服务接收到的总请求速率来衡量的。该速率是由僵尸网络的规模和每个僵尸程序的恶意请求速率决定的。

img

每个恶意请求可能看起来合法,或者至少不会与典型的Web应用程序攻击匹配。要区分恶意请求和合法请求以检测HTTP DDoS攻击,通常可以采取以下方法:

  1. 限制每个源客户端的请求数量
  2. 对源客户端进行指纹识别,以区分恶意请求和合法请求
  3. 使用一些Web应用程序防火墙(WAF)中包含的预定义签名。

这些方法可以帮助检测和缓解HTTP DDoS攻击,但需要注意的是,攻击者可能会采取措施绕过这些限制和检测方法。因此,还应使用其他安全措施来提高网络服务的安全性。

二、Detection and Mitigation for APIs

指纹源客户端可以使用web质询来区分恶意流量和合法流量,该质询由受攻击的web服务本身或WAF触发。然后可以阻止受牵连的客户端。这些网络挑战【挑战应答?】可能包括:

  • JavaScript挑战–向web客户端展示JS脚本。合法用户的浏览器可以很容易地渲染并返回其输出,而没有JavaScript渲染功能的客户端则会被定罪。
  • 302重定向挑战–web服务或WAF将web客户端重定向到另一个页面。合法用户的浏览器会被重定向并成功地更新其请求,而没有实现完整HTTP堆栈的客户端会不断发送原始请求,因此会被定罪。
  • Cookie挑战-网络服务或WAF向网络服务发送Cookie作为响应的一部分。合法用户的浏览器在下一个请求中返回它,而没有实现完整HTTP堆栈的客户端则没有,因此会被定罪。
  • CAPTCHA–web服务或WAF要求用户插入特定信息。只有人类才能理解它的格式——程序无法理解——因此合法用户可以在自动化工具被淘汰的情况下继续浏览。

这些挑战可以阻止缺乏JavaScript渲染功能和完整HTTP堆栈实现的基本恶意自动化工具。然而,网络挑战(web challengs)无法抵御包括这些功能在内的高级自动化工具。【挑战应答是容易破解的】

此外,网络挑战不能用来保护应用程序编程接口(API)——机器对机器通信的无处不在的接口。API为专用客户端提供服务,这些客户端通常缺乏JavaScript渲染以及完整的HTTP堆栈实现。在这种情况下,网络挑战也会阻止合法客户端。这一缺点使得请求速率限制和预定义签名成为唯一可用于保护的缓解方法。

三、The Low-rate-per-bot Attack Approach

每个机器人的低速率攻击方法

问题是不良行为者已经发现传统工具可以识别这些自动化的高速率攻击,并调整了攻击方法。为了避免被传统的安全工具检测到,不良行为者会降低攻击速度,保持在速率限制阈值以下。但是,如果他们降低了攻击的速度,他们怎么还能破坏网络服务呢?答案是简单的数学。他们降低了任何给定的单个机器人的请求发送率,以使其不被发现,但他们添加了越来越多的机器人。因此,进入web服务的总请求率仍然很高——高到足以危及服务可用性。

img

四、Customer Case Study – Blocking an In-the-Wild Attack

客户案例研究——阻止一次疯狂攻击

那么公司该怎么办呢?如何保护自己免受这些日益复杂的API攻击?您需要一种技术,可以将看似不相关的“用户”的流量模式拼接在一起,以便发现这种攻击。今天的Web应用程序防火墙(WAF)虽然比20年前的同行更智能,但仍然孤立地看待交易和“用户”,不能在总体和长期上看到这种模式。

为了挫败这种攻击,您需要跨越更长的时间轴和覆盖数百个“用户”和API交互的视角或上下文。这就是Salt平台的作用。

Web应用程序防火墙(WAF)可以在秒和分钟的时间范围内跟踪客户端的请求数量,而Salt Security API Protection Platform可以在更长、更多样化的时间轴和持续时间内跟踪客户端请求。通过其云规模的大数据平台以及人工智能(AI)和机器学习(ML)算法,Salt可以轻松识别与合法请求不同的请求。这种动态异常检测使用户能够快速发现低速恶意请求,并具有非常低的误报率。

几周前,Salt Security的一位客户通知我们的SOC团队,该公司的一个Web服务正受到未知威胁的攻击。同时,Salt平台检测到高入站流量。使用Salt平台,我们的分析师检测到一个由数千个机器人组成的僵尸网络对认证(也称为登录)端点发起的HTTP DDoS攻击。由于每个单独的机器人只会每分钟发送一个请求,因此云WAF认为此流量是合法的,并让其通过。然而,由于累积负载,合法用户无法对Web服务进行身份验证。

Salt API发现算法还立即检测到以下异常情况——恶意请求缺少必需的负载字段。Web服务对这些无效请求做出了400 Bad Request响应代码的响应,Salt平台将其检测为此API端点的异常响应代码,这有助于进一步区分机器人流量和合法的身份验证尝试。

GET:我们要离线发现异常模式,来抵御低数率的分布式攻击;

img

我们的分析师将这些发现报告给了客户的安全工程师,他们激活了Salt和云WAF之间已经定义的集成,以阻止整个僵尸网络的源IP。有了这种自动阻止,web服务的负载显著下降,合法用户能够再次进行身份验证。

img

img

五、Automated or Manual Blocking – the Customer’s Choice

自动或手动阻止–客户的选择

Salt的客户可以选择在Salt平台检测到攻击时启用自动或手动阻止。客户通常会从手动阻止开始,这样他们就有机会在采取行动之前调查已确定的攻击。这种按需选项虽然较慢,但可以避免在误报情况下阻止合法用户。

当看到相同的攻击重复出现时,许多客户通常会选择将Salt集成到其内联设备中,并将其设置为自动阻止模式。这种方法有效地将Salt的带外部署(避免了任何应用程序影响)转变为内联保护设备,立即停止攻击流量。具备此种灵活性意味着Salt平台支持一系列客户方法,并随着他们在API安全成熟度模型中的发展而进行相应调整。

GET:很多策略交给业务线或SOC去运营?

六、总结

Web应用程序防火墙(WAF)可以提供对许多仍然普遍存在的传统攻击的有用保护。然而,由于其代理架构,它们无法在用户和时间跨度上关联活动以检测当今复杂的API攻击。仅依靠WAF进行API保护是不足够的,会使公司易受攻击。我们在Salt这里并不声称我们的平台是DDoS防护解决方案。然而,通过利用我们的异常检测能力,我们可以捕获您的WAF可能错过的攻击。我们可以与您的WAF集成,提供所需的内联阻止(inline blocking)以保护您的服务。

要了解Salt屡获殊荣的API安全平台以及如何在您的环境中发现和保护内部开发和第三方API,请联系我们或注册个性化演示。

参考文献

  • https://salt.security/blog/salt-customer-attack-case-study-blocking-a-low-rate-per-bot-http-ddos-attack?