如何防范udp检测到udp flood攻击击

未配置防火墙引发的UDP Flood
重庆大学& 路遥
图1& Ethereal抓包软件抓取数据包的显示结果
图2& 攻防实验的拓扑结构
图3& 攻防实验的参数设置
攻防实验的IP地址规划表
计算机网络对企业的发展很重要,但是企业的网络常存在严重缺陷。攻击者经常利用这些缺陷攻击和入侵企业的网络。笔者在给一家重庆企业做网络安全顾问的时候,就遇到过一个经典拒绝服务攻击的攻防案例。
症状:无法浏览网页
这是一家建筑景观设计公司。公司新成立不久,从老总到普通员工都对计算机网络方面不太熟悉,老总本身对网络安全也不够重视。公司的网站提供一些供客户浏览的成功案例以及相关资料信息,这些信息对于公司加强宣传很重要。公司有一名专职网络管理员,他大学毕业不到一年,实际工作经验有限。笔者经常受邀过来帮忙。
有一次,很多客户抱怨公司的网站打不开,无法浏览公司的信息,看不到公司的成功案例。这严重影响了客户与公司的交流,也妨碍了客户对公司的信任。
确诊:UDP Flood
笔者和网络管理员在排除了硬件故障方面的原因之后,开始怀疑是否有攻击公司网络。想到这里,查看了Web服务器的CPU使用率,发现CPU的占用率非常高,同时用Ethereal抓包软件去对攻击类型进行分析,发现网络中出现了大量的UDP数据包和回应的ICMP数据包(如图1)。
种种迹象表明该公司的网络正在遭受UDP Flood攻击,而被攻击对象正是Web服务器。UDP Flood是拒绝服务(Denial of Service,DoS)的一种。拒绝服务使网站服务器充斥着大量要求回复的信息,消耗网络带宽或者系统资源(如CPU处理时间和存储器),导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。奇高的CPU占用率、大量的UDP和ICMP数据包,公司网络的症状跟UDP Flood攻击的特征很类似。
如何找到引发UDP Flood攻击的系统并彻底解决?
设计攻防实验寻找病因
为了弄清楚黑客是如何攻击的并找到根本原因,笔者通过一个实验来重现该攻防过程(如图2)。
本实验中笔者用1台、1台两层、1台防火墙、两台主机。实验模拟一个实际网络环境,两层交换机E07相当于Internet,攻击者在Internet某处,防火墙与路由器及内部服务器相当于公司网络。其中防火墙采用透明模式。具体的IP地址规划如表所示。
初步断定,黑客使用的UDP Flood攻击工具是UDP Flooder V2.0。本实验所需要的参数要输入相应的对话框(如图3)。笔者只是为了查看UDP Flood压力测试和攻防效果,所以把被攻击对象指向为服务器IP。该服务器上有一个网站,攻击时间设定为60秒,把数据包速度调整到最高。在攻击开始前,在攻击者主机上输入http:// 140.115.82.192可以看到服务器上的Web页面。然后,在攻击主机上,点击攻击软件上的“GO”按钮对服务器主机实施攻击。再次打开服务器上的网页,明显感觉网页响应速度变慢。UDP Flood攻击发生作用,且与遇到的网络问题类似。
那么如何对这种攻击实施有效的防范呢?笔者发现公司使用的是H3C公司SecPath100F型号的适用于中小企业的防火墙。这款防火墙是可以用来防范UDP Flood的,只是当初公司组建网络时没有配置好它。网络管理员经验不足,也没发现这个安全隐患。笔者翻阅了该防火墙的相关手册资料之后,决定对该防火墙进行适当配置以便做好防范。在该实验中,笔者对防火墙做了如下配置(由于篇幅有限,只列举关键配置):
firewall mode transparent:修改防火墙的工作模式为透明模式;firewall statistic system enable:开启报文统计功能;firewall defend log-time 5:定义输出日志时间为5秒输出一次;firewall defend syn-flood enable:检测syn-flood 攻击;firewall defend icmp-flood enable:检测icmp-flood 攻击;firewall defend syn-flood zone trust max-rate 80 tcp-proxy:参数;firewall defend icmp-flood zone trust max-rate 50:参数;firewall defend udp-flood enable:检测UDP-flood攻击。
配置好防火墙以后,我们输入%Mar 19 18:59 2008 Quidway SEC/5/ATCKDF。然后,我们发现防火墙检测到了UDP Flood攻击:
AttackType:UDP Floodreceiving interface:Ethernet1/0from:140.115.220.228to :140.115.82.192begin time: 18:59:9end time: 18:59:14attacking times:1004max speed:207(packet/s)启动display firewall statistic system命令时看到:RcvIcmpPkts,282,Received ICMP pktsRcvIcmpOcts,15792,Received ICMP bytesPassIcmpPkts, 0,Passed ICMP pktsPassIcmpOcts,0,Passed ICMP bytesRcvTcpPkts,0,Received TCP pktsRcvTcpOcts,0, Received TCP bytesPassTcpPkts,0,Passed TCP pktsPassTcpOcts,0,Passed TCP bytesRcvUdpPkts,14548,Received UDP pktsRcvUdpOcts,1003812,Received UDP bytesPassUdpPkts,282,Passed UDP pktsPassUdpOcts,19458,Passed UDP bytes
从上面的代码中可以发现有大量的UDP数据包和ICMP数据包。再用display firewall statistic system defend命令可以看到:
ip-spoofing,0 packetsland,0 packetssmurf,0 packetsfraggle,0 packetswinnuke,0 packetssyn-flood,0 timesudp-flood,14266 times结果显示,防范住了UDP Flood。然后,不停地使用上面两个display命令,发现数据包的数量和防范次数不停地增加,输出也不断变化。再次输入网站IP地址测试网页是否可以打开时,发现浏览网页已经没问题了。
由以上信息可知,配置好的防火墙阻止住了UDP Flood攻击。这次攻防案例使大家对拒绝服务(DoS)和UDP Flood攻击的原理和防范措施有所了解。可见,公司在最初组建网络的时候,一定要考虑周到,把相关配置都部署完整,以防以后出现问题。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'UDP-Flood攻击
相关文档 共2161条,当前页显示
贡献者:| 下载:
文件:212.00KB
贡献者:| 下载:
文件:9.70KB
贡献者:| 下载:
文件:34.50KB
贡献者:| 下载:
文件:2.54KB
贡献者:| 下载:
文件:314.43KB
贡献者:| 下载:
文件:118.00KB
贡献者:| 下载:
文件:488.17KB
贡献者:| 下载:
文件:20.85KB
贡献者:| 下载:
文件:345.30KB
贡献者:| 下载:
文件:1.37MB
贡献者:| 下载:
文件:482.50KB
贡献者:| 下载:
文件:572.50KB
贡献者:| 下载:
文件:47.50KB
贡献者:| 下载:
文件:58.00KB
贡献者:| 下载:
文件:892.00KB
贡献者:| 下载:
文件:24.50KB
贡献者:| 下载:
文件:3.34MB
贡献者:| 下载:
文件:428.50KB
贡献者:| 下载:
文件:3.88MB
贡献者:| 下载:
文件:2.32MB
贡献者:| 下载:
文件:670.50KB
贡献者:| 下载:
文件:392.83KB
贡献者:| 下载:
文件:2.00MB
贡献者:| 下载:
文件:4.45KB
贡献者:| 下载:
文件:222.50KB
贡献者:| 下载:
文件:522.00KB
贡献者:| 下载:
文件:801.50KB
贡献者:| 下载:
文件:4.10MB
贡献者:| 下载:
文件:1.74MB
贡献者:| 下载:
文件:20.67MB
相关标签:
随心阅读:IT人的最佳阅读工具
诚邀优质文档资源者入驻
阅读/下载:20/0 | 2.76MB
阅读/下载:19/0 | 4.49MB
阅读/下载:11/0 | 840.01KB
阅读/下载:56/0 | 777.97KB
阅读/下载:26/0 | 508.64KB
阅读/下载:96/0 | 2.79MB
阅读/下载:34/0 | 1.36MB
阅读/下载:61/0 | 699.50KB
阅读/下载:18/0 | 593.30KB
阅读/下载:356/0 | 212.00KB
阅读/下载:20/0 | 2.76MB
阅读/下载:19/0 | 4.49MB
阅读/下载:11/0 | 840.01KB
阅读/下载:56/0 | 777.97KB
阅读/下载:26/0 | 508.64KB
阅读/下载:96/0 | 2.79MB
阅读/下载:34/0 | 1.36MB
阅读/下载:61/0 | 699.50KB
阅读/下载:18/0 | 593.30KB
阅读/下载:356/0 | 212.00KBCurrent position :
Prestige:<span class="cl09" id="prestige_34
Bonus&points:<span class="cl09" id="exp_66
Gold&coins:<span class="cl09" id="score_45
Title:Senior Staff Engineer
1#Font Size | Post On
【防火墙技术连载11】强叔侃墙 攻击防范篇
流量型攻击之UDP Flood及防御
大家好,强叔又来了!上一期,强叔给大家介绍了SYN Flood的攻击和防御,本期强叔将带领大家一起来学习一下另一种常见的流量型攻击:UDP Flood。
讲UDP Flood之前,强叔还是先从UDP协议讲起。在讲SYN Flood的时候,我们知道了TCP协议是一种面向连接的传输协议。但是UDP协议与TCP协议不同, UDP是一个无连接协议。使用UDP协议传输数据之前,客户端和服务器之间不建立连接,如果在从客户端到服务器端的传递过程中出现数据的丢失,协议本身并不能做出任何检测或提示。因此,通常人们把UDP协议称为不可靠的传输协议。
既然UDP是一种不可靠的网络协议,那么还有什么使用价值或必要呢?
其实不然,在有些情况下UDP协议可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使传输速度受到严重的影响。反观UDP,由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使传输速度得到了保证。
正是UDP协议的广泛应用,为黑客们发动UDP Flood攻击提供了平台。UDP Flood属于带宽类攻击,黑客们通过僵尸网络向目标服务器发起大量的UDP报文,这种UDP报文通常为大包,且速率非常快,通常会造成以下危害:
消耗网络带宽资源,严重时造成链路拥塞。
大量变源变端口的UDP Flood会导致依靠会话转发的网络设备,性能降低甚至会话耗尽,从而导致网络瘫痪。
防火墙对UDP Flood的防御并不能像SYN Flood一样,进行源探测,因为它不建立连接。那应该怎么防御呢?
最初防火墙对UDP Flood的防御方式就是限流,通过限流将链路中的UDP报文控制在合理的带宽范围之内。
防火墙上针对UDP Flood的限流有三种:
&基于目的IP地址的限流:即以某个IP地址作为统计对象,对到达这个IP地址的UDP流量进行统计并限流,超过部分丢弃。
基于目的安全区域的限流:即以某个安全区域作为统计对象,对到达这个安全区域的UDP流量进行统计并限流,超过部分丢弃。
&基于会话的限流:即对每条UDP会话上的报文速率进行统计,如果会话上的UDP报文速率达到了告警阈值,这条会话就会被锁定,后续命中这条会话的UDP报文都被丢弃。当这条会话连续3秒或者3秒以上没有流量时,防火墙会解锁此会话,后续命中此会话的报文可以继续通过。
限流虽然可以有效缓解链路带宽的压力,但是这种方式简单粗暴,容易对正常业务造成误判。为了解决这个问题,防火墙又进一步推出了针对UDP Flood的指纹学习功能。
仔细分析,不难发现,UDP Flood攻击报文具有一定的特点,这些攻击报文通常都拥有相同的特征字段,比如都包含某一个字符串,或整个报文内容一致。这些字段来自于DDoS工具自带的默认字符串,所以防火墙是通过收集这些字符串来检测UDP Flood。这种防御算法在现网使用很多,主要因为黑客为了加大攻击频率,快速、长时间挤占攻击目标所在网络带宽,在使用攻击工具实现时直接在内存存放一段内容,然后高频发送到攻击目标,所以攻击报文具有很高的相似性。而正常业务的UDP报文一般每个报文负载内容都是不一样的,这样可以减少误判。
从下面的抓包中可以看出,到达相同目的IP地址的两个UDP报文的载荷是完全一样的,如果防火墙收到大量的类似这样的UDP报文,那么就有可能是发生了UDP Flood攻击。
指纹学习是通过分析客户端向服务器发送的UDP报文载荷是否有大量的一致内容,来判定这个UDP报文是否异常。防火墙对到达指定目的地的UDP报文进行统计,当UDP报文达到告警阈值时,开始对UDP报文的指纹进行学习。如果相同的特征频繁出现,就会被学习成指纹,后续命中指纹的报文判定这是攻击报文,作为攻击特征进行过滤。
强叔再给大家总结一下,防火墙防御UDP Flood攻击主要有两种方式:限流和指纹学习,两种方式各有利弊。限流方式属于暴力型,可以很快将UDP流量限制在一个合理的范围内,但是不分青红皂白,超过就丢,可能会丢弃一些正常报文;而指纹学习属于理智型,不会随意丢弃报文,但是发生攻击后需要有个指纹学习的过程。目前,指纹学习功能是针对UDP Flood攻击的主流防御手段,在华为防火墙产品中广泛应用。
大家之前有没有配置过防火墙的UDP Flood防御功能?在配置过程中有遇到过什么样的问题吗?
Last edited by qiang_shu
17:12:08 Edit ]
Prestige:<span class="cl09" id="prestige_6
Bonus&points:<span class="cl09" id="exp_68
Gold&coins:<span class="cl09" id="score_65
Title:Associate Engineer
UDP 攻击一般都是流量型的攻吧,浪费出口的流量
Prestige:<span class="cl09" id="prestige_34
Bonus&points:<span class="cl09" id="exp_66
Gold&coins:<span class="cl09" id="score_45
Title:Senior Staff Engineer
是的,抢占带宽~~
Prestige:<span class="cl09" id="prestige_
Bonus&points:<span class="cl09" id="exp_36
Gold&coins:<span class="cl09" id="score_66
Title:Contributor
第一时间支持。。。。看
Prestige:<span class="cl09" id="prestige_
Bonus&points:<span class="cl09" id="exp_05
Gold&coins:<span class="cl09" id="score_79
Title:Contributor
持续关注!
Prestige:<span class="cl09" id="prestige_
Bonus&points:<span class="cl09" id="exp_83
Gold&coins:<span class="cl09" id="score_02
Title:Contributor
谢谢强哥 很精彩,
Prestige:<span class="cl09" id="prestige_34
Bonus&points:<span class="cl09" id="exp_66
Gold&coins:<span class="cl09" id="score_45
Title:Senior Staff Engineer
谢谢大家的支持~~
Prestige:<span class="cl09" id="prestige_
Bonus&points:<span class="cl09" id="exp_02
Gold&coins:<span class="cl09" id="score_00
Title:Contributor
感谢LZ,这样的文章真的很出彩。
Prestige:<span class="cl09" id="prestige_
Bonus&points:<span class="cl09" id="exp_04
Gold&coins:<span class="cl09" id="score_00
Title:Contributor
很好,一直都在看!
Prestige:<span class="cl09" id="prestige_
Bonus&points:<span class="cl09" id="exp_50
Gold&coins:<span class="cl09" id="score_27
Title:Contributor
太高级了,还没有机会配置,哈哈
Prestige:<span class="cl09" id="prestige_
Bonus&points:<span class="cl09" id="exp_39
Gold&coins:<span class="cl09" id="score_03
Title:Contributor
强叔 看了这个特性后 几个问题想请教一下
1. 指纹学习的时间范围是否就是 UDP报文数量到达阈值后开始学习,学习结束时间就是之前定义的自学习时间?这个时间定义多久合适?我一般习惯根据企业的业务流量形态将时间定为一周,这里是否还有其他参考或者评估的时间长短的要求。
2. 某种情况下,攻击者伪造的报文中字段指在几组固定的字符串之间轮询,并且攻击源和目的都维持不变。那么这种情况下指纹如何学习?
3. 攻击报文数量到达阈值后,自学习时间也刚好结束(或者晚几秒种),那么这个时候指纹统计是否准确?如何避免?
Prestige:<span class="cl09" id="prestige_34
Bonus&points:<span class="cl09" id="exp_66
Gold&coins:<span class="cl09" id="score_45
Title:Senior Staff Engineer
回复 11 楼
1、指纹学习是要通过阈值触发的,我们所有Flood类的防御都是要阈值触发才启动;你说那个时间应该是指基线学习的时间,基线学习的时间一般建议配置学习一周就可以。
2、几组固定的字符串也可以学习到,但设备对学习到的字符串的条数有上限。
3、你说的自学习指的是基线学习的话,这种情况下是会存在偏差,可以考虑不自动应用学习结果,而是手动设置阈值,这样学习结果就是个参考值,阈值配多少还是由人工指定。
Prestige:<span class="cl09" id="prestige_
Bonus&points:<span class="cl09" id="exp_65
Gold&coins:<span class="cl09" id="score_55
Title:Contributor
配置过,就是阀值不知道多少合适
Prestige:<span class="cl09" id="prestige_34
Bonus&points:<span class="cl09" id="exp_66
Gold&coins:<span class="cl09" id="score_45
Title:Senior Staff Engineer
回复 13 楼
我们在攻击防范篇的最后一篇,在贴子的结尾给出了一些关于配置阈值的建议,可以先参考一下哈。
Prestige:0
Bonus&points:1027
Gold&coins:2017
Title:Contributor
学习中,非常需要的资料啊,谢谢!!!!!!!!!
Prestige:32
Bonus&points:7599
Gold&coins:30059
Title:Contributor
多谢分享!
Prestige:0
Bonus&points:1002
Gold&coins:1992
Title:Contributor
好贴 点个赞
How to Buy
Quick LinksCurrent position :
Prestige:<span class="cl09" id="prestige_6
Bonus&points:<span class="cl09" id="exp_68
Gold&coins:<span class="cl09" id="score_65
Title:Associate Engineer
1#Font Size | Post On
UDP Flood攻击与防御原理
UDP类攻击中的报文源IP和源端口变化频繁,但报文负载一般保持不变或具有规律的变化。防御有效方法是使用关联防御和指纹学习。
攻击者通过僵尸网络向目标服务器发起大量的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流量允许通过,否则丢弃。具体防御原理如所示。
UDP Flood关联TCP类服务防范
载荷检查和指纹学习
当攻击报文负载有特征时,则可以采用动态指纹学习或特征过滤防御。
载荷检查:当UDP流量超过阈值时,会触发载荷检查。如果UDP报文数据段内容完全一样,例如数据段内容都为1,则会被认为是攻击而丢弃报文。
指纹学习:当UDP流量超过阈值时,会触发指纹学习。指纹由Anti-DDoS设备动态学习生成,将攻击报文的一段显著特征学习为指纹后,匹配指纹的报文会被丢弃。动态指纹学习适用于以下类型的UDP
Flood攻击。
报文载荷具有明显特征。
报文负载内容完全一致。
指纹防御的原理如所示。
UDP指纹学习
Prestige:<span class="cl09" id="prestige_6
Bonus&points:<span class="cl09" id="exp_68
Gold&coins:<span class="cl09" id="score_65
Title:Associate Engineer
UDP Flood攻击与防御原理
How to Buy
Quick Links

我要回帖

更多关于 udp flood攻击工具 的文章

 

随机推荐