DDoS攻击专题

DDoS攻击类型

攻击者会针对不同的网络层次发起攻击。根据攻击位置的不同,可以将DDoS攻击分为“网络层攻击”、“传输层攻击”和“应用层攻击”三种类型。

网络层攻击

“网络层”主要负责处理数据包在不同网络间的路由和转发。针对网络层的DDoS攻击主要目的是消耗网络带宽资源,常见攻击子类包括“ICMP Flood攻击”、“ARP Flood攻击”和“IP分片攻击”等。

常见攻击子类

攻击原理简介

ICMP Flood攻击

ICMP(Internet Control Message Protocol,因特网控制报文协议)是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。ICMP协议本身特点决定了它非常容易被用于攻击网络上的路由器和主机。当攻击者向目标网络发送大量的ICMP数据包时,目标主机会耗费大量的CPU资源去处理和响应,直至耗尽设备资源,无法为合法用户提供正常服务。

ARP Flood攻击

ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。ARP协议主要以广播的方式发送ARP请求。同网段内的主机都可以收到广播请求,这为攻击者提供了可乘之机。攻击者通过发送大量的ARP请求,使有限的网络资源被无用的广播信息所占用,造成网络拥堵。其次,因为ARP协议没有安全认证机制,所以只要主机接收到ARP应答包,都会缓存在ARP表中,这为ARP欺骗提供了可能。

IP分片攻击

IP协议在传输数据包时,会将数据报文分为若干分片进行传输,并在目标系统中进行重组。IP分片是网络环境中经常发生的事件,但是,如果数据被人为恶意分片就会产生DDoS攻击。攻击者将经过恶意分段的数据包发送至目标网络,导致目标网络耗费大量资源进行重组,直至资源枯竭。

传输层攻击

“传输层”主要负责设备间的端到端通信和网络间通信流量控制和错误控制。针对传输层的DDoS攻击主要目的是使目标服务器或网络设备过载,常见攻击子类包括“SYN Flood攻击”、“ACK Flood攻击”和“UDP Flood攻击”等。

常见攻击子类

攻击原理简介

SYN Flood攻击

SYN Flood是互联网最原始、最经典的DDoS攻击之一,主要利用了TCP协议的三次握手机制。攻击者通常利用工具或控制僵尸主机向服务器发送海量的变源IP地址或变源端口的SYN报文,服务器响应报文后产生大量的半连接,直至系统资源被耗尽,服务器无法提供正常的服务。

ACK Flood攻击

攻击者通过僵尸网络向目标服务器发送大量的ACK报文,报文带有超大载荷,会引起链路拥塞。或向目标服务器发送极高速率的变源变端口请求,导致转发设备异常,从而引起网络瘫痪。

UDP Flood攻击

UDP Flood攻击常用于大带宽DDoS攻击。攻击者使用包含无状态UDP协议的IP数据包充塞目标主机的端口,受害主机会寻找与UDP数据包相关的应用程序。如果没有找到,就向发送者回发一条“目标不可达”消息。一旦目标主机被攻击流量淹没,系统就会失去响应,从而造成合法用户无法正常访问的现象。

 

应用层攻击

“应用层”主要负责提供常见的网络应用服务,如电子邮件、网页浏览、文件传输和其他应用程序。针对应用层的DDoS攻击主要目的是让真实用户无法正常使用应用程序,常见攻击子类包括“DNS Flood攻击”、“HTTP Flood攻击”和“CC攻击”等。

常见攻击子类

攻击原理简介

DNS Flood攻击

攻击者通过操纵大量傀儡机器,对目标网络发起海量域名查询请求,以中断该域的DNS解析。这种攻击将会破坏网站、API或Web应用程序响应合法流量的能力,让合法用户无法查找到用于调用特定资源的地址,导致业务暂时中断或停止。

HTTP Flood攻击

  • HTTP GET 攻击:攻击者操控多台设备向目标服务器发送对图像、文件或其他资产请求,当目标服务器被传入请求和响应所淹没时,来自正常流量源的业务请求也将被拒绝。
  • HTTP POST 攻击:与发送 POST 请求所需的处理能力和带宽相比,处理表单数据和运行必要数据库命令的过程相对密集。这种攻击利用相对资源消耗的差异,直接向目标服务器发送大量POST请求,直至目标服务器容量饱和并拒绝服务为止。

CC攻击

CC攻击常用于攻击提供网页访问服务的服务器。攻击者通过代理服务器向目标服务器发送大量貌似合法的请求,使CPU长时间处于高负荷运行状态,永远都有处理不完的连接。攻击会导致正常访问被中止,最终宕机崩溃。

DDoS攻击防护 

syn flood

可以在收到客户端第三次握手reset 、第二次握手发送错误的ack,等Client回复Reset,结合信任机制进行判断。

ack flood

丢弃三次ack,让对方重连:重发syn建立链接,后续是syn flood防护原理;学习正常ack的源,超过阈值后,该ack没有在正常源列表里面就丢弃ack三次,让对方重连:重发syn建立链接,后续是syn flood防护

udp flood

1、限速启动阈值,一秒钟去往服务器IP的同一端口的UDP包数目,如果是web服务器,可以设置严格一些2、报文内容特征–模式匹配模式匹配规则主要用于过滤包内容带特征字符的攻击包3、IP特征–ACL若遇到1)源IP+目的固定;2)流量超过1G==>在网络设备层面使用acl进行过滤

不同层面的防护

按攻击流量规模分类

较小流量
小于1000Mbps,且在服务器硬件与应用接受范围之内,并不影响业务的:
利用iptables或者DDoS防护应用实现软件层防护

大型流量
大于1000Mbps,但在DDoS清洗设备性能范围之内,且小于机房出口,可能影响相同机房的其他业务的:
利用iptables或者DDoS防护应用实现软件层防护,或者在机房出口设备直接配置黑洞等防护策略,或者同时切换域名,将对外服务IP修改为高负载Proxy集群外网IP或者CDN高仿IP或者公有云DDoS防护网关IP,由其代理到RealServer;或者直接接入DDoS清洗设备

超大规模流量
在DDoS清洗设备性能范围之外,但在机房出口性能之内,可能影响相同机房的其他业务,或者大于机房出口,已经影响相同机房的所有业务或大部分业务的:
联系运营商检查分组限流配置部署情况并观察业务恢复情况

按攻击流量协议分类

syn/fin/ack等tcp协议包
设置预警阀值和响应阀值,前者开始报警,后者开始处理,根据流量大小和影响程度调整防护策略和防护手段,逐步升级。

udp/dns query等udp协议包
对于大部分游戏业务来说,都是TCP协议的,所以可以根据业务协议制定一份tcp协议白名单,如果遇到大量udp请求,可以不经产品确认或者延迟跟产品确认,直接在系统层面/HPPS或者清洗设备上丢弃udp包。

http flood/CC等需要跟数据库交互的攻击
这种一般会导致数据库或者webserver负载很高或者连接数过高,在限流或者清洗流量后可能需要重启服务才能释放连接数,因此更倾向在系统资源能够支撑的情况下调大支持的连接数。相对来说,这种攻击防护难度较大,对防护设备性能消耗很大。

其他
icmp包可以直接丢弃,先在机房出口以下各个层面做丢弃或者限流策略。现在这种攻击已经很少见,对业务破坏力有限。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nathaniel333

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值