CN104780178B - 一种用于防止tcp攻击的连接管理方法 - Google Patents

一种用于防止tcp攻击的连接管理方法 Download PDF

Info

Publication number
CN104780178B
CN104780178B CN201510212942.0A CN201510212942A CN104780178B CN 104780178 B CN104780178 B CN 104780178B CN 201510212942 A CN201510212942 A CN 201510212942A CN 104780178 B CN104780178 B CN 104780178B
Authority
CN
China
Prior art keywords
user node
flow table
layer flow
tcp
back end
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
Application number
CN201510212942.0A
Other languages
English (en)
Other versions
CN104780178A (zh
Inventor
吴志刚
李楠宁
何跃鹰
罗浩
朱海龙
林绅文
常为领
张树壮
杜雄杰
李应博
刘成
房婧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
National Computer Network and Information Security Management Center
Original Assignee
Beijing University of Posts and Telecommunications
National Computer Network and Information Security Management Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications, National Computer Network and Information Security Management Center filed Critical Beijing University of Posts and Telecommunications
Priority to CN201510212942.0A priority Critical patent/CN104780178B/zh
Publication of CN104780178A publication Critical patent/CN104780178A/zh
Application granted granted Critical
Publication of CN104780178B publication Critical patent/CN104780178B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种用于防止TCP攻击的连接管理方法。该方法包括:获取TCP连接中原始数据包的连接状态和五元组信息,基于原始数据包的五元组信息生成第一层流表的链表;基于第一层流表选择TCP连接中连接状态为第三次握手的原始数据包之后的数据包作为安全数据包;根据安全数据包的五元组信息和负载数据生成第二层流表的链表。该方法通过第一层流表来过滤TCP攻击报文,在第二层流表中缓存安全数据流的负载数据,不仅能防止TCP攻击,还能实时更新服务器的缓存,及时释放僵死连接,高效管理服务器端的缓存资源。

Description

一种用于防止TCP攻击的连接管理方法
技术领域
本发明涉及网络技术领域,具体地说,涉及一种用于防止TCP攻击的连接管理方法。
背景技术
现有技术中,高性能的报文处理设备需要随时处理海量网络报文,并且需要对每一个到达的TCP连接分配相关的存储资源,用于维持TCP连接、完成TCP统计及应用层报文分析。因此,TCP数据及连接状态的高效存储是决定设备性能的重要方面。
在实际的网络环境中,除了正常流量报文外,还存在着大量的网络攻击报文。特别是诸如TCP同步洪泛(TCP SYN Flood)攻击的TCP报文攻击,其利用TCP协议的缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽。即采用伪造的海量地址在短时间向同一网络地址和端口请求建立TCP连接。目标是快速耗尽服务端的物理资源,使得正常的TCP连接因服务端缺少资源而无法建立。
正常的TCP连接过程如图1a所示。首先进行第一次握手,客户端发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文指明客户端使用的端口以及TCP连接的原始序号J。然后进行第二次握手,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号J被加一,ACK即确认(Acknowledgement)。最后完成第三次握手,客户端返回一个确认报文ACK给服务器端,同样TCP序列号K被加一,到此一个TCP连接完成。以上的连接过程在TCP协议中被称为三次握手(Three-way Handshake)。
TCP SYN Flood攻击的过程如图1b所示。客户端伪造大量网络地址向服务器发送包含SYN标志的TCP报文(第一次握手报文)。服务器在发出SYN+ACK应答报文后,做为攻击方的客户端并不做出任何应答,客户端并不发送ACK报文,因此第三次握手无法完成。这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接。
在这种情况下,服务器端为了维护一个非常大的半连接列表而消耗非常多的资源,服务器端将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,此时从正常客户的角度看来,服务器失去响应。
因此,亟需一种能够防止TCP攻击的连接管理方法。
发明内容
本发明所要解决的技术问题在于防止现有技术中在进行TCP连接时出现的TCP报文攻击。
本发明提供一种用于防止TCP攻击的连接管理方法,包括:
获取TCP连接中原始数据包的连接状态和五元组信息,基于原始数据包的五元组信息生成第一层流表的链表,所述第一层流表的链表包括第一HASH索引节点和第一用户节点,将原始数据包的五元组信息和连接状态记录在第一用户节点中;
基于第一层流表选择TCP连接中连接状态为第三次握手的原始数据包之后的数据包作为安全数据包;
根据安全数据包的五元组信息和负载数据生成第二层流表的链表,所述第二层流表的链表包括第二HASH索引节点、第二用户节点和数据节点,将安全数据包的五元组信息存储在第二用户节点中,将安全数据包的负载数据存储在数据节点中。
在一个实施例中,当接收到安全数据包的FIN报文时,根据FIN报文中携带的五元组信息删除第一层流表的第一用户节点,并且删除第二层流表的第二用户节点和数据节点。
在一个实施例中,当TCP连接中原始数据包的连接状态发生改变时,更新第一层流表的第一用户节点中记录的连接状态,其中,所述连接状态为第一次握手、第二次握手或者第三次握手。
在一个实施例中,还包括:
为原始数据包创建第一时间戳,在第一层流表的第一HASH索引节点和第一用户节点中记录第一时间戳;
当原始数据包的连接状态或者负载数据发生改变时,更新第一时间戳。
在一个实施例中,在第一层流表的链表全部占用的情况下,根据第一时间戳删除第一层流表中创建时间超过淘汰时间阈值的链表。
在一个实施例中,还包括:
为安全数据包创建第二时间戳,在第二层流表的第二HASH索引节点、第二用户节点和数据节点中记录第二时间戳;
当安全数据包的负载数据发生改变时,更新第二时间戳。
在一个实施例中,遍历第一层流表和第二层流表,根据第一时间戳删除第一层流表中创建时间超过超时时间阈值的链表的第一用户节点,以及根据第二时间戳删除第二层流表中创建时间超过超时时间阈值的链表的第二用户节点和数据节点。
在一个实施例中,第一层流表的链表的首节点为第一HASH索引节点,第一HASH索引节点具有指向首个第一用户节点的地址指针,且第一用户节点具有指向下一第一用户节点的地址指针,从而构成第一用户节点链。
在一个实施例中,第二层流表的链表的首节点为第二HASH索引节点,第二HASH索引节点具有指向首个第二用户节点的地址指针,第二用户节点具有指向下一第二用户节点的地址指针,从而构成第二用户节点链;
第二用户节点具有指向数据节点的地址指针,属于同一第二用户节点的数据节点构成数据节点链。
在一个实施例中,所述将安全数据包的五元组信息存储在第二用户节点中的步骤包括:
判断安全数据包的五元组信息是否已保存在第二层流表的第二用户节点中;
若未保存,则分配第二用户节点用于存储所述五元组信息,使新分配的第二用户节点作为尾节点加入第二用户节点链中;
若已保存,则修改第二用户节点的第二时间戳。
在一个实施例中,其特征在于,所述将安全数据包的负载数据存储在数据节点的步骤包括:
为安全数据包的负载数据分配至少一个数据节点,用于存储负载数据;
在数据节点为一个的情况下,使数据节点链接至与安全数据包的五元组信息对应的第二用户节点;
在数据节点为多个的情况下,使数据节点构成数据节点链,并链接至与安全数据包的五元组信息对应的第二用户节点。
在一个实施例中,第一层流表的第一HASH索引节点用于存储由原始数据包的五元组信息按照第一哈希算法计算的哈希值;
第二层流表的第二HASH索引节点用于存储由安全数据包的五元组信息按照第二哈希算法计算的哈希值。
本发明实施例通过第一层流表来过滤TCP攻击报文,在第二层流表中缓存安全数据流的负载数据,不仅能防止TCP攻击,还能实时更新服务器的缓存,及时释放僵死连接,高效管理服务器端的缓存资源。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1a是现有技术中正常的TCP连接过程的原理性示意图;
图1b是现有技术中TCP同步洪泛攻击的原理性示意图;
图2是根据本发明实施例的两层流表结构的示意图;
图3是根据本发明实施例的第一层流表的结构示意图;
图4是根据本发明实施例的第二层流表的结构示意图;
图5是根据本发明实施例的用于防止TCP攻击的连接管理方法的步骤流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。本发明实施例提供的用于防止TCP攻击的连接管理方法可以是在服务器中安装的软件模块、硬件或者固件,或者三者的任意组合。
本发明的实施例采用两层流表结构,如图2所示,第一层流表用于记录TCP连接中原始数据包的连接状态,选择已经正常完成第三次握手之后的数据包作为可以信任的安全数据包,第二层流表用于保存安全数据包的报文数据。这样通过第一层流表对不完整的TCP连接完成过滤,只有正常完成第三次握手的TCP连接才能获取物理存储资源。此外,还提供超时管理和淘汰管理机制,对第一层流表和第二层流表进行更新,及时销毁僵死的TCP连接。采用这种方案不但能够降低TCP攻击的风险,还能高效管理服务器端的缓存资源。
第一层流表
以下参考图3对第一层流表的结构进行说明。第一层流表中包括若干项链表,其中,第一层流表的链表包括第一HASH索引节点和第一用户节点。链表的首个节点为第一HASH索引节点,在图3中表示为HASH节点1、HASH节点2、HASH节点3……HASH节点N,用于记录由原始数据包的五元组信息(源IP地址/目的IP地址/源端口/目的端口/协议号)按照第一哈希算法计算的哈希值。
第一HASH索引节点具有指向首个第一用户节点的地址指针,且第一用户节点具有指向下一第一用户节点的地址指针,从而构成第一用户节点链。第一用户节点链中各个用户节点用于记录原始数据包的五元组信息和连接状态。若原始数据包的五元组信息发生哈希冲突,则将原始数据包的五元组信息和连接状态保存在对应于同一个第一HASH索引节点的第一用户节点链中。其中,所述连接状态为第一次握手、第二次握手或者第三次握手。
在图3的示例中,用户节点A、用户节点B和用户节点C为第一用户节点,构成对应于HASH节点1的第一用户节点链。HASH节点1具有指向用户节点A的地址指针,用户节点A具有指向用户节点B的地址指针,类似地,用户节点B具有指向用户节点C的地址指针。用户节点A、用户节点B和用户节点C分别代表三种不同的TCP数据流,分别记为数据流A、数据流B和数据流C。用户节点A、用户节点B和用户节点C分别记录数据流A、数据流B和数据流C的五元组信息。
当TCP连接中原始数据包的连接状态发生改变时,更新第一层流表的第一用户节点中记录的连接状态。下文以数据流A为例说明如何更新连接状态。
当数据流A的第一次握手报文到达服务器时,通过哈希匹配将数据流A索引到第一层流表的链表中,根据第一次握手报文中的五元组信息为其分配用户节点A,并将用户节点A的连接状态设置为“首次握手”。
当数据流A的第二次握手的报文到达服务器时,修改用户节点A的连接状态,设置为“第二次握手”。
当数据流A的第三次握手报文到达服务器时,修改用户节点A的连接状态,设置为“第三次握手”。在后续的处理中,选择连接状态为已完成“第三次握手”之后的数据包作为可以信任的安全数据包,只有连接状态为“第三次握手”用户节点对应的数据流才会进入第二层流表,同时为该安全数据包分配存储资源。
由于绝大部分TCP攻击是通过大量构造第一次握手报文来进行攻击,因此,通过本实施例中的第一层流表,可以对攻击流量进行准确过滤。攻击报文不会完成三次握手,因此,攻击TCP流不会进入第二层流表,也保证了服务器不会为攻击TCP流分配内存资源。这样以来,一方面防止了TCP攻击,另一方面还提升了系统的服务能力。
为了进行淘汰处理和超时处理,在原始数据包到达时为其创建第一时间戳,并在第一层流表的第一HASH索引节点和第一用户节点中记录第一时间戳。在原始数据包的连接状态或者负载数据发生改变时,更新第一时间戳。
在图3中,HASH节点1、用户节点A、用户节点B和用户节点C分别记录各自的第一时间戳t1、tA、tB和tC。其中,第一时间戳tA表示数据流A中数据包的连接状态发生改变或者负载数据发生改变的时间,类似的,第一时间戳tB和tC分别表示数据流B和C中数据包的连接状态发生改变或者负载数据发生改变的时间。在tA、tB和tC中任一项发生更新的情况下,第一时间戳t1都要发生改变。
在下文中将对根据第一时间戳进行淘汰处理和超时处理的详细过程进行说明。
第二层流表
以下参照图4对第二层流表的结构进行说明。与第一层流表的结构类似,第二层流表也包括有若干项链表。其中,第二层流表的链表包括第二HASH索引节点、第二用户节点和数据节点。
链表的首个节点为第二HASH索引节点,在图4中表示为HASH节点1、HASH节点2、HASH节点3……HASH节点N,用于记录由安全数据包的五元组信息按照第二哈希算法计算的哈希值。
第二HASH索引节点具有指向首个第二用户节点的地址指针,且第二用户节点具有指向下一第二用户节点的地址指针,从而构成第二用户节点链。第二用户节点具有指向数据节点的地址指针,属于同一第二用户节点的数据节点构成数据节点链。
第二用户节点链中各个用户节点用于存储安全数据包的五元组信息。若安全数据包的五元组信息发生哈希冲突,则将安全数据包的五元组信息保存在对应于同一个第二HASH索引节点的第二用户节点链中。此外,数据节点链中的数据节点用于存储安全数据包的负载数据。
在图3中数据流A、数据流B和数据流C中的数据包均为安全数据包的情况下,为这三种数据流分配第二层流表中的链表来存储数据。在图4中,用户节点A、用户节点B和用户节点C为第二用户节点,构成对应于HASH节点1的第二用户节点链。数据节点A1和数据节点A2构成属于用户节点A的数据节点链。
HASH节点1具有指向用户节点A的地址指针,用户节点A具有指向用户节点B的地址指针,类似地,用户节点B具有指向用户节点C的地址指针。用户节点A、用户节点B和用户节点C用于记录数据流、数据流B和数据流C中的五元组信息,来区分这三种数据流。
此外,用户节点A还具有指向数据节点A1的指针,数据节点A1具有指向数据节点A2的指针,使得数据节点A1和数据节点A2构成数据节点链,并连接至用户节点A。若在后续过程中需对数据流A负载数据进行处理,则第二层流表的从用户节点A开始,按顺序读取数据节点A1和数据节点A2中存储的数据,完成重新排序和解析等操作。
为了进行淘汰处理和超时处理,在安全数据包到达时为其创建第二时间戳,并在第二层流表的第二HASH索引节点和第二用户节点中记录第二时间戳。在安全数据包的负载数据发生改变时,更新第二时间戳。
在图4中,HASH节点1、用户节点A、用户节点B和用户节点C分别记录各自的第二时间戳T1、TA、TB和TC,且数据节点A1和数据节点A2分别记录各自的第二时间戳TA1和TA2
其中,第二时间戳TA表示数据流A的负载数据发生改变的时间,类似的,第二时间戳TB和TC分别表示数据流B和C的负载数据发生改变的时间。在数据流A的负载数据到达服务器时,分配数据节点A1来存储负载数据,并创建第二时间戳TA1。在数据流A后续的负载数据到达时,更新第二时间戳TA,分配数据节点A2来存储负载数据,并创建第二时间戳TA2。在TA、TB、TC、TA1或TA2中任一项发生更新的情况下,第二时间戳T1都要发生改变。
在下文中将对根据第一时间戳进行淘汰处理和超时处理的详细过程进行说明。
上文中第一层流表的第一HASH索引节点用于存储由原始数据包的五元组信息按照第一哈希算法计算的哈希值,第二层流表的第二HASH索引节点用于存储由安全数据包的五元组信息按照第二哈希算法计算的哈希值。哈希算法和哈希值的宽度可以根据服务器设备的资源情况确定,第一哈希算法与第二哈希算法可以相同,也可以不同。
实施例
以下参照图5对本发明实施例的用于防止TCP攻击的连接管理方法的步骤流程进行详细说明。
首先,在原始数据包到达服务器时,获取TCP连接中原始数据包的连接状态和五元组信息(步骤S501),基于原始数据包的五元组信息生成第一层流表的链表(步骤S502)。具体而言,由五元组信息按照第一哈希算法计算哈希值,在图1所示的HASH节点1至HASH节点N中查找哈希值匹配的节点,通过匹配到的哈希值确定该原始数据包所属的链表。分配第一用户节点来记录该原始数据包五元组信息,并将第一用户节点作为尾节点添加至该原始数据包所属的链表中。
在原始数据包到达服务器时,为该原始数据包创建第一时间戳。在第一用户节点中还记录第一时间戳和该原始数据包的连接状态。
判断TCP连接中原始数据包的连接状态是否改变(步骤S503),若未发生改变,则执行步骤S501来获取TCP连接中下一个原始数据包的连接状态。若发生改变,则更新第一层流表的第一用户节点中记录的连接状态并更新第一时间戳(步骤S504),所述连接状态为第一次握手、第二次握手或者第三次握手。此外,当原始数据包的连接状态为第三次握手,且负载数据发生改变时,表明该TCP连接还处于活动状态,也要更新第一时间戳。
然后基于第一层流表选择TCP连接中连接状态为第三次握手的原始数据包之后的数据包作为安全数据包(步骤S505),根据安全数据包的五元组信息和负载数据生成第二层流表的链表(步骤S506),从而过滤掉TCP攻击报文。第二层流表的链表包括第二HASH索引节点、第二用户节点和数据节点,将安全数据包的五元组信息存储在第二用户节点中,将安全数据包的负载数据存储在数据节点中,用于后续处理。
在将安全数据包的五元组信息存储在第二用户节点的步骤中,判断安全数据包的五元组信息是否已保存在第二层流表的第二用户节点中。若未保存,则分配第二用户节点用于存储所述五元组信息,使新分配的第二用户节点作为尾节点加入第二用户节点链中;若已保存,则修改第二用户节点的第二时间戳,相应地还要修改第二HASH索引节点具有的第二时间戳。
在将安全数据包的负载数据存储在数据节点的步骤中,为安全数据包的负载数据分配至少一个数据节点,用于存储负载数据。在数据节点为一个的情况下,使数据节点链接至与安全数据包的五元组信息对应的第二用户节点。在数据节点为多个的情况下,使数据节点构成数据节点链,并链接至与安全数据包的五元组信息对应的第二用户节点。
如此以来,将合法的TCP连接中的负载数据存储在第二层流表的数据节点链中。不同的TCP连接中的负载数据分别存储在第二层流表的中属于不同的第二用户的数据节点链中。
随后,当接收到安全数据包的FIN报文时,根据FIN报文中携带的五元组信息删除第一层流表的第一用户节点,并且删除第二层流表的第二用户节点和数据节点(步骤S507),系统释放缓存资源用于处理其他的TCP连接。
此外,在淘汰处理的步骤中(图5中未示出),在第一层流表的链表全部占用的情况下,由于无法为新到达的原始数据包分配第一用户节点,所以根据第一时间戳删除第一层流表中创建时间超过淘汰时间阈值的链表。其中,淘汰时间阈值根据服务器的配置环境提前设定。在一个优选方式中,每一个HASH节点对应的链表均采用LRU(Least RecentlyUsed,最近使用最少)算法来管理节点。也就是说,当服务器资源不足时,选取最老的、不使用的链表进行淘汰,释放缓存资源。
在超时处理的步骤中(图5中未示出),遍历第一层流表和第二层流表,根据第一时间戳删除第一层流表中创建时间超过超时时间阈值的链表中的第一用户节点,以及根据第二时间戳删除第二层流表中创建时间超过超时时间阈值的链表的第二用户节点和数据节点。若出现僵死的TCP连接,则销毁这条僵死连接占用的第一层流表中的第一用户节点,和占用的第二层流表中的第二用户节点和数据节点,释放系统资源。其中,超时时间阈值可以根据服务器的配置环境提前设置。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (13)

1.一种用于防止TCP攻击的连接管理方法,其特征在于,包括:
获取TCP连接中原始数据包的连接状态和五元组信息,基于原始数据包的五元组信息生成第一层流表的链表,所述第一层流表的链表包括第一HASH索引节点和第一用户节点,将原始数据包的五元组信息和连接状态记录在第一用户节点中;
基于第一层流表选择TCP连接中连接状态为第三次握手的原始数据包之后的数据包作为安全数据包;
根据安全数据包的五元组信息和负载数据生成第二层流表的链表,所述第二层流表的链表包括第二HASH索引节点、第二用户节点和数据节点,将安全数据包的五元组信息存储在第二用户节点中,将安全数据包的负载数据存储在数据节点中。
2.如权利要求1所述的用于防止TCP攻击的连接管理方法,其特征在于,
当接收到安全数据包的FIN报文时,根据FIN报文中携带的五元组信息删除第一层流表的第一用户节点,并且删除第二层流表的第二用户节点和数据节点。
3.如权利要求1所述的用于防止TCP攻击的连接管理方法,其特征在于,
当TCP连接中原始数据包的连接状态发生改变时,更新第一层流表的第一用户节点中记录的连接状态,其中,所述连接状态为第一次握手、第二次握手或者第三次握手。
4.如权利要求1所述的用于防止TCP攻击的连接管理方法,其特征在于,还包括:
为原始数据包创建第一时间戳,在第一层流表的第一HASH索引节点和第一用户节点中记录第一时间戳;
当原始数据包的连接状态或者负载数据发生改变时,更新第一时间戳。
5.如权利要求4所述的用于防止TCP攻击的连接管理方法,其特征在于,
在第一层流表的链表全部占用的情况下,根据第一时间戳删除第一层流表中创建时间超过淘汰时间阈值的链表。
6.如权利要求4或5所述的用于防止TCP攻击的连接管理方法,其特征在于,还包括:
为安全数据包创建第二时间戳,在第二层流表的第二HASH索引节点、第二用户节点和数据节点中记录第二时间戳;
当安全数据包的负载数据发生改变时,更新第二时间戳。
7.如权利要求6所述的用于防止TCP攻击的连接管理方法,其特征在于,
遍历第一层流表和第二层流表,根据第一时间戳删除第一层流表中创建时间超过超时时间阈值的链表的第一用户节点,以及根据第二时间戳删除第二层流表中创建时间超过超时时间阈值的链表的第二用户节点和数据节点。
8.如权利要求7所述的用于防止TCP攻击的连接管理方法,其特征在于,第一层流表的链表的首节点为第一HASH索引节点,第一HASH索引节点具有指向首个第一用户节点的地址指针,且第一用户节点具有指向下一第一用户节点的地址指针,从而构成第一用户节点链。
9.如权利要求7所述的用于防止TCP攻击的连接管理方法,其特征在于,第二层流表的链表的首节点为第二HASH索引节点,第二HASH索引节点具有指向首个第二用户节点的地址指针,第二用户节点具有指向下一第二用户节点的地址指针,从而构成第二用户节点链;
第二用户节点具有指向数据节点的地址指针,属于同一第二用户节点的数据节点构成数据节点链。
10.如权利要求9所述的用于防止TCP攻击的连接管理方法,其特征在于,所述将安全数据包的五元组信息存储在第二用户节点中的步骤包括:
判断安全数据包的五元组信息是否已保存在第二层流表的第二用户节点中;
若未保存,则分配第二用户节点用于存储所述五元组信息,使新分配的第二用户节点作为尾节点加入第二用户节点链中;
若已保存,则修改第二用户节点的第二时间戳。
11.如权利要求9所述的用于防止TCP攻击的连接管理方法,其特征在于,所述将安全数据包的负载数据存储在数据节点的步骤包括:
为安全数据包的负载数据分配至少一个数据节点,用于存储负载数据;
在数据节点为一个的情况下,使数据节点链接至与安全数据包的五元组信息对应的第二用户节点;
在数据节点为多个的情况下,使数据节点构成数据节点链,并链接至与安全数据包的五元组信息对应的第二用户节点。
12.如权利要求1-5、7-11中任一项所述的用于防止TCP攻击的连接管理方法,其特征在于,
第一层流表的第一HASH索引节点用于存储由原始数据包的五元组信息按照第一哈希算法计算的哈希值;
第二层流表的第二HASH索引节点用于存储由安全数据包的五元组信息按照第二哈希算法计算的哈希值。
13.如权利要求6所述的用于防止TCP攻击的连接管理方法,其特征在于,
第一层流表的第一HASH索引节点用于存储由原始数据包的五元组信息按照第一哈希算法计算的哈希值;
第二层流表的第二HASH索引节点用于存储由安全数据包的五元组信息按照第二哈希算法计算的哈希值。
CN201510212942.0A 2015-04-29 2015-04-29 一种用于防止tcp攻击的连接管理方法 Active CN104780178B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510212942.0A CN104780178B (zh) 2015-04-29 2015-04-29 一种用于防止tcp攻击的连接管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510212942.0A CN104780178B (zh) 2015-04-29 2015-04-29 一种用于防止tcp攻击的连接管理方法

Publications (2)

Publication Number Publication Date
CN104780178A CN104780178A (zh) 2015-07-15
CN104780178B true CN104780178B (zh) 2018-04-10

Family

ID=53621422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510212942.0A Active CN104780178B (zh) 2015-04-29 2015-04-29 一种用于防止tcp攻击的连接管理方法

Country Status (1)

Country Link
CN (1) CN104780178B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227348B (zh) * 2015-08-25 2019-01-11 广东睿江云计算股份有限公司 一种基于ip五元组的哈希存储方法
CN108965261B (zh) * 2018-06-25 2021-12-21 网易(杭州)网络有限公司 信息处理方法及装置、存储介质、电子装置
MY193195A (en) * 2019-09-02 2022-09-26 Grabtaxi Holdings Pte Ltd Communications server apparatus and method for determination of an abstention attack

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647404A (zh) * 2011-11-14 2012-08-22 北京安天电子设备有限公司 抵御flood攻击的流汇聚方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014179753A2 (en) * 2013-05-03 2014-11-06 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647404A (zh) * 2011-11-14 2012-08-22 北京安天电子设备有限公司 抵御flood攻击的流汇聚方法及装置

Also Published As

Publication number Publication date
CN104780178A (zh) 2015-07-15

Similar Documents

Publication Publication Date Title
KR100834570B1 (ko) 실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치
US20080219261A1 (en) Apparatus and method for processing data streams
CN108737447B (zh) 用户数据报协议流量过滤方法、装置、服务器及存储介质
JPWO2013035181A1 (ja) 脆弱性対策装置、および脆弱性対策方法
US20190166095A1 (en) Information Security Using Blockchain Technology
US10880778B2 (en) Message cache management in a mesh network
CN104780178B (zh) 一种用于防止tcp攻击的连接管理方法
JP2007184799A (ja) パケット通信装置
CN104869125B (zh) 基于sdn的动态防mac地址欺骗方法
CN1761244A (zh) 设置边界网关协议路由选择通知功能的方法
CN109768955A (zh) 基于软件定义网络防御分布式拒绝服务攻击的系统及方法
CN109005175A (zh) 网络防护方法、装置、服务器及存储介质
CN104333533A (zh) 一种用于工业控制系统网络的数据包零拷贝获取方法
CN107426007A (zh) 用于跟踪网络交换机中的网络装置信息的方法及系统
CN108810008B (zh) 传输控制协议流量过滤方法、装置、服务器及存储介质
CN105812318A (zh) 用于在网络中防止攻击的方法、控制器和系统
TWI364190B (en) Method, system and program for automatically detecting distributed port scans in computer networks
CN108512833B (zh) 一种防范攻击方法及装置
JP2009077030A (ja) ルール制御装置、ルール制御方法、および、ルール制御プログラム
US20140029609A1 (en) Updating table data in network device
CN106027419B (zh) 一种数据结构的管理方法和装置
CN105100072B (zh) 一种网络节点监测方法及装置
US10887282B1 (en) Determining synchronization of filter rules (e.g., on iptable filter tables on Linux kernal) across firewall filter application restarts
CN106302006A (zh) 一种基于sdn的ip欺骗数据包的动态溯源方法
CN110177060A (zh) 一种面向sdn网络的时序侧信道攻击的主动防御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant