0x00 引言
DDos即分布式拒绝服务攻击,其原理通常是借用僵尸网络或特殊服务器对单个目标请求大量网络资源,以达到瘫痪网络的目的。
0x01 DDos攻击类型
DDos攻击可以大致按其原理所在链路层分类:
1 | 1 应用层攻击 |
1、应用层攻击
1.1、cc攻击
cc攻击(HTTP Flood)攻击目标是web服务器。该攻击是指攻击者通过代理或僵尸主机向目标服务器发起大量的HTTP报文,请求涉及数据库操作的URI或其它消耗系统资源的URI,造成服务器资源耗尽,无法响应正常请求。
2、传输层攻击 - TCP
2.1、SYN Flood
SYN Flood攻击目标是各种服务器。该攻击是指在攻击时间段内伪造不同的IP地址的SYN报文,服务端每接受到一个SYN报文,就进入SYN_RCVD状态。但服务端发送出去的ACK+SYN报文又无法的得到ACK应答,从而会导致占满服务端的SYN接收队列,使得服务器不能为正常用户服务。
2.2、RST/FIN Flood
RST/FIN Flood攻击目标是各种服务器。该攻击是指在成功的三向或四向 TCP-SYN 会话后,服务器会交换RST或FIN数据包以关闭主机和客户端计算机之间的 TCP-SYN 会话。在RST或FIN Flood攻击中,目标服务器会收到大量不属于目标服务器上任何会话的欺骗性RST或FIN数据包。
3、传输层攻击 - UDP
3.1、UDP Flood
UDP Flood攻击目标是各种服务器。该攻击是指利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。
4、互联网层攻击
4.1、ICMP Flood
UDP Flood攻击目标是各种服务器。该攻击是指在短时间内向目的主机发送大量ping包,消耗主机资源,主机资源耗尽后就会瘫痪或者无法提供其他服务。
4.2、Ping of Death
Ping of Death攻击目标是各种服务器。该攻击是一种畸形报文攻击,方法是由攻击者故意发送大于65535字节的ip数据包给对方,当许多操作系统收到一个特大号的ip包时候,它们不知道该做什么,因此,服务器会被冻结、宕机或重新启动。
5、特殊类型攻击 - 反射放大型
反射放大型攻击成本很低,不需要僵尸网络就可以使目标机器返回海量数据。所谓反射是指攻击者将数据包的接收IP从自身篡改为目标机器,这样中间机器就会将返回的数据包输送到目标机器。所谓放大是指返回的数据包流量比发出的大几倍。
5.1、DNS反射
DNS反射,就是攻击者向DNS服务器发起域名解析请求,但同时将请求IP篡改为目标机器,并且数据包大小放大将近50倍。
0x02 DDos攻击防御
防御方式很多,参考B站资源[1]:
1 | 1 网络设备IP过滤 |
1、网络设备IP过滤
一些大的厂商拥有大量黑名单IP,通过收集被认定为是僵尸机器的IP地址,可有效防御攻击。比如有时使用国内网络连接Github并频繁地操作时,会发现过一会儿会连接不上,很有可能就是IP被加入黑名单,需要等一段时间后恢复。
2、分布式过滤
根据数据包的路由,剔除一些不合理的路由数据包。
3、CDN技术
有些大厂可以在服务器上连接一些CDN机器,用于缓解服务器的流量压力。
4、流量清洗设备
可以在服务器前搭建一个流量清洗设备,提前过滤掉有问题的数据包。
0x03 引用文献
[1]https://www.bilibili.com/video/BV1KQ4y117nq?spm_id_from=333.337.search-card.all.click