什么是 Slowloris DDoS攻击?如何检测 Slowloris 攻击
有一家餐厅人满为患。每个人都在等着入座,但有一群人一直霸占着桌子,不点菜。现在出现了一个难题:餐厅几乎客满,新顾客在等待,但这些不速之客仍然占据着相当多的桌子。
DDoS 攻击基本上就是这么做的。我们拥有的不是饥饿的客户,而是互联网流量。我们拥有的不是桌子,而是网站的资源。Slowloris 攻击是一种偷偷摸摸的方法,通过占用网站所有可用资源来使网站超载。它的工作原理如下:
什么是 Slowloris DDoS 攻击?
Slowloris DDoS 攻击是一种网络攻击,其目的是通过尽可能长时间地保持与 Web 服务器的大量连接来压垮 Web 服务器。这会导致服务器资源耗尽,使其无法处理合法的用户请求。
“Slowloris” 一词由其开发者罗伯特“RSnake”汉森于 2009 年创造,结合了“slow”(描述攻击的渐进性)和“loris”(一种行动缓慢的灵长类动物)两个词。
Slowloris 之所以脱颖而出,是因为它只需要很少的带宽即可执行。这使得它成为那些可能没有资源发动大规模攻击的攻击者可以使用的工具。它专门针对服务器的连接处理能力,而不是试图用过多的流量淹没它。
是什么让它这么可怕?
Slowloris 攻击的有效性在于它能够无限期地保持目标服务器的连接打开。它通过向服务器发送部分 HTTP 请求来实现这一点,保持连接处于活动状态并防止其超时。
Slowloris 会在多个连接上反复执行此操作,最终使服务器的可用连接数达到最大值,从而拒绝新的合法连接。这种方法使攻击者只需一台机器就能搞垮大型网站。
61% 的中小型企业 (SMB)报告称自己遭受了 DDoS 攻击,而 Slowloris 由于对资源要求低而成为常用攻击方式之一。
Slowloris DDoS 攻击的工作原理
Slowloris DDoS 攻击是一种有条不紊的低带宽方法,通过利用 Web 服务器管理连接的方式来使 Web 服务器瘫痪。
此次攻击的具体运作方式如下:
目标选择
- 攻击者选择一个目标,通常是运行已知易受 Slowloris 攻击的特定类型软件的 Web 服务器,例如 Apache 或任何默认打开大量同时连接的服务器。
发起部分 HTTP 请求
- 攻击始于攻击者的机器发起与目标服务器的多个连接。
- 攻击者不会完成 HTTP 请求,而是仅发送标头(或其中的一部分),而实际上并不发送完整的请求。
保持连接畅通
- 为了保持这些连接处于活动状态,攻击者会定期发送额外的 HTTP 标头。这会让服务器误以为合法客户端仍在发送数据,从而阻止服务器因不活动而关闭这些连接。
资源枯竭
- 当服务器继续等待来自每个连接的完整 HTTP 请求时,它会分配资源(例如内存和线程)来维护这些连接。
- 随着越来越多的不完整请求不断涌入,管理活动连接的服务器连接表将变得饱和。
最大化打开连接
- 攻击者逐渐增加这些打开的连接的数量,直到服务器达到其同时连接的限制。
- 这是通过编写脚本或使用专用工具自动发送部分请求来实现的,从而使攻击无需人工干预即可继续。
拒绝服务
- 一旦服务器达到其连接限制,它将无法接受任何新的连接,包括来自真实用户的合法流量。
- 尝试访问该网站的用户要么会遇到很长的加载时间,要么完全无法访问该网站,从而导致服务不可用。
资源需求低
- Slowloris 攻击的一个显著特点是它只需要攻击者很少的带宽和资源。这使得即使从一台机器或一个小型僵尸网络也可以执行此类攻击。
避免被发现
- 由于 Slowloris 攻击不会产生显著的流量峰值,因此它们通常会绕过依赖监控大规模流量异常的传统检测方法。
- 攻击的隐秘性使得安全团队更难及时识别和减轻威胁。
连续性和持久性
- 攻击者会随着时间的推移持续发送不完整的请求,维持服务器的饱和度并根据需要延长拒绝服务。
- 攻击可以持续数小时甚至数天,直到服务器重新启动或采取特定的对策。
Slowloris 攻击的常见目标
Slowloris 攻击往往针对特定类型的 Web 服务器和环境,这些服务器和环境更容易受到这种攻击方法的影响。以下是一些常见目标:
目标 |
描述 |
Apache Web 服务器 |
Apache 是最广泛使用的 Web 服务器软件之一,由于其默认处理并发连接的方式,特别容易受到攻击。许多配置无法足够快地关闭空闲连接,使其成为 Slowloris 的主要目标。2023 年,Slowloris 攻击的 Web 服务器中有 45% 是 Apache 服务器,因为它们容易受到此类攻击。 |
共享主机环境 |
共享主机提供商在一台服务器上托管多个网站。对一个网站的攻击可能会影响该服务器上所有网站的性能。这使得共享主机经常成为攻击目标,因为一次成功的攻击可能会造成大范围破坏。 |
中小型企业 (SMB) |
中小企业通常缺乏强大的安全基础设施和资源,因此更容易受到 Slowloris 攻击。他们可能没有采取必要的防御措施来及时检测和缓解此类攻击。 |
非分布式服务器架构 |
非分布式或没有负载均衡的服务器更容易受到 Slowloris 攻击。容量有限的单点服务器更容易成为攻击目标。 |
用户互动性高的网站 |
论坛、聊天室或在线游戏平台等高度依赖用户互动的网站是极具吸引力的目标,因为停机的影响更为明显。 |
遗留系统 |
安装了过时软件的旧系统可能没有必要的更新或配置来抵御 Slowloris攻击,从而使其更容易成为攻击目标。 |
公共部门和教育机构 |
这些实体通常在旧系统上运行服务,并且可能没有资金采取先进的网络安全措施,因此成为攻击者的目标。 |
检测 Slowloris 攻击
与传统的使用高流量淹没服务器的 DDoS 攻击不同,Slowloris 使用看似合法的HTTP 请求,速度较慢,因此很难使用标准监控工具发现:
Slowloris 攻击的迹象
- 大量打开的连接: Slowloris 攻击的一个重要指标是服务器上有大量打开的空闲连接,从而消耗其资源。
- 持续的部分请求:长时间未完成而保持打开状态的请求是另一个危险信号。
- 服务器负载增加:服务器尝试管理大量不完整的连接时,可能会出现更高的 CPU 和内存使用率。
- 服务器性能下降:用户可能会遇到响应时间变慢或无法访问网站。
- 包含部分 HTTP 请求的日志: Web 服务器日志可能显示不完整或格式错误的 HTTP 请求模式。