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攻击。 DoS(Denial of Service,拒绝服务)攻击是一种网络攻击形式,旨在通过使目标系统 、网络或服务超负荷运行
,导致合法用户无法正常访问或使用该资源。攻击者通过发送大量请求、数据包或利用系统漏洞
,云计算消耗目标的计算资源 、带宽或内存 ,从而使目标无法响应合法的用户请求,达到瘫痪系统、扰乱服务的目的
。 如下图
,可以形象地描述 DoS攻击
: DDoS(Distributed Denial of Service ,分布式拒绝服务)攻击是一种通过多台受控计算机或设备向目标网络、服务器或应用程序发起大量请求
,从而使其资源耗尽、源码库无法正常响应合法用户请求的恶意行为。DDoS攻击的目的是通过压垮目标系统的资源(如带宽
、处理能力
、内存等)
,导致其服务不可用 ,进而达到破坏、勒索或转移注意力等目的。 与传统的单一来源的DoS(Denial of Service,亿华云拒绝服务)攻击不同
,DDoS攻击通常涉及大量分布在全球各地的“僵尸网络”(Botnet)
。这些僵尸网络由黑客通过恶意软件感染的计算机和物联网设备组成,使得攻击者能够同时从多个源头发起攻击,极大地增加了攻击的规模和难度。 如下图,可以形象地描述 DDoS攻击的场景 : 两者的区别: DDoS攻击主要包括以下 4种大类型 ,然后在每种类型中会列举几个典型的案例: (1) 基于网络层的攻击 (2) 基于传输层的攻击 (3) 基于应用层的攻击 (4) 混合型攻击 结合网络层和应用层的攻击手段 ,全面消耗目标的各种资源 ,增加防御的难度 。 通常来说,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 万台受感染设备 。 防御DDoS攻击需要多层次 、多手段的综合防护策略,包括网络层防护 、应用层防护、流量清洗服务等
。以下是一些常见的防御措施
: (1) 网络层防护: (2) 分布式防护: (3) 流量清洗服务
: 第三方流量清洗服务(如Cloudflare、Akamai、Amazon AWS Shield)可以在攻击流量到达目标之前,对其进行过滤和清洗,只将合法流量转发给目标。 (4) 应用层防护: (5) 冗余和负载均衡: (6) 监控和报警: 实时监控网络流量和服务器状态,及时发现异常流量或性能下降 ,快速响应和处理攻击 。 (7) 安全意识和培训
: 定期进行安全培训,提高员工识别和应对DDoS攻击的能力,制定应急响应计划 。 (8) 协议和连接优化 : 本文,我们详细地分析了 DDoS攻击以及工作原理和预防措施,它是一种常见且破坏力强大的网络攻击手段。尽管,DDoS攻击更多面向的是安全和运维人员 ,但是作为程序员,我们也需要学会如何识别和防御 DDoS攻击,这样我们才能更好地做好系统服务自保。

