拒绝服务(DDoS)攻击和分布式拒绝服务(DDoS)攻击都是恶意的行为,利用大量互联网流量淹没目标服务器、服务或网络,破坏它们的正常运作。
DoS 攻击通过从单一机器(通常是一台计算机)发送恶意流量来实现这种破坏。形式可以非常简单;通过向目标服务器发送数量超过其有效处理和响应能力的ICMP(Ping)请求,发动基本的 Ping 洪水攻击。
另一方面,DDoS 攻击使用一台以上的机器向目标发送恶意流量。这些机器通常是僵尸网络(感染了恶意软件的计算机或其他设备的集合)的一部分,因而可以由单个攻击者进行远程控制。在其他情形中,多名个体攻击者可以串通起来,一起从各自的个体计算机发送流量来发动 DDoS 攻击。
DDoS 攻击在现代互联网中更为普遍,破坏性也更强,原因有二。首先,现代安全工具已经发展为能够阻止一些普通的 DoS 攻击。其次,DDoS 攻击工具已经变得相对廉价且易于操作。
DoS/DDoS 攻击工具如何分类?
市面上有诸多工具可以通过调整来发动 DoS/DDoS 攻击,或者明确设计用于此类目的。前一类工具通常是“压力源”,宣称的用途是帮助安全研究人员和网络工程师对自己的网络进行压力测试,但也可用来发动真正的攻击。
有些是专门的,只专注于OSI 模型的特定层,而另一些则旨在允许多个攻击向量。攻击工具的类别包括:
低速缓慢攻击工具
顾名思义,此类攻击工具仅使用少量数据,而且运行速度非常慢。设计用于通过多个连接发送少量数据,以便尽可能确保目标服务器端口长时间处于打开状态;这些工具将不断占用服务器资源,直到服务器无法维持其他连接为止。独特之处在于,即使不使用僵尸网络这样的分布式系统,低速缓慢攻击有时也可能会得逞,并且通常由一台机器来发动。
应用程序层 (L7) 攻击工具
这类工具以 OSI 模型的第 7 层为目标,基于互联网的请求(例如 HTTP)在这一层上发生。恶意用户可以利用某种 HTTP 洪水攻击,通过 HTTP GET 和 POST 请求淹没目标,从而发起攻击流量,使其很难与实际访问者提出的正常请求区分开来。
协议和传输层 (L3/L4) 攻击工具
此类工具深入协议堆栈,利用 UDP 等协议向目标服务器大规模发送流量,例如在 UDP 洪水攻击期间。虽然单独使用通常不起作用,但此类攻击常常以 DDoS 攻击的形式出现,增加参与攻击的机器数量可加大攻击效果。
常用的 DoS/DDoS 攻击工具有哪些?
一些常用的工具包括:
低轨道离子炮 (LOIC)
LOIC 是一款开源压力测试应用程序。提供了对用户友好的所见即所得型界面,可被用来发动 TCP 和 UDP 协议层攻击。鉴于原始工具广为流传,现已演化出多种衍生工具,可被用来通过 Web 浏览器发动攻击。
高轨道离子炮 (HOIC)
此类攻击工具用于取代 LOIC,不仅扩展了功能,还新增了自定义项。采用 HTTP 协议后,HOIC 可以发起难以缓解的针对性攻击。这款软件设计为集合至少 50 人就能发起协同攻击。
懒猴
Slowloris 是一款针对目标服务器发动低速缓慢攻击的应用程序。只需占用相对有限数量的资源,便可产生破坏性效果。
R.U.D.Y(死亡之子)
R.U.D.Y. 也是一款低速缓慢攻击工具,它的设计可使用户运用简洁的点击式界面来轻松发动攻击。此类攻击会打开多个 HTTP POST 请求,并尽可能确保这些连接长时间处于打开状态,从而慢慢压垮目标服务器。
如何防御 DoS/DDoS 工具?
既然 DoS 和 DDoS 攻击采取多种不同的形式,缓解它们也需要不同的策略。阻止 DDoS 攻击的常见策略有:
- 速率限制:限制服务器在特定时间范围内接受的请求数量
- Web 应用程序防火墙:使用工具来基于一系列规则过滤 Web 流量
- Anycast 网络扩散:在服务器和传入流量之间置入一个大型分布式云网络,以提供额外的计算资源来响应请求。