CN101390064B - 利用嵌入的认证信息防止网络重置拒绝服务攻击 - Google Patents
利用嵌入的认证信息防止网络重置拒绝服务攻击 Download PDFInfo
- Publication number
- CN101390064B CN101390064B CN2005800144596A CN200580014459A CN101390064B CN 101390064 B CN101390064 B CN 101390064B CN 2005800144596 A CN2005800144596 A CN 2005800144596A CN 200580014459 A CN200580014459 A CN 200580014459A CN 101390064 B CN101390064 B CN 101390064B
- Authority
- CN
- China
- Prior art keywords
- tcp
- fragment
- value
- rst
- authentication information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Abstract
公开了用于防止企图导致分组交换网络中的拒绝服务的TCP RST攻击的方法。在一种方法中,在接收到TCP RST分组后,端点节点确定TCP片段是否包含有效的认证信息。仅当认证信息有效时,TCP RST片段才被接受并且TCP连接才被关闭。认证信息可包括重置类型值,以及两个端点的初始序列号或者执行认证的端点节点先前发送的TCP头部和选项值的拷贝。从而,由于攻击者无法得知或合理地猜测所需的认证信息,因此攻击被阻止。
Description
技术领域
本发明一般地涉及计算机网络。更具体而言,本发明涉及防止网络中的TCP重置攻击。
背景技术
这一部分中描述的方法可以实现,但是并不一定是先前已察觉或已实现的方法。因此,除非这里另有指明,否则这一部分中描述的方法并不是本申请中权利要求的现有技术,也不应当因为被包括在这一部分中而被当作现有技术。
网络已经变为企业和消费者等的重要工具,许多企业和消费者当前依赖于诸如邮件服务器、网站和内容服务器之类的网络资源的恒定可用性。随着网络使用的增加,保护网络免受恶意实体通过拒绝服务(“DoS”)攻击进行的破坏变得更加重要。DoS攻击剥夺了合法用户对网络服务的访问权限,并且已被成功地用来破坏合法用户对诸如Yahoo!和CNN之类的因特网站点的访问。
一种类型的DoS攻击利用了传输控制协议(“TCP”)的基本设计,TCP是因特网的基础协议之一,如因特网工程任务组(IETF)请求注解(RFC)793中所定义的。这类DoS攻击被称为TCP重置或RST攻击,其利用了这样的事实:即,在遵从RFC 793的TCP的实现方式中,TCP连接可以响应于从远程节点接收到设置了头部中的重置位(“RST位”)的TCP分组而被适当地终止。
TCP重置攻击试图通过将欺骗性片段插入到活动TCP连接中来关断合法TCP会话,该欺骗性片段设置了重置(RST)标志并且包含落在接收节点允许的有效序列值范围内的分组序列值。一般来说,攻击者首先确定或猜测两个端点的IP地址和端点用于进行TCP连接或更高级协议的端口号。成功的攻击者还猜测落在允许的范围或窗口内的序列号。发送设置了RST标志、具有正确IP地址和端口号并且序列号落在TCP连接窗口内的任何TCP片段都可以使得根据RFC 793适当地实现TCP的接收节点关断TCP连接。
TCP SYN攻击以类似的方式进行。根据RFC 793,如果攻击者发送在头部中设置了SYN位的TCP分组,并且序列值落在允许的序列值的窗口内,则接收节点关闭TCP连接并发送TCP RST分组。RFC 793规定该过程,是为了使非同步主机能够关闭连接并重新同步,但是在当前实践中,该过程使得安全性脆弱。
边界网关协议(BGP)、超文本传送协议(HTTP)、某些语音协议、多协议标签交换(MPLS)和其他协议使用TCP连接,并且是这些攻击的目标。后果可能是严重的。例如,当路由器的BGP会话被通过关闭相关联的TCP连接而破坏时,路由器将会丢弃其已创建的所有BGP路由,从而实质上导致BGP过程发生故障。结果,BGP过程必须使其自身和网络中的对等路由器之间重新同步,并且在重新同步时段期间,故障路由器不能转发任何流量。因此,本领域中的研究者的兴趣在于:创建某些方式来阻止TCP重置攻击,而不会从根本上改变RFC 793中指定的TCP的操作。
在一种方法中,研究者认为通过分配32位伪随机值作为新的TCP连接的初始序列号(ISN),则攻击者无法以任何实际可行的方式猜测正确的序列号,这是因为可能正确的值的数目是232或近似40亿,从而使得这种攻击实质上是不可能的。该原理在攻击者尝试将数据段插入现有TCP连接中的情况下可能是正确的。
然而,如果片段的序列号落在可接受值的窗口或范围内,则即使该序列号与下一期望序列号不是精确匹配,遵从RFC 793的传统TCP实现方式也会接受RST片段或SYN分组。该方法用来补偿分组可能丢失的可能性。在TCP的某些实现方式中,允许的序列值的范围可能大到16,000到多于50,000个值。不幸的是,其后果是攻击者不需要正确地生成所有32位的序列号以提供接收节点将会接受的号,即使在使用了真随机或伪随机ISN时也是如此。如果允许的序列值的范围足够大,则攻击者可以在实际可行的时间量中通过随机或强力选择猜测出正确序列值的机会大大增加。接收节点建立的窗口越大,黑客执行该攻击就越容易。
从而,仅仅检查已建立连接的新到达RST分组或SYN分组以确定序列号是否在给定窗口内并且如果在的话则拆掉连接的TCP实现方式并不适合于防止试图过早终止连接的黑客的攻击。
在UNIX下的TCP的OpenBSD实现方式中所用的另一种方法通过要求重置分组携带这样的序列号来预防重置攻击,该序列号精确地是下一期望序列号,而不仅仅在期望窗口内。如果重置分组携带了并不精确匹配的序列号,则TCP过程忽略重置分组并且不采取任何动作。然而,该方法并不实用,因为对于接收者而言,由于分组丢失的原因TCP分组的序列号常常与下一期望值不相同。当在OpenBSD方法中发生丢失分组时,接收节点留下了发送节点认为已关闭的连接。
在另一种方法中,执行TCP RST“衰减(damping)”,其中如果在给定时间段内太多的RST分组到达则节点忽略这些RST分组。然而,该方法并不合适,因为即使一个不正确的RST分组也足以引起关键TCP连接的关闭。
一种用于解决类似攻击(被称为SYN-RST攻击)的方法在PritamShah等人2003年8月14日提交的题为“Detecting network denial of serviceattacks”的共同未决申请No.10/641,494中提供,该申请与本申请被转让给同一受让人。Shah等人的方法适合于中间路由器而不是TCP端点设备,但是没有完全解决在本公开中描述的所有问题。
另一种方法在Mitesh Dalal等人2004年1月7日提交的题为“Preventing Network Reset Denial of Service Attacks”的共同未决申请No.N中提供,该申请与本申请被转让给同一受让人。Dalal等人的方法带来了一个额外的往返分组交换来实现挑战和响应,并且还将额外的片段插入到网络中,从而增加了对宝贵的带宽的使用。虽然Dalal等人的方法非常有用,但是不带来另一分组往返的方法将会是一个改进。此外,在Dalal等人的方法中,攻击者可通过猜测标识TCP端点的值的4元组的正确值以及与传输控制块(TCB)中保存的“rcvnxt”值相匹配的32位序列号来获得成功。从而,拥有一种对于攻击更具鲁棒性(robustness)的解决方案将会是有用的。
附图说明
在附图中以示例方式而非以限制方式图示了本发明,在附图中,相似的标号指代类似的元件,在附图中:
图1是示出用于防止TCP RST攻击的过程的一个实施例的状态图;
图2A是示出在攻击进行时节点利用图1的过程交换的TCP消息的消息流程图;
图2B是示出在没有攻击发生时节点利用图1的过程交换的TCP消息的消息流程图;
图3是示出用于防止TCP RST攻击的过程的另一实施例的状态图;
图4A是示出在攻击进行时节点利用图3的过程交换的TCP消息的消息流程图;
图4B是示出在没有攻击发生时节点利用图3的过程交换的TCP消息的消息流程图;
图5是示出用于防止TCP SYN攻击的过程的一个实施例的状态图;
图6A是示出在攻击进行时节点利用图5的过程交换的TCP消息的消息流程图;
图6B是示出在没有攻击发生时节点利用图5的过程交换的TCP消息的消息流程图;
图7是示出可以实现实施例的计算机系统的框图;
图8A是一个实施例中具有认证信息的TCP RST片段的框图;
图8B是另一实施例中具有认证信息的TCP RST片段的框图;
图9是用于利用嵌入的认证信息防止TCP RST拒绝服务攻击的方法的流程图;以及
图10是用在端点重启动时的具有认证信息的TCP RST片段的框图。
具体实施方式
本发明描述了一种用于防止网络拒绝服务攻击的方法和装置。在下面的描述中,为了说明目的,给出了大量具体细节以提供对本发明的完全理解。但是,本领域技术人员将会清楚,没有这些具体细节也可以实施本发明。在其他实例中,公知的结构和设备以框图形式示出,以避免不必要地模糊本发明。
这里根据下面的大纲描述实施例:
1.0概述
2.0用于防止TCP拒绝服务攻击的方法
2.1用于防止TCP RST攻击的第一方法
2.2用于防止TCP RST攻击的第二方法
2.3用于防止TCP SYN攻击的方法
3.0利用嵌入的认证信息来防止TCP RST拒绝服务攻击
4.0实现机构—硬件概述
5.0扩展和替换
1.0概述
仅作为导论,并且并不是要限制所附权利要求的范围,在本发明中实现了在前述背景技术中提出的需要、以及将从下面的描述中变清楚的其他需要和目的,本发明在一个方面包括一种用于防止网络上的攻击的方法,其中所述攻击包括发送设置了重置(RST)位的伪造的传输控制协议(TCP)分组,该方法包括以下由计算机实现的步骤:从远程末端节点接收设置了TCP头部的RST位的流的分组;确定分组中的序列值是否在允许的序列值的范围内;以及当第一序列值在允许的序列值的范围内时,发送确认消息,而不关闭与流相关联的TCP连接。
根据该方面的一个特征,该方法还包括从远程末端节点接收设置了RST位并且包括第二序列值的流的下一分组;确定第二序列值是否等于期望序列值;以及仅当第二序列值等于期望序列值时,才关闭与流相关联的TCP连接。
在另一个方面中,提供了一种防止网络上的攻击的方法,包括以下由计算机实现的步骤:从远程末端节点接收设置了TCP头部的RST位的流的分组;以及发送确认消息,而不关闭与流相关联的TCP连接并且不考虑分组中的序列值是否在允许的序列值的范围内。该方法还可以包括设置代表接收到设置了RST位的分组的标志;从远程末端节点接收设置了RST位并且包括序列值的流的下一分组;确定序列值是否等于期望序列值;以及仅当序列值等于期望序列值时,才关闭TCP连接。
在另一个方面中,提供了一种防止网络上的攻击的方法,包括以下步骤:从远程末端节点接收设置了头部的SYN位的流的分组;发送确认消息,而不关闭与流相关联的TCP连接并且不考虑分组中的序列值是否在允许的序列值的范围内;接收流的下一分组;以及当下一分组是TCP RST分组时,对下一分组执行上述两方面中任何一方面的步骤。
在其他方面中,本发明包含被配置用来执行前述步骤的计算机装置和计算机可读介质。另外,许多其他的特征和方面将从下面的描述和所附权利要求中变清楚。
在另一方面中,公开了用于防止企图导致分组交换网络中的拒绝服务的TCP RST攻击的方法。在一种方法中,在接收到TCP RST分组后,端点节点确定TCP片段是否包含有效的认证信息。仅当认证信息有效时,TCP RST片段才被接受并且TCP连接才被关闭。认证信息可包括重置类型值,以及两个端点的初始序列号或者执行认证的端点节点先前发送的TCP头部和选项值的拷贝。从而,由于攻击者无法得知或合理地猜测所需的认证信息,因此攻击被阻止。
根据一个方面,本发明提供了一种防止网络上的攻击的方法,其中所述攻击包括发送设置了重置(RST)位的伪造的传输控制协议(TCP)分组,该方法包括以下由计算机实现的步骤:作为已建立的TCP连接的一部分,从远程末端节点接收设置了RST位的TCP片段;确定TCP片段是否包含有效的认证信息;以及仅当认证信息有效时才接受TCP片段并关闭TCP连接。在一个特征中,确定步骤包括确定TCP片段的有效载荷中的发送者初始序列号(ISN)值和接收者ISN值是否都与存储在由接收过程维护的TCP控制块(TCB)中的相应ISN值相匹配。在另一个特征中,确定步骤包括确定TCP片段的有效载荷中的TCP头部和选项值是否与存储在由接收过程维护的TCP控制块(TCB)中的相应TCP头部和选项值相匹配。
在另一个特征中,认证信息包括TCP片段的有效载荷中的重置类型值、发送者初始序列号(ISN)值和接收者ISN值。在另一个特征中,认证信息包括TCP片段的有效载荷中的重置类型值、TCP头部和选项值。此外,该方法可包括确定认证信息无效或缺失;以及在不通知发送节点发生丢弃的情况下丢弃TCP片段。另一个特征提供了创建和存储指示接收到可能的欺骗性RST片段的日志条目的步骤。另一个特征提供了生成指示接收到可能的欺骗性RST片段的通知消息的步骤。
根据另一个特征,本发明包括:确定片段中的序列值是否在允许的序列值的范围内;以及仅当认证信息有效并且序列值在允许的序列值的范围内时才接受TCP片段并关闭TCP连接。在相关特征中,该方法可包括:确定片段中的序列值是否精确等于期望片段序列值;以及仅当认证信息有效并且序列值等于期望序列值时才接受TCP片段并关闭TCP连接。
2.0用于防止TCP拒绝服务攻击的方法
给出了两种用于防止TCP RST拒绝服务攻击的方法和一种用于防止TCP SYN攻击的方法。在用于RST攻击的第一方法中,当RST到达并且不包含下一期望序列值但是序列值在正确数据窗口内时,接收者节点发送确认但是并不关闭连接。如果合法发送节点已经关闭了连接,则远端节点将会生成RST作为对确认的回复,并且近端节点可以适当地关闭连接。
第二方法以类似方式操作,但是默认所有RST分组都是无效的。在接收到包括携带了期望序列值的分组在内的RST分组后,接收者节点自动发回确认,并且设置指示其已看见RST分组的标志。如果接收者节点随后接收到的是具有正确序列号的RST分组,则接收者节点关闭连接。如果其看见的下一片段不是RST分组,则标志被清除。
因此,在接收到RST分组后,接收者节点利用确认消息在当前连接中挑战对等节点。对等节点或者以RST分组作出响应(如果连接被真正关闭),或者不采取任何动作(如果连接保持打开)。所公开的方法提供了免受RST DOS攻击的保护,并且提供了响应于接收到RST分组的更快和更确切的连接终止。该方法一般应用于处于如RFC 793所定义的ESTABLISHED(已建立)或已同步状态的TCP连接的端点节点上。
为了防止TCP RST攻击,节点可以仅实现这里的方法中的一种,或者可以实现两种方法,并使得用户能够根据察觉的危险级别选择一种或另一种。通常,第二方法更适合于所察觉的更高危险级别。
2.1用于防止TCP RST攻击的第一方法
现在参考图1、图2A和图2B描述用于防止TCP RST攻击的第一方法。图1是示出用于防止TCP RST攻击的过程的一个实施例的状态图;图2A是示出在攻击进行时节点利用图1的过程交换的TCP消息的消息流程图;图2B是示出在没有攻击发生时节点利用图1的过程交换的TCP消息的消息流程图。
图1的过程可以实现在一个或多个计算机程序、指令序列或其他软件元素中,这些软件元素由充当TCP连接中的端点的网络元件执行。例如,图1可以实现为路由器、交换机或网络基础结构的其他元件的操作系统的TCP应用或特征的一部分。在图2A和图2B中,网络元件或节点R1、R2代表TCP连接中的端点。
节点R1、R2可以包括路由器、交换机、集线器、网关、个人计算机、工作站、服务器或者连接到或可以连接到网络或与网络通信的其他设备。攻击者202是将有害的或伪造的片段或分组插入到已在节点R1和R2之间建立的TCP流中的任何实体。攻击者202可以包括工作站、个人计算机、路由器、交换机或其他处理元件。
节点R1、R2和攻击者202加入一个或多个网络。另外,节点R1、R2和攻击者202可以处于局域网(LAN)、广域网(WAN)、一个或多个互联网、或者其中使用传输控制协议(TCP)来建立网络元件之间的连接的任何其他种类的网络或其子集中,或者可以通过这些网络被访问。这种网络可以包括附加的网络基础结构元件(如路由器、交换机等)和其他末端台站设备(如工作站、打印机、服务器等)。在一种实现方式中,节点R1、R2和攻击者202都通信地耦合到诸如互联网之类的公共分组交换网络。
节点R1、R2和攻击者202可以连接到附加的网络元件。图2A、2B中所示的系统仅是许多可能的不同配置中的一种。其他实施例可以包括比图示情形更少或更多的系统组件。具体而言,在实际系统中可以有任何数目的网络元件。
为了描述图1,假设图2A、图2B的R2已经实现了图1的过程;节点R1可以实现相同的过程,或者可以仅实现RFC 793中所定义的TCP。
首先,实现图1的元件处于空闲状态101中,该状态广泛地代表线程、进程或实现或实施TCP连接的其他元素的相对不活动性的任何状态。当接收到TCP SYN分组时转移到执行握手102,而不需要设置确认(ACK)或重置(RST)位,以发起新连接的握手。如果握手成功,则转移到正常TCP数据通信状态104。握手和建立连接的细节以及响应于不成功握手的处理都与本公开无关,但是在RFC 793中有所定义。
在状态104,在端点节点之间交换数据。例如,节点R1、R2如图1中箭头1指示的那样传输数据。在状态104,节点R1、R2之间的TCP连接处于ESTABLISHED或已同步状态。
在接收到设置了RST位的TCP分组后,转移到评估序列值状态106。在状态106中,评估在TCP头部中携带的序列值,并且依赖于该序列值是等于所期望的下一序列值,不等于所期望的下一序列值但是在允许的下一序列值的范围内,还是不等于所期望的下一序列值也不在允许的下一序列值的范围内,发生若干种转移中的一种。在图2A的攻击场景中,设置了RST位的TCP分组可以从攻击者202接收到,如箭头2所指示,或者从诸如R2之类的合法端点接收到,如图2B中的箭头2所指示。
如果该序列值等于所期望的下一序列值,则TCP连接被关闭,如关闭连接状态108所指示。由于所有可能的序列值的范围是232,因此攻击者几乎不可能猜出准确的所期望的下一序列值。因此,包括完全正确的下一序列值的RST分组被假定是要求关闭连接的合法RST分组。然后转移到空闲状态101。例如,可以终止代表当前TCP连接的线程或进程,并且可以收回相关联的资源。
如果该序列值不等于所期望的下一序列值但是在允许的下一序列值的范围内,则发送确认消息,如发送确认状态110所指示。可以使用在头部中设置了ACK位并且携带下一期望序列值的TCP分组。在攻击场景中发送确认消息在图2A中表示为箭头3;在正常场景中发送确认消息在图2B中示为箭头3。然后转移到正常状态104。
事实上,在状态110发送的确认消息充当对另一端点的挑战,以证实关于准确的下一期望序列号的知识(如果该端点合法地试图关闭连接的话)。从而,在图2A的攻击场景中,节点R1在对箭头3的确认消息的回复时不采取任何动作,因为其没有发起箭头2的RST分组。根据RFC793,节点R1不需要采取动作,因为主动提供的确认消息可以被忽略。结果,攻击者202的攻击被阻止。
相反地,在图2B的正常场景中,节点R1在箭头4发出又一RST分组,该RST分组将包括节点R1在箭头3的ACK消息中接收到的准确的下一期望序列值。作为响应,节点R1转移到关闭连接状态108,在状态108中,节点R1适当地关闭连接。
在状态106中,如果该序列值不等于所期望的下一序列值也不在允许的下一序列值的范围内,则分组被丢弃,如丢弃分组状态112所指示。可选地,可以采取进一步的响应动作,如响应动作状态114所示。这种响应动作可以包括累积计数器(该计数器对伪造的RST分组计数,直到达到指定的阈值),生成去往网络操作中心的通知消息,在事件总线上公布事件等等。
2.2用于防止TCP RST攻击的第二方法
现在参考图3、图4A和图4B描述用于防止TCP RST攻击的第二方法。图3是示出用于防止TCP RST攻击的过程的另一实施例的状态图;图4A是示出在攻击进行时节点利用图3的过程交换的TCP消息的消息流程图;图4B是示出在没有攻击发生时节点利用图3的过程交换的TCP消息的消息流程图。
首先参考图3,连接最初处于空闲状态101中,并且进行到执行握手状态102和正常数据通信状态104,如上针对图1所述。TCP连接处于ESTABLISHED或已同步状态。假定随后接收到TCP RST分组。作为响应,转移到测试标志状态302,在状态302中,测试指示先前接收到RST分组的标志。如果未设置标志,则转移到设置标志状态304,在状态304中,设置标志。在一个实施例中,标志只在RST分组中携带的序列值落在允许的值的范围内的情况下才被设置。或者,标志的设置与序列值是否在允许范围内无关。
然后,确认消息被发送回远程末端节点,如发送确认状态306所指示。状态306的确认消息的发送与包含在TCP RST分组中的序列值是否等于所期望的下一序列值或者是否在允许的序列值的窗口内无关。然后转移到等待下一分组状态307。
在等待下一分组状态307中,过程等待接收下一TCP分组。如果下一分组是RST分组,则转移到评估序列值状态308。检查RST分组内的序列值。如果该序列值与下一期望序列值精确匹配,则连接被关闭,如关闭连接状态108所示。
如果该序列值不与下一期望序列值精确匹配,则在丢弃分组状态112中丢弃分组,TCP连接不受影响。不考虑序列值是否在允许窗口内,这是因为合法远程末端节点总是以期望序列值来回复确认消息。可选地,在响应动作状态114中,可以采取其他响应动作,如上结合图1所述。
如果在等待下一分组状态307中接收的下一TCP分组不是RST分组,或者是具有不正确的序列号的RST分组,则标志值被清除,如清除标志状态310所指示。然后转移到正常数据通信状态104。
下面在攻击的上下文中和连接的合法关闭的上下文中描述前述过程的操作。
参考图4A,假定节点R1和R2已经建立了正常的TCP通信,如箭头1所指示,然后攻击者202发送伪造的RST分组,如箭头2所指示。作为响应,接收端点节点R2利用图3的过程在设置标志状态304设置标志值,如图4A的数字3所指示。节点R2发送确认消息,如箭头4所示并且如发送确认状态306所指示。由于节点R1还未关闭连接,因此节点R1将确认消息视作不需要响应的主动提供的确认。因此,节点R1继续在正常TCP通信中发送数据,如箭头5所指示。结果,攻击者202的攻击被阻止(thwarted)。
在图4B的正常场景中,节点R1和R2再一次建立正常TCP通信,如箭头1所指示,但是节点R1随后关闭连接并向接收节点R2发送合法RST分组。作为响应,节点R2设置标志值(数字3)并发送包含下一期望序列值的确认消息(箭头4)。
由于节点R1已经关闭了连接,因此节点R1以包含期望序列值的另一RST分组作出响应。结果,R2转移到图3的状态308、状态108和状态310,适当地关闭连接并清除标志值,如图4B的数字6和数字7所指示。
2.3用于防止TCP SYN攻击的方法
图5是示出用于防止TCP SYN攻击的过程的一个实施例的状态图;图6A是示出在攻击进行时节点利用图5的过程交换的TCP消息的消息流程图;图6B是示出在没有攻击发生时节点利用图5的过程交换的TCP消息的消息流程图。
首先参考图5,从空闲状态101开始,经过执行握手状态102建立连接,并且在正常数据通信状态104发生第一和第二端点节点之间的正常TCP通信。TCP连接处于ESTABLISHED或已同步状态中。假定第一端点节点随后接收到在头部中设置了SYN位的TCP分组。转移到发送确认状态502,在状态502中,第一端点节点向第二端点发送确认消息。状态502的确认消息的发送与包含在TCP SYN分组中的序列值是否等于期望下一序列值或者是否在允许下一序列值的窗口内无关。
相反地,在RFC 793的传统实现方式下,如果TCP SYN分组的序列值落在允许的下一序列值的窗口内,则接收到该TCP SYN分组使得接收节点发送TCP RST分组。
然后直接转移到等待下一分组状态504,在状态504中,第一端点节点等待接收下一TCP分组。
如果下一分组不是RST分组,则转移到正常数据通信状态104,并且对于连接不采取任何动作。这种转移例如会在发送节点还未关闭连接并且将状态502的确认视作不需要回复的主动提供的确认的情况下发生。
如果下一分组是RST分组,则可选地发起上述用于防止RST分组的第一方法或第二方法。从而,在状态506,第一端点节点进入图1的状态106或图3的状态302。以这种方式,刚接收到的RST分组受到与图1或图3的过程中提供的相同的攻击检查。执行这种额外的检查不是必需的,但是可以提供确保RST合法的额外保证。
在另一种替换实现方式中,图1或图3的过程可以只在在状态504中接收到的TCP RST分组包含不等于期望下一序列值的序列值的情况下执行。如果在状态504接收到包含等于期望下一序列值的序列值的TCP RST分组,则连接可以被关闭,因为最有可能地,只有实际关闭连接的端点节点才发送了这种分组。
图5的过程在图6A的攻击场景中和图6B的正常场景中可以按下述方式操作。首先参考图6A,假定作为TCP端点节点的节点R1和R2建立正常TCP通信,如箭头1所示。攻击者202随后向节点R2发送伪造的TCPRST分组,如箭头2所示。
作为响应,如箭头3所指示并且如发送确认状态502所示,R2发送确认消息,并且进入等待下一分组状态504。由于节点R1还未关闭连接,因此节点R1将确认消息视作不需要响应的主动提供的确认。因此,节点R1对连接不采取任何动作。
在其后的某时,节点R1在TCP分组中发送进一步的数据。在状态504,节点R2确定下一分组不是RST分组,因此转移到正常数据通信状态104。结果,攻击者202的攻击被防止。
在图6B的正常场景中,节点R1和R2在箭头1建立TCP连接并传送数据。节点R1随后适当地关闭连接并发送TCP RST分组,如箭头2所示。作为响应,节点R2在箭头3发送由发送确认状态502提供的确认消息,并进入等待下一分组状态504。
由于节点R1已经关闭连接,因此节点R1在箭头4以RST分组作出回复。作为响应,在状态504,节点R2确定下一分组是RST分组,并且转移到状态506。节点R2随后根据图1或图3的方法评估RST分组,如图6B的数字5所指示。
因此,RST分组经历进一步的评估以确定其是否代表攻击。图2B、图4B中所示的进一步的消息流被执行,其中节点R2发送另一确认消息作为挑战,节点R1以正确的期望序列号作为回复。连接随后被适当地关闭。
3.0利用嵌入的认证信息来防止TCP RST拒绝服务攻击
现在描述利用嵌入的认证信息来防止TCP RST拒绝服务攻击的方法。为一般而言RST片段所存在的两种情况提供了方法。第一种情况发生在一个TCP端点尝试终止连接时。第二种情况发生在端点重启动时。
在第一种情况和第二种情况中,根据这里的方法,合法的TCP端点节点将标识证书与TCP RST片段一起发送,以使接收节点能够认证RST片段。一种认证方法使用TCP连接的初始序列号(ISN),该序列号是作为握手过程的一部分在TCP连接中由每个节点生成的伪随机数。两个TCP主机都具有关于两个ISN的知识,并且可将ISN存储在TCP控制块(TCB)中,该TCP控制块是包含有关于连接的信息的基本数据结构。在传统作法中,TCP RST片段不包含任何数据,并且发送和处理RST片段不递增任何一个序列号。在一种认证方法中,通过将使TCP能够认证片段的TCP连接的发送和接收ISN嵌入到RST片段中,得以利用前述特性。
图8A是与标识证书804相关联的TCP RST片段802的框图。标识证书804可被携带在TCP片段的有效载荷中。在RFC 793中,TCP RST片段的有效载荷没有指定的目的或限定的字段或值。从而,这里的方法是后向兼容的;不实现这些方法并接收到有效载荷中具有标识证书的TCP RST片段的TCP实现方式将会简单地忽略该有效载荷。
在TCP端点节点尝试终止或中断(abort)连接的第一种情况中,预期合法节点将发送在RST片段有效载荷中具有发送者的初始序列号(ISN)和接收者的ISN的TCP RST片段。图8B是这种情况下的具有认证信息的TCP RST片段的框图。TCP RST片段802与请求连接中断的TYPE(类型)值、发送者ISN值808和接收者ISN值810相关联。TYPE值806、发送者ISN值808和接收者ISN值810总地对应于图8A的标识证书804。现在描述图8B形式的片段的使用,然后描述第二种情况的不同有效载荷和处理。
图9是用于利用嵌入的认证信息防止TCP RST拒绝服务攻击的过程的流程图。在步骤901中,建立TCP连接。步骤901代表执行传统的三次TCP握手以及第一端点节点和第二端点节点之间的TCP连接达到RFC 793中定义的ESTABLISHED状态所必需的任何其他步骤。
在步骤902中,一个端点节点接收到TCP RST片段。在步骤903中,执行测试以确定在TCP RST片段中是否存在具有任何数据的有效载荷。如果不存在有效载荷。则控制可传递到步骤916,跳过所有其他处理。在步骤916中,RST片段被默默地丢弃,即在不向发送节点发送指示发生丢弃的消息的情况下被丢弃。
可选地,在步骤918中,写一个日志条目以指示接收到了欺骗性RST片段。作为附加或作为替换,步骤918可提供生成指示接收到可能的欺骗性RST片段的通知消息的步骤。
步骤903还可包括执行阈值测试或筛选测试来确定接收到的RST片段中携带的当前片段序列号是否在当前允许的TCP序列值窗口内。如果当前片段序列号在允许的窗口之外,则在步骤916,片段被丢弃。在一些实施例中,作为步骤903的一部分,执行对序列号的精确匹配的测试。如果未找到精确匹配,则片段被丢弃。虽然这些步骤是可选的,但通常会对所有接收到的TCP片段执行这些步骤,并且它们进一步增强了这里的方法的安全性益处。
在步骤904中,执行测试以确定片段中携带的TYPE值是否指示ABORT(中断)。在这里的方法中,定义了两个可能的重置类型值,即TYPE=ABORT和TYPE=NOTCB,作为TCP RST片段的有效载荷的一部分;在其他实施例中,可能有其他的TYPE值,用于处理接收到RST片段的其他情况。
如果TYPE值是ABORT,则出现了第一情况。在步骤910中,执行测试以确定TCP RST片段的有效载荷中的发送者ISN值和接收者ISN值是否都与由执行图9的过程的接收节点在内部维护的TCP控制块(TCB)中的相应值相匹配。如果未找到匹配,则接收节点可假定RST片段是欺骗性的或错误的。因此,控制传递到步骤916,在该步骤中,RST片段被丢弃,并传递到步骤918,在该步骤中,写日志条目以指示接收到了欺骗性RST片段。
如果在步骤908找到匹配,则RST片段已被成功认证。因此,在步骤914中,RST片段被接受,并且当前的TCP连接根据传统的连接关闭步骤被关闭。
如果在步骤904测试出TYPE值不是ABORT,则在步骤906中,针对TYPE值NOTCB执行测试,该值是由发生故障并丢失了TCB的内容并且处于重启动过程中的发送端点节点提供的。从而,TYPE=NOTCB指示发送者没有TCB可用;但是,接收者认为连接处于ESTABLISHED状态中。如果在步骤906中TYPE值不是NOTCB,则TYPE值具有未定义的或未识别出的值。在这种情况下,控制传递到步骤916,在该步骤中RST片段被丢弃。在其他实施例中,如果定义并处理了其他TYPE值,则当步骤906得出否定结果时可对这些类型值执行进一步的处理。
如果步骤906的测试为真,则图9的过程预期TCP RST片段有效载荷包含由执行图9的过程的节点先前发送的片段的TCP头部和选项值的拷贝。图10是用于端点重启动时的具有认证信息的TCP RST片段的框图。图10的片段802包括TYPE值806A、TCP头部字段1002和TCP选项字段1004。TCP头部字段1002例如可以包括先前发送到断言RST片段802的节点的片段的前20字节。
在步骤910中,执行测试以确定接收到的RST片段的有效载荷是否匹配先前发送的片段的TCP头部和选项值。如果是,则执行图9的接收节点认证了接收到的RST片段,这是因为只有合法的接收者才会具有当前节点先前发送的准确的TCP头部和选项值。然后,可执行用于处理节点重启动情况的传统处理;例如,可重新发起TCP三次握手。
如果步骤910的测试为假,则控制传递到步骤916,在该步骤中,RST片段被丢弃,如上所述。
与现有技术相比,前述方法提供了许多益处。该方法易于实现在软件中,并且使用了现有的随机ISN值。由于ISN值一般是伪随机的32位值,因此该方法是鲁棒且安全的。此外,在重启动情况中,使用TCP头部的拷贝来验证真实性使得几乎不可能欺骗分组;结果,攻击者非常难以渗透TCP连接。具体而言,要成功地回避所公开的方法,攻击者必须猜测以下所有内容,而即使对于强力攻击这也被认为是极端困难的:标识TCP连接的值的4元组,包括发送者端口、接收者端口、发送者IP地址和接收者IP地址;处于允许的序列值窗口内的32位片段序列号,或者在一些实施例中要求序列号的精确匹配;32位发送者ISN;以及32位接收者ISN。此外,不涉及额外的片段或分组往返。
这里的方法所提供的安全性益处还间接地有益于更高级别的协议和应用,例如BGP,这些更高级别的协议和应用遭受到的由于关闭下层TCP连接而导致的计划外重置、故障或攻击将会更少。
这些方法的实施例可实现在任何实现TCP栈的软件或硬件元件中,例如作为路由器、交换机或网络基础结构的其他节点的操作系统的一部分,或者作为个人计算机、工作站或其他网络末端台站节点的一部分。
4.0实现机构—硬件概述
图7是示出可以实现实施例的计算机系统700的框图。优选实施例是利用运行在诸如路由器设备之类的网络元件上的一个或多个计算机程序实现的。从而,在该实施例中,计算机系统700是路由器。
计算机系统700包括用于传输信息的总线702或其他通信机构和与总线702相耦合用于处理信息的处理器704。计算机系统700还包括诸如随机存取存储器(RAM)、闪存或其他动态存储设备之类的主存储器706,其耦合到总线702,用于存储信息和处理器704要执行的指令。主存储器706还可用于存储在处理器704执行指令期间的临时变量或其他中间信息。计算机系统700还包括只读存储器(ROM)708或其他静态存储设备,其耦合到总线702,用于存储静态信息和处理器704的指令。提供了诸如磁盘、闪存或光盘之类的存储设备710,其耦合到总线702,用于存储信息和指令。
通信接口718可以耦合到总线702,用于将信息和命令选择传输到处理器704。接口718是诸如RS-232或RS-422接口之类的传统串行接口。外部终端712或其他计算机系统利用接口714连接到计算机系统700并向其提供命令。运行在计算机系统700中的固件或软件提供终端接口或基于字符的命令接口,从而可以向计算机系统给出外部命令。
交换系统716耦合到总线702,并且具有去往一个或多个外部网络元件的输入接口714和输出接口719。外部网络元件可以包括耦合到一个或多个主机724的本地网络722,或者诸如因特网728之类的具有一个或多个服务器730的全球网络。交换系统716根据公知的预定协议和协定将到达输入接口714的信息流量交换到输出接口719。例如,交换系统716与处理器704协同操作可以确定到达输入接口714的数据分组的目的地,并利用输出接口719将其发送到正确的目的地。目的地可以包括主机724、服务器730、其他末端台站或者本地网络722或因特网728中的其他路由和交换设备。
本发明涉及使用计算机系统700来实现这里的方法。根据本发明的一个实施例,这里的方法的实现方式由计算机系统700响应于处理器704执行包含在主存储器706中的一条或多条指令的一个或多个序列而提供。这些指令可以被从另一计算机可读介质(如存储设备710)读取到主存储器706中。包含在主存储器706中的指令序列的执行使得处理器704执行这里描述的过程步骤。也可以采用多处理布置中的一个或多个处理器来执行包含在主存储器706中的指令序列。在替换实施例中,可以使用硬线电路来替代软件指令或与软件指令相组合以实现本发明。从而,本发明的实施例并不限于硬件电路和软件的任何特定组合。
这里所用的术语“计算机可读介质”指参与向处理器704提供指令以供执行的任何介质。这种介质可以采取许多形式,包括但不限于:非易失性介质、易失性介质和传输介质。非易失性介质例如包括光盘或磁盘,如存储设备710。易失性介质包括动态存储器,如主存储器706。传输介质包括同轴电缆、铜线和光纤,包括含总线702的线路。传输介质也可以采取声波或光波的形式,例如在无线电波和红外数据通信期间生成的声波或光波。
计算机可读介质的常见形式例如包括软盘、柔性盘、硬盘、磁带或任何其他磁介质,CD-ROM、任何其他光介质,穿孔卡、纸带、任何其他具有孔图案的物理介质,RAM、PROM和EPROM、FLASH-EPROM、任何其他存储器芯片或卡盘,下文中描述的载波,或者计算机可以读取的任何其他介质。
计算机可读介质的各种形式可用于将一条或多条指令的一个或多个序列传输到处理器704以供执行。例如,指令可以首先承载在远程计算机的磁盘上。远程计算机可以将指令加载到其动态存储器中,并利用调制解调器经由电话线发送指令。计算机系统700本地的调制解调器可以接收电话线上的数据,并使用红外发送器来将数据转换为红外信号。耦合到总线702的红外检测器可以接收在红外信号中携带的数据,并将数据置于总线702上。总线702将数据传输到主存储器706,处理器704从主存储器706取得指令并执行指令。主存储器706接收的指令可以可选地在处理器704执行之前或之后存储到存储设备710上。
通信接口718也提供到连接到本地网络722的网络链路720的双向数据通信耦合。例如,通信接口718可以是综合业务数字网络(ISDN)卡或调制解调器,以提供到相应类型电话线的数字通信连接。作为另一个示例,通信接口718可以是局域网(LAN)卡,以提供到兼容LAN的数据通信连接。也可以实现无线链路。在任何这种实现方式中,通信接口718发送并接收电的、电磁的或光信号,这些信号携带了代表各种类型信息的数字数据流。
网络链路720一般经过一个或多个网络提供到其他数据设备的数据通信。例如,网络链路720可以经过本地网络722提供到主机计算机724或由因特网服务供应商(ISP)726操作的数据设备的连接。ISP 726又经过全球分组数据通信网络(现在通常称为“因特网”728)提供数据通信服务。本地网络722和因特网728都使用携带数字数据流的电的、电磁的或光信号。经过各种网络的信号和在网络链路720上并经过通信接口718的信号(这些信号携带去往和来自计算机系统700的数字数据)是传输信息的载波的示例性形式。
计算机系统700可以经过网络、网络链路720和通信接口718发送消息并接收数据,包括程序代码。在因特网示例中,服务器730可以经过因特网728、ISP 726、本地网络722和通信接口718发送针对应用程序的请求代码。根据本发明,一个这种下载的应用程序提供了如这里所述的检测RST泛洪和/或SYN-RST拒绝服务攻击的方法。
处理器704可以在接收时执行所接收的代码,和/或将其存储在存储设备710或其他非易失性存储介质中以供后续执行。以这种方式,计算机系统700可以获得载波形式的应用代码。
5.0扩展和替换
在前述说明书中,已参考特定实施例描述了本发明。但是,应当清楚,在不脱离本发明更宽广的精神和范围的前提下,可以进行各种修改和改变。因此,说明书和附图都应当认为是示例性的,而非限制性的。
Claims (20)
1.一种由机器实现的防止网络上的攻击的方法,其中所述攻击包括发送设置了重置(RST)位的伪造的传输控制协议(TCP)片段,所述方法包括:
作为已建立的TCP连接的一部分,从远程末端节点接收设置了RST位的TCP片段;
通过确定所述TCP片段是否包含有效的认证信息来确定所述TCP片段是否是伪造的TCP片段,其中所述认证信息位于所述TCP片段的有效载荷中;以及
仅当所述认证信息有效时才接受所述TCP片段并关闭所述TCP连接。
2.如权利要求1所述的方法,其中所述确定步骤包括确定所述TCP片段的有效载荷中的发送者初始序列号(ISN)值和接收者ISN值是否都与存储在由接收过程维护的TCP控制块(TCB)中的相应ISN值相匹配。
3.如权利要求1所述的方法,其中所述确定步骤包括确定所述TCP片段的有效载荷中的TCP头部和选项值是否与存储在由接收过程维护的TCP控制块(TCB)中的相应TCP头部和选项值相匹配。
4.如权利要求1所述的方法,其中所述认证信息包括所述TCP片段的有效载荷中的重置类型值、发送者初始序列号(ISN)值和接收者ISN值。
5.如权利要求1所述的方法,其中所述认证信息包括所述TCP片段的有效载荷中的重置类型值、TCP头部和选项值。
6.如权利要求1、2、3、4或5中任何一个所述的方法,还包括以下步骤:确定所述认证信息无效或缺失;以及在不通知发送节点发生丢弃的情况下丢弃所述TCP片段。
7.如权利要求6所述的方法,还包括创建和存储指示接收到可能的欺骗性RST片段的日志条目的步骤。
8.如权利要求6所述的方法,还包括生成指示接收到可能的欺骗性RST片段的通知消息的步骤。
9.如权利要求1所述的方法,还包括以下步骤:
确定所述片段中的序列值是否在允许的序列值的范围内;以及
仅当所述认证信息有效并且所述序列值在所述允许的序列值的范围内时才接受所述TCP片段并关闭所述TCP连接。
10.如权利要求1所述的方法,还包括以下步骤:
确定所述片段中的序列值是否精确等于期望片段序列值;以及
仅当所述认证信息有效并且所述序列值等于所述期望序列值时才接受所述TCP片段并关闭所述TCP连接。
11.一种用于防止网络上的攻击的装置,其中所述攻击包括发送设置了重置(RST)位的伪造的传输控制协议(TCP)片段,所述装置包括:
用于作为已建立的TCP连接的一部分,从远程末端节点接收设置了RST位的TCP片段的装置;
用于通过确定所述TCP片段是否包含有效的认证信息来确定所述TCP片段是否是伪造的TCP片段的装置,其中所述认证信息位于所述TCP片段的有效载荷中;以及
用于仅当所述认证信息有效时才接受所述TCP片段并关闭所述TCP连接的装置。
12.如权利要求11所述的装置,其中所述用于确定的装置包括用于确定所述TCP片段的有效载荷中的发送者初始序列号(ISN)值和接收者ISN值是否都与存储在由接收过程维护的TCP控制块(TCB)中的相应ISN值相匹配的装置。
13.如权利要求11所述的装置,其中所述用于确定的装置包括用于确定所述TCP片段的有效载荷中的TCP头部和选项值是否与存储在由接收过程维护的TCP控制块(TCB)中的相应TCP头部和选项值相匹配的装置。
14.如权利要求11所述的装置,其中所述认证信息包括所述TCP片段的有效载荷中的重置类型值、发送者初始序列号(ISN)值和接收者ISN值。
15.如权利要求11所述的装置,其中所述认证信息包括所述TCP片段的有效载荷中的重置类型值、TCP头部和选项值。
16.如权利要求11、12、13、14或15中任何一个所述的装置,还包括:用于确定所述认证信息无效或缺失的装置;以及用于在不通知发送节点发生丢弃的情况下丢弃所述TCP片段的装置。
17.如权利要求16所述的装置,还包括用于创建和存储指示接收到可能的欺骗性RST片段的日志条目的装置。
18.如权利要求16所述的装置,还包括用于生成指示接收到可能的欺骗性RST片段的通知消息的装置。
19.如权利要求11所述的装置,还包括:
用于确定所述片段中的序列值是否在允许的序列值的范围内的装置;以及
用于仅当所述认证信息有效并且所述序列值在所述允许的序列值的范围内时才接受所述TCP片段并关闭所述TCP连接的装置。
20.如权利要求11所述的装置,还包括:
用于确定所述片段中的序列值是否精确等于期望片段序列值的装置;以及
用于仅当所述认证信息有效并且所述序列值等于所述期望序列值时才接受所述TCP片段并关闭所述TCP连接的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/842,015 US7472416B2 (en) | 2004-01-09 | 2004-05-06 | Preventing network reset denial of service attacks using embedded authentication information |
US10/842,015 | 2004-05-06 | ||
PCT/US2005/015261 WO2005125079A2 (en) | 2004-05-06 | 2005-05-03 | Preventing network reset denial of service attacks using embedded authentication information |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101390064A CN101390064A (zh) | 2009-03-18 |
CN101390064B true CN101390064B (zh) | 2011-01-12 |
Family
ID=35510447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800144596A Active CN101390064B (zh) | 2004-05-06 | 2005-05-03 | 利用嵌入的认证信息防止网络重置拒绝服务攻击 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7472416B2 (zh) |
EP (1) | EP1751910B1 (zh) |
CN (1) | CN101390064B (zh) |
CA (1) | CA2565409C (zh) |
WO (1) | WO2005125079A2 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203961B1 (en) * | 2004-01-09 | 2007-04-10 | Cisco Technology, Inc. | Preventing network reset denial of service attacks |
US7948902B1 (en) * | 2004-03-03 | 2011-05-24 | Globalfoundries Inc. | Method of generating packets without repetition in verification of a device |
US8493972B2 (en) * | 2004-05-20 | 2013-07-23 | Ca, Inc. | Systems and methods for detecting denial of service attacks |
US8250650B2 (en) * | 2004-09-09 | 2012-08-21 | International Business Machines Corporation | Front-end protocol for server protection |
US20060095517A1 (en) * | 2004-10-12 | 2006-05-04 | O'connor Clint H | Wide area wireless messaging system |
US20060107324A1 (en) * | 2004-11-18 | 2006-05-18 | International Business Machines Corporation | Method to prevent denial of service attack on persistent TCP connections |
US7930740B2 (en) * | 2005-07-07 | 2011-04-19 | International Business Machines Corporation | System and method for detection and mitigation of distributed denial of service attacks |
US20070104109A1 (en) * | 2005-11-04 | 2007-05-10 | Innovative Sonic Limited | Method and apparatus for RLC protocol error handling in a wireless communications system |
US20070233886A1 (en) * | 2006-04-04 | 2007-10-04 | Fan Kan F | Method and system for a one bit TCP offload |
CN101115025B (zh) * | 2006-12-01 | 2011-01-19 | 华为技术有限公司 | 在切换过程中传送复位消息序列号的方法、装置及系统 |
KR100889670B1 (ko) * | 2007-08-08 | 2009-03-19 | 삼성에스디에스 주식회사 | 모바일 디바이스상에서 tcp 기반의 서비스거부 공격의 차단 방법 |
KR100977365B1 (ko) * | 2007-12-20 | 2010-08-20 | 삼성에스디에스 주식회사 | 바이러스 및 네트워크 공격에 대한 자기 방어 기능을 갖는모바일 디바이스 및 이를 이용한 자기 방어 방법 |
US8209420B2 (en) * | 2008-06-18 | 2012-06-26 | International Business Machines Corporation | Management of duplicate TCP connections using sequence and acknowledgment numbers |
CN101771564B (zh) * | 2008-12-31 | 2013-10-09 | 华为技术有限公司 | 会话上下文的处理方法、装置和系统 |
US8392985B2 (en) * | 2008-12-31 | 2013-03-05 | Intel Corporation | Security management in system with secure memory secrets |
US20110107394A1 (en) * | 2009-10-30 | 2011-05-05 | Nathan Stanley Jenne | Authentication methods and devices |
EP2438511B1 (en) | 2010-03-22 | 2019-07-03 | LRDC Systems, LLC | A method of identifying and protecting the integrity of a set of source data |
CN102469084B (zh) * | 2010-11-10 | 2015-12-16 | 厦门市美亚柏科信息股份有限公司 | 一种防止tcp插入式拒绝服务攻击的方法和装置 |
US8806633B2 (en) * | 2011-08-22 | 2014-08-12 | Cisco Technology, Inc. | Coordinated detection of a grey-hole attack in a communication network |
US8832830B2 (en) * | 2011-11-28 | 2014-09-09 | International Business Machines Corporation | Securing network communications from blind attacks with checksum comparisons |
WO2014046974A2 (en) | 2012-09-20 | 2014-03-27 | Case Paul Sr | Case secure computer architecture |
FI126032B (en) | 2013-03-07 | 2016-05-31 | Airo Finland Oy | Detection of threats in communication networks |
US20150012792A1 (en) * | 2013-07-03 | 2015-01-08 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for providing a transmission control protocol minimum retransmission timer |
US9154460B1 (en) * | 2014-02-12 | 2015-10-06 | Sonus Networks, Inc. | Methods and apparatus for denial of service resistant policing of packets |
US9634908B2 (en) * | 2014-04-23 | 2017-04-25 | Cisco Technology, Inc. | Determining characteristics of a connection traversing a packet switching device |
US9954891B2 (en) * | 2015-05-18 | 2018-04-24 | Verizon Digital Media Services Inc. | Unobtrusive and dynamic DDoS mitigation |
US10440147B2 (en) | 2015-11-24 | 2019-10-08 | William Edward Woodcock, IV | Quality-of-service management for domain name service |
CN106101161B (zh) * | 2016-08-26 | 2019-02-01 | 网宿科技股份有限公司 | 一种用于处理伪造的tcp数据包的方法和系统 |
CN106487817B (zh) * | 2016-12-28 | 2019-09-17 | 北京奇艺世纪科技有限公司 | 一种tcp连接的关闭方法及装置 |
CN107070970B (zh) * | 2016-12-29 | 2020-07-03 | 北京奇艺世纪科技有限公司 | 一种传输控制协议tcp连接的关闭方法及装置 |
US10715535B1 (en) | 2016-12-30 | 2020-07-14 | Wells Fargo Bank, N.A. | Distributed denial of service attack mitigation |
US20190182286A1 (en) * | 2017-12-11 | 2019-06-13 | Xm Cyber Ltd. | Identifying communicating network nodes in the presence of Network Address Translation |
US10944783B2 (en) | 2018-07-12 | 2021-03-09 | At&T Intellectual Property I, L.P. | Dynamic denial of service mitigation system |
CN110943964B (zh) * | 2018-09-21 | 2022-07-22 | 华为技术有限公司 | 数据校验方法、装置及存储介质 |
WO2020171765A1 (en) * | 2019-02-22 | 2020-08-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Mitigating dos attacks |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687758B2 (en) * | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
US6751668B1 (en) * | 2000-03-14 | 2004-06-15 | Watchguard Technologies, Inc. | Denial-of-service attack blocking with selective passing and flexible monitoring |
US7275093B1 (en) * | 2000-04-26 | 2007-09-25 | 3 Com Corporation | Methods and device for managing message size transmitted over a network |
EP1161022A1 (en) * | 2000-05-25 | 2001-12-05 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Selective repeat protocol with dynamic timers |
US7013482B1 (en) | 2000-07-07 | 2006-03-14 | 802 Systems Llc | Methods for packet filtering including packet invalidation if packet validity determination not timely made |
US6779033B1 (en) * | 2000-12-28 | 2004-08-17 | Networks Associates Technology, Inc. | System and method for transacting a validated application session in a networked computing environment |
US7301899B2 (en) * | 2001-01-31 | 2007-11-27 | Comverse Ltd. | Prevention of bandwidth congestion in a denial of service or other internet-based attack |
EP1251661B1 (en) * | 2001-04-04 | 2008-08-13 | Telefonaktiebolaget LM Ericsson (publ) | Data flow control method |
WO2003049354A1 (en) * | 2001-12-04 | 2003-06-12 | Nokia Corporation | Method and system for dispatching multiple tcp packets from communication systems |
US7076555B1 (en) * | 2002-01-23 | 2006-07-11 | Novell, Inc. | System and method for transparent takeover of TCP connections between servers |
US8370936B2 (en) * | 2002-02-08 | 2013-02-05 | Juniper Networks, Inc. | Multi-method gateway-based network security systems and methods |
US7277963B2 (en) * | 2002-06-26 | 2007-10-02 | Sandvine Incorporated | TCP proxy providing application layer modifications |
US7069438B2 (en) * | 2002-08-19 | 2006-06-27 | Sowl Associates, Inc. | Establishing authenticated network connections |
GB0228713D0 (en) * | 2002-12-09 | 2003-01-15 | Barron Mccann Ltd | Method and apparatus for secure TCP.IP communication |
US7979694B2 (en) * | 2003-03-03 | 2011-07-12 | Cisco Technology, Inc. | Using TCP to authenticate IP source addresses |
-
2004
- 2004-05-06 US US10/842,015 patent/US7472416B2/en active Active
-
2005
- 2005-05-03 WO PCT/US2005/015261 patent/WO2005125079A2/en active Application Filing
- 2005-05-03 EP EP05791621.5A patent/EP1751910B1/en active Active
- 2005-05-03 CN CN2005800144596A patent/CN101390064B/zh active Active
- 2005-05-03 CA CA2565409A patent/CA2565409C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2565409A1 (en) | 2005-12-29 |
US20050216954A1 (en) | 2005-09-29 |
EP1751910A2 (en) | 2007-02-14 |
EP1751910A4 (en) | 2012-10-24 |
US7472416B2 (en) | 2008-12-30 |
WO2005125079A2 (en) | 2005-12-29 |
CA2565409C (en) | 2011-08-23 |
CN101390064A (zh) | 2009-03-18 |
WO2005125079A3 (en) | 2006-12-21 |
EP1751910B1 (en) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101390064B (zh) | 利用嵌入的认证信息防止网络重置拒绝服务攻击 | |
CN1954545B (zh) | 用于认证通信流量的方法和装置 | |
CA2553102C (en) | Preventing network data injection attacks | |
US8800001B2 (en) | Network authentication method, method for client to request authentication, client, and device | |
CA2548476C (en) | Preventing network data injection attacks using duplicate-ack and reassembly gap approaches | |
CN1938982B (zh) | 通过认证因特网控制消息协议分组来防止网络攻击的方法和装置 | |
US7458097B2 (en) | Preventing network reset denial of service attacks | |
US7630364B2 (en) | Securely managing network element state information in transport-layer associations | |
US7565694B2 (en) | Method and apparatus for preventing network reset attacks | |
CN1906884B (zh) | 防止网络数据注入攻击 | |
CN112235329A (zh) | 一种识别syn报文真实性的方法、装置及网络设备 | |
KR102185588B1 (ko) | Sdn 네트워크의 tcp 세션 생성 방법 및 그 방법이 적용된 sdn 네트워크 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |