- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CCIE实验考试特性-常见DoS攻击.doc
CCIE实验考试特性:常见DoS攻击
在目前以IPv4为支撑的网络协议上搭建的网络环境中,SYN Flood是一种非常危险而常见的DoS攻击方式。到目前为止,能够有效防范SYN Flood攻击的手段并不多,而SYN Cookie就是其中最著名的一种。SYN Cookie原理由D. J. Bernstain和 Eric Schenk发明。在很多操作系统上都有各种各样的实现。其中包括Linux。
本文就分别介绍一下SYN Flood攻击和SYN Cookie的原理,更重要的是介绍Linux内核中实现SYN Cookie的方式。最后,本文给出一种增强目前Linux中SYN Cookie功能的想法。
一 SYN Flood攻击
SYN Flood攻击是一种典型的拒绝服务型(Denial of Service)攻击。所谓拒绝服务型攻击就是通过进行攻击,使受害主机或网络不能够良好的提供服务,从而间接达到攻击的目的。
SYN Flood攻击利用的是IPv4中TCP协议的三次握手(Three-ASK (((__u32)1 lt;lt; COOKIEBITS) - 1)
COOKIEBITS表示cookie的比特长度;COOKIEMASK是一个COOKIEBITS长的比特串,所有比特都是1。
还有两个比特串,被定义成一个__u32的二维数组 static __u32 syncookie_secret[2][16-3+HASH_BUFFER_SIZE];
其中所有的比特值在secure_tcp_syn_cookie中被随机的赋予,用get_random_bytes函数。它们成为制作cookie的密钥。这两个被随机产生的比特串是整个SYN Cookie实现方案的关键。另外还有一个开关syncookie_init控制对这两个密钥的改动。
还需要指出,在文件syncookies.c中定义有一个__u16组成的表static __u16 const msstab[],这个表中保存的是一些可能的MSS(Maximum Segment Size)值。
secure_tcp_syn_cookie函数的返回值就是计算得到的ISN值,即cookie。为了描述方便,我们给出如下定义: tmp1 := saddr + daddr + ((sportlt;lt;16)+dport) + syncookie_secret[0] tmp2 := saddr + daddr + ((sportlt;lt;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(skb-gt;h.th-gt;seq) 这里的skb是携带TCP SYN的那个skb
count1 := jiffies/(HZ*60) 当前时间的分钟值
data1 := msstab
从前往后最后一个小于skb中携带的MSS值的值的索引(值得注意的是两个密钥在第一次被初始化后,就不会再有改动,直到系统重新启动。因此可以认为它是一个常值。)
有了上面的定义我们可以得到cookie等于 isn := A+sseq + (count1lt;lt;COOKIEBITS) + (B+data1)COOKIEMASK
这个isn被赋予返回的TCP SYN+ACK包中,作为其中的ISN值。这就是cookie 的产生过程。在这个过程中,没有在本地为这个连接请求分配任何存储空间。
在TCP服务器收到TCP ACK包时,相应的要进行SYN Cookie的检查。这个检查过程在函数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函数对应的函数,检查从TCP ACK中提取出的ISN值。
在check_tcp_syn_cookie中假定ISN的值如下 isn := A+sseq + (count2lt;lt;COOKIEBITS) + (B+data2)COOKIEMASK
这里的A、B都是根据当
您可能关注的文档
- 1例左全肺切除术后并发心肌梗死的护理体会.doc
- 1例脂质沉积性肌病临床及病理分析.doc
- 1例自发性脑出血患者行钻孔引流术后护理.doc
- 1型糖尿病发病相关因素病例对照研究.doc
- 2 617例住院患者抗生素使用分析.doc
- 2000年10月全国公共课专科法律基础与思想道德修养试卷.doc
- 2000年4月全国计算机及应用专科英语(一)试卷[附答案].doc
- 2000年4月全国计算机及应用本科英语(二)试卷.doc
- 2000年4月全国计算机及应用本科英语(二)试卷[附答案].doc
- 2015年中层公务员入党申请书范文.doc
- 浙江省绍兴市中考数学试卷.pdf
- 浙江省金华市中考数学试卷.pdf
- 初中数学优质课公开课教学设计课时3第十一章11.2 与三角形有关的角(1)11.2.1 三角形的内角.pdf
- 初中数学优质课公开课教学设计课时28第十三章13.3.2等边三角形(第一课时).pdf
- 初中数学优质课公开课教学设计课时33第十三章第十三章小结(一).pdf
- 初中数学优质课公开课教学设计课时26第二十二章22.2二次函数与不等式.pdf
- 初中数学优质课公开课教学设计课时40第三章3.4实际问题与一元一次方程积分表问题.pdf
- 初中数学优质课公开课教学设计课时58第十五章15.2分式的运算(6)整数指数幂.pdf
- 初中数学优质课公开课教学设计课时24第十三章13.2画轴对称图形(第一课时).pdf
- 初中数学优质课公开课教学设计课时21第十三章13.1.1 轴对称.pdf
最近下载
- 光伏系统的设计课件范本.ppt
- 产科优秀护理疑难病例讨论.pptx VIP
- 小学英语语法专项训练下册.pdf VIP
- GB∕T 16739.1-2023 汽车维修业经营业务条件 第1部分:汽车整车维修企业.pdf
- 【行业标准】SHT 3517-2013 石油化工钢制管道工程施工技术规程.pdf
- 部编版(五四学制)六年级上册历史知识点复习提纲版.pdf VIP
- 湘美版六年级上册美术教案(全套).doc VIP
- D702-1~3 常用低压配电设备及灯具安装(2004年合订本)_(高清).pdf
- 初中道法人教部编版2024七年级上册《第十课保持身心健康》2024年同步练习卷.pdf
- 华为成功之道解读之二客户至上结构化表达.pptx VIP
文档评论(0)