CN112600809A - 会话资源的管理方法、装置、设备及存储介质 - Google Patents
会话资源的管理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112600809A CN112600809A CN202011416358.4A CN202011416358A CN112600809A CN 112600809 A CN112600809 A CN 112600809A CN 202011416358 A CN202011416358 A CN 202011416358A CN 112600809 A CN112600809 A CN 112600809A
- Authority
- CN
- China
- Prior art keywords
- session
- hash table
- linked list
- easy
- resources
- 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.)
- Pending
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
-
- 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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
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)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种会话资源的管理方法、装置、设备及存储介质,该方法包括:收SYN报文;根据所述SYN报文建立第一简易会话;若确定所述第一简易会话为synflood攻击会话,则回收所述第一简易会话的会话资源。通过建立简易会话,阻止synflood攻击正式会话的建立,降低synflood攻击会话对会话资源的占用,使得服务器能够有更多会话资源用于后续的正常会话。
Description
技术领域
本发明涉及互联网及通信技术领域,尤其涉及一种会话资源的管理方法、装置、设备及存储介质。
背景技术
随着互联网的迅速发展,当前大部分信息存储于网络中,而网络攻击越来越多,攻击手段层出不穷,网络安全产品已很难做到实时检测攻击行为,事后分析逐渐成为应对网络攻击的主流方式。全包留存是事后分析的重要的手段之一,以便于后续调查取证以及分析攻击行为。在全包捕获产品中,为了能够更快地检索数据,通常采用会话的机制进行流汇聚处理(比如包括统计、存储等)。
而当大量synflood攻击产生时,同一时刻或者极短时间内会产生海量的会话,如果都进行会话处理,会极大的占用全包捕获产品设备的会话资源,导致会话空间不足,从而无法及时处理正常会话。现有技术中,根据SYN报文建立正式会话,当接收到FIN报文及FINACK报文时,将此会话打上老化标记,以加速老化,但是,当遇到synflood攻击时,将没有FIN报文,无法及时打上老化标记,仍然会导致大量正式会话占用会话资源,从而导致会话空间不足。
发明内容
本发明实施例提供一种会话资源的管理方法、装置、设备及存储介质,以解决现有技术synflood攻击会话占用大量会话资源导致会话空间不足等问题。
第一个方面,本发明实施例提供一种会话资源的管理方法,包括:
接收SYN报文;
根据所述SYN报文建立第一简易会话;
若确定所述第一简易会话为synflood攻击会话,则回收所述第一简易会话的会话资源。
第二个方面,本发明实施例提供一种会话资源的管理装置,包括:
接收模块,用于接收SYN报文;
第一处理模块,用于根据所述SYN报文建立第一简易会话;
第二处理模块,用于若确定所述第一简易会话为synflood攻击会话,则回收所述第一简易会话的会话资源。
第三个方面,本发明实施例提供一种电子设备,包括:存储器、收发器及至少一个处理器;
所述处理器、所述存储器与所述收发器通过电路互联;
所述存储器存储计算机执行指令;所述收发器,用于接收客户端发送的SYN报文;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一个方面以及第一个方面各种可能的设计所述的方法。
第四个方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一个方面以及第一个方面各种可能的设计所述的方法。
本发明实施例提供的会话资源的管理方法、装置、设备及存储介质,在接收SYN报文后,先建立简易会话,相对于现有技术中直接建立正式会话来说,简易会话占用更少的会话资源,并在监测到简易会话是为synflood攻击会话时,及时回收会话资源,实现会话资源的有效管理,降低synflood攻击会话对会话资源的占用,使得服务器能够有更多会话资源用于后续的正常会话。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的会话资源的管理方法的流程示意图;
图2为本发明一实施例提供的会话资源的管理方法的一种示例性流程示意图;
图3为本发明一实施例提供的简易会话的一种示例性结构示意图;
图4为本发明一实施例提供的哈希表的一种示例性结构示意图;
图5为本发明一实施例提供的会话资源的管理方法的另一种示例性流程示意图;
图6为本发明一实施例提供的简易会话的另一种示例性示意图;
图7为本发明一实施例提供的老化链表的示例性结构示意图;
图8为本发明一实施例提供的哈希表的另一种示例性结构示意图;
图9为本发明一实施例提供的会话资源的管理装置的结构示意图;
图10为本发明一实施例提供的电子设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本发明所涉及的名词进行解释:
synflood攻击:也称SYN洪水攻击,SYN(synchronous)是TCP/IP建立连接时使用的握手信号。在客户端和服务器之间建立正常的TCP网络连接时,客户端首先发出一个SYN消息(也可称为SYN包或SYN报文),服务器使用SYN+ACK(也可称为SYN+ACK包或SYN+ACK报文)应答表示接收到了这个消息,最后客户端再以ACK消息(也可称为ACK包或ACK报文)响应。这样在客户端和服务器之间才能建立起可靠的TCP连接,数据才可以在客户端和服务器之间传递。而在服务器返回一个确认的SYN+ACK包的时候有个潜在的弊端,他可能不会接收到客户端回应的ACK包,这个也就是所谓的半开放连接,服务器需要耗费一定数量的系统内存来等待这个半开放的连接,虽然这个数量是受限的,但是恶意者可以通过创建很多的半开放连接来发动SYN洪水攻击。比如通过IP欺骗可以实现半开放连接,攻击者发送SYN包给服务器,看起来是合法的,但事实上所谓的客户端(攻击者)不会回应服务器发送的SYN+ACK包,意味着服务器将永远不会接到ACK报文。而此时,半开放连接将最终占用受害者(即服务器)所有的系统资源,受害者将不能再接收任何其他的请求。攻击者的位置几乎是不可确认的,因为SYN包中的源地址多数都是虚假的。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个及两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
本发明一实施例提供一种会话资源的管理方法,用于网络安全应用场景及其他需要的场景。本实施例的执行主体为会话资源的管理装置,该装置可以设置在电子设备中,该电子设备可以是服务器或者其他可实现的计算机设备。服务器可以是单个服务器也可以是服务器集群。
如图1所示,为本实施例提供的会话资源的管理方法的流程示意图,该方法包括:
步骤101,接收SYN报文。
具体的,当客户端想要与服务器建立TCP连接时,客户端需要首先向服务器发送TCP的SYN报文,用于请求建立连接,SYN报文是指SYN标志置为1的TCP报文,SYN报文可以包括IP头部和IP数据部,IP数据部可以包括TCP头部和TCP数据部。TCP报文的具体格式为现有技术,在此不再赘述。服务器则可以接收到SYN报文,可以存储SYN报文,并可以从SYN报文中获取四元组信息及其他相关信息。四元组信息包括源IP、目的IP、源端口和目的端口。
步骤102,根据SYN报文建立第一简易会话。
具体的,在接收到SYN报文后,则可以根据SYN报文建立第一简易会话,该第一简易会话可以只包括少量的关键信息,比如可以只包括四元组信息,而不会直接建立正式会话。由于简易会话只需包括少量的关键信息,因此占用的会话资源很小。
会话资源是网络设备(比如全包捕获产品设备)的重要资源,可以决定该网络设备的业务处理性能,网络设备需要分配一定的CPU以及内存的处理资源作为会话资源,用于网络传输中大量会话的处理,因此降低会话对会话资源的占用即相当于降低了对网络设备系统资源的占用,在实际应用中,若会话资源需要量降低,网络设备则可以分配较少的会话资源,从而降低会话资源对网络设备系统资源的占用,提高网络设备的业务处理性能。
可选地,简易会话可以是按照一定的数据结构建立,比如可以包括指针部分和数据部分,指针部分用于将该简易会话加入到链表中,用于维护简易会话的生命周期,数据部分则用于存放数据信息,比如存放四元组信息,还可以存放其他相关的关键信息,比如简易会话的生成时间,具体可以根据实际需求设置。
可选地,维护简易会话的链表可以为现有技术中任意可实施的链表,比如哈希表、双向链表等等。
步骤103,若确定第一简易会话为synflood攻击会话,则回收第一简易会话的会话资源。
具体的,在建立第一简易会话后,可以根据预设规则,判断第一简易会话是否为synflood攻击会话,若是则可以直接回收该第一简易会话的会话资源,即将该第一简易会话从服务器相应的存储区域删除,若确定该第一简易会话是正常会话,而不是synflood攻击会话,则可以将该第一简易会话转换为正式会话。正式会话即现有技术中客户端与服务器建立连接时建立的正式使用的会话。简易会话转换为正式会话后,正式会话占用相应的会话资源,原来的简易会话的会话资源则进行回收。
可选地,根据预设规则,判断第一简易会话是否为synflood攻击会话,具体可以是根据该第一简易会话在预设时间内是否完成了三次握手来判断。若该第一简易会话在预设时间内完成了三次握手,则可以确定该第一简易会话为正常会话,而不是synflood攻击会话。若在预设时间内该第一简易会话未完成三次握手,则可以确认该第一简易会话为synflood攻击会话,则需要及时将该第一简易会话老化,回收其会话资源,从而保证会话资源能够继续用于正常会话。预设时间可以根据实际需求设置,比如可以设置为2秒、3秒、5秒等等。可以理解地,对于如何判断是否完成了三次握手,为现有技术,本发明实施例不再赘述。
可选地,简易会话是否为synflood攻击会话,具体可以结合哈希(HASH)表和老化链表共同实现,具体来说,可以将建立的第一简易会话加入哈希表和老化链表,老化链表为双向链表,每个简易会话作为老化链表中的一个节点,可以按照简易会话的生成时间排序加入到老化链表中,这样,老化链表整条链是按生成时间排序的,老化链表中靠前的都是更早创建的,靠后的都是更晚创建的。可以通过实时或定期扫描老化链表的第一个节点,根据第一个节点的简易会话生成时间是否符合老化条件来确定该简易会话是否为synflood攻击会话,若是则需要及时老化。老化条件可以是简易会话从生成时间至当前时间的时长到达预设时间,且该简易会话还未完成三次握手。在确定该简易会话为synflood攻击会话后,则可以及时将该简易会话从哈希表及老化链表中删除,并回收该简易会话的会话资源。将该简易会话从哈希表及老化链表中删除,可以是指解除该简易会话在哈希表及老化链表中的前后指向关系,具体可以通过简易会话的哈希表指针和老化链表指针来实现,回收该简易会话的会话资源是指将该简易会话从服务器存储中删除。若在预设时间内,该简易会话完成了三次握手,则可以确定该简易会话为正常会话不是synflood攻击会话,则可以通过哈希表快速找到该简易会话,将该简易会话转换为正式会话,并将该简易会话从哈希表和老化链表中删除。正式会话可以通过相应的会话链表进行维护,从而实现synflood攻击与正常会话的隔离,正式会话的相关操作具体为现有技术,在此不再赘述。
本实施例提供的会话资源的管理方法,在接收SYN报文后,先建立简易会话,相对于现有技术中直接建立正式会话来说,简易会话占用更少的会话资源,并在监测到简易会话是为synflood攻击会话时,及时回收简易会话占用的会话资源,实现会话资源的有效管理,降低synflood攻击会话对会话资源的占用,使得服务器能够有更多会话资源用于后续的正常会话。
本发明另一实施例对上述实施例提供的方法做进一步补充说明。
作为一种可实施的方式,如图2所示,为本实施例提供的会话资源的管理方法的一种示例性流程示意图。该方法包括:
步骤2011,接收SYN报文。
该步骤的具体操作已在前述实施例进行了详细说明,在此不再赘述。
步骤2012,根据SYN报文建立第一简易会话,第一简易会话包括哈希表指针及数据信息。
步骤2013,基于哈希表指针,将第一简易会话加入到哈希表中。
步骤2014,若确定第一简易会话为synflood攻击会话,则将第一简易会话从哈希表中删除,并回收第一简易会话的会话资源。
具体的,第一简易会话可以是按照一定的数据结构建立,比如可以包括指针部分和数据部分,指针部分用于将该简易会话加入到链表中,以用于维护简易会话的生命周期,数据部分则用于存放数据信息,比如存放四元组信息。该链表可以是哈希表,则第一简易会话的指针部分可以包括哈希表指针。一条哈希表可以是双向链表,则第一简易会话的哈希表指针可以包括前向哈希表指针和后向哈希表指针两个指针,两个指针分别用于表示该第一简易会话在哈希表中与其他简易会话的指向关系。可以基于哈希表指针,将第一简易会话加入到哈希表中。该哈希表可以是预设的用于表示各简易会话之间前后指向关系的散列表。若确定第一简易会话为synflood攻击会话,将第一简易会话从哈希表中删除,并回收第一简易会话的会话资源。若确定第一简易会话不是synflood攻击会话,则可以将第一简易会话从哈希表中取出,转换为正式会话。将第一简易会话从哈希表中删除,正式会话占用一定的会话资源,原来的第一简易会话的会话资源被回收。
可选地,数据信息包括四元组信息;基于哈希表指针,将第一简易会话加入到哈希表中,包括:根据四元组信息生成第一简易会话对应的KEY值;基于哈希表指针及第一简易会话对应的KEY值,将第一简易会话加入到哈希表中。
具体来说,四元组信息包括源IP、目的IP、源端口和目的端口。可以根据第一简易会话中的四元组信息生成该第一简易会话对应的KEY值,基于该KEY值及该哈希表对应的哈希函数,来确定该第一简易会话在哈希表中的目标地址,基于该第一简易会话的哈希表指针建立该第一简易会话在哈希表中与其他简易会话之间的指向关系。哈希表的具体结构及加入哈希表的具体操作为现有技术,在此不再赘述。
可选地,数据信息还可以包括其他相关信息,比如简易会话的生成时间,具体可以根据实际需求设置。
可以理解地,对于多个简易会话,在加入哈希表中时可能存在哈希冲突,因此可以基于哈希桶来解决冲突问题。一个哈希桶中可以包括一条或多条哈希表。哈希桶的具体实现为现有技术,在此不再赘述。
示例性的,如图3所示,为本实施例提供的简易会话的一种示例性结构示意图。该简易会话的数据结构包括两个哈希表指针和数据信息。
示例性的,如图4所示,为本实施例提供的哈希表的一种示例性结构示意图。每个简易会话可以作为哈希表中的一个节点。其中,PN表示后向哈希表指针,PF表示前向哈希表指针,哈希表中的中间节点A的PN指向该节点的下一个节点的起始地址,也即PN存放该节点的下一节点的起始地址,节点A的PF指向该节点的前一个节点的起始地址,或者节点A的PF指向该节点的前一个节点的PN的地址,也即PF存放该节点的前一节点的起始地址或者存放该节点的前一节点的PN的地址,具体可以根据实际需求设置,图4中以PF指向该节点的前一节点的PN的地址为例。每条哈希表具有一个变量指向该条哈希表的首节点,具体为指向该条哈希表的首节点的起始地址。哈希表的首节点的PN指向其下一节点的起始地址,首节点的PF指向该变量的地址。哈希表尾结点的PF指向其前一节点的起始地址,或者指向其前一节点的PN的地址,尾结点的PN指向NULL。
在一实施方式中,在若确定第一简易会话为synflood攻击会话,则回收第一简易会话的会话资源之前,该方法还包括:若第一简易会话在预设时间内未完成三次握手,则确定第一简易会话为synflood攻击会话。
具体的,可以预先设置一时间阈值,称为预设时间,在建立简易会话(第一简易会话或其他简易会话)后,实时或定期监测简易会话的三次握手情况,若简易会话在预设时间内未完成三次握手,则认为该简易会话为synflood攻击会话,则可以及时对该synflood攻击进行处理,比如丢弃该简易会话的相关报文,回收该简易会话的会话资源。若确定该简易会话为正常会话,而不是synflood攻击,则可以将该简易会话从哈希表中取出,转换为正式会话,以使后续保持客户端与服务器的连接,实现客户端与服务器的正常通信。
实际应用中,为快速确定需要老化的简易会话,本发明实施例还可以在第一简易会话中携带老化链表指针以简化判定系统老化的复杂度。
在一实施方式中,如图5所示,为本实施例提供的会话资源的管理方法的另一种示例性流程示意图。该方法包括:
步骤2021,接收SYN报文。
该步骤的具体操作已在前述实施例进行了详细说明,在此不再赘述。
步骤2022,根据SYN报文建立第一简易会话,第一简易会话包括哈希表指针、老化链表指针和数据信息,数据信息包括四元组信息和生成时间。
具体的,建立的第一简易会话的数据结构可以包括哈希表指针、老化链表指针和数据信息。可选地,哈希表指针可以包括前向和后向两个指针,老化链表指针也可以包括前向和后续两个指针。数据信息包括四元组信息和第一简易会话的生成时间,数据信息还可以根据实际需求包括其他相关的关键信息。
步骤2023,基于哈希表指针及四元组信息,将第一简易会话加入到哈希表中,并基于老化链表指针,将第一简易会话按照生成时间排序加入到老化链表中。
步骤2024,若确定第一简易会话为synflood攻击会话,将第一简易会话从哈希表及老化链表中删除,并回收第一简易会话的会话资源。
具体的,确定简易会话是否为synflood攻击会话,具体可以结合哈希表和老化链表共同实现,具体来说,可以将建立的第一简易会话加入哈希表和老化链表,老化链表为双向链表,每个简易会话作为老化链表中的一个节点,可以按照简易会话的生成时间排序加入到老化链表中,也即可以将第一简易会话加入到当前老化链表尾部,这样,老化链表整条链是按生成时间排序的,老化链表中靠前的都是更早创建的,靠后的都是更晚创建的,也即每建立一简易会话,都将该简易会话加入到老化链表的尾部,从而可以实现老化链表是按时间排序,且直接加入尾部可以减少简易会话加入老化链表的时间复杂度。则在进行老化时可以通过扫描老化链表的第一个节点,根据第一个节点的简易会话生成时间是否符合老化条件来确定该简易会话是否为synflood攻击会话,而不需要扫描所有简易会话来确定是否有简易会话超过预设时间,实现快速检测,因此确定老化时间的复杂度极低。
将简易会话加入哈希表的具体操作已在前述实施方式进行了详细描述,在此不再赘述。将简易会话加入老化链表,则可以基于该简易会话的老化链表指针实现,与哈希表指针类似,每个简易会话可以包括前向链表指针和后向链表指针两个指针,通过设置简易会话的前向链表指针和后向链表指针的指向,建立该简易会话与老化链表中已加入的节点的前后指向关系。双向链表的具体操作为现有技术,在此不再赘述。
示例性的,如图6所示,为本实施例提供的简易会话的另一种示例性示意图。该简易会话的数据结构包括两个老化链表指针、两个哈希表指针和数据信息。
示例性的,如图7所示,为本实施例提供的老化链表的示例性结构示意图。每个简易会话作为老化链表中的一个节点。两个全局变量分别指向最早生成时间的简易会话和最后生成时间的简易会话。其中,SN表示老化链表指针的后向链表指针,SF表示前向链表指针,老化链表中的中间节点A的SN指向该节点的下一个节点的起始地址,也即SN存放该节点的下一节点的起始地址,节点A的SF指向该节点的前一个节点的起始地址,或者指向该节点的前一个节点的SN的地址,也即SF存放该节点的前一节点的起始地址或者存放该节点的前一节点的SN的地址,图7中以SF指向该节点的前一节点的SN的地址为例。老化链表具有两个全局的变量,变量1指向该条老化链表的首节点,具体为指向该首节点的起始地址,变量2指向该老化链表的尾结点,具体为指向该尾结点的起始地址。老化链表的首节点的SN指向其下一节点的起始地址,首节点的SF指向变量1的地址。老化链表尾结点的SF指向其前一节点的起始地址,或者指向其前一节点的SN的地址,尾结点的SN指向NULL。
示例性的,如图8所示,为本实施例提供的哈希表的另一种示例性结构示意图。每个节点的简易会话包括哈希表指针和老化链表指针。其具体说明参照前述内容,在此不再赘述。
可选地,该方法还包括:扫描老化链表的第一个节点,根据第一个节点对应的第二简易会话中的生成时间及预设时间,判断第二简易会话是否为synflood攻击会话。
具体的,可以通过实时或定期扫描老化链表的第一个节点,根据第一个节点的简易会话(即第二简易会话)生成时间是否符合老化条件来确定该简易会话是否为synflood攻击会话,若是则需要及时老化。由于在扫描时,上述第一简易会话不一定位于第一个节点,因此,为了与其区分,这里将第一个节点对应的简易会话称为第二简易会话,当第一简易会话位于第一个节点时,第二简易会话即为上述第一简易会话。老化条件可以是简易会话从生成时间至当前时间的时长到达预设时间,且该简易会话还未完成三次握手。在确定该简易会话为synflood攻击会话后,则可以及时将该简易会话从哈希表及老化链表中删除,并回收该简易会话的会话资源。将该简易会话从哈希表及老化链表中删除,可以是指解除该简易会话在哈希表及老化链表中的前后指向关系,具体可以通过简易会话的哈希表指针和老化链表指针来实现,回收该简易会话的会话资源是指将该简易会话从服务器存储中删除。
在一实施方式中,可选地,若确定第一简易会话为正常会话,则将第一简易会话转换为正式会话,并将第一简易会话从哈希表及老化链表中删除。
具体的,若该第一简易会话在预设时间内完成了三次握手,则可以确定该第一简易会话为正常会话不是synflood攻击会话,则可以通过四元组信息快速地在哈希表中查找到该第一简易会话,将该第一简易会话从哈希表和老化链表中取出,转换为正式会话,并将该第一简易会话从哈希表和老化链表中删除。可以理解地,从哈希表及老化链表删除节点为现有技术,在此不再赘述。通过四元组信息来查找该第一简易会话具体可以是根据四元组信息生成KEY值,根据该KEY值及预设哈希函数,获得该第一简易会话在哈希表中的地址,从而可以基于该地址从哈希表及老化链表中取出该第一简易会话。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本发明不做限定。
本实施例提供的会话资源的管理方法,通过哈希表和老化链表来维护简易会话,哈希表的作用是当简易会话后续完成三次握手时,可以通过哈希表快速找到该简易会话,从而将该简易会话从哈希表和老化链表中取出,转换为正式会话;老化链表的作用是及时老化,可以实时或定期分析需要老化的节点,并且老化链表按照简易会话生成时间排序,在进行老化分析时,只要扫描老化链表的第一个节点即可依次实现简易会话的快速老化。若第一个节点对应的简易会话未到达预设时间,则后续节点的简易会话肯定未到达预设时间。当第一个节点的简易会话老化或者转换成正式会话后,该第一个节点即从老化链表中删除了,那么原来的第二个节点则成为了当前的第一个节点,还是扫描当前的第一个节点即可,大大提高了老化处理速度,因而即使需要处理大量节点(比如几百万、几千万)的简易会话也会非常快,结合哈希表和老化链表可以将synflood攻击会话与正常会话隔离开来,实现利用极少的会话资源阻挡大量的synflood攻击,从而实现了synflood攻击会话的快速处理,可以在短时间内识别出synflood攻击会话,并阻止正式会话的建立,解决了现有技术对于synflood攻击会话老化速度慢,容易导致大量synflood攻击会话占用会话资源,使得会话资源不足无法处理后续的正常会话的问题。并且简易会话本身占用会话资源较小,可以保证更多的会话资源用于正常会话,不至于因synflood攻击响正常会话的业务处理。
本发明再一实施例提供一种会话资源的管理装置,用于执行上述实施例的方法。
如图9所示,为本实施例提供的会话资源的管理装置的结构示意图。该装置30包括:接收模块31、第一处理模块32和第二处理模块33。
其中,接收模块31,用于接收SYN报文;第一处理模块32,用于根据SYN报文建立第一简易会话;第二处理模块33,用于若确定第一简易会话为synflood攻击会话,则回收第一简易会话的会话资源。
具体的,当客户端发送SYN报文,接收模块可以接收SYN报文,并将SYN报文发送给第一处理模块,第一处理模块根据SYN报文建立第一简易会话,并可以存储第一简易会话,还可以将第一简易会话相关信息发送给第二处理模块,由第二处理模块监测第一简易会话,若确定第一简易会话为synflood攻击会话,则回收第一简易会话的会话资源。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,且能够达到相同的技术效果,此处将不做详细阐述说明。
本发明又一实施例对上述实施例提供的装置做进一步补充说明。
作为一种可实施的方式,在上述实施例的基础上,可选地,第一简易会话包括哈希表指针及数据信息;第二处理模块,还用于基于哈希表指针,将第一简易会话加入到哈希表中;若确定第一简易会话为synflood攻击会话,第二处理模块,还用于将第一简易会话从哈希表中删除。
具体的,第一简易会话是以一种数据结构建立的,包括哈希表指针和数据信息,则第一处理模块建立第一简易会话后,可以通知第二处理模块,由第二处理模块基于哈希表指针,将第一简易会话加入到哈希表中,以维护第一简易会话的生命周期。当第二处理模块监测到第一简易会话为synflood攻击会话,则可以从哈希表查找该第一简易会话,将该第一简易会话从哈希表中删除,并回收该第一简易会话的会话资源。当第二处理模块监测到第一简易会话不是synflood攻击会话,而是正常会话,则将第一简易会话转换为正式会话,以使客户端能够与服务器建立连接进行数据传输。并将第一简易会话从哈希表中删除。正式会话可以通过其他链表来维护,从而实现synflood攻击与正常会话的隔离。
可选地,该装置还可以包括第三处理模块,可以是由第三处理模块基于哈希表指针,将第一简易会话加入到哈希表中;若确定第一简易会话为synflood攻击会话,第三处理模块将第一简易会话从哈希表中删除。具体模块划分可以根据实际需求设置。
可选地,数据信息包括四元组信息;第二处理模块,具体用于:根据四元组信息生成第一简易会话对应的KEY值;基于哈希表指针及第一简易会话对应的KEY值,将第一简易会话加入到哈希表中。
可选地,第二处理模块,还用于:若第一简易会话在预设时间内未完成三次握手,则确定第一简易会话为synflood攻击会话。
作为另一种可实施的方式,可选地,第一简易会话包括哈希表指针、老化链表指针和数据信息,数据信息包括四元组信息和生成时间;第二处理模块,具体用于:基于哈希表指针及四元组信息,将第一简易会话加入到哈希表中,并基于老化链表指针,将第一简易会话按照生成时间排序加入到老化链表中;以及若基于老化链表确定第一简易会话为synflood攻击会话,将第一简易会话从哈希表及老化链表中删除,并回收第一简易会话的会话资源。
具体的,第二处理模块还可以结合哈希表和老化链表实现对简易会话的生命周期维护,第二处理模块通过实时或定期扫描老化链表,来监测简易会话是否为synflood攻击会话,当确定第一简易会话为synflood攻击会话,第二处理模块则将第一简易会话从哈希表和老化链表中删除,并回收第一简易会话的会话资源,从而能够及时发现synflood攻击,并阻止其正式会话的建立,有效减少synflood攻击会话对会话资源的占用。
可选地,第二处理模块,还用于扫描老化链表的第一个节点,根据第一个节点对应的第二简易会话中的生成时间及预设时间,判断第二简易会话是否为synflood攻击会话。
具体的,第二处理模块是通过扫描老化链表,来监测简易会话是否为synflood攻击会话。由于老化链表中节点是按照简易会话的生成时间排序加入的,因此通过实时或定期扫描老化链表的第一个节点即可实现对简易会话的有效监测。
可选地,第二处理模块,还用于:若确定第一简易会话为正常会话,则将第一简易会话转换为正式会话,并将第一简易会话从哈希表及老化链表中删除。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本发明不做限定。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,且能够达到相同的技术效果,此处将不做详细阐述说明。
本发明再一实施例提供一种电子设备,用于执行上述实施例提供的方法。该电子设备可以是服务器或其他可实现的计算机设备。
如图10所示,为本实施例提供的电子设备的结构示意图。该电子设备50包括:存储器51、收发器52及至少一个处理器53。其中,处理器、存储器与收发器通过电路互联;存储器存储计算机执行指令;收发器,用于接收客户端发送的SYN报文;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上任一实施例提供的方法。
具体的,该电子设备通过收发器接收客户端发送的SYN报文,收发器将接收到的SYN报文发送给处理器,处理器读取并执行存储器存储的计算机执行指令,实现上述任一实施例提供的方法,并可以将建立的简易会话存储到存储器或内存中。
本发明实施例提供的电子设备可以应用于任意的网络安全应用场景,比如应用于全包捕获产品的处理系统,该电子设备可以为全包捕获产品的服务器,该服务器可以为单个服务器或服务器集群,该处理系统可以包括该服务器以及至少一个客户端。在客户端请求与该服务器建立TCP连接时,服务器接收该客户端发送的SYN报文,在现有的正式会话建立之前通过建立简易会话及结合哈希表和老化链表实现灵活快速的老化处理,将synflood攻击与正式会话隔离,及时阻止synflood攻击的正式会话的建立,并能快速回收synflood攻击的简易会话所占用的会话资源。而当确定该客户端不是攻击者而是正常客户时,将其简易会话转换为正式会话,实现该客户端与服务器的正常连接及数据传输。
需要说明的是,本实施例的电子设备能够实现上述任一实施例提供的方法,且能够达到相同的技术效果,在此不再赘述。
本发明又一实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上任一实施例提供的方法。
需要说明的是,本实施例的计算机可读存储介质能够实现上述任一实施例提供的方法,且能够达到相同的技术效果,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (13)
1.一种会话资源的管理方法,其特征在于,包括:
接收SYN报文;
根据所述SYN报文建立第一简易会话;
若确定所述第一简易会话为synflood攻击会话,则回收所述第一简易会话的会话资源。
2.根据权利要求1所述的方法,其特征在于,所述第一简易会话包括哈希表指针及数据信息;
在根据所述SYN报文建立第一简易会话之后,所述方法还包括:
基于所述哈希表指针,将所述第一简易会话加入到哈希表中;
若确定所述第一简易会话为synflood攻击会话,所述方法还包括:
将所述第一简易会话从所述哈希表中删除。
3.根据权利要求2所述的方法,其特征在于,所述数据信息包括四元组信息;
所述基于所述哈希表指针,将所述第一简易会话加入到哈希表中,具体包括:
根据所述四元组信息生成所述第一简易会话对应的KEY值;
基于所述哈希表指针及所述第一简易会话对应的KEY值,将所述第一简易会话加入到哈希表中。
4.根据权利要求2所述的方法,其特征在于,在若确定所述第一简易会话为synflood攻击会话,则回收所述第一简易会话的会话资源之前,所述方法还包括:
若所述第一简易会话在预设时间内未完成三次握手,则确定所述第一简易会话为synflood攻击会话。
5.根据权利要求1所述的方法,其特征在于,所述第一简易会话包括哈希表指针、老化链表指针和数据信息,所述数据信息包括四元组信息和生成时间;
在根据所述SYN报文建立第一简易会话之后,所述方法还包括:
基于所述哈希表指针及所述四元组信息,将所述第一简易会话加入到哈希表中,并基于所述老化链表指针,将所述第一简易会话按照生成时间排序加入到老化链表中;
相应地,所述若确定所述第一简易会话为synflood攻击会话,则回收所述第一简易会话的会话资源,具体包括:
若确定所述第一简易会话为synflood攻击会话,则将所述第一简易会话从所述哈希表及所述老化链表中删除,并回收所述第一简易会话的会话资源。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
扫描所述老化链表的第一个节点,根据所述第一个节点对应的第二简易会话中的生成时间及预设时间,判断所述第二简易会话是否为synflood攻击会话。
7.根据权利要求5或6所述的方法,其特征在于,若确定所述第一简易会话为正常会话,则将所述第一简易会话转换为正式会话,并将所述第一简易会话从所述哈希表及所述老化链表中删除。
8.一种会话资源的管理装置,其特征在于,包括:
接收模块,用于接收SYN报文;
第一处理模块,用于根据所述SYN报文建立第一简易会话;
第二处理模块,用于若确定所述第一简易会话为synflood攻击会话,则回收所述第一简易会话的会话资源。
9.根据权利要求8所述的装置,其特征在于,所述第一简易会话包括哈希表指针及数据信息;
所述第二处理模块,还用于基于所述哈希表指针,将所述第一简易会话加入到哈希表中;
若确定所述第一简易会话为synflood攻击会话,所述第二处理模块,还用于将所述第一简易会话从所述哈希表中删除。
10.根据权利要求8所述的装置,其特征在于,所述第一简易会话包括哈希表指针、老化链表指针和数据信息,所述数据信息包括四元组信息和生成时间;
所述第二处理模块,具体用于:基于所述哈希表指针及所述四元组信息,将所述第一简易会话加入到哈希表中,并基于所述老化链表指针,将所述第一简易会话按照生成时间排序加入到老化链表中;以及若基于所述老化链表确定所述第一简易会话为synflood攻击会话,则将所述第一简易会话从所述哈希表及所述老化链表中删除,并回收所述第一简易会话的会话资源。
11.根据权利要求10所述的装置,其特征在于,所述第二处理模块,还用于扫描所述老化链表的第一个节点,根据所述第一个节点对应的第二简易会话中的生成时间及预设时间,判断所述第二简易会话是否为synflood攻击会话。
12.一种电子设备,其特征在于,包括:存储器、收发器及至少一个处理器;
所述处理器、所述存储器与所述收发器通过电路互联;
所述存储器存储计算机执行指令;所述收发器,用于接收客户端发送的SYN报文;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-7任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011416358.4A CN112600809A (zh) | 2020-12-08 | 2020-12-08 | 会话资源的管理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011416358.4A CN112600809A (zh) | 2020-12-08 | 2020-12-08 | 会话资源的管理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112600809A true CN112600809A (zh) | 2021-04-02 |
Family
ID=75188629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011416358.4A Pending CN112600809A (zh) | 2020-12-08 | 2020-12-08 | 会话资源的管理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112600809A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040008681A1 (en) * | 2002-07-15 | 2004-01-15 | Priya Govindarajan | Prevention of denial of service attacks |
CN103888449A (zh) * | 2014-03-05 | 2014-06-25 | 亿赞普(北京)科技有限公司 | 一种报文重组方法和装置 |
CN106790556A (zh) * | 2016-12-26 | 2017-05-31 | 深圳市风云实业有限公司 | 一种基于分布式系统的nat会话管理方法 |
CN109922144A (zh) * | 2019-02-28 | 2019-06-21 | 北京百度网讯科技有限公司 | 用于处理数据的方法和装置 |
CN110381032A (zh) * | 2019-06-24 | 2019-10-25 | 东软集团股份有限公司 | 一种多核系统中的会话表项处理方法、装置及相关产品 |
-
2020
- 2020-12-08 CN CN202011416358.4A patent/CN112600809A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040008681A1 (en) * | 2002-07-15 | 2004-01-15 | Priya Govindarajan | Prevention of denial of service attacks |
CN103888449A (zh) * | 2014-03-05 | 2014-06-25 | 亿赞普(北京)科技有限公司 | 一种报文重组方法和装置 |
CN106790556A (zh) * | 2016-12-26 | 2017-05-31 | 深圳市风云实业有限公司 | 一种基于分布式系统的nat会话管理方法 |
CN109922144A (zh) * | 2019-02-28 | 2019-06-21 | 北京百度网讯科技有限公司 | 用于处理数据的方法和装置 |
CN110381032A (zh) * | 2019-06-24 | 2019-10-25 | 东软集团股份有限公司 | 一种多核系统中的会话表项处理方法、装置及相关产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8639752B2 (en) | Systems and methods for content type classification | |
US7818786B2 (en) | Apparatus and method for managing session state | |
CN111314358B (zh) | 攻击防护方法、装置、系统、计算机存储介质及电子设备 | |
CN105991412B (zh) | 消息推送方法及装置 | |
CN109255057B (zh) | 区块生成方法、装置、设备及存储介质 | |
CN110266650B (zh) | Conpot工控蜜罐的识别方法 | |
CN111314328A (zh) | 网络攻击防护方法、装置、存储介质及电子设备 | |
CN113364804B (zh) | 一种流量数据的处理方法和装置 | |
US20230275924A1 (en) | Network security protection method and protection device | |
CN115499230A (zh) | 网络攻击检测方法和装置、设备及存储介质 | |
EP4243381A2 (en) | Accelerating connections to a host server | |
CN112600809A (zh) | 会话资源的管理方法、装置、设备及存储介质 | |
CN115865886B (zh) | 一种基于http的跨网络数据交互方法和装置 | |
CN114697088B (zh) | 一种确定网络攻击的方法、装置及电子设备 | |
Gad et al. | Hierarchical events for efficient distributed network analysis and surveillance | |
EP3408989B1 (en) | Detecting malware on spdy connections | |
CN106209666B (zh) | 一种基于负载均衡器的链路复用方法及系统 | |
CN113890858A (zh) | Pmtu的探测方法及装置 | |
CN112436979A (zh) | 一种云网流量采集方法及系统 | |
CN115473680B (zh) | 一种基于在线交互式WEB动态防御的防应用DDoS方法 | |
CN112866133A (zh) | 用于获取共用最大分段大小mss的方法及装置 | |
CN112565309B (zh) | 报文处理方法、装置、设备以及存储介质 | |
CN115002020B (zh) | 基于ospf的数据处理方法及装置 | |
CN112637236B (zh) | 脱离协议栈的http代理方法、架构及介质 | |
CN114567687B (zh) | 报文转发方法、装置、设备、介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |