原文网址:DDoS攻击的方式_IT利刃出鞘的博客-CSDN博客
简介
本文介绍DDos攻击的方式。
DDoS的含义:通过占用网络服务的资源让服务器应接不暇,从而拒绝正常的业务流量的一种网络攻击方式。通俗来讲:DDoS就是占用带宽等资源,让正常的用户也无法访问,从而达到攻击目的。
攻击类型
反射型
反射型的 DDoS 攻击是一种新的变种。攻击者并不直接攻击目标服务的 IP,而是利用互联网的服务器,通过伪造被攻击者的 IP 地址向有开放服务的服务器发送构造的请求报文,该服务器会将数倍于请求报文的回复数据发送到被攻击 IP,从而对后者间接形成 DDoS 攻击。
在反射型攻击中,攻击者利用了网络协议的缺陷或者漏洞进行 IP 欺骗,主要是因为很多协议(例如 ICMP、UDP 等)对源 IP 不进行认证。同时,要达到更好的攻击效果,黑客一般会选择具有放大效果的协议服务进行攻击。
目前常见的反射攻击有:DNS 反射攻击、NTP 反射攻击、SSDP 反射攻击等。
注:将源地址设为假的无法回应,即为 SYN Flood 攻击。制造流量和攻击目标收到的流量为 1:1,回报率低。
流量放大型
通过递归等手法将攻击流量放大的攻击类型,比如:以反射型中常见的 SSDP 协议为例。攻击者将 Search type 设置为 ALL,搜索所有可用的设备和服务,这种递归效果产生的放大倍数是非常大的,攻击者只需要以较小的伪造源地址的查询流量就可以制造出几十甚至上百倍的应答流量发送至目标。
混合型
高级攻击者不倾向使用单一的攻击手段,而是根据目标系统的具体环境灵动组合,发动多种攻击手段。
比如:TCP 和 UDP、网络层和应用层攻击同时进行,这样的攻击既具备了海量的流量,又利用了协议、系统的缺陷,尽其所能地展开攻势。对于被攻击目标来说,需要面对不同协议、不同资源的分布式的攻击,分析、响应和处理的成本就会大大增加。
脉冲波型
这是一种新型的 DDoS 攻击方法,给某些 DDoS 攻击解决方案带来了问题,因为它允许攻击者攻击以前认为是安全的服务器。之所以将这种新技术命名为脉冲波,是由于其攻击流量展现出来的图形看起来很像不连贯的重复的脉冲状。这类攻击通常呈现一个有上有下的斜三角形的形状,这个过程体现了攻击者正在慢慢地组装机器人并将目标对准待攻击的目标。
一次新的脉冲波攻击从零开始,在很短的时间跨度内达到最大值,然后归零,再回到最大值,如此循环重复,中间的时间间隔很短。脉冲波型 DDoS 相对难以防御,因为其攻击方式避开了触发自动化的防御机制。
链路泛洪
随着 DDoS 攻击技术的发展,又出现了一种新型的攻击方式 Link Flooding Attack,这种方式不直接攻击目标而是以堵塞目标网络的上一级链路为目的。对于使用了 IP Anycast 的企业网络来说,常规的 DDoS 攻击流量会被分摊到不同地址的基础设施,这样能有效缓解大流量攻击。所以攻击者发明了一种新方法,攻击至目标网络 traceroute 的倒数第二跳,即上联路由,致使链路拥塞。
攻击方式
SYN Flood(Sync洪水)
SYN Flood攻击是当前网络上最为常见的DDos攻击。
SYN Flood利用了TCP协议实现上的缺陷:向网络服务所在端口发送大量的伪造源地址的半连接请求,而在收到目的主机的SYN ACK后并不回应。这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到ACK所以短时间内维护着这些队列,造成了资源的大量消耗,最终导致其他正常用户无法正常访问。
很多操作系统,甚至防火墙、路由器都无法有效地防御这种攻击,而且由于它可以方便地伪造源地址,追查起来非常困难。
UDP Flood攻击
UDP Flood是日渐猖獗的流量型DOS攻击,一般是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k PPS的UDP Flood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。由于UDP协议是一种无连接的服务,在UDP FLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。
Connection Flood攻击
Connection Flood 是典型的并且非常有效的利用小流量冲击大带宽网络服务的攻击方式。这种攻击的原理是利用真实的 IP 地址向服务器发起大量的连接,并且建立连接之后很长时间不释放,造成服务器上残余连接 (WAIT 状态) 过多,效率降低,甚至资源耗尽,无法响应其它客户所发起的连接。
其中一种攻击方法是每秒钟向服务器发起大量的连接请求,这类似于固定源 IP 的 SYN Flood 攻击,不同的是采用了真实的源 IP 地址。通常这可以在防火墙上限制每个源 IP 地址每秒钟的连接数来达到防护目的。
但现在已有工具采用慢速连接的方式,也即几秒钟才和服务器建立一个连接,连接建立成功之后并不释放并定时发送垃圾数据包给服务器使连接得以长时间保持。这样一个 IP 地址就可以和服务器建立成百上千的连接,而服务器可以承受的连接数是有限的,这就达到了攻击的效果。
DNS Flood攻击
利用DNS请求不需要三次握手确认这个特点,大量请求DNS业务,造成DNS服务器中断。
UDP DNS Query Flood攻击采用的方法是向被攻击的服务器发送大量的域名解析请求,通常请求解析的域名是随机生成或者是网络世界上根本不存在的域名,被攻击的DNS服务器在接收到域名解析请求的时候首先会在服务器上查找是否有对应的缓存,如果查找不到并且该域名无法直接由服务器解析的时候,DNS服务器会向其上层DNS服务器递归查询域名信息。根据微软的统计数据,一台DNS服务器所能承受的动态域名查询的上限是每秒钟9000个请求。一台PC机上可以轻易地构造出每秒钟几万个域名解析请求,足以使一台硬件配置极高的DNS服务器瘫痪,由此可见DNS服务器的脆弱性。
DNS攻击也可以造成反射攻击。攻击者发起小流量 4M的伪造ip地址(某网吧的真实地址),DNS将查询到的DNS信息发送给该伪造ip地址,流量可能达到100M,造成某网吧接受到大量的流量,影响正常网吧业务。
TCP混乱数据包攻击
TCP混乱数据包攻击与SYN Flood攻击类似,发送伪造源IP的TCP数据包,只不过TCP头的TCP Flags部分是混乱的,可能是syn,ack,syn+ack,syn+rst等等,会造成一些防护设备处理错误锁死,消耗服务器CPU和内存的同时还会堵塞带宽。
Smurf 攻击
这种攻击类似于 ICMP Flood 攻击,但它能巧妙地修改进程。Smurf 攻击通过使用将回复地址设置成受害网络的广播地址的 ICMP 应答请求数据包,来淹没受害主机。最终导致该网络的所有主机都对此 ICMP 应答请求做出答复,导致网络阻塞。更加复杂的 Smurf 将源地址改为第三方的受害者,最终导致第三方崩溃。
ICMP Flood 攻击
此攻击属于大流量攻击,其原理就是不断发送不正常的 ICMP 包(所谓不正常就是 ICMP 包内容很大),导致目标带宽被占用。但由于其本身资源也会被消耗,并且目前很多服务器都是禁 ping 的(在防火墙里可以屏蔽 ICMP 包),因此这种方式已经落伍。