- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章TCPIP体系的协议安全3.ppt
TCP的可靠性 通过校验和、定时器、数据序号、应答号来实现数据的可靠传输 ? 校验和确保数据包在传输中的完整性 ? 定时器确保数据包丢失时重发 ? 给每个发送的字节分配一个序号,接收端接收到数据后发送应答 为每次发送分配一个序号,用来保证数据的顺序,剔除重复的数据 ? 一个TCP连接包含两个流(分别代表两个方向的数据) ? 建立连接时流的发送方选择一个初始序号ISN(initial sequence number)? ISN必须随机选取才安全(不同OS不一样) 会话劫持-Session Hijacking 会话-就是两台主机之间的一次通信。 在现实生活中的会话,例如银行的一笔交易 如果营业员检查了顾客的帐户和密码无误,算好钱……… 抬起头来,发现不再是刚才的顾客 他会把钱交给外面的顾客吗? 会话劫持-Session Hijacking 劫持是积极主动地使一个在线的用户下线,或者冒充这个用户发送消息,以便达到自己的目的。 被动劫持 监听网络流量,发现密码或者其他敏感信息 主动劫持 找到当前会话并接管过来-迫使一方下线-由劫持者取而代之 攻击者接管了一个合法会话-可以做更多危害性更大的事情 会话劫持-Session Hijacking 会话劫持-Session Hijacking TCP协议 三次握手建立TCP连接(一个TCP会话) 终止一个会话,正常情况 需要4条消息 如何标识一个会话 状态:源IP:端口+SN - 目标IP:端口+SN 从TCP会话状态入手 要了解每一个方向上的SN(数据序列号) 两个方向上的序列号是相互独立的 除了第一个SYN包以外,都有一个ack标志(即ack标准位 置1),并给出了期待对方发送数据的序列号(ack number) 猜测序列号是成功劫持TCP会话的关键 TCP的序列号 C---S SEQ = X ACK =Y 数据大小为:60 S---C SEQ =Y ACK =? 包大小为:50 C---S SEQ= ? ACK =? ACK包(通常ACK是捎带的) 有两个序列号 SEG_SEQ是当前包中数据第一个字节的序号 SEG_ACK是期望收到对方数据包中第一个字节的序号 客户(CLT) -- 服务器(SVR) SVR_SEQ: 服务器将要发送的下一个字节的序号 SVR_ACK:服务器将要接收的下一个字节的序号(已经收到的最后一个字节的序号加1) SVR_WIND:服务器的接收窗口 CLT_SEQ: 客户将要发送的下一个字节的序号 CLT_ACK:客户将要接收的下一个字节的序号(已经收到的最后一个字节的序号加1) CLT_WIND:客户的接收窗口 各个值之间的关系 关系 CLT_ACK = SVR_SEQ = CLT_ACK + CLT_WIND SVR_ACK = CLT_SEQ = SVR_ACK + SVR_WIND 只有满足这样条件的包,对方才能接收 否则,抛弃该数据包,并且送回一个ACK包(含有期望的序列号) 同步状态 SVR_SEQ = CLT_ACK CLT_SEQ = SVR_ACK 不同步状态 SVR_SEQ CLT_ACK CLT_SEQ SVR_ACK 不同步状态 如果TCP进入不同步状态 客户发送一个包 SEG_SEQ = CLT_SEQ SEG_ACK = CLT_ACK 这个包不会被接收,因为CLT_SEQ SVR_ACK 相反,如果第三方(攻击者)发送一个包 SEG_SEQ = SVR_ACK SEG_ACK = SVR_SEQ 这个包可以被服务器接收 如果攻击者能够伪造两边的包的话,还可以恢复客户和服务器之间的会话,使得回到同步状态 TCP ACK Storm 当一个主机接收到一个不期望的数据包时,它会用自己的序列号发送ACK,而这个包本身也是不可被接受的。于是,两边不停地发送ACK包,形成ACK包的循环,称为ACK风暴(ACK Storm) 中断一个连接 攻击者发送一个RST包给B,并且假冒A的IP地址 观察A和B之间的数据往来,算出A和B的序列号,在适当的时机插入一个RST包,只要在插入点上,序列号正确,则RST包就会被接受,从而达到目的 攻击者发送一个FIN包给B,并且假冒A的IP地址 同样,在适当的时机给B发送一个FIN包 会话劫持过程 A向B发送一个数据包 SEQ (hex): X ACK (hex): Y FLAGS: -AP--- Window: ZZZZ,包大小为:60 B回应A一个数据包 SEQ (hex): Y ACK (hex): X+60 FLAGS: -AP--- Window: ZZZZ,包大小为:50 会话劫持
文档评论(0)