5.传输层有哪些安全威胁?以TCP的三次握手为例,分析其安全威胁传输层作用传输层在应用层和网络层之间,主要为终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务,为用户提供端到端连接提供传输服务.这种传输服务分为可靠和不可靠的,其中Tcp是典型的可靠面向连接传输,而Udp则是不可靠无连接的传输.TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:TCP标志位•6种标示:SYN(synchronous建立联机)ACK(acknowledgement确认)PSH(push传送)FIN(finish结束)RST(reset重置)URG(urgent紧急)第一次握手:主机A发送位码为syn=1,随机产生seqnumber=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机Sequencenumber(顺序号码)Acknowledgenumber(确认号码)———————————————————————————————————①SYN=1,SEQ=X(随机)一、TCP三次握手实现过程第一次握手:连接请求报文1.请求SEQ字节编号同步2.返回ACK确认编号应答消息Client客户机(A)Server服务器(B)①SYN=1,SEQ=X②SYN=1,SEQ=Y,ACK=X+1一、TCP三次握手实现过程第二次握手:主机B收到请求后要确认联机信息,向A发送acknumber=(主机A的SEQ+1),syn=1,随机产生seq=7654321的包第二次握手:确认报文第一次握手:连接请求报文Client客户机(A)Server服务器(B)①SYN=1,SEQ=X②SYN=1,SEQ=Y,ACK=X+1一、TCP三次握手实现过程第三次握手:主机A收到后检查acknumber是否正确,即第一次发送的seqnumber+1,以及位码ack是否为1,若正确,主机A会再发送acknumber=(主机B的seq+1),Seq,主机B收到后确认seq值与ACK则连接建立成功。完成三次握手,主机A与主机B开始传送数据。第二次握手确认报文第一次握手:连接请求报文③SEQ=X+1,ACK=Y+1第三次握手:确认报文Client客户机(A)Server服务器(B)①SYN=1,SEQ=X②SYN=1,SEQ=Y,ACK=X+1③SEQ=X+1,ACK=Y+1请求确认确认三次握手过程:一个请求,两个确认一、TCP三次握手实现过程数据连接已建立Client客户机(A)Server服务器(B)第一次握手:192.168.1.116发送位码syn=1,随机产生seqnumber=3626544836的数据包到192.168.1.123,192.168.1.123由SYN=1知道192.168.1.116要求建立联机;第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送acknumber=3626544837,syn=1,随机产生seq=1739326486的包;第三次握手:192.168.1.116收到后检查acknumber是否正确,即第一次发送的seqnumber+1,若正确,192.168.1.116会再发送acknumber=1739326487,seq=3626544836+1,192.168.1.123收到后确认seq=seq+1,acknumbe则连接建立成功。•①SYN=?,SEQ=1000②SYN=?,SEQ=?,ACK=?③SEQ=?,ACK=2002三次握手过程:一个请求,两个确认数据Client客户机(A)练习TCP三次握手安全隐患1.DOS(拒绝服务攻击DenialOfService)原理:攻击者故意不完成三次握手全过程,导致服务器资源消耗,直至瘫痪。(1):伪装虚假IP地址发动攻击(2):拦截客户机应答报文2.在TCP三次握手时插入伪造TCP包,(1)攻击者监听B方发出的SYN/ACK报文。(2)攻击者向B方发送RST包,接着发送SYN包,假冒A方发起新的连接。(3)B方响应新连接,并发送连接响应报文SYN/ACK。(4)攻击者再假冒A方对B方发送ACK包。这样攻击者便达到了破坏连接的作用,若攻击者再趁机插入有害数据包,则后果更严重。攻击者(A)服务器(B)①SYN=1,SEQ=X(IP虚假)伪装虚假IP地址发动攻击TCP三次握手安全隐患请求报文(假意)②SYN=1,SEQ=Y,ACK=X+1确认报文找不到地址→超时第二次确认报文确认报文找不到地址SYN=1,SEQ=X(IP虚假)SYN=1,SEQ=X(IP虚假)SYN=1,SEQ=X(IP虚假)SYN=1,SEQ=X(IP虚假)SYN=1,SEQ=X(IP虚假)TCP三次握手安全隐患大量虚假IP地址连接握手请求报文攻击者(A)服务器(B)伪装虚假IP地址发动攻击SYN=1,SEQ=A(IP虚假)瘫痪SYN=1,SEQ=B(IP虚假)SYN=1,SEQ=C(IP虚假)SYN=1,SEQ=D(IP虚假)SYN=1,SEQ=E(IP虚假)大量第二次确认报文找不到目的地址TCP三次握手安全隐患攻击者(A)服务器(B)伪装虚假IP地址发动攻击Client客户机(A)①SYN=1,SEQ=X拦截客户机应答报文TCP三次握手安全隐患Server服务器(B)第一次握手请求报文②SYN=1,SEQ=Y,ACK=X+1第二次握手确认报文③SEQ=X+1,ACK=Y+1拦截攻击者第三次握手确认报文④SYN=1,SEQ=Y,ACK=X+1重发再次发送第二次握手确认报文⑤SEQ=X+1,ACK=Y+1拦截攻击者再次发送第三次握手确认报文重发第二次握手确认报文①SYN=1,SEQ=X②SYN=1,SEQ=Y,ACK=X+1③SEQ=A+1,ACK=M+1拦截客户机应答报文④SEQ=B+1,ACK=N+1⑤SEQ=C+1,ACK=O+1⑥SEQ=D+1,ACK=P+1⑦SEQ=E+1,ACK=Q+1TCP三次握手安全隐患攻击者众多客户机拦截Server服务器(B)第二次握手确认报文第一次握手请求报文第三次握手确认报文重发第二次握手确认报文大量重发①SYN=1,SEQ=X②SYN=1,SEQ=Y,ACK=X+1在TCP三次握手时伪造TCP包攻击(冒充客户A发送确认报文)TCP三次握手安全隐患握手确认报文(客户A身份不可识别)④SEQ=X+1,ACK=Y+1③SEQ=X+1,ACK=Y+1Y+1攻击者客户机Client客户机(A)Server服务器(B)连接请求报文握手确认报文(被攻击者截获)