1.什么是UDP FLOOD攻击
UDP FLOOD洪水攻击是一种分布式拒绝服务(DDoS)攻击,常常攻击者在短时间内向特定目标发送大量的UDP报文,占用目标主机的带宽,致使目标主机不能处理正常的业务。
2.UDP FLOOD攻击原理
UDP协议是一种无连接的协议,使用UDP协议传输报文之前,客户端和服务器之间不需要建立连接。如果在从客户端到服务器端的传递过程中出现报文的丢失,协议本身也不做任何检测或提示。这种报文处理方式决定了UDP协议资源消耗小、处理速度快,在被广泛应用的同时也为攻击者发动UDP Flood攻击提供了可能。
传统的UDP FLOOD攻击方式如下图示所:
攻击者通过僵尸网络向目标设备发送大量伪造的UDP报文,这种报文一般为大包且速率非常快,通常会造成链路拥塞甚至网络瘫痪。
针对UDP协议的特性,近年来黑客又创造了新的攻击方法,在这种攻击中,攻击者通过利用UDP协议无连接的特性,将请求包的源IP地址篡改为攻击目标的IP地址,使得服务器的响应包被发送到攻击目标,形成反射攻击。同时,由于UDP协议的特性,很多协议在响应包处理时,要远大于请求包,这就形成了所谓的“放大”效果。例如,一个NTP请求包只有90字节的大小,而其回应报文通常为482字节,100个回应报文就是48200字节,放大倍数达到了500倍左右。
3.常见UDP反射放大类型
除了常见的DNS,NTP等UDP反射放大攻击类型,目前还有其他10多种UDP协议,均可以用于反射放大攻击,如下表所示:
4.UDP FLOOD攻击的危害
UDP Flood属于带宽类攻击,攻击者通过僵尸网络向目标服务器发起大量的UDP报文,这种UDP报文通常为大包,且速率非常快,通常会造成以下危害:
- 消耗网络带宽资源,严重时造成链路拥塞
- 大量变源变端口的UDP Flood会导致依靠会话转发的网络设备,性能降低甚至会话耗尽,从而导致网络瘫痪。
5.如何防御UDP FLOOD攻击
UDP Flood属于一种带宽类的DDoS攻击,攻击者通常会结合源IP地址欺骗技术,利用僵尸网络向目标发送大量的UDP报文,这种UDP报文通常为大包,且速率非常快。UDP Flood通常会消耗网络带宽资源,严重时造成链路拥塞;同时,大量随机源IP和随机源端口的UDP Flood会导致依靠会话转发的网络设备性能降低甚至资源耗尽,从而导致网络瘫痪。
方法一:限流
这种方法的基本思路是利用DDoS防护系统对UDP报文进行限流,将链路中的UDP报文控制在合理的带宽范围之内。
可以采用两种方式针对UDP Flood进行限流:一是以某个IP地址作为统计对象,对到达这个IP地址的UDP流量进行统计并限流,超过部分丢弃;二是以UDP会话作为统计对象,如果某条会话上的UDP报文速率达到了告警阈值,这条会话就会被锁定,后续命中这条会话的UDP报文都被丢弃。
方法二:指纹学习
一般来说,黑客为了加大攻击频率,快速、长时间挤占目标的网络带宽,在使用DDoS攻击工具实现UDP Flood时,会直接在内存中存放一段内容,然后高频发送到目标,所以攻击报文具有很高的相似性(比如都包含某一个字符串,或整个报文内容一致);而正常业务的每个UDP报文负载内容一般都是不一样的。所以,DDoS防护系统可以通过收集具有相同特征的字符串来检测UDP Flood攻击,这样可以有效降低误报率。
指纹学习就是通过分析客户端向服务器发送的UDP报文载荷是否有大量的一致内容,来判定这个UDP报文是否异常。如图所示,DDoS防护系统对到达指定目的地的UDP报文进行统计,当UDP报文达到告警阈值时,开始对UDP报文的指纹进行学习。如果相同的特征频繁出现,就会被学习成指纹,后续命中该指纹的报文将被判定为攻击报文,并作为攻击特征进行过滤。目前,市面上绝大多数的DDoS防护系统产品均采用指纹学习的方法来防御UDP Flood攻击。
方法三:使用德迅云安全 抗D盾产品
抗D盾是新一代的智能分布式云接入系统,接入节点采用多机房集群部署模式,隐藏真实服务器IP,类似于网站CDN的节点接入,但是“抗D盾”是比CDN应用范围更广的接入方式,适合任何TCP 端类应用包括(游戏、APP、微端、端类内嵌Web等)。用户连接状态在各机房之间实时同步,节点间切换过程中用户无感知,保持TCP连接不中断,轻松应对任何网络攻击。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。