带你破解DDOS攻击的原理

DDoS简介DDOS又称为分布式拒绝服务,全称是Distributed Denial of Service 。DDOS本是利用合理的请求造成资源过载,导致服务不可用,从而造成服务器拒绝正常流量服务 。就如酒店里的房间是有固定的数量的,比如一个酒店有50个房间,当50个房间都住满人之后,再有新的用户想住进来,就必须要等之前入住的用户先出去 。如果入住的用户一直不出去,那么酒店就无法迎接新的用户,导致酒店负荷过载,这种情况就是“拒绝服务” 。如果想继续提供资源,那么酒店应该提升自己的资源量,服务器也是同样的道理 。
拒绝服务攻击的基本概念**拒绝服务:**拒绝服务是指应用系统无法正常对外提供服务的状态,如网络阻塞、系统宕机、响应缓慢等都属于拒绝服务的表现 。
拒绝服务攻击(DOS):拒绝服务攻击(Denial of Service Attack)是一种通过各种技术手段导致目标系统进入拒绝服务状态的攻击,常见手段包括利用漏洞、消耗应用系统性能和消耗应用系统带宽 。
分布式拒绝服务攻击(DDOS):分布式拒绝服务攻击(Distributed Denial of Service Attack)是拒绝服务攻击的高级手段,利用分布全球的僵尸网络发动攻击,能够产生大规模的拒绝服务攻击 。

带你破解DDOS攻击的原理

文章插图
 
DDOS攻击分类(1)漏洞型(基于特定漏洞进行攻击):只对具备特定漏洞的目标有效,通常发送特定数据包或少量的数据包即可达到攻击效果 。
(2)业务型(消耗业务系统性能额为主):与业务类型高度相关,需要根据业务系统的应用类型采取对应的攻击手段才能达到效果,通常业务型攻击实现效果需要的流量远低于流量型 。
(3)流量型(消耗带宽资源为主):主要以消耗目标业务系统的带宽资源为攻击手段,通常会导致网络阻塞,从而影响正常业务 。
拒绝服务攻击处理流程(1)现象分析:根据发现的现象、网络设备和服务的情况初步判断是否存在拒绝服务攻击 。
(2)抓包分析:通过抓包分析的方式进一步了解攻击的方式和特征 。
(3)启动对抗措施:最后启动对抗措施进行攻击对抗,可以进行资源提升、安全加固、安全防护等措施 。
DDOS流量包分析SYN Flood攻击在正常的情况下,TCP三次握手过程如下
带你破解DDOS攻击的原理

文章插图
 
客户端向服务器端发送一个SYN请求包,包含客户端使用的端口号和初始序列号x 。
服务器端收到客户端发送过来的SYN请求包后,知道客户端想要建立连接,于是向客户端发送一个SYN请求包和ACK回应包,包含确认号x+1和服务器端的初始序列号y 。
客户端收到服务器端返回的SYN请求包和ACK回应包后,向服务器端返回一个确认号y+1和序号x+1的ACK请求包,三次握手完成,TCP连接建立成功 。
SYN Flood攻击原理:首先是客户端发送一个SYN请求包给服务器端,服务器端接受后会发送一个SYN+ACK包回应客户端,最后客户端会返回一个ACK包给服务器端来实现一次完整的TCP连接 。Syn flood攻击就是让客户端不返回最后的ACK包,这就形成了半开连接,TCP半开连接是指发送或者接受了TCP连接请求,等待对方应答的状态,半开连接状态需要占用系统资源以等待对方应答,半开连接数达到上限,无法建立新的连接,从而造成拒绝服务攻击 。
受害靶机的流量包分析
带你破解DDOS攻击的原理

文章插图
 
利用wireshark软件抓取数据包的数据,通过筛选器筛选出发送包频率多的ip地址 。
筛选218.xxx.xxx.87,分析协议占比,发现tcp和http占比比较大
带你破解DDOS攻击的原理

文章插图
 
筛选tcp中的syn数据包,发现syn数据包占比为82.9,可以判断应该为SYN FLOOD拒绝服务攻击
带你破解DDOS攻击的原理

文章插图
 
UDP Flood攻击UDP Flood攻击原理:由于UDP属于无连接协议,消耗的系统资源较少,相同条件下容易产生更高的流量,是流量型攻击的主要手段 。当受害系统接收到一个UDP数据包的时候,它会确定目的端口正在等待中的应用程序 。当它发现该端口中并不存在正在等待的应用程序,它就会产生一个目的地址无法连接的ICMP数据包发送给该伪造的源地址 。如果向受害者计算机端口发送了足够多的UDP数据包的时候,系统就会造成拒绝服务攻击,因此,UDP FLOOD成为了流量型拒绝服务攻击的主要手段 。


推荐阅读