TCP协议详解和tcp上的攻击_第1页
TCP协议详解和tcp上的攻击_第2页
TCP协议详解和tcp上的攻击_第3页
TCP协议详解和tcp上的攻击_第4页
TCP协议详解和tcp上的攻击_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主要内容一、TCP协议相关知识:协议结构、连接创立、滑动窗口确认机制与流量控制二、针对TCP协议的攻击:SYNFlood、TCPReset、大滑动窗口漏洞三、TCPISN预测算法分层模型数据的流动 无论是OSI模型还是TCP/IP协议族都采用了分层协议设计。都是为了到达这样的一个效果:接收者的第n层收到的数据就是发送者第n层发送的数据。这样,就可以使协议的使用者在一段时间内把注意力集中到某一层而不必担忧较低层执行情况。数据包封装TCP数据局部IP数据局部IP首部应用层数据包TCP首部IP数据包以太网帧首部

IP协议把首部的目网络接口层把以太网帧首部的目标物理地址设为54-89-98-f5-9e-d2并把数据发送到网线上应用层传输层网络层网络接口层TCP协议把首部的目标端口设为80TCP首部20字节的固定首部目的端口数据偏移检验和选项〔长度可变〕源端口序号紧急指针窗口确认号保留FIN32bitSYNRSTPSHACKURG比特08162431填充TCP协议结构IP首部20字节的固定首部包总长度〔单位:字节〕选项版本拆分包标识协议32bit比特08162431数据首部长度效劳类型标志片偏移生存时间首部检验和源IP目标IPIP协议结构下面通过分析访问博达主页产生的数据包来了解一下TCP,IP协议的结构及TCP三次握手过程48位目标MAC地址(54-89-98-f5-9e-d2)48位源MAC地址第一次握手:我想和博达效劳器建立TCP连接〔00-22-68-1E-62-D9〕16位源端口(50229)16位目标端口(80)32位序号序号32位确认号(0)4位首部长度(单位:4字节)6位保存SYNFIN16位窗口16位TCP包检验和16位紧急指针选项和填充(可变)选项和填充(可变)4位版本4位首长8位效劳类型16位IP包总长度〔52〕16位标识符〔3617〕不用DFRSTMF13位片偏移8位TTL(64)8位协议(6)16位首部检验和32位源IP(36.45.131.26)ACKPSHURG32位目标的IP(116.255.223.53)16位类型0x8864(2577935418)16位窗口16位TCP包检验和16位紧急指针选项和填充(可变)选项和填充(可变)选项和填充(可变)4位版本4位类型8位代码16位会话ID(0x635e)16位净载荷长度16位协议域(0x0021)第二次握手:博达效劳器同意我连接,并且要求连接我32位序号32位确认号(2577935419,上个tcp包序号+1)SYNACK序号(3393589865)第三次握手:我同意博达效劳器的连接请求,32位序号32位确认号(3393589866,上个tcp包序号+1)SYNACK序号(2577935419)SYNFLOOD攻击短时间内发送大量tcp连接请求却不予回应,耗尽目标系统资源X等待回复滑动窗口功能之一:TCP数据确认

可靠的数据传输都要求接收方对发送方发出的数据进行确认。TCP也要求数据确实认,但TCP确实认机制与一般的不同,它能极大的提高数据确认效率,减少信道占用捎带确认机制网购狂人取快递9:109:159:209:35sorry,来不动了...单包确认〔虽然可靠但效率很低,而且容易拥塞网络〕多么累的领悟之后9:10你的快递,10分钟不来签收,就下趟再送了啊马上就来我要等下个一起签收9:15马上就来我还要等下个一起签收9:20TCP超时重传这次真要去了,否那么第一个快递员要走了刚站起来,看到小段拿着个包裹去寄小段啊,听说你的凌波微步练成了,帮我把三个包裹签收了吧小段一趟就发出一个包,并顺带签收了三个包TCP捎带确认机制〔效率很高,不拥塞网络信道〕9:20滑动窗口功能之二:流量控制

发送端不可发送的太多、太快以至于使得接收端的缓存溢出流量控制接收端缓存RcvBuffer=接收端的TCP缓存大小RcvWindow=缓存中空闲的局部收到确认即可右移1002003004005006007008009001012013014015016017018011发送窗口可发送不可发送指针发送TCP要维护一个指针。指针随着已经发送的数据向右移动。窗口随着已经确认的数据向右移动。假设发送端要发送900字节长的数据,而发送窗口确定为500字节。滑动窗口初始状态:收到确认即可右移1002003004005006007008009001012013014015016017018011发送窗口可发送不可发送指针滑动窗口已发送但未被确认已发送300字节,但未被确认:

1002003004005006007008009001012013014015016017018011可发送不可发送指针发送窗口右移已发送并被确认已发送但未被确认其中200字节被确认收到:

滑动窗口又发送了300字节:

1002003004005006007008009001012013014015016017018011可发送不可发送指针发送窗口右移已发送并被确认已发送但未被确认1002003004005006007008009001012013014015016017018011可发送不可发送指针发送窗口右移并缩小已发送并被确认已发送但未被确认发送端收到了对方对前400字节数据确实认,但对方数据积压,空闲缓存变小,通知发送端必须把窗口减小到400字节。梳理一下滑动窗口进行流量控制和捎带确认的过程SEQ=1SEQ=201SEQ=401SEQ=301SEQ=101SEQ=501ACK=201,WIN=300ACK=601,WIN=0ACK=501,WIN=200主机A主机B允许A再发送300字节〔序号201至500〕A还能发送200字节A还能发送200字节〔序号301至500〕A还能发送300字节A还能发送100字节〔序号401至500〕A超时重发,但不能发送序号500以后的数据允许A再发送200字节〔序号501至700〕A还能发送100字节〔序号501至700〕不允许A再发送〔到序号600的数据都已收到〕SEQ=201丢失!假定双方开始时确定的窗口值是400,A每次发送100字节TCPReset攻击SEQ=7582121SEQ=7582221ACK=7582321,RST=1主机A主机B告诉A出现异常,A中断连接A还能发送200字节A还能发送300字节还看刚刚的情景,假定双方确定的窗口值是400,A每次发送100字节假设这时候主机C发了这个数据包呢?ACK=1234567,RST=1主机CACK=7582321,RST=1ACK不对,不予理会接受该包,断开与B的连接大滑动窗口漏洞SEQ=7582121SEQ=7582221ACK=7582321,RST=1主机A主机B告诉A出现异常,A中断连接A还能发送200字节A还能发送300字节仍然看刚刚的情景,假定双方确定的窗口值是400,A每次发送100字节假设这时候主机C没发上个而是发了这个数据包呢?ACK=123456,RST=1主机CACK=7582321,RST=1ACK不对,不予理会接受该包,断开与B的连接ACK=7582221,RST=1接受该包,断开与B的连接大滑动窗口漏洞1002003004005006007008009001012013014015016017018011不可发送已发送并被确认已发送但未被确认发送窗口对这个等待被确认的任何一个发送确认包都会被接受指针大滑动窗口漏洞 由此,我们假设TCP连接的序列号是A,攻击者选择一个随机序列号为B,以步长为“windowsize”发送报文,因为序列号范围为0到,同时考虑到A,B所处的位置的概率,攻击者平均发送〔〕/〔windowsize*2〕个报文就有一个能够落在当前TCP连接的滑动窗口范围内,从而导致该TCP连接复位。这里假设windowsize为8192,达成攻击必须平均发送262144个报文,假设报文长 度为256字节,那么攻击者使用2M的ADSL线路可以在512秒复位这个TCP连接,考虑到现在很多操作系统的windowsize很大,而且攻击的线路带宽也远不止2M,攻击者可以更快完成攻击。TCPISN预测 尽管目前操作系统的TCP协议栈都采用了强健的随机生成算法生成ISN,但是所产生的ISN仍然不可能是真正的随机数。因为:(1)计算机只能重复、准确地执行指令,同一生成算法在相同条件下都会得到相同的结果;(2)如果能获得远程主机的内部状态,也可以预测它的输出;(3)虽然不知道远程主机TCP协议栈的ISN生成函数,但是算法最终会使ISN缭绕,按一定的规律重复以前的ISN,所以仍然可以推断ISN;(4)相关RFC规定ISN单调增加。假设产生完全随机的ISN值,攻击者猜到的可能性是1/〔2的32次方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论