5.3 UDP Flood攻击与防御
5.3.1 UDP Flood攻击原理
UDP
Flood攻击原理很简单,通常是黑客控制僵尸主机,向目标服务器发送大量的UDP报文,通过消耗网络带宽等方式,达到攻击效果
① 黑客发送的UDP报文很大,而且速率非常快,消耗网络带宽资源,严重时造成链路拥塞。
② 大量源变端口的UDP Flood会导致依靠会话转发的网络设备,性能降低甚至会话耗尽,从而导致网络瘫痪。
③ 黑客攻击某个UDP业务端口,服务器检查报文的正确性时会消耗计算资源,影响服务器的正常业务。
5.3.2 华为Anti-DDoS系统如何防御UDP Flood攻击
UDP与TCP不同,UDP是一种无连接的协议,并且UDP应用五花八门,差异极大,因此针对UDP Flood的防护非常困难。我们也不能像TCP攻击那样进行源认证,所以只能找特征了。
传统的 UDP 攻击都是由攻击工具打出来的,通常会具有一定的特征,尤其在数据段会有一些相同或者有规律变化的字段。5.2节介绍的UDP反射放大攻击,虽然并不是攻击工具伪造的UDP报文,但是由真实网络设备发出的UDP报文。数据段不具备相同的特征,但是目的端口却是固定的,也可以作为一种特征。
在确定攻击报文的特征后,我们要根据特征进行过滤。特征过滤也就是我们常说的指纹过滤。
指纹过滤有以下两种方法。
1.静态指纹过滤
对于已知的攻击特征,可以直接配置到过滤器的参数中。Anti-DDoS 系统不仅具有TCP、UDP等的报文解析能力,还具有应用层报文解析能力。它可针对应用层头部信息字段做过滤。配置了静态指纹过滤后,Anti-DDoS 会对收到的报文进行特征匹配,对匹配到攻击特征的报文,再进行丢弃、限流等下一步操作
我们通过抓包分析获知攻击特征。人为识别出攻击特征,然后配置到过滤器中。UDP报文的数据段、源IP地址、源端口,目的IP地址、目的端口都可能隐藏着攻击报文
此外,Anti-DDoS系统还提供了14种常见UDP反射放大攻击的过滤器模板,见表5-1。这些攻击都属于已知攻击特征,Anti-DDoS系统已经预先定义好了攻击特征的参数,只需要直接应用即可
2.动态指纹学习
在攻击特征未知的情况下,Anti-DDoS 系统具有指纹自动学习的功能。对于一些攻击工具发起的UDP攻击,攻击报文都拥有相同的特征字段。指纹学习就是对一些有规律的UDP攻击报文负载特征进行识别,并且自动提取出指纹特征,然后把这个提取的特征作为过滤条件,自动应用并进行过滤,
当然,这个学习的偏移量和学习长度都是可以手动配置的。偏移量是从 UDP 报文头结束处开始计算,取值从0字节到1500字节可灵活配置;学习长度从1个字节开始配置,最多可以学习8个字节
传统的UDP Flood攻击是一种消耗对方资源,也消耗自己资源的攻击方式,黑客攻击了一个服务器,其实也在消耗自己的系统资源。
近几年UDP反射放大攻击常被黑客所使用。后续对UDP Flood攻击的防御重点也应该聚焦在反射放大攻击上。




