ccie实验考试特性-常见dos攻击

ccie实验考试特性-常见dos攻击

ID:9491796

大小:59.50 KB

页数:8页

时间:2018-05-01

ccie实验考试特性-常见dos攻击_第1页
ccie实验考试特性-常见dos攻击_第2页
ccie实验考试特性-常见dos攻击_第3页
ccie实验考试特性-常见dos攻击_第4页
ccie实验考试特性-常见dos攻击_第5页
资源描述:

《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. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。