DDOS 简介
DDOS 又称为分布式拒绝服务,全称是 Distributed Denial of Service。DDOS 本是利用合理的请求造成资源过载,导致服务不可用,从而造成服务器拒绝正常流量服务。就如酒店里的房间是有固定的数量的,比如一个酒店有 50 个房间,当 50 个房间都住满人之后,再有新的用户想住进来,就必须要等之前入住的用户先出去。如果入住的用户一直不出去,那么酒店就无法迎接新的用户,导致酒店负荷过载,这种情况就是 “拒绝服务”。如果想继续提供资源,那么酒店应该提升自己的资源量,服务器也是同样的道理。
拒绝服务攻击的基本概念
**拒绝服务:**拒绝服务是指应用系统无法正常对外提供服务的状态,如网络阻塞、系统宕机、响应缓慢等都属于拒绝服务的表现。
**拒绝服务攻击(DOS):**拒绝服务攻击(Denial of Service Attack)是一种通过各种技术手段导致目标系统进入拒绝服务状态的攻击,常见手段包括利用漏洞、消耗应用系统性能和消耗应用系统带宽。
**分布式拒绝服务攻击(DDOS):**分布式拒绝服务攻击(Distributed Denial of Service Attack)是拒绝服务攻击的高级手段,利用分布全球的僵尸网络发动攻击,能够产生大规模的拒绝服务攻击。
DDOS 攻击分类
(1)漏洞型(基于特定漏洞进行攻击):只对具备特定漏洞的目标有效, 通常发送特定数据包或少量的数据包即可达到攻击效果。
(2)业务型(消耗业务系统性能额为主):与业务类型高度相关,需要根据业务系统的应用类型采取对应的攻击手段才能达到效果,通常业务型攻击实现效果需要的流量远低于流量型。
(3)流量型(消耗带宽资源为主):主要以消耗目标业务系统的带宽资源为攻击手段,通常会导致网络阻塞,从而影响正常业务。
拒绝服务攻击处理流程
(1)现象分析:根据发现的现象、网络设备和服务的情况初步判断是否存在拒绝服务攻击。
(2)抓包分析:通过抓包分析的方式进一步了解攻击的方式和特征。
(3)启动对抗措施:最后启动对抗措施进行攻击对抗,可以进行资源提升、安全加固、安全防护等措施。
DDOS 流量包分析
SYN Flood 攻击
在正常的情况下,TCP 三次握手过程如下:
客户端向服务器端发送一个 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 连接请求, 等待对方应答的状态, 半开连接状态需要占用系统资源以等待对方应答,半开连接数达到上限,无法建立新的连接,从而造成拒绝服务攻击。
受害靶机的流量包分析
利用 wireshark 软件抓取数据包的数据,通过筛选器筛选出发送包频率多的 ip 地址。
筛选 218.xxx.xxx.87,分析协议占比,发现 tcp 和 http 占比比较大。
筛选 tcp 中的 syn 数据包,发现 syn 数据包占比为 82.9,可以判断应该为 SYN FLOOD 拒绝服务攻击。
UDP Flood 攻击
UDP Flood 攻击原理
由于 UDP 属于无连接协议,消耗的系统资源较少,相同条件下容易产生更高的流量,是流量型攻击的主要手段。当受害系统接收到一个 UDP 数据包的时候,它会确定目的端口正在等待中的应用程序。当它发现该端口中并不存在正在等待的应用程序,它就会产生一个目的地址无法连接的 ICMP 数据包发送给该伪造的源地址。如果向受害者计算机端口发送了足够多的 UDP 数据包的时候,系统就会造成拒绝服务攻击,因此,UDP FLOOD 成为了流量型拒绝服务攻击的主要手段。
受害靶机的流量包分析
利用 wireshark 软件抓取数据包的数据,通过筛选器筛选出发送包频率多的 ip 地址。
筛选 117.xxx.xxx.0 网段,分析协议占比,可以看到受害靶机接受的 UDP 包比较多。
可以看到 UDP 包的大小都是固定的 172bytes。
可以看出都是发送 udp 包,udp 包大小都是相同的,可以判断是 udp flood 攻击。
慢速拒绝服务攻击
apt install slowhttptest -y
安装 slowhttptest
慢速拒绝服务攻击原理:
完整的 http 请求包是以 \r\n\r\n 结尾,慢速拒绝服务攻击时仅发送 \r\n,少发送一个 \r\n,服务器认为请求还未发完,服务器就会一直等待直至超时。
slowhttptest -c 5000 -H -g -o my_header_stats -i 10 -r 5000 -t GET -u “http://10.10.10.134” -x 200 -p 3
(测试时建立 5000 连接数 - c;选择 slowloris 模式 - H;生成 cvs 和 HTML 文件的统计数据 - G;生成的文件名 my_header_stats -o;指定发送数据间的间隔 10 秒 -i 每秒连接数 5000-t;指定 url-u;指定发送的最大数据长度 200 -x;指定等待时间来确认 DOS 攻击已经成功 - p)。
观察靶机的 cpu 和网络流量明显增加很多。
受害靶机的流量包分析
攻击机 ip:10.10.10.129,靶机 ip:10.10.10.134
[PSH,ACK] 是攻击机发送有数据的 ACK 包给靶机,[ACK] 包是靶机回复攻击机的数据包。
可以看到没有发送 2 次连续的 \ r\n,以至于靶机要一直等待。
http 协议比例为 36.6,tcp 协议比例为 87.4
筛选 ack 数据包,占比率 98.2,不符合常态,综上可以判断为慢速拒绝服务攻击。
ICMP Flood 攻击
ICMP Flood 攻击原理
当 ICMP ping 产生的大量回应请求超出了系统的最大限度,以至于系统耗费所有资源来进行响应直至再也无法处理有效的网络信息流,但是由于 ICMP 协议报文被丢弃不影响大多数系统运行,所以容易被防护。
利用 hping3 造成 ICMP Flood 攻击。
hping3 -q -n -a 1.1.1.1 –icmp -d 200 –flood 10.10.10.134
观察靶机的 cpu 和网络流量明显增加很多。
受害靶机的流量包分析
伪造的源 ip:1.1.1.1 发送大量 icmp 包给目标 ip:10.10.10.134
筛选出同一 IP 发送大量 ICMP 包,且占比率 86.0,判断为 ICMP 拒绝服务攻击。
怎么防御DDoS攻击?
有效防御DDoS攻击涉及多个方面的技术和策略,以下是一些常用的防御措施:
1、使用高宽带
网络带宽直接决定了网络抵抗攻击的能力。高宽带支持大量数据传输和高速互联网连接,能够在能够在有大量流量涌入网站时提供强大的流量吞吐,减少网络的拥堵。
2、采用安全防御产品
采用安全防御产品,提供DDoS防护,可有效防御畸形报文攻击、SYN Flood、ACK Flood、UDP Flood、ICMP Flood等网络层攻击以及SSL、DNS等应用层攻击。
不仅如此,锐安盾还可提供 WAF、Bot、API安全防护服,节点识别并拦截 L3/L4/L7层各类攻击请求;支持将静态资源缓存到边缘节点,达到加速效果,确保网站的安全与加速。
3、增强边缘防御
部署在网络边缘的防火墙和入侵检测系统(IDS)可以在一定程度上识别并过滤攻击流量。防火墙可以配置规则来阻止未经授权的访问,而IDS可以分析通过网络传递的数据包以识别恶意活动。
4、设计冗余和备份计划
准备好恢复计划和业务连续性是对抗DDoS攻击的关键。确保关键数据和应用程序有冗余备份,并分布在多个地理位置,可以在攻击影响到一处资源时快速恢复服务。
以上就是关于DDoS攻击的相关内容,总而言之,面对DDoS攻击等网络攻击,我们必须保持警惕,不断强化防护措施,才能守护网络环境的安全与稳定。网络安全是一场没有硝烟的战争,借助专业的安全服务和最新的技术手段,我们可以更加有力地应对网络安全挑战。
更多访问:https://www.cdn5.com/
更多内容:APP被DDOS攻击怎么办