DoS 攻击类型入门指导与实例分析
前提
许多企业高度依赖在线托管服务,服务器必须在工作时间内正常运行。股市、赌场等处理大量资金的企业尤其如此。黑客可能威胁在这些时间内关闭或阻止服务器,从而进行勒索。拒绝服务(DoS)攻击是执行此类攻击的最常用方法。
DoS 是什么?
DoS(Denial of Service)是最古老的网络攻击形式之一。顾名思义,它意味着拒绝向合法用户提供服务。如果目标网站无法访问,就无法提供任何服务。
DoS 攻击的两种主要方式
- 特殊设计的数据:将特殊设计的数据发送给受害者,而受害者没有设置好处理这些数据,导致崩溃。这并不涉及发送太多的数据,但包括受害者无法处理的特殊设计的数据包。例如 Ping 死亡和碎片攻击。
- 泛滥(Flood):给受害者发送过多的数据也会减慢它的速度。它将花费资源来消耗攻击者的数据,而无法提供合法数据。这可能是一种 DDoS 攻击,攻击者从许多计算机向受害者发送数据包。
作为黑客,攻击也可以使用两者的组合。例如,UDP 泛洪和 SYN 泛洪就是这类攻击的例子。
还有一种形式的 DoS 攻击,称为 DDoS 攻击。DoS 攻击使用一台计算机进行攻击,DDoS 攻击使用一系列计算机来实施。有时,目标服务器会被大量数据淹没,无法处理。另一种方法是利用内部协议的工作原理。处理勒索的 DDoS 攻击通常被称为勒索 DDoS。
常见的 DoS 攻击类型
泪滴攻击或 IP 碎片攻击
在这种类型的攻击中,黑客需要向受害者发送一个特制的数据包。为了跨网络传输数据,IP 数据包被分解成更小的数据包,这叫碎片化。当数据包最终到达目的地时,它们被重新组装在一起以获得原始数据。
在碎片化过程中,一些字段被添加到碎片化的包中,以便在重新组装时可以在目的地跟踪它们。在泪滴攻击中,攻击者精心设计一些彼此重叠的包。因此,目的地的操作系统对如何重新组装数据包感到困惑,从而导致崩溃。
用户数据报协议洪泛(UDP Flood)
用户数据报协议 (UDP) 是一个不可靠的包。这意味着数据的发送方不关心接收方是否已经接收到它。在 UDP 洪水攻击中,许多 UDP 数据包被发送到随机端口的受害者。
当受害者在一个端口上得到一个包时,它会寻找正在监听那个端口的应用程序。当它找不到包时,它会用 Internet 控制消息协议 (ICMP) 包进行应答。ICMP 包用于发送错误消息。当接收到大量 UDP 包时,受害者使用 ICMP 包进行回复会消耗大量资源。这可能会阻止受害者响应合法的请求。
SYN 洪泛(SYN Flood)
TCP 是一种可靠的连接,确保发送方发送的数据被接收方完全接收。要启动发送方和接收方之间的通信,TCP 遵循三次握手:
- 发送方首先发送一个 SYN 包。
- 接收方使用 SYN-ACK 进行应答。
- 发送者返回一个 ACK 包,后面跟着数据。
在 SYN 洪泛中,发送方是攻击者,接收方是受害者。攻击者发送一个 SYN 包,服务器用 SYN-ACK 响应。但是攻击者不会使用 ACK 包进行回复。服务器期望攻击者发送一个 ACK 包并等待一段时间。攻击者发送大量 SYN 包,服务器等待最终的 ACK 直到超时。因此,服务器耗尽了等待 ACK 的资源。这种攻击称为 SYN 洪泛。
Ping 的死亡(Ping of Death)
在 Internet 上传输数据时,数据被分成更小的数据包块。接收端将这些中断的数据包重新组合在一起。在一次 Ping 死亡攻击中,攻击者发送一个大于 65,536 字节的数据包,这是 IP 协议允许的最大数据包大小。这些包被分割并通过互联网发送。但是,当数据包在接收端重新组装时,操作系统却不知道如何处理这些较大的数据包,因此它会崩溃。
Exploits 利用
对服务器的攻击也会导致 DDoS 漏洞。许多 Web 应用程序都驻留在 Web 服务器上,比如 Apache 和 Tomcat。如果这些 Web 服务器存在漏洞,攻击者可以针对该漏洞发起攻击。这种攻击不一定要控制,但它会使 Web 服务器软件崩溃。这会导致 DoS 攻击。如果服务器有默认配置,黑客可以很容易地找到 Web 服务器及其版本。攻击者找出 Web 服务器可能存在的漏洞。如果 Web 服务器没有打补丁,攻击者可以通过发送漏洞使其宕机。
僵尸网络攻击
僵尸网络可以用来实施 DDoS 攻击。僵尸网络群是被感染的计算机的集合。被入侵的电脑被称为'机器人',它们会根据来自 C&C 服务器的命令采取行动。这些机器人在 C&C 服务器的命令下,可以发送大量的数据到受害服务器,结果,受害服务器超载。
反射 DDoS 攻击和放大攻击
在这种攻击中,攻击者通过隐藏自己的 IP 地址,使用合法的计算机对受害者发起攻击。通常的方法是,攻击者在伪造数据包发送者之后,将一个小数据包发送到一个合法的机器上,使其看起来像是来自受害者。合法的机器将依次向受害者发送响应。
如果响应数据很大,则会放大影响。我们可以把这种攻击称为合法的计算机反射器,这种攻击者发送少量数据,而受害者接收大量数据的攻击称为放大攻击。由于攻击者并不直接使用自己控制的计算机,而是使用合法的计算机,因此这种攻击被称为反射式 DDoS 攻击。
与僵尸网络不同,这些反射器并不是被破坏的机器。反射器是响应特定请求的机器。可以是 DNS 请求或网络时间协议 (NTP) 请求等。
DNS 扩增攻击、WordPress pingback 攻击和 NTP 攻击都是扩增攻击。在 DNS 扩展攻击中,攻击者向 DNS 服务器发送一个伪造的包,其中包含受害者的 IP 地址。DNS 服务器会用更大的数据回复给受害者。其他类型的扩增攻击包括 SMTP、SSDP 等。
黑客实例
有几组网络罪犯负责实施勒索 DDoS 攻击,如 DD4BC, Armada Collective, Fancy Bear, XMR-Squad, 和 Lizard Squad。
这些组织的目标是企业。他们会先发出一封勒索邮件,如果受害者不支付赎金,他们就会发动攻击。
DD4BC
D4BC 集团被认为在 2014 年运作。它收取比特币作为勒索费。该集团主要针对媒体、娱乐和金融服务。他们会发送一封恐吓性电子邮件,声明将首先进行一次低强度的 DoS 攻击。他们会声称他们将保护组织免受更大的攻击。他们还威胁说,他们将在社交媒体上发布有关攻击的信息,从而降低公司的声誉。
通常,DD4DC 会利用 WordPress pingback 的漏洞。这是一种来自引用方对原始站点的通知,通知它正在链接到原始站点。现在原来的站点按照 WordPress 设计的协议下载参考站点作为对 pingback 请求的响应,这个动作被称为反射。攻击中使用的 WordPress 站点被称为 reflector。因此,攻击者可以通过创建一个伪造的带有受害站点 URL 的 pingback 请求并将其发送到 WordPress 站点来滥用它。攻击中使用了这些 WordPress 站点。因此,WordPress 站点会响应受害者。
Armada Collective(无敌舰队)
无敌舰队集体组在 2015 年首次出现。他们攻击了俄罗斯、瑞士、希腊和泰国的各种金融服务和网站。2017 年 10 月,他们再次出现在中欧。
混迹黑客圈的人很多都会知道,这个组织通过 NTP 实施反射性 DDoS 攻击。NTP 协议是一种用于在协议中同步计算机时钟时间的协议。NTP 协议为管理目的提供了对 monlist 命令的支持。当管理员将 monlist 命令发送到 NTP 服务器时,服务器将使用连接到该 NTP 服务器的 600 台主机的列表进行响应。
攻击者可以利用这一点,通过创建一个伪造的 NTP 包,其中包含一个 monlist 命令,其中包含受害者的 IP 地址,然后将多个副本发送到 NTP 服务器。NTP 服务器认为 monlist 请求来自受害者地址,并发送一个包含连接到该服务器的 600 台计算机的响应。因此,受害者收到太多的数据控制项目的响应,它就可能会崩溃了。
Fancy Bear
他就喜欢用 Mirai 僵尸网络,Mirai 僵尸网络的目标是物联网设备中使用的 Linux 操作系统。它主要感染闭路电视摄像机。
防御与缓解策略
了解攻击原理后,采取相应的防御措施至关重要。
- 防火墙与流量过滤:配置防火墙规则以丢弃异常的流量模式,例如来自同一源的大量 SYN 包。使用入侵检测系统 (IDS) 监控异常行为。
- 速率限制:在网络边缘实施速率限制,防止单个 IP 地址在短时间内发送过多请求。
- 补丁管理:定期更新服务器软件和操作系统,修复已知的安全漏洞,减少被 Exploits 利用的风险。
- 分布式架构:使用 CDN 或 Anycast 网络分散流量,提高系统的整体容量和抗打击能力。
- 协议加固:禁用不必要的服务(如 NTP 的 monlist 功能),配置 TCP 堆栈参数以抵御 SYN 洪泛。
通过结合上述技术与管理措施,可以有效降低遭受 DoS/DDoS 攻击的风险,保障业务连续性。

