DDoS攻击的定义
DDoS(Distributed Denial of Service,分布式拒绝服务)攻击, 是指攻击者控制僵尸网络中的大量僵尸主机向攻击目标发送大流量数据,耗尽攻击目标的系统资源,导致其无法正常地响应服务请求。
如下图所示,首先,攻击者通过各种手段,取得了网络上大量在线主机的控制权限。这些被控制的主机称为僵尸主机,攻击者和僵尸主机构成的网络称为僵尸网络。当被攻击目标确定后,攻击者控制僵尸网络向目标发送大量的攻击报文,导致被攻击目标的网络链路拥塞、系统资源耗尽。
DDoS 攻击的分类
DDoS 攻击根据攻击方式划分有以下三种类型:泛洪攻击(Flood)、畸形报文攻击(Malformation)和扫描探测类攻击(Scan&Probe)。
1.泛洪攻击
泛洪攻击是一种攻击者通过僵尸网络、代理或直接向攻击目标发送大量伪装的服务请求报文,最终耗尽攻击目标的资源的攻击方式。攻击者发送的大量报文可以是TCP的SYN和ACK报文、UDP报文、ICMP报文、DNS报文、HTTP/HTTPS报文等。
近年来,泛洪攻击又发展出了一种高级形式,即反射攻击。反射攻击并不是攻击者直接向攻击目标发起大量的服务请求,而是攻击者控制僵尸网络中的海量僵尸主机,然后这些僵尸主机以攻击目标的身份向网络中的服务器发起大量服务请求。网络中的服务器会响应大量的服务请求,并发送大量的应答报文给真正的攻击目标,从而造成真正的攻击目标性能耗尽。
反射攻击大多是由UDP flood变种而来的,它反射的是UDP报文,例如NTP、DNS、SSDP、SMTP、Chargen 等。因为 UDP 的响应(Response)报文大小要大于请求(Request)报文,这样攻击者就实现了放大攻击流量的目的。以NTP报文为例,NTP的Monlist命令被用来查询最近所有和服务器通信的记录,服务器会返回最多600个通信记录,这样流量就被放大了数百倍。如果攻击者控制成千上万的僵尸主机,并将其伪装成攻击目标,并向NTP服务器发送大量此命令,那么反射给攻击目标的流量数量可想而知!
2.畸形报文攻击
畸形或特殊报文攻击通常是指攻击者发送大量有缺陷或具有特殊控制作用的报文,从而造成主机或服务器在处理这类报文时造成系统崩溃的过程。常见的畸形报文攻击有Smurf、Land、Fraggle、Teardrop、WinNuke攻击等。特殊控制报文攻击包括超大ICMP报文、ICMP重定向报文、ICMP不可达报文和各种带选项的IP报文攻击。
3.扫描探测类攻击
扫描探测类攻击是一种潜在的攻击行为,并不具备直接的破坏行为。它通常是指攻击者发动真正攻击前的网络探测行为,例如IP地址扫描和端口扫描等。
DDoS攻击从网络层次的划分如下图所示
DDoS攻击的特点
-
易于发动
DDoS攻击的发起很容易,攻击者可以很方便地从互联网获取各类DDoS攻击工具,从而发起攻击。比较出名的发起DDoS的免费工具有卢瓦(LOIC)、HOIC(LOIC升级版)、XOIC、Hulk、DAVOSET、黄金眼等。DDoS攻击者还可以购买僵尸网络或者DDoS攻击服务,有的攻击者甚至可以借助正常的软件或网站发起攻击。 -
防御难度大
严重的DDoS攻击大都基于传输层协议甚至应用层协议,无法用系统升级和打补丁的方式预防。攻击源很分散,很难追溯。 -
破坏力强
企业用户遭受攻击除了导致主机无法对外提供服务外,还可能导致整个网络瘫痪。攻击会损害受害者的金钱、服务和信誉。