一种网络攻击识别方法及装置制造方法及图纸

技术编号:7736653 阅读:224 留言:0更新日期:2012-09-09 19:20
本发明专利技术实施例提供一种网络攻击识别方法及装置,包括:网络设备在接收到第一设备向第二设备发送的第N+1传输控制协议数据包时,确定第一设备向第二设备发送第N传输控制协议数据包时的发送序列号和第二设备接收到该第N传输控制协议数据包返回的确认序列号,通过确认序列号与发送序列号的差值与设定窗口长度的关系,确定第N+1传输控制协议数据包为合法数据包还是非法数据包。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种网络攻击识别方法及装置
技术介绍
对于一个必须是授权用户才可以访问的服务器而言,在客户端A和服务器B建立传输控制协议(TCP, Transmission Control Protocol)连接的过程中,客户端A和服务器B的TCP模块分别使用自己的初始序列号(ISN, initial sequence number)。客户端A和服务器B建立TCP连接的过程可以如图I所示首先,客户端A向服务器B发送携带握手信号(SYN)标志的数据包请求建立连接,该数据包中携带自身的初始序列号(ISNa);然后,服务器B在接收到客户端A发送的携带SYN标志的数据包后,向客户端A发送携带SYN标志的应答数据包,该数据包携带服务器B的初始序列号(ISNb),以及对客户端A初始序列号的确认(ACK=ISNa+l);最后,客户端A收到服务器B发送的应答数据包后,将对服务器B初始序列号的确认(ACK=ISNb+l)发向服务器B。从而客户端A和服务器B三次握手完成,客户端A和服务器B分别知道了对方的初始序列号,TCP连接建立。当TCP连接正在建立时,服务器用一个包含自身惟一的初始序列号(可以为32位)的应答报文来确认用户请求。TCP协议规范要求每秒更换序列号25万次,但大多数实际系统更换频率远小于此,而且下一次更换的序列号往往是可以预知的,正是这种可预知性使得序列号攻击,包括TCP重启(TCPReset)攻击才得以完成。在一次攻击的过程中,攻击者以真实的身份做尝试性的连接,这个过程被重复若干次,在每次连接的过程中把服务器的ISN记录下来。攻击者通过多次统计,对往返时间(RTT,round-trip time)进行平均求值,RTT被用来猜测下一次可能的ISN。如果ISN的实现是每秒增加128000,每次连接增加64000,那么紧接着下一次连接请求,服务器的ISN就应该采用的是128000* (RTT/2)+64000。只要攻击者能够猜测出要攻击的服务器用于下一次连接的ISN,就能够欺骗这台服务器,通过假冒对该服务器SYN/ACK数据段的应答来欺骗服务器连接已经建立。假设客户端C假冒服务器B信任的客户端A向服务器B发送连接请求,攻击示意图可以如图2所示。这样,攻击者就可以假冒服务器信任的客户端进入服务器,向服务器发送任意的数据,而服务器却认为这些数据是从它信任的客户端发送来的,实现对服务器的攻击。当然,对于TCP序列号的猜测不仅可能发生在“三次握手”的过程中,还可能发生在连接建立以后的数据传送过程中。攻击者可以通过猜测客户端(服务器)向服务器(客户端)发送数据包的序列号,来冒充客户端或服务器与对端设备进行数据包的传输,实现网络攻击。例如,如果主机A正确地接收到主机B发送过来的一个报文段,该报文段中序列号字段的值是501 (发送序列号,标识该报文段中第一个字节的序列号),携带的数据共有200个字节,则主机A已经正确的接收到了主机B发送的序列号在501至700之间的数据(该报文段中最后一个字节的序列号为结束序列号,值为700),主机A期望收到主机B的下一个报文段首部的序列号应该是701。于是A发给B的响应报文段中将首部中的确认号置为701(确认序列号),该确认号即为主机B下一次向主机A发送报文段的发送序列号。如果攻击者可以猜测出该发送序列号,即可以冒充主机B向主机A发送报文段。以攻击者冒充客户端向服务器发送数据包为例,其中可能出现以下4种情况的任意一种情况I、如果猜测正确,攻击者发送的数据就会放到服务器接收缓冲区中;情况2、如果发送序列号小于服务器所期望的发送序列号,数据包被丢弃;情况3、如果发送序列号大于服务器所期望的发送序列号,但小于TCP接收窗口的范围,将被放到一个悬挂队列中,将被认为是客户端后发送的数据先到达。即,不需要猜测出准确的发送序列号,只要使得伪造的发送序列号落在接收窗口范围内,就可以被正常处理,实现对服务器的攻击;情况4、如果不是目的服务器所期望的发送序列号,也不在TCP的接收窗口范围内,数据包被丢弃。为了能够达到通过对于TCP序列号的猜测实现网络攻击的目的,攻击者需要能够满足以下四个条件条件I、攻击者能够在短时间内向服务器的某个开放端口发送若干个TCP连接请求,用来分析服务器ISN的增长规律,从而推断下一次连接ISN的可能值。在这若干个连接请求后紧接着就是用于攻击的那个连接请求。如果服务器在攻击者发起攻击的这一段时间内没有建立其他连接,那么其下一次连接建立的ISN被攻击者猜测成功的可能性就很高。条件2、攻击者要防止在攻击的过程中,被授权的客户端机会因为收到从服务器发送来的SYN/ACK而对该数据包做出响应(发送终止消息(RST)终止本次连接)。攻击者可以使用一个已经离线的客户端机的互联网协议(IP,internet protocol)地址,或者向被假冒的客户端机发起拒绝服务(DoS,Denial of Service)攻击来阻止该客户端机向服务器发出任何响应数据包。条件3、攻击者利用的是服务器上的一个应用层的协议,该协议是简单地依赖于客户端机的IP地址来认证和授权的,而不是通过诸如高层的密码技术的身份认证机制。条件4、在“三次握手”的第二步,攻击者能够猜测、嗅探出从服务器发送给被攻击者假冒的客户端机的TCP的ISN,因为这些数据是攻击者看不到的。目前黑客利用TCP序列号的脆弱性可以实施多种不同类型的攻击,其中包括新型的DoS攻击即切断单个网络服务器的联络并使应用软件和网络看上去很不稳定。信息投毒型攻击即向数据流中插入伪造的信息,如虚假的新闻报道或者欺骗性的股价信息等。话路劫持即接管用户与计算机系统的连接,让劫持者以用户的身份进行应用软件的操作,如操纵本应该只允许用户本人使用的财务软件或互联网基础设施管理系统等。针对利用TCP序列号的脆弱性进行的网络攻击,目前,现有技术针对该类网络攻击的识别方案主要是基于状态检测功能的防火墙来实现。而当前基于状态检测功能的防火墙大多采取利用连接双方的IP地址和端口号来跟踪状态。这样当一个连接建立之后,当后续的数据包到达时,防火墙从数据包中提取源目的地址和端口号信息,并与状态表进行比较,一旦匹配就允许其通过。这种实现方法虽然简单,但也带来了相应的安全隐患,使得攻击者很容易伪造出具有合法IP和端口的网络数据包,使其通过状态检测进入内部网络,因而存在很大的网络安全隐患。而如果攻击者伪造了一个数据包,使连接转换到了异常状态,连接将被删除,从而使得合法的数据包也无法通过。
技术实现思路
本专利技术实施例提供一种网络攻击识别方法及装置,用于提高网络的安全性,并保证合法数据包的顺利通信。一种网络攻击识别方法,所述方法包括网络设备接收第一设备向第二设备发送的第N+1传输控制协议TCP数据包,其中,N为正整数;网络设备确定第二设备接收到第一设备发送的第N传输控制协议数据包返回的确认序列号,与第一设备发送第N传输控制协议数据包的发送序列号的差值;网络设备根据所述差值与设定窗口长度值的关系,确定第N+1传输控制协议数据包为合法数据包或非法数据包;其中,所述设定窗口的长度值为第一设备发送窗口的长度值,或第二设备接收窗口的长度值,或第一设备发送窗口的长度值与第二设备接收窗口的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络攻击识别方法,其特征在于,所述方法包括 网络设备接收第一设备向第二设备发送的第N+1传输控制协议TCP数据包,其中,N为正整数; 网络设备确定第二设备接收到第一设备发送的第N传输控制协议数据包返回的确认序列号,与第一设备发送第N传输控制协议数据包的发送序列号的差值; 网络设备根据所述差值与设定窗口长度值的关系,确定第N+1传输控制协议数据包为合法数据包或非法数据包 ; 其中,所述设定窗口的长度值为第一设备发送窗口的长度值,或第二设备接收窗口的长度值,或第一设备发送窗口的长度值与第二设备接收窗口的长度值中的最小值。2.如权利要求I所述的方法,其特征在于,网络设备根据所述差值与设定窗口长度值的关系,确定第N+1传输控制协议数据包为合法数据包或非法数据包,具体包括 网络设备在确定所述差值不大于设定窗口长度值时,确定第N+1传输控制协议数据包为合法数据包,否则,确定第N+1传输控制协议数据包为非法数据包。3.如权利要求I所述的方法,其特征在于,网络设备将第一设备向第二设备发送第N传输控制协议数据包的窗口长度值确定为所述第一设备发送窗口的长度值,将距离自身接收到第N+1传输控制协议数据包时刻最近一次第二设备向第一设备发送数据包的窗口长度值确定为所述第二设备接收窗口的长度值。4.如权利要求I所述的方法,其特征在于,网络设备根据所述差值与设定窗口长度值的关系,确定第N+1传输控制协议数据包为合法数据包或非法数据包,具体包括 网络设备在确定所述差值不大于设定窗口长度值,且确定所述第N+1传输控制协议数据包的发送序列号不小于第二设备已发送的确认序列号的最大值时,确定第N+1传输控制协议数据包为合法数据包,否则,确定第N+1传输控制协议数据包为非法数据包。5.如权利要求I所述的方法,其特征在于,网络设备根据所述差值与设定窗口长度值的关系,确定第N+1传输控制协议数据包为合法数据包或非法数据包,具体包括 网络设备在确定所述差值不大于设定窗口长度值,且确定所述第N+1传输控制协议数据包的结束序列号不大于第二设备已发送的确认序列号与第二设备接收窗口的长度之和的最大值时,确定第N+1传输控制协议数据包为合法数据包,否则,确定第N+1传输控制协议数据包为非法数据包,其中,所述结束序列号为第N+1传输控制协议数据包中最后一个字节的序列号。6.如权利要求I所述的方法,其特征在于,网络设备根据所述差值与设定窗口长度值的关系,确定第N+1传输控制协议数据包为合法数据包或非法数据包,具体包括 网络设备在确定所述差值不大于设定窗口长度值,且确定距离自身接收到第N+1传输控制协议数据包时刻最近一次第二设备返回的确认序列号不大于结束序列号时,确定第N+1传输控制协议数据包为合法数据包,否则,确定第N+1传输控制协议数据包为非法数据包,其中,所述结束序列号为第N+1传输控制协议数据包中最后一个字节的序列号。7.如权利要求1飞任一所述的方法,其特征在于,网络设备根据所述差值与设定窗口长度值的关系,确定第...

【专利技术属性】
技术研发人员:黄志忠钟岳林
申请(专利权)人:福建星网锐捷网络有限公司
类型:发明
国别省市:

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

1