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

