UDP Flood防御原理
UDP Flood防御原理
UDP flood攻击
UDP是一个无连接协议。使用UDP协议传输数据之前,客户端和服务器之间不建立连接,如果在从客户端到服务器端的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。因此,通常人们把UDP协议称为不可靠的传输协议。
在有些情况下UDP协议可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使传输速度受到严重的影响。反观UDP,由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使传输速度得到了保证。
正是UDP协议的广泛应用,为黑客们发动UDP flood攻击提供了平台。UDP flood属于带宽类攻击,黑客们通过僵尸网络向目标服务器发起大量的UDP报文,这种UDP报文通常为大包,且速率非常快,通常会造成以下危害:
消耗网络带宽资源,严重时造成链路拥塞。
大量变源变端口的UDP flood会导致依靠会话转发的网络设备,性能降低甚至会话耗尽,从而导致网络瘫痪。
UDP flood支持指纹学习、关联防御和限流三种防御方式。UDP分片攻击支持指纹学习和限流两种防御方式。下面以UDP flood为例介绍相关防御原理,UDP分片防御原理与此类似,不再单独介绍。
UDP指纹学习
UDP flood攻击报文具有一定的特点,这些攻击报文通常都拥有相同的特征字段,比如都包含某一个字符串,或整个报文内容一致。所以可以通过指纹学习的方式防御UDP flood攻击。
如图1,当UDP流量超过阈值时,会触发指纹学习。指纹由FW动态学习生成,将攻击报文的一段显著特征学习为指纹后,匹配指纹的报文会被丢弃。
图1 UDP指纹学习
关联防御
UDP是无连接的协议,因此无法通过源认证的方法防御UDP flood攻击。如果UDP业务流量需要通过TCP业务流量认证或控制,则当UDP业务受到攻击时,对关联的TCP业务强制启动防御,用此TCP防御产生的白名单决定同一源的UDP报文是丢弃还是转发。
比如,有些服务例如游戏类服务,是先通过TCP协议对用户进行认证,认证通过后使用UDP协议传输业务数据,此时可以通过验证UDP关联的TCP类服务来达到防御UDP flood攻击的目的。当UDP业务受到攻击时,对关联的TCP业务强制启动防御,通过关联防御产生TCP白名单,以确定同一源的UDP流量的走向,即命中白名单的源的UDP流量允许通过,否则丢弃。具体防御原理如图2所示。
图2 关联防御
限流
FW采用限流技术对UDP flood攻击进行防范,将去往同一目的地址的UDP报文限制在阈值之内,直接丢弃超过阈值的UDP报文,以避免网络拥塞。
由于限流技术本身无法区分正常转发报文还是攻击报文,故建议在指纹防范技术和关联防御无法防住UDP flood时,才采用限流技术防范UDP flood。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » UDP Flood防御原理
作者: cjh
手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm