一种避免TCP报文乒乓的方法及装置制造方法及图纸

技术编号:18767059 阅读:46 留言:0更新日期:2018-08-25 12:47
本发明专利技术提出了一种避免TCP报文乒乓的方法及装置,该方法包括:服务器端基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端;在服务器端接收到的所述客户端发送的第二确认报文的情况下,服务器端判断所述第二确认报文是否合法;若第二确认报文判定为合法,则服务器端再次向客户端发送所述第一确认报文;否则服务器端停止向客户端发送第一确认报文。本发明专利技术所述一种避免TCP报文乒乓的方法及装置,在TCP连接受到数据注入攻击或其他异常情况下,有效避免TCP连接两端持续发送大量乒乓报文,有效降低了由于持续的TCP连接两端持续发送大量乒乓报文导致的CPU资源的消耗和对网络带宽的占用。

【技术实现步骤摘要】
一种避免TCP报文乒乓的方法及装置
本专利技术涉及通信
,尤其涉及一种避免TCP报文乒乓的方法及装置。
技术介绍
TCP(TransmissionControlProtocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP通过三次握手协商建立连接,连接建立后,标识连接的四元组(源IP(InternetProtocol,网络之间互连的协议)地址、源端口、目的IP地址和目的端口)始终保持不变,以此提供面向连接的服务;再通过TCP报文头部中的序列号和确认号字段,辅以重传和确认机制来实现数据的可靠、有序传输;另外,TCP通过接收窗口实现发送端的流量控制,通过拥塞窗口实现网络的拥塞控制。TCP协议在最初设计的时候并没有充分考虑安全性,TCP的安全性主要依赖于其四元组的不可确定性以及序列号、确认号的随机性。在RFC5961-ImprovingTCP'sRobustnesstoBlindIn-WindowAttacks(提高TCP的窗口盲攻击的鲁棒性)出现之前,BlindIn-WindowAttacks(窗口的盲攻击)一直是针对TCP协议的主要攻击手段,一旦伪造数据包的序列号落到了可接收的范围内,攻击者就可以往TCP连接注入恶意数据或者直接重置连接。然而,旨在提高TCP安全性的RFC5961引发了编号为CVE-2016-5696的安全漏洞,利用这个漏洞,攻击者可以更快的实施恶意数据注入攻击。恶意数据注入攻击的影响非常严重。对于终端用户来说,它可以在正常浏览的WEB(网络)页面上插入钓鱼网站,使终端用户蒙受财产的损失和个人信息的泄露;它可以任意篡改用户传输的数据,使得可靠的TCP传输变得不再可靠。而对于数据通信设备来说,除了上述影响外,恶意数据注入攻击引发连接两端大量的TCP乒乓报文,还会极大消耗系统的CPU资源,影响系统中其他协议的正常运行,严重时整个系统都会处于拒绝服务状态。恶意数据注入攻击引发连接两端TCP报文乒乓如附图1所示。Server(服务器)端收到数据注入攻击报文后,正常的向Client(客户)端发送确认报文,由于该确认报文的确认号却大于Client端已发送的序列号,引发Client端回应一个确认报文,而Client端回应的确认报文的序列号又小于Server端期待接收的序列号,触发了Server端再次发送确认报文,如此循环,导致了正常TCP连接两端持续发送乒乓报文。
技术实现思路
本专利技术要解决的技术问题是,提供一种避免TCP报文乒乓的方法及装置,克服现有技术中在TCP连接受到数据注入攻击后,导致TCP连接两端持续发送大量乒乓报文导致的CPU(CentralProcessingUnit,中央处理器)资源的消耗和对网络带宽占用的缺陷。本专利技术采用的技术方案是,所述一种避免传输控制协议TCP报文乒乓的方法,包括:服务器端基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端,以供所述客户端判断所述第一确认报文是否合法;在服务器端接收到的所述客户端发送的第二确认报文的情况下,服务器端判断所述第二确认报文是否合法;若第二确认报文判定为合法,则服务器端再次向客户端发送所述第一确认报文;否则服务器端停止向客户端发送第一确认报文。进一步的,所述服务器端基于接收到的TCP报文配置第一确认报文,包括:所述服务器端基于接收到的TCP报文,将所述TCP报文的确认号配置为第一确认报文的序列号,并将所述TCP报文的序列号与报文长度之和配置为第一确认报文的确认号。进一步的,所述服务器端判断所述第二确认报文是否合法,包括:服务器端判断所述第二确认报文的序列号是否小于所述第一确认报文的确认号;若是,则判定所述第二确认报文合法;否则判定所述第二确认报文不合法。本专利技术还提供一种避免传输控制协议TCP报文乒乓的装置,设置于服务器端,包括:配置模块,用于基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端,以供所述客户端判断所述第一确认报文是否合法;第一判断模块,用于在所述配置模块将所述第一确认报文发送至客户端之后,并在接收到的所述客户端发送的第二确认报文的情况下,判断所述第二确认报文是否合法;若第二确认报文判定为合法,则再次向客户端发送所述第一确认报文;否则停止向客户端发送第一确认报文。进一步的,所述基于接收到的TCP报文配置第一确认报文,包括:基于接收到的TCP报文,将所述TCP报文的确认号配置为第一确认报文的序列号,并将所述TCP报文的序列号与报文长度之和配置为第一确认报文的确认号。进一步的,所述判断所述第二确认报文是否合法,包括:判断所述第二确认报文的序列号是否小于所述第一确认报文的确认号;若是,则判定所述第二确认报文合法;否则判定所述第二确认报文不合法。本专利技术还提供一种避免传输控制协议TCP报文乒乓的方法,包括:客户端判断接收到的服务器端发送的第一确认报文是否合法;若所述第一确认报文判定为合法,则所述客户端向所述服务器端发送挑战确认报文,并判断在设定时长内所述挑战确认报文的数量是否小于第一预设值;否则所述客户端停止响应;若在设定时长内所述挑战确认报文的发送数量小于第一预设值,则所述客户端配置第二确认报文,并将所述第二确认报文发送至所述服务器端,以供服务器端判断所述第二确认报文是否合法;否则所述客户端停止响应。进一步的,所述客户端判断接收到的服务器端发送的第一确认报文是否合法,包括:所述客户端判断接收到的服务器端发送的第一确认报文的确认号是否大于所述客户端已发送数据的序列号的最大值;若是,则所述第一确认报文判定为合法;否则所述第一确认报文判定为不合法。进一步的,所述客户端配置第二确认报文,包括:将所述客户端已发送数据的序列号的最大值配置为第二确认报文的序列号,并将所述第一确认报文的序列号配置为第二确认报文的确认号。本专利技术还提供一种避免传输控制协议TCP报文乒乓的装置,设置于客户端,包括:第二判断模块,用于判断接收到的服务器端发送的第一确认报文是否合法;挑战确认模块,用于若所述第一确认报文判定为合法,则所向所述服务器端发送挑战确认报文,并判断在设定时长内所述挑战确认报文的数量是否小于第一预设值;否则停止响应;反馈模块,用于若在设定时长内所述挑战确认报文的发送数量小于第一预设值,则配置第二确认报文,并将所述第二确认报文发送至所述服务器端,以供服务器端判断所述第二确认报文是否合法;否则停止响应。进一步的,所述判断接收到的服务器端发送的第一确认报文是否合法,包括:判断接收到的服务器端发送的第一确认报文的确认号是否大于所述客户端已发送数据的序列号的最大值;若是,则所述第一确认报文判定为合法;否则所述第一确认报文判定为不合法。进一步的,所述配置第二确认报文,包括:所述客户端将第二确认报文的序列号配置为所述客户端已发送数据的序列号的最大值,并将第二确认报文的确认号配置为所述第一确认报文的序列号。本专利技术还提供一种避免传输控制协议TCP报文乒乓的方法,包括:当通信系统端监控到客户端接收到服务器端发送的第一确认报文,并向服务器端发送挑战确认报文时,通信系统端判断在设定时长内所述挑战确认报文的数量是否小于第二预设值;若判定在设定时长内所述挑战确认报文的数量小于第二预设值,则通信系统本文档来自技高网
...

【技术保护点】
1.一种避免传输控制协议TCP报文乒乓的方法,其特征在于,包括:服务器端基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端,以供所述客户端判断所述第一确认报文是否合法;在服务器端接收到的所述客户端发送的第二确认报文的情况下,服务器端判断所述第二确认报文是否合法;若第二确认报文判定为合法,则服务器端再次向客户端发送所述第一确认报文;否则服务器端停止向客户端发送第一确认报文。

【技术特征摘要】
1.一种避免传输控制协议TCP报文乒乓的方法,其特征在于,包括:服务器端基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端,以供所述客户端判断所述第一确认报文是否合法;在服务器端接收到的所述客户端发送的第二确认报文的情况下,服务器端判断所述第二确认报文是否合法;若第二确认报文判定为合法,则服务器端再次向客户端发送所述第一确认报文;否则服务器端停止向客户端发送第一确认报文。2.根据权利要求1所述的方法,其特征在于,所述服务器端基于接收到的TCP报文配置第一确认报文,包括:所述服务器端基于接收到的TCP报文,将所述TCP报文的确认号配置为第一确认报文的序列号,并将所述TCP报文的序列号与报文长度之和配置为第一确认报文的确认号。3.根据权利要求2所述的方法,其特征在于,所述服务器端判断所述第二确认报文是否合法,包括:服务器端判断所述第二确认报文的序列号是否小于所述第一确认报文的确认号;若是,则判定所述第二确认报文合法;否则判定所述第二确认报文不合法。4.一种避免传输控制协议TCP报文乒乓的装置,设置于服务器端,其特征在于,包括:配置模块,用于基于接收到的TCP报文配置第一确认报文,并将所述第一确认报文发送至客户端,以供所述客户端判断所述第一确认报文是否合法;第一判断模块,用于在所述配置模块将所述第一确认报文发送至客户端之后,并在接收到的所述客户端发送的第二确认报文的情况下,判断所述第二确认报文是否合法;若第二确认报文判定为合法,则再次向客户端发送所述第一确认报文;否则停止向客户端发送第一确认报文。5.根据权利要求4所述的装置,其特征在于,所述基于接收到的TCP报文配置第一确认报文,包括:基于接收到的TCP报文,将所述TCP报文的确认号配置为第一确认报文的序列号,并将所述TCP报文的序列号与报文长度之和配置为第一确认报文的确认号。6.根据权利要求5所述的装置,其特征在于,所述判断所述第二确认报文是否合法,包括:判断所述第二确认报文的序列号是否小于所述第一确认报文的确认号;若是,则判定所述第二确认报文合法;否则判定所述第二确认报文不合法。7.一种避免传输控制协议TCP报文乒乓的方法,其特征在于,包括:客户端判断接收到的服务器端发送的第一确认报文是否合法;若所述第一确认报文判定为合法,则所述客户端向所述服务器端发送挑战确认报文,并判断在设定时长内所述挑战确认报文的数量是否小于第一预设值;否则所述客户端停止响应;若在设定时长内所述挑战确认报文的发送数量小于第一预设值,则所述客户端配置第二确认报文,并将所述第二确认报文发送至所述服务器端,以供服务器端判断所述第二确认报文是否合法;否则所述客户端停止响应。8.根据权利要求7所述的方法,其特征在于,所述客户端判断接收到的服务器端发送的第一确认报文是否合法,包括:所述客户端判断接收到的服务器端发送的第一确认报...

【专利技术属性】
技术研发人员:邱军闫磊董彬
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1