网络/协议
UDP淹没攻击是导致基于主机的服务拒绝攻击的一种。UDP是一种无连接的协议,而且它不需要用任何程序建立连接来传输数据。当攻击者随机地向受害系统的端口发送UDP数据包的时候,就可能发生了UDP 淹没攻击。当受害系统接收到一个UDP数据包的时候,它会确定目的端口正在等待中的应用程序。当它发现该端口中并不存在正在等待的应用程序,它就会产生一个目的地址无法连接的ICMP数据包发送给该伪造的源地址。如果向受害者计算机端口发送了足够多的UDP数据包的时候,整个系统就会瘫痪。
UDP淹没攻击的防范
在网络的关键之处使用防火墙对来源不明的有害数据进行过滤可以有效减轻UDP 淹没攻击。此外,在用户的网络中还应采取如下的措施:
禁用或过滤监控和响应服务。
禁用或过滤其它的UDP 服务。
如果用户必须提供一些UDP 服务的外部访问,那么需要使用代理机制来保护那种服务,使它不会被滥用。
对用户的网络进行监控以了解哪些系统在使用这些服务,并对滥用的迹象进行监控。
UDPFlood是日渐猖厥的流量型DoS攻击,原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k bps的UDPFlood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。由于UDP协议是一种无连接的服务,在UDPFLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。但是,由于UDP协议是无连接性的,所以只要开了一个UDP的端口提供相关服务的话,那么就可针对相关的服务进行攻击。
正常应用情况下,UDP包双向流量会基本相等,而且大小和内容都是随机的,变化很大。出现UDPFlood的情况下,针对同一目标IP的UDP包在一侧大量出现,并且内容和大小都比较固定。
UDPFlood是日渐猖厥的流量型DoS攻击,原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k bps的UDPFlood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。由于UDP协议是一种无连接的服务,在UDPFLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。但是,由于UDP协议是无连接性的,所以只要开了一个UDP的端口提供相关服务的话,那么就可针对相关的服务进行攻击。
正常应用情况下,UDP包双向流量会基本相等,而且大小和内容都是随机的,变化很大。出现UDPFlood的情况下,针对同一目标IP的UDP包在一侧大量出现,并且内容和大小都比较固定。
攻击者通过僵尸网络向目标服务器发起大量的UDP报文,这种UDP报文通常为大包,且速率非常快,通常会造成以下危害。从而造成服务器资源耗尽,无法响应正常的请求,严重时会导致链路拥塞。
一般攻击效果是消耗网络带宽资源,严重时造成链路拥塞。
大量变源变端口的UDP Flood会导致依靠会话转发的网络设备,性能降低甚至会话耗尽,从而导致网络瘫痪。
如果攻击报文达到服务器开放的UDP业务端口,服务器检查报文的正确性需要消耗计算资源,影响正常业务。
UDP Flood关联TCP类服务防范
UDP是无连接的协议,因此无法通过源认证的方法防御UDP Flood攻击。如果UDP业务流量需要通过TCP业务流量认证或控制,则当UDP业务受到攻击时,对关联的TCP业务强制启动防御,用此TCP防御产生的白名单决定同一源的UDP报文是丢弃还是转发。
比如,有些服务例如游戏类服务,是先通过TCP协议对用户进行认证,认证通过后使用UDP协议传输业务数据,此时可以通过验证UDP关联的TCP类服务来达到防御UDP Flood攻击的目的。当UDP业务受到攻击时,对关联的TCP业务强制启动防御,通过关联防御产生TCP白名单,以确定同一源的UDP流量的走向,即命中白名单的源的UDP流量允许通过,否则丢弃。具体防御原理如图1所示。
图1 UDP Flood关联TCP类服务防范
载荷检查和指纹学习
当攻击报文负载有特征时,则可以采用动态指纹学习或特征过滤防御。
载荷检查:当UDP流量超过阈值时,会触发载荷检查。如果UDP报文数据段内容完全一样,例如数据段内容都为1,则会被认为是攻击而丢弃报文。
指纹学习:当UDP流量超过阈值时,会触发指纹学习。指纹由Anti-DDoS设备动态学习生成,将攻击报文的一段显著特征学习为指纹后,匹配指纹的报文会被丢弃。动态指纹学习适用于以下类型的UDP Flood攻击。
报文载荷具有明显特征。
报文负载内容完全一致。
指纹防御的原理如图2所示。
图2 UDP指纹学习
UDP协议与TCP协议不同,是无连接状态的协议,并且UDP应用协议五花八门,差异极大,因此针对UDPFlood的防护非常困难。其防护要根据具体情况对待?
判断包大小,如果是大包攻击则使用防止UDP碎片方法:根据攻击包大小设定包碎片重组大小,通常不小于1500。在极端情况下,可以考虑丢弃所有UDP碎片。
攻击端口为业务端口:根据该业务UDP最大包长设置UDP最大包大小以过滤异常流量。
攻击端口为非业务端口:一个是丢弃所有UDP包,可能会误伤正常业务;一个是建立UDP连接规则,要求所有去往该端口的UDP包,必须首先与TCP端口建立TCP连接。不过这种方法需要很专业的防火墙或其他防护设备支持
UDP攻击是一种消耗对方资源,也消耗你自己的资源的攻击方式,现在已经没人使用这种过时的东西了,你攻击了这个网站,其实也在消耗你的系统资源,说白了就是拼资源而已,看谁的带宽大,看谁能坚持到最后,这种攻击方式没有技术含量,引用别人的话,不要以为洪水无所不能,攻击程序在消耗对方资源的时候也在消耗你的资源
全部0条评论
快来发表一下你的评论吧 !