正文描述:《ccie实验考试特性-常见dos攻击》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、CCIE实验考试特性:常见DoS攻击 在目前以IPv4为支撑的网络协议上搭建的网络环境中,SYNFlood是一种非常危险而常见的DoS攻击方式。到目前为止,能够有效防范SYNFlood攻击的手段并不多,而SYNCookie就是其中最著名的一种。SYNCookie原理由D.J.Bernstain和EricSchenk发明。在很多操作系统上都有各种各样的实现。其中包括Linux。 本文就分别介绍一下SYNFlood攻击和SYNCookie的原理,更重要的是介绍Linux内核中实现SYNCookie的方式。最后,本文给出一种增强目前Linux中SYNCookie功能的想法。 一SYN
2、Flood攻击 SYNFlood攻击是一种典型的拒绝服务型(DenialofService)攻击。所谓拒绝服务型攻击就是通过进行攻击,使受害主机或网络不能够良好的提供服务,从而间接达到攻击的目的。 SYNFlood攻击利用的是IPv4中TCP协议的三次握手(Three-ASK(((__u32)1<<COOKIEBITS)-1) COOKIEBITS表示cookie的比特长度;COOKIEMASK是一个COOKIEBITS长的比特串,所有比特都是1。 还有两个比特串,被定义成一个__u32的二维数组static__u32syncookie_secret[2][16-
3、3+HASH_BUFFER_SIZE]; 其中所有的比特值在secure_tcp_syn_cookie中被随机的赋予,用get_random_bytes函数。它们成为制作cookie的密钥。这两个被随机产生的比特串是整个SYNCookie实现方案的关键。另外还有一个开关syncookie_init控制对这两个密钥的改动。 还需要指出,在文件syncookies.c中定义有一个__u16组成的表static__u16constmsstab[],这个表中保存的是一些可能的MSS(MaximumSegmentSize)值。 secure_tcp_syn_cookie函数的返回值就是计
4、算得到的ISN值,即cookie。为了描述方便,我们给出如下定义:tmp1:=saddr+daddr+((sport<<16)+dport)+syncookie_secret[0]tmp2:=saddr+daddr+((sport<<16)+dport)+syncookie_secret[1]tmp11:123下一页[教育资源网]edu..,。=HASH_TRANSFORM(tmp1[16],tmp1)tmp22:=HASH_TRANSFORM(tmp2[16],tmp2)A:=tmp11[0][17]B:=tmp22[1][17] sseq:=ntohl(
5、skb->h.th->seq)这里的skb是携带TCPSYN的那个skb count1:=jiffies/(HZ*60)当前时间的分钟值 data1:=msstab 从前往后最后一个小于skb中携带的MSS值的值的索引(值得注意的是两个密钥在第一次被初始化后,就不会再有改动,直到系统重新启动。因此可以认为它是一个常值。) 有了上面的定义我们可以得到cookie等于isn:=A+sseq+(count1<<COOKIEBITS)+(B+data1)COOKIEMASK 这个isn被赋予返回的TCPSYN+ACK包中,作为其中的ISN值。这就是cooki
6、e的产生过程。在这个过程中,没有在本地为这个连接请求分配任何存储空间。 在TCP服务器收到TCPACK包时,相应的要进行SYNCookie的检查。这个检查过程在函数tcp_v4_hnd_req中的cookie_v4_check函数开始。cookie_v4_check调用cookie_check函数,cookie_check函数调用check_tcp_syn_cookie函数。 check_tcp_syn_cookie函数在random.c中定义,是与前面介绍的 secure_tcp_syn_cookie函数对应的函数,检查从TCPACK中提取出的ISN值。 在check_tc
7、p_syn_cookie中假定ISN的值如下isn:=A+sseq+(count2<<COOKIEBITS)+(B+data2)COOKIEMASK 这里的A、B都是根据当前这个skb中的地址信息和syncookie_secret算出来的;sseq是根据这个skb中的seq值算出的。 有了上面这些值,TCP服务器就可以反算出count2和data2。理论上来说,只要这个isn是原来那个isn,应该有count2==count1data2==
显示全部收起
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。