您现在的位置是:测试开发营 > 数据库

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

测试开发营2025-11-26 19:37:39【数据库】8人已围观

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

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攻击 ,这样我们才能更好地做好系统服务自保。

很赞哦!(4865)