免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 23353 | 回复: 12
打印 上一主题 下一主题

UDP Flood防御的有效方法及原理(SYN攻击的防御方案已实现) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-13 23:16 |只看该作者 |倒序浏览
看过张大民的故事后,对SYN攻击的防御有了具体的理解,通过对linux内核的研究及修改,也基本上实现了SYN攻击防御的功能,但事实上很多DOS攻击不是单独某一类的攻击,SYN Floood和UDP Flood可能会一起到来,而UDP Flood的防御方法及原理还不是很清楚,可有“张大民”现身说教啊。。。。。

论坛徽章:
0
2 [报告]
发表于 2004-12-14 09:18 |只看该作者

UDP Flood防御的有效方法及原理(SYN攻击的防御方案已实现)

原理:
   SYN攻击的原理我就不提了,随便搜一下都好多。说说我的防御原理吧,应该说SYN攻击是基于协议的缺陷,那防御却是基于协议的可靠性,即TCP协议有一个重发机制,当请求的数据包发出后没有得到响应,会由定时器触发重发数据包功能。而且加入了简单的身份鉴别功能,即可以确认这个重发不是黑客程序的第二次SYN发送请求。

实现方法:
   保护层透明接入网络,保护内部的服务器网络,当有SYN请求到来时,截获这个数据包,并给这个数据包的源地址发出一个不合理的ACK包,如果源地址是真到发出这个TCP连接请求,那么根据TCP实现的状态变迁需求,会向现在的目的地址发出一个RST包,这时中间层会记住这个状态,等待源主机的TCP触发定时器发出第二次SYN请求,此时让此数据包通过保护层到达服务器,从而完成一个正确的连接。

结论:
   上述方法在linux-2.6.4的内核中实现。当然,这个保护方法不是一直运行,而是在有检测到SYN攻击时才会启动,这样可以保证网络的高效运行。

论坛徽章:
0
3 [报告]
发表于 2004-12-14 13:21 |只看该作者

UDP Flood防御的有效方法及原理(SYN攻击的防御方案已实现)

通过各种途径,对UDP洪水攻击的防御方法做了一定的分析,可能的结果是很的声明支持此类攻击防御的设备都只是支持到一个限速的简单功能上,即允许此类的数据包每秒钟通过多少个,这个多少个需要管理员对自己能够正常处理的数据量做出一定的估计,这个功能应该说不难实现,但效果却是不怎么好啊,因为一旦攻击发生,那个流量肯定是比平常多上几倍甚至是几十倍,而使用限速的话,正常的数据包也会被限制,也就是说如果限速为当前流量的十分之一,那么正常的客户中,十个也只有一个可以建立正常的连接。

通过分析,本人认为,发生UDP洪水攻击时,攻击包内容可能变化,也可能不变化,或是其中有指纹,所以攻击发生时,即时的抓包分析是必须的,如果发现有特征的数据包为攻击包,则应该在保护层上加上即时规则阻止一部分攻击包,另外还可以分析包的长度,黑客程序产生的攻击包应该是定长或是一定长度范围,此也是一个特征,或者分析自己提供服务的程序本身所需要的特征,也可以反过来设置规则只让有自己特征的数据包通过。当然这种包内容的检测肯定是很耗中间层的系统资源的。

有兴趣还请提供分析思路,或指点相关的链接,谢谢。

论坛徽章:
0
4 [报告]
发表于 2004-12-14 13:23 |只看该作者

UDP Flood防御的有效方法及原理(SYN攻击的防御方案已实现)

学习中。。。

论坛徽章:
0
5 [报告]
发表于 2004-12-16 13:36 |只看该作者

UDP Flood防御的有效方法及原理(SYN攻击的防御方案已实现)

黑客程序发动攻击时,伪造出来的数据包的源地址要么是随机的,要么是顺序增加,
针对随机这种,我觉得做为一个国内的服务器,那么其提供的服务基本上是本国内,呵呵跨国集团的暂不考虑喽,而本国内的IP段是可以列举出来的,这样可以快速丢弃黑客程序制造的那些源地址不在国内IP范围内的数据包;
针对顺序增加这种情况,可以在iptables中实现一个功能模块,这个模块的作用是一秒钟内只允许同一个C网段的主机只进行有限次数的连接,如30次,那么黑客程序使用的255个源地址中肯定有很大一部分会被扔掉,这样黑客制造出来的攻击源在同一秒内能够覆盖的不同的C网段是有限的,因此,这样的过滤应该是很有效的。

如有兴趣的不妨来讨论讨论!

论坛徽章:
0
6 [报告]
发表于 2004-12-17 09:27 |只看该作者

UDP Flood防御的有效方法及原理(SYN攻击的防御方案已实现)

结合流量控制,对某些地址做流量限制呢

论坛徽章:
0
7 [报告]
发表于 2004-12-17 11:16 |只看该作者

UDP Flood防御的有效方法及原理(SYN攻击的防御方案已实现)

在攻击发生时,出现的攻击包的源地址要么是随机产生,要么是顺序增加,而且都是一个包,很难使用一般的流量控制。

论坛徽章:
0
8 [报告]
发表于 2004-12-18 12:45 |只看该作者

UDP Flood防御的有效方法及原理(SYN攻击的防御方案已实现)

楼主有没有实际些的东西呀,期待中;

论坛徽章:
0
9 [报告]
发表于 2004-12-18 18:13 |只看该作者

UDP Flood防御的有效方法及原理(SYN攻击的防御方案已实现)

产品的话,目前国内也有好几家声称是专业的防DOS的系统,针对SYN的实现的话不知道与我的相比有哪些差异,因为从其产品的主要功能说明中看不出其原理,而UDP这样的洪水攻击,不知其是否真正有效。
目前实际的东西我只能说明到如下:
1、防御SYN Flood的实现原理确实是看到了张大民的故事后尝试去实现的,也确实如张大民所说的那样,很有效。即只要中间层的CPU还有空闲资源,只要网络带宽没有被占满,服务器就一定能提供正常的访问,顶多是每连接会有一个三秒左右的延时,而且服务器就象什么事也没发生一样。
2、防御UDP Flood的实现原理不是非常的合理,只能说将尽可能多的攻击包在穿过中间层之前丢掉。判断的方式有二:
  一、国内的服务器一般面对的是国内的用户,而黑客攻击产生的源IP是随机的,那么很大一部分不是国内用户的IP,所以我们需要过滤。
  二、在一秒内同一网段的IP在请求服务时的IP数应该是有限的,而黑客攻击产生的源IP有可能是基于某个初值顺序增加,那么会导致一秒内有连续的几个网段的数据包通过,很明显,这些也是有问题的,所以可以通过设定一个网段内的主机IP在一秒内只允许通过有限个数的方式来控制垃圾数据包的通过。
3、防御ICMP Flood的实现原理就更简单了,丢弃由外到内的所有ICMP数据包。

呵呵,实际的只能提供这么多,或许我提供的还不够多,还请后来者加上,大家共同努力。

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
10 [报告]
发表于 2004-12-20 10:07 |只看该作者

UDP Flood防御的有效方法及原理(SYN攻击的防御方案已实现)

呵呵,楼上的只是纯理论吧?如果被攻击了,机器怎么还有空余的时间处理分析包呢?而且现在的攻击都是好几种混合在一起攻击的,不仅仅吃掉带宽而且要吃掉fw的资源(特别是cpu),包接收的中断数就非常高了。
系统处理包的时候,不是说丢就丢的,网卡会接收它能接收的所有的包,然后触发中断,这时候就体现出了好的网卡和差网卡的区别了,好的网卡在buffer,寄存器上面都会得到加强。如果系统(驱动)仅仅是简单处理然后丢弃包,中断消耗的时间片就很短了,单位时间内能响应的中断数也就高了,处理的包也就多了。
如果系统需要复杂的包处理,比如构建复杂的hash(用于快速匹配ip或其相关项),还要处理碰撞,系统必然会慢下来。只要系统没有足够的资源处理包,攻击就达到目的了。好的系统会在攻击停止后,恢复过来,差的就死翘翘了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP