什么是慢速攻击?
慢速攻击是 DoS 或 DDoS 攻击的一种,依赖一小串非常慢的流量,可以针对应用程序或服务器资源发起攻击。与更传统的蛮力攻击不同,低速缓慢攻击所需的带宽非常小,并且难以防护,因为它们生成的流量很难与正常流量区分开。大规模 DDoS 攻击可能会很快被注意到,而慢速攻击可能会在很长一段时间内不被发现,同时拒绝或减慢对真实用户的服务。
与可能需要一个僵尸网络才能发起的分布式攻击相反,发起低速缓慢攻击不需要很多资源,使用一台计算机就可以成功发起。用于发动低速缓慢攻击的两个最受欢迎的工具是 Slowloris 和 R.U.D.Y.。
慢速攻击的工作原理
慢速攻击以基于线程的 Web 服务器为目标,旨在通过慢速请求捆绑每个线程,从而阻止真正的用户访问服务。在攻击时,需要非常缓慢地传输数据,但传输速度又足够快,以防止服务器超时。
想象有一座四车道桥梁,每个车道都有收费站。司机在收费站处停车,交出钞票或几枚硬币,然后过桥,即可为下一个司机腾出车道。现在想象一下,有四个驾驶员同时出现并占据了所有开放的车道,而他们每个人都慢慢地将小额硬币交给收费站操作员,一次交一枚硬币,堵塞所有可用车道数小时,并阻止其他驾驶员通过。这种令人丧气的情况就与低速缓慢攻击的工作原理非常相似。
攻击者可以使用 HTTP 标头、HTTP 发布请求或 TCP 流量进行低速缓慢攻击。以下是 3 个常见的攻击示例:
- Slowloris 工具连接到服务器,然后缓慢发送部分 HTTP 标头。这将导致服务器保持连接打开状态以便接收其余的标头,这样就会将线程捆绑起来。
- 另一个名为 R.U.D.Y.(死亡之子)的工具会生成 HTTP POST 请求以填写表单字段。它告诉服务器将发送多少数据,但随后却非常缓慢地发送数据。服务器保持连接打开,因为它预计还有更多数据。
- 另一种低速缓慢攻击是 Sockstress 攻击,这种攻击利用 TCP/IP 三向握手中的漏洞,创建出不确定的连接。
Web 服务如何检测慢速攻击?
用于识别和阻止传统 DDoS 攻击的速率检测技术无法找出慢速攻击,因为它们看起来像正常流量。检测它们的最佳方法是仔细监控和记录服务器资源使用情况并结合行为分析。将正常时间的流量和用户行为与潜在攻击期间的流量和用户行为进行比较。
如果服务器运行缓慢或崩溃,并且怀疑是慢速攻击,则这种攻击的一个迹象是正常用户进程需要更长的时间。如果用户操作(例如填写表格)通常需要几秒钟,但实际上花费几分钟或几小时,占用的服务器资源比正常情况多得多,则可能是慢速攻击的原因。
在检测到慢速攻击后,如何防御又是另一个问题。
如何防御低速缓慢攻击
防御慢速攻击的一种方法是升级您的服务器配置; 您的服务器可以同时保持的连接越多,攻击阻塞服务器的难度就越大。这种方法的问题是攻击者可以尝试扩展他们的攻击来填满您服务器的可用性。
另一个解决方案是反向代理CDN,这将在低速缓慢攻击到达您源服务器之前予以缓解。
推荐使用京东云星盾,星盾安全加速(SCDN,Secure Content Delivery Network),是京东云推出的一体化分布式安全防御产品,提供免费 SSL 证书,集成 Web 攻击防护、CC 攻击防御、BOT 机器人分析,并将内容分发加速能力融于一身。在边缘节点注入安全能力,形成分布式的安全加速网络,让您的业务更安全、体验更流畅。适用于所有兼顾安全和内容加速的业务。相关链接