1.35 Tbps 的 DDoS 攻击,Github 趴下了!

安全
本文我们详细地分析了 DDoS攻击以及工作原理和预防措施,它是一种常见且破坏力强大的网络攻击手段。

2016年,Mirai发动了一系列大规模 DDoS攻击,目标包括美国互联网服务提供商Dyn,导致包括 Netflix、Spotify在内的多个知名网站在美国和欧洲瘫痪。

2018年2月28日,GitHub遭受了高达 1.35 Tbps的 DDoS攻击。

2020年,AWS Shield Advanced防护服务遭受了高达 2.3 Tbps的 DDoS攻击。

你好,我是猿java。在上面 3个案例中,我们多次提到 DDoS攻击。那么,什么是 DDoS攻击?DDoS攻击会带来什么危害?我们该如何防御?这篇文章,我们将深入地聊一聊。

在讲解 DDoS之前,我们先来了解一个它的原始版本 DoS攻击。

1. 什么是DoS攻击?

DoS(Denial of Service,拒绝服务)攻击是一种网络攻击形式,旨在通过使目标系统、网络或服务超负荷运行,导致合法用户无法正常访问或使用该资源。攻击者通过发送大量请求、数据包或利用系统漏洞,消耗目标的计算资源、带宽或内存,从而使目标无法响应合法的用户请求,达到瘫痪系统、扰乱服务的目的。

如下图,可以形象地描述 DoS攻击:

2. 什么是DDoS攻击?

DDoS(Distributed Denial of Service,分布式拒绝服务)攻击是一种通过多台受控计算机或设备向目标网络、服务器或应用程序发起大量请求,从而使其资源耗尽、无法正常响应合法用户请求的恶意行为。DDoS攻击的目的是通过压垮目标系统的资源(如带宽、处理能力、内存等),导致其服务不可用,进而达到破坏、勒索或转移注意力等目的。

与传统的单一来源的DoS(Denial of Service,拒绝服务)攻击不同,DDoS攻击通常涉及大量分布在全球各地的“僵尸网络”(Botnet)。这些僵尸网络由黑客通过恶意软件感染的计算机和物联网设备组成,使得攻击者能够同时从多个源头发起攻击,极大地增加了攻击的规模和难度。

如下图,可以形象地描述 DDoS攻击的场景:

两者的区别:

  • DoS攻击:通常由单一来源或有限数量的来源发起。例如,通过一台计算机向目标服务器发送大量请求,导致服务器资源耗尽。
  • DDoS攻击:由大量计算机(通常是被感染的“僵尸网络”)共同发起,向目标服务器同时发送大量请求。这种分布式的攻击方式使DDoS攻击更具破坏性和难以防御。

3. DDoS攻击的类型

DDoS攻击主要包括以下 4种大类型,然后在每种类型中会列举几个典型的案例:

(1) 基于网络层的攻击

  • SYN Flood:攻击者发送大量的TCP SYN请求,消耗目标服务器的连接资源,使其无法响应合法的连接请求。
  • UDP Flood:通过发送大量的UDP数据包耗尽目标系统的带宽和处理能力。
  • ICMP Flood(Ping Flood):发送大量的ICMP Echo请求(Ping)包,导致目标系统的网络资源被占用。

(2) 基于传输层的攻击

  • TCP Flood:通过发送大量的TCP连接请求,使目标服务器的TCP连接队列被填满。
  • ACK Flood:发送大量的TCP ACK数据包,干扰正常的TCP连接建立过程。

(3) 基于应用层的攻击

  • HTTP Flood:发送大量的HTTP请求,占用目标Web服务器的资源,导致合法用户无法访问。
  • Slowloris:通过保持大量的HTTP连接处于半开状态,消耗服务器的连接资源。
  • DNS Query Flood:向目标DNS服务器发送大量查询请求,导致其无法正常解析合法请求。

(4) 混合型攻击

结合网络层和应用层的攻击手段,全面消耗目标的各种资源,增加防御的难度。

4. DDoS攻击的工作原理

通常来说,DDoS 攻击的工作原理通常涉及以下 8个步骤:

(1) 僵尸网络形成:攻击者组装了一个由受感染设备组成的网络,称为僵尸网络(botnet)。这些设备(可能包括感染了恶意软件的计算机、服务器、IoT 设备或智能手机)受攻击者控制并用于发起攻击。

(2) 侦查:攻击者识别要破坏或禁用的潜在目标,例如网站、服务器或网络基础设施。这可以通过自动扫描或收集有关易受攻击目标的信息来完成。

(3) 命令和控制 (C&C) 设置:攻击者设置了一个命令和控制基础设施,以便与僵尸网络中受感染的设备进行通信。此基础结构允许攻击者发出命令并协调攻击。

(4) 发起攻击:攻击者指示僵尸网络受感染的设备向目标系统发送大量流量或请求。这种流量洪流会压垮目标的资源,例如带宽、处理能力或内存。

(5) 流量重定向:为了放大攻击,攻击者可能会使用 IP 欺骗或反射/放大攻击等技术。IP 欺骗涉及伪造攻击流量的源 IP 地址,使其看起来好像来自合法来源。

(6) 反射/放大攻击利用易受攻击的服务器或服务,这些服务器或服务的响应流量多于接收的流量,从而放大了攻击的规模。

(7) 对目标系统的影响:由于流量过大,目标系统的资源不堪重负。因此,目标系统的性能会下降或合法用户完全无法访问。这种中断可能导致财务损失、声誉损害和潜在的安全漏洞。

(8) 攻击持续性:攻击者可能会尝试在较长时间内持续攻击,调整攻击策略或针对基础设施的不同部分以逃避 DDoS 检测或缓解措施。

在分析完 DDoS攻击的工作原理之后,我们需要对工作原理涉及的几个概念进行。

(1) 什么僵尸网络?

众所周知,僵尸网络(botnet)是过去几年最大的 DDoS 攻击的幕后黑手,从 2016 年的 Dyn 攻击到 2023 年由 Mirai 僵尸网络主导的利用命令注入漏洞的攻击。僵尸网络是受恶意软件感染的计算机和联网设备(IoT、智能设备等)的集合,它们在单个恶意行为者或通常称为“僵尸僵尸主机”的攻击组的控制下协同工作。这样的网络也被称为僵尸军队,每个受感染的设备都被称为机器人/僵尸。

(2) 僵尸网络中有多少个爬虫程序?

僵尸网络中爬虫程序的数量差异很大,从几千台到一百多万台受感染设备不等。例如,Hide 'n Seek 僵尸网络拥有大约 24,000 台受感染的设备,而 Mirai 僵尸网络在 2016 年严重破坏了美国东海岸的互联网使用,据信有 800,000 至 250 万台受感染设备。

5. 如何预防 DDoS攻击?

防御DDoS攻击需要多层次、多手段的综合防护策略,包括网络层防护、应用层防护、流量清洗服务等。以下是一些常见的防御措施:

(1) 网络层防护:

  • 防火墙和入侵检测/防御系统(IDS/IPS):配置防火墙规则,限制异常流量,阻挡已知的攻击流量模式。
  • 路由过滤:通过路由器过滤异常流量或恶意IP地址,减少攻击流量对内部网络的影响。
  • 黑名单和白名单:使用黑名单阻挡已知的恶意IP地址,使用白名单只允许可信的IP地址访问关键资源。

(2) 分布式防护:

  • 内容分发网络(CDN):将流量分散到全球多个节点,减轻单一服务器的压力,提高服务的可用性和抗攻击能力。
  • Anycast网络:使用Anycast技术将流量路由到最近的服务器节点,有效分散DDoS流量。

(3) 流量清洗服务:

第三方流量清洗服务(如Cloudflare、Akamai、Amazon AWS Shield)可以在攻击流量到达目标之前,对其进行过滤和清洗,只将合法流量转发给目标。

(4) 应用层防护:

  • Web应用防火墙(WAF):监控和过滤HTTP/HTTPS流量,阻挡恶意请求,防止应用层攻击。
  • 速率限制:限制单个IP或会话在特定时间内的请求次数,防止恶意用户发送大量请求。
  • 验证码和挑战:在高风险操作或大量请求时,引入验证码等机制,验证请求的合法性。

(5) 冗余和负载均衡:

  • 负载均衡:将流量分散到多个服务器或数据中心,避免单点故障。
  • 冗余部署:部署多个数据中心,分散风险,提高系统的容灾能力。

(6)  监控和报警:

实时监控网络流量和服务器状态,及时发现异常流量或性能下降,快速响应和处理攻击。

(7) 安全意识和培训:

定期进行安全培训,提高员工识别和应对DDoS攻击的能力,制定应急响应计划。

(8) 协议和连接优化:

  • TCP防护:优化TCP连接处理机制,避免SYN Flood等攻击。
  • 缓存和压缩:使用缓存减少服务器响应的压力,使用压缩技术减少带宽消耗。

6. 总结

本文,我们详细地分析了 DDoS攻击以及工作原理和预防措施,它是一种常见且破坏力强大的网络攻击手段。尽管,DDoS攻击更多面向的是安全和运维人员,但是作为程序员,我们也需要学会如何识别和防御 DDoS攻击,这样我们才能更好地做好系统服务自保。

责任编辑:赵宁宁 来源: 猿java
相关推荐

2020-06-19 14:12:35

2.3 TbpsDDoS攻击网络攻击

2016-09-28 09:30:38

2018-03-09 06:05:54

2021-08-21 16:04:10

CloudflareDDoS攻击者

2022-01-28 11:12:56

DDoS攻击

2022-01-17 17:57:59

DDoS 攻击

2021-11-05 19:24:39

漏洞网络安全DDoS攻击

2021-10-13 05:52:28

微软 DDoS 攻击Azure

2015-04-08 09:45:26

2018-11-02 12:37:53

DDos攻击信息安全攻击

2022-07-11 08:20:49

DDoS攻击网络攻击

2009-09-15 15:07:25

2014-12-02 09:05:20

2011-07-30 12:43:32

2024-04-29 09:56:07

2015-03-30 00:44:41

2012-11-30 14:54:48

2017-10-12 15:41:45

2011-02-02 00:54:45

点赞
收藏

51CTO技术栈公众号