CN112087464B - SYN Flood攻击清洗方法、装置、电子设备和可读存储介质 - Google Patents

SYN Flood攻击清洗方法、装置、电子设备和可读存储介质 Download PDF

Info

Publication number
CN112087464B
CN112087464B CN202010981495.6A CN202010981495A CN112087464B CN 112087464 B CN112087464 B CN 112087464B CN 202010981495 A CN202010981495 A CN 202010981495A CN 112087464 B CN112087464 B CN 112087464B
Authority
CN
China
Prior art keywords
target
message
syn
difference value
time difference
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
CN202010981495.6A
Other languages
English (en)
Other versions
CN112087464A (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 Knownsec Information Technology Co Ltd
Original Assignee
Beijing Knownsec Information Technology Co Ltd
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 Knownsec Information Technology Co Ltd filed Critical Beijing Knownsec Information Technology Co Ltd
Priority to CN202010981495.6A priority Critical patent/CN112087464B/zh
Publication of CN112087464A publication Critical patent/CN112087464A/zh
Application granted granted Critical
Publication of CN112087464B publication Critical patent/CN112087464B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

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)

Abstract

本发明的实施例提供了一种SYN Flood攻击清洗方法、装置、电子设备和可读存储介质,涉及安全技术领域。本发明实施例提供的SYN Flood攻击清洗方法、装置、电子设备和可读存储介质,在接收目标SYN报文后,通过提取目标SYN报文中的参数信息,根据参数信息查找是否存在相同参数信息的目标历史缓存表项,若存在目标历史缓存表项,根据接收到目标SYN报文的报文时间、目标历史缓存表项中的时间戳和第一时间差值,对目标SYN报文进行验证。如此,根据SYN报文的时延对SYN报文进行合法性验证,可有效识别出非法的SYN报文,并进行清洗,且准确性较高。

Description

SYN Flood攻击清洗方法、装置、电子设备和可读存储介质
技术领域
本发明涉及安全技术领域,具体而言,涉及一种SYN Flood攻击清洗方法、装置、电子设备和可读存储介质。
背景技术
SYN Flood攻击是分布式拒绝服务攻击(Distributed Denial Of Service,DDoS)的常见类型,具有攻击成本低,攻击效果好的特点。目前,大多现有技术采用速率限制的方式来防御SYN Flood攻击,其通过设定特定的速率阈值来限制攻击SYN报文的接收速度,从而减少攻击的影响。但这种限制速率的方式,不能区分正常流量和异常流量,某些合法的请求报文也会因为速率限制而被丢弃,导致其正确性不高,从而影响正常的业务。
发明内容
基于上述研究,本发明提供了一种SYN Flood攻击清洗方法、装置、电子设备和可读存储介质,以改善上述问题。
本发明的实施例可以这样实现:
第一方面,本发明实施例提供一种SYN Flood攻击清洗方法,应用于电子设备,所述电子设备存储有多个历史缓存表项,各所述历史缓存表项中存储有时间戳、第一时间差值以及SYN报文的参数信息,所述时间戳表征上一次接收到所述SYN报文的报文时间,所述第一时间差值表征上一次接收到所述SYN报文的报文时间与上一次存储在所述历史缓存表项中的时间戳的差值;所述方法包括:
接收目标SYN报文,提取所述目标SYN报文中的参数信息;
根据所述参数信息查找是否存在具有相同参数信息的目标历史缓存表项;
若存在所述目标历史缓存表项,根据接收到所述目标SYN报文的报文时间、所述目标历史缓存表项中的时间戳和第一时间差值,对所述目标SYN报文进行验证。
在可选的实施方式中,所述根据接收到所述目标SYN报文的报文时间、所述目标历史缓存表项中的时间戳和第一时间差值,对所述目标SYN报文进行验证的步骤包括:
计算接收到所述目标SYN报文的报文时间与所述目标历史缓存表项中的时间戳的第二时间差值;
将所述第二时间差值与所述目标历史缓存表项中的第一时间差值进行比较,根据比较结果,对所述目标SYN报文进行验证。
在可选的实施方式中,所述将所述第二时间差值与所述目标历史缓存表项中的第一时间差值进行比较,根据比较结果,对所述目标SYN报文进行验证的步骤包括:
判断所述第一时间差值是否为零值;
若为零值,丢弃所述目标SYN报文,以所述第二时间差值对所述目标历史缓存表项中的第一时间差值进行更新,以接收到所述目标SYN报文的报文时间对所述目标历史缓存表项中的时间戳进行更新;
若未为零值,判断所述第二时间差值是否小于设定值;若小于所述设定值,丢弃所述目标SYN报文,以所述第二时间差值对所述目标历史缓存表项中的第一时间差值进行更新,以接收到所述目标SYN报文的报文时间对所述目标历史缓存表项中的时间戳进行更新;若未小于所述设定值,判断所述第二时间差值与所述第一时间差值的倍数是否大于设定倍数,若大于所述设定倍数,则判定验证通过,更新验证次数。
在可选的实施方式中,在对所述目标SYN报文进行验证后,所述方法还包括:
若验证通过,更新验证次数,判断更新后的验证次数是否达到设定阈值,若达到所述设定阈值,则放行所述目标SYN报文;
若未达到所述设定阈值,则丢弃所述目标SYN报文,以所述第二时间差值对所述目标历史缓存表项中的第一时间差值进行更新,以接收到所述目标SYN报文的报文时间对所述目标历史缓存表项中的时间戳进行更新。
在可选的实施方式中,所述历史缓存表项中存储有所述SYN报文的序列号;在提取所述目标SYN报文中的参数信息后,所述方法还包括:
提取所述目标SYN报文的序列号;
在查找到存在所述目标历史缓存表项后,所述方法还包括:
判断所述目标SYN报文的序列号与所述目标历史缓存表项中的序列号是否一致,若不一致,丢弃所述目标SYN报文;
若一致,根据接收到所述目标SYN报文的报文时间、所述目标历史缓存表项中的时间戳和第一时间差值,对所述目标SYN报文进行验证。
在可选的实施方式中,若查找到未存在所述目标历史缓存表项,所述方法还包括:
以所述目标SYN报文的参数信息为KEY值,接收到所述目标SYN报文的报文时间为时间戳、第一时间差值为零值,验证次数为初始值以及所述目标SYN报文的序列号创建新的历史缓存表项,并丢弃所述目标SYN报文。
在可选的实施方式中,所述参数信息包括发包源的源IP、目的IP以及端口。
第二方面,本发明实施例提供一种SYN Flood攻击清洗装置,应用于电子设备,所述电子设备存储有多个历史缓存表项,各所述历史缓存表项中存储有时间戳、第一时间差值以及SYN报文的参数信息,所述时间戳表征上一次接收到所述SYN报文的报文时间,所述第一时间差值表征上一次接收到所述SYN报文的报文时间与上一次存储在所述历史缓存表项中的时间戳的差值;所述装置包括信息提取模块、表项查找模块以及报文验证模块;
所述信息提取模块用于接收目标SYN报文,提取所述目标SYN报文中的参数信息;
所述表项查找模块用于根据所述参数信息查找是否存在具有相同参数信息的目标历史缓存表项;
若存在所述目标历史缓存表项,所述报文验证模块用于根据接收到所述目标SYN报文的报文时间、所述目标历史缓存表项中的时间戳和第一时间差值,对所述目标SYN报文进行验证。
第三方面,本发明实施例提供一种电子设备,包括处理器及存储有计算机指令的非易失性存储器,所述计算机指令被所述处理器执行时实现前述实施方式中任意一项所述的SYN Flood攻击清洗方法。
第四方面,本发明实施例提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现前述实施方式中任意一项所述的SYN Flood攻击清洗方法。
本发明实施例提供的SYN Flood攻击清洗方法、装置、电子设备和可读存储介质,在接收目标SYN报文后,通过提取目标SYN报文中的参数信息,根据参数信息查找是否存在相同参数信息的目标历史缓存表项,若存在目标历史缓存表项,根据接收到目标SYN报文的报文时间、目标历史缓存表项中的时间戳和第一时间差值,对目标SYN报文进行验证。如此,根据SYN报文的时延对SYN报文进行合法性验证,可有效识别出非法的SYN报文,并进行清洗,且准确性较高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的电子设备的一种方框示意图。
图2为本发明实施例所提供的SYN Flood攻击清洗方法的一种流程示意图。
图3为本发明实施例所提供的SYN Flood攻击清洗方法的另一种流程示意图。
图4为本发明实施例所提供的SYN Flood攻击清洗方法的又一种流程示意图。
图5为本发明实施例所提供的SYN Flood攻击清洗装置的一种方框示意图。
图标:100-电子设备;10-SYN Flood攻击清洗装置;11-信息提取模块;12-表项查找模块;13-报文验证模块;20-存储器;30-处理器;40-通信单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
目前防御SYN Flood攻击的技术有很多,例如,源认证以及速率限制等等。但源认证的方式,在验证SYN报文的合法性过程中,需要断开连接,其适用场景较少,普适性较低。
而速率限制的方式,不能却分正常流量和异常流量,当速率限制较低时,会将合法的请求报文丢弃,当速率限制较大时,会将非法的请求报文放行,从而影响正常的业务。同时,适用速率的方式很难具有通用性,不同的业务需要不同的参数,耦合性强,业务的变更甚至正常的增长都需要时刻调整参数,使用成本高,风险大,有可能因不合适的参数而导致业务增长收到影响。
由于SYN flood是一种利用传输控制协议(Transmission Control Protocol,TCP)协议缺陷,发送大量伪造TCP连接请求,使被攻击方资源耗尽的攻击方式,虽然不同的操作使用在协议栈的实现上有较大的差异,但发明人在SYN报文的重传处理过程中,发现SYN报文的重传均遵循指数退避的策略,即在每一次重复冲突发生后,时延会翻倍增加,以减少冲突的发生概率。因此,本发明提供一种SYN Flood攻击清洗方法、装置、电子设备和可读存储介质,基于TCP协议规范要求,通过检验发包源是否采取指数退避的方式进行SYN报文的重传来判断报文的合法性,从而识别出攻击流量并进行拦截,实现SYN Flood的清洗,具有很强的普适性,且准确度很高。
请参考图1,图1为本发明实施例所提供的电子设备100的一种方框示意图,该电子设备100可以是,但不限于,web(网站)服务器、数据服务器、防火墙设备等等。
该电子设备的内部结构图可以如图1所示,包括SYN Flood攻击清洗装置10、存储器20、处理器30以及通信单元40。
所述存储器20、处理器30以及通信单元40相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器20中存储有SYN Flood攻击清洗装置10,所述SYN Flood攻击清洗装置10包括至少一个可以软件或固件(firmware)的形式存储于所述存储器20中的软件功能模块,所述处理器30通过运行存储在存储器20内的软件程序以及模块,如本发明实施例中的SYNFlood攻击清洗装置10,从而执行各种功能应用以及数据处理,即实现本发明实施例中的交通安全提示方法。
其中,所述存储器20可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器20用于存储程序,所述处理器30在接收到执行指令后,执行所述程序。
所述处理器30可能是一种集成电路芯片,具有数据的处理能力。上述的处理器30可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
通信单元40用于通过网络建立电子设备100与其他设备之间的通信连接,实现数据的收发操作。上述网络可包括无线网络或者有线网络。
可以理解,图1所示的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
基于图1的实现架构,请结合参阅图2,图2为本实施例所提供的SYN Flood攻击清洗方法的一种流程示意图。该方法由图1所示的电子设备100执行,下面对图2所示的流程图进行详细阐述。
步骤S10:接收目标SYN报文,提取目标SYN报文中的参数信息。
其中,电子设备在接收到任一发包源发送的SYN报文后(该SYN报文即为目标SYN报文),对目标SYN报文进行分析,提取目标SYN报文的参数信息,该参数信息包括目标SYN报文的四元组信息。该四元组信息包括发包源的源IP、目的IP以及端口。
步骤S20:根据参数信息,查找是否存在具有相同参数信息的目标历史缓存表项。
若存在目标历史缓存表项,执行步骤S30。
步骤S30:根据接收到目标SYN报文的报文时间、目标历史缓存表项中的时间戳和第一时间差值,对目标SYN报文进行验证。
在本实施例中,当电子设备接收到各发包源首次发送的SYN报文后,会基于各发包源发送的SYN报文建立对应的历史缓存表项。
各历史缓存表项用于存储时间戳、第一时间差值以及SYN报文的参数信息等等,其中,时间戳表征上一次接收到SYN报文的报文时间,第一时间差值表征上一次接收到SYN报文的报文时间与上一次存储在历史缓存表项中的时间戳的差值,即第一时间差值表征上一次接收到SYN报文的报文时间与上一次存储在历史缓存表项中未更新的时间戳的差值。
可以理解地,基于首次SYN报文所建立得到的历史缓存表项,其时间戳为首次接收到SYN报文的时间,第一时间差值为0。
需要说明的是,在发包源重传报文的过程中,SYN报文的参数信息不会发生改变,因此,电子设备可根据接收到的SYN报文的参数信息,查找本地是否存在具有相同参数信息的目标历史缓存表项,即从多个历史缓存表项中查找是否具有相同参数信息的历史缓存表项。
若电子设备在根据目标SYN报文的参数信息,查找到存在具有相同参数信息的目标历史缓存表项后,即表明该发包源之前已发送过SYN报文,该次发送的目标SYN报文为重传的SYN报文,因此,则可以根据接收到目标SYN报文的报文时间、目标历史缓存表项中的时间戳和第一时间差值,对目标SYN报文进行验证,验证该目标SYN报文的重传方式是否符合协议规范的指数退避的方式。如此,可在不断开请求的情况下识别并清洗掉非法SYN报文,而且不会影响合法的SYN报文,准确性更高,尤其是不断开连接,可以适用绝大多数的场景,适用性强。
可选的,为了提高验证的准确性,本实施例所提供的SYN Flood攻击清洗方法还包括:
在提取目标SYN报文中的参数信息后,提取目标SYN报文的序列号,并在查找到存在目标历史缓存表项后,判断目标SYN报文的序列号与目标历史缓存表项中的序列号是否一致,若不一致,丢弃所述目标SYN报文。
若一致,根据接收到目标SYN报文的报文时间、目标历史缓存表项中的时间戳和第一时间差值,对目标SYN报文进行验证。
其中,目标历史缓存表项中还存储有SYN报文的序列号(该序列号可以为SEQ序列号),在判定得到目标SYN报文的序列号与目标历史缓存表项中的序列号一致时,则表示目标SYN报文为发包源重传的SYN报文。若判定得到目标SYN报文的序列号与目标历史缓存表项中的序列号不一致时,则目标SYN报文可能为发包源新建的连接所发出的SYN报文,即并非重传的SYN报文,也可能为非法的SYN报文,因此,需要将目标SYN报文丢弃。
在本实施例中,若电子设备在根据目标SYN报文的参数信息,未查找到存在具有相同参数信息的目标历史缓存表项,则表示目标SYN报文为发包源首次发送的SYN报文,因此,需新建一新的历史缓存表项。如图2所示,本实施例提供的SYN Flood攻击清洗方法还可以包括步骤S40。
步骤S40:以目标SYN报文的参数信息为KEY值,接收到目标SYN报文的报文时间为时间戳、第一时间差值为零值,验证次数为初始值以及目标SYN报文的序列号创建新的缓存表项,并丢弃目标SYN报文。
可选的,验证次数的初始值可以为零值,或者任意设定的值。在本实施例中,验证次数的值会随着重传SYN报文验证通过的次数的增加而进行更新。
可选的,在查找到目标历史缓存表项后,请结合参阅图3,根据接收到目标SYN报文的报文时间、目标历史缓存表项中的时间戳和第一时间差值,对目标SYN报文进行验证的步骤可以包括步骤S31至步骤S32。
步骤S31:计算接收到目标SYN报文的报文时间与目标历史缓存表项中的时间戳的第二时间差值。
步骤S32:将第二时间差值与目标历史缓存表项中的第一时间差值进行比较,根据比较结果,对目标SYN报文进行验证。
本实施例通过计算接收到目标SYN报文的报文时间与目标历史缓存表项中的时间戳的第二时间差值,将第二时间差值与目标历史缓存表项中的第一时间差值进行比较,根据比较结果对目标SYN报文进行验证,进而通过时间差来验证发包源是否采取指数退避的方式重传SYN报文,以此验证目标SYN报文的合法性。
可选的,请结合参阅图4,将第二时间差值与目标历史缓存表项中的第一时间差值进行比较,根据比较结果,对目标SYN报文进行验证的步骤包括步骤S321至步骤S326。
步骤S321:判断第一时间差值是否为零值。
若为零值,执行步骤S322,若未为零值,执行步骤S323。
步骤S322:丢弃目标SYN报文,以第二时间差值对目标历史缓存表项中的第一时间差值进行更新,以接收到目标SYN报文的报文时间对目标历史缓存表项中的时间戳进行更新。
步骤S323:判断第二时间差值是否小于设定值。
若小于设定值,执行步骤S322。若未小于设定值,执行步骤S324。
步骤S324:判断第二时间差值与第一时间差值的倍数是否大于设定倍数。
若大于设定倍数,执行步骤S325。若未大于设定倍数,执行步骤S326。
步骤S325:判定验证通过,更新验证次数。
步骤S326:丢弃目标SYN报文,以接收到目标SYN报文的报文时间对目标历史缓存表项中的时间戳进行更新。
其中,若目标历史缓存表项中的第一时间差值为0值,表示该目标SYN报文为第一次重传的SYN报文,重传次数过少,无法验证发包源是否采取指数退避的方式重传SYN报文,因此,将该次发送的目标SYN报文丢弃,以使发包源再次发送SYN报文,同时,根据第二时间差值对目标历史缓存表项中的第一时间差值进行更新,根据接收到目标SYN报文的报文时间对目标历史缓存表项中的时间戳进行更新,即将目标历史缓存表项中的时间戳的值更新为接收到目标SYN报文的报文时间,将第一时间差值的值更新为第二时间差值的值,从而实现对目标历史缓存表项的更新,以便于根据更新后的目标历史缓存表项对下次重传的SYN报文进行验证。
若目标历史缓存表项中的第一时间差值未为零值,则判断第二时间差值是否小于设定值,其中,设定值可根据TCP协议规范而设置,可选的,在本实施例中,设定值可以为1s。
当第二时间差值小于设定值,则表示目标SYN报文可能是因丢包而延迟到达的SYN报文,需要丢弃目标SYN报文,并以接收到目标SYN报文的报文时间对目标历史缓存表项中的时间戳进行更新,以第二时间差值对目标历史缓存表项中的第一时间差值进行更新,以此提高报文验证的准确性。
当第二时间差值未小于设定值时,则计算第一时间差值与第二时间差值的倍数,判断第二时间差值与第一时间差值的倍数是否大于设定倍数,即判断第二时间差值是否大于第一时间差值的设定倍数,若大于设定倍数,则判定验证通过,更新验证次数。若未大于设定倍数,则丢弃目标SYN报文,并以接收到目标SYN报文的报文时间对目标历史缓存表项中的时间戳进行更新。
由于指数退避在每一次重复冲突发生后,时延会翻倍增加,因此,在本实施例中,设定倍数可以是两倍,当第二时间差值大于第一时间差值的两倍时,则判定发包源是采取指数退避的方式重发的SYN报文,验证通过,并更新验证次数。
在本实施例中,验证通过一次,则在历史缓存表项中的验证次数加1。
为了提高验证的准确性,在本实施例中,若目标SYN报文验证通过,更新验证次数之后,还需要判断更新后的验证次数是否达到设定阈值,若达到设定阈值,则放行目标SYN报文。
为了便于后续发包源的报文发送,减少数据的处理量,在判定得到验证次数大于设定阈值后,还可以将该目标SYN报文对应的发包源的源IP加入白名单,如此,在后续过程中,直接放行该发包源发送的SYN报文,无需对该发包源发送的SYN报文进行验证,以此减少了数据的处理量。
若验证次数未达到设定阈值,则以第二时间差值对目标历史缓存表项中的第一时间差值进行更新,以接收到目标SYN报文的报文时间对目标历史缓存表项中的时间戳进行更新,同时丢弃目标SYN报文。
当电子设备再接收到发包源重传的SYN报文后,则可以基于更新后的目标历史缓存表项对重传的SYN报文再次进行验证,并在验证通过之后,递增验证次数。
可选的,为了提高处理效率,本实施例在验证次数未达到设定阈值时,也可以在丢弃目标SYN报文后,只根据接收到目标SYN报文的报文时间对目标历史缓存表项中的时间戳进行更新,以此减少数据的处理量,提高处理效率。
本实施例所提供的SYN Flood攻击清洗方法,在接收目标SYN报文后,通过提取目标SYN报文中的参数信息,根据参数信息查找是否存在相同参数信息的目标历史缓存表项,若存在目标历史缓存表项,根据接收到目标SYN报文的报文时间、目标历史缓存表项中的时间戳和第一时间差值,对目标SYN报文进行验证。如此,可在不断开请求的情况下识别并清洗掉非法SYN报文,而且不会影响合法的SYN报文,准确性更高,尤其是不断开连接,可以适用绝大多数的场景,适用性强。
基于同一发明构思,请结合参阅图5,本实施例还提供一种SYN Flood攻击清洗装置10,应用于图1所示的电子设备,电子设备存储有多个历史缓存表项,各历史缓存表项中存储有时间戳、第一时间差值以及SYN报文的参数信息,时间戳表征上一次接收到SYN报文的报文时间,第一时间差值表征上一次接收到SYN报文的报文时间与上一次存储在历史缓存表项中的时间戳的差值;SYN Flood攻击清洗装置10包括信息提取模块11、表项查找模块12以及报文验证模块13。
信息提取模块11用于接收目标SYN报文,提取目标SYN报文中的参数信息。
表项查找模块12用于根据参数信息查找是否存在具有相同参数信息的目标历史缓存表项。
若存在目标历史缓存表项,报文验证模块13用于根据接收到目标SYN报文的报文时间、目标历史缓存表项中的时间戳和第一时间差值,对目标SYN报文进行验证。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
在上述基础上,本实施例还提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述可读存储介质的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本发明实施例提供了一种SYN Flood攻击清洗方法、装置、电子设备和可读存储介质,在接收目标SYN报文后,通过提取目标SYN报文中的参数信息,根据参数信息查找是否存在相同参数信息的目标历史缓存表项,若存在目标历史缓存表项,根据接收到目标SYN报文的报文时间、目标历史缓存表项中的时间戳和第一时间差值,对目标SYN报文进行验证。如此,可在不断开请求的情况下识别并清洗掉非法SYN报文,而且不会影响合法的SYN报文,准确性更高,尤其是不断开连接,可以适用绝大多数的场景,适用性强。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种SYN Flood攻击清洗方法,其特征在于,应用于电子设备,所述电子设备存储有多个历史缓存表项,各所述历史缓存表项中存储有时间戳、第一时间差值以及SYN报文的参数信息,所述时间戳表征上一次接收到所述SYN报文的报文时间,所述第一时间差值表征上一次接收到所述SYN报文的报文时间与上一次存储在所述历史缓存表项中的时间戳的差值;所述方法包括:
接收目标SYN报文,提取所述目标SYN报文中的参数信息;
根据所述参数信息,查找是否存在具有相同参数信息的目标历史缓存表项;
若存在所述目标历史缓存表项,计算接收到所述目标SYN报文的报文时间与所述目标历史缓存表项中的时间戳的第二时间差值;
将所述第二时间差值与所述目标历史缓存表项中的第一时间差值进行比较,根据比较结果,对所述目标SYN报文进行验证。
2.根据权利要求1所述的SYN Flood攻击清洗方法,其特征在于,所述将所述第二时间差值与所述目标历史缓存表项中的第一时间差值进行比较,根据比较结果,对所述目标SYN报文进行验证的步骤包括:
判断所述第一时间差值是否为零值;
若为零值,丢弃所述目标SYN报文,以所述第二时间差值对所述目标历史缓存表项中的第一时间差值进行更新,以接收到所述目标SYN报文的报文时间对所述目标历史缓存表项中的时间戳进行更新;
若未为零值,判断所述第二时间差值是否小于设定值;若小于所述设定值,丢弃所述目标SYN报文,以所述第二时间差值对所述目标历史缓存表项中的第一时间差值进行更新,以接收到所述目标SYN报文的报文时间对所述目标历史缓存表项中的时间戳进行更新;若未小于所述设定值,判断所述第二时间差值与所述第一时间差值的倍数是否大于设定倍数,若大于所述设定倍数,则判定验证通过,更新验证次数。
3.根据权利要求1所述的SYN Flood攻击清洗方法,其特征在于,在对所述目标SYN报文进行验证后,所述方法还包括:
若验证通过,更新验证次数,并判断更新后的验证次数是否达到设定阈值,若达到所述设定阈值,则放行所述目标SYN报文;
若未达到所述设定阈值,则丢弃所述目标SYN报文,以所述第二时间差值对所述目标历史缓存表项中的第一时间差值进行更新,以接收到所述目标SYN报文的报文时间对所述目标历史缓存表项中的时间戳进行更新。
4.根据权利要求1所述的SYN Flood攻击清洗方法,其特征在于,所述历史缓存表项中存储有所述SYN报文的序列号;在提取所述目标SYN报文中的参数信息后,所述方法还包括:
提取所述目标SYN报文的序列号;
在查找到存在所述目标历史缓存表项后,所述方法还包括:
判断所述目标SYN报文的序列号与所述目标历史缓存表项中的序列号是否一致,若不一致,丢弃所述目标SYN报文;
若一致,根据接收到所述目标SYN报文的报文时间、所述目标历史缓存表项中的时间戳和第一时间差值,对所述目标SYN报文进行验证。
5.根据权利要求4所述的SYN Flood攻击清洗方法,其特征在于,若查找到未存在所述目标历史缓存表项,所述方法还包括:
以所述目标SYN报文的参数信息为KEY值,接收到所述目标SYN报文的报文时间为时间戳、第一时间差值为零值,验证次数为初始值以及所述目标SYN报文的序列号创建新的历史缓存表项,并丢弃所述目标SYN报文。
6.根据权利要求1所述的SYN Flood攻击清洗方法,其特征在于,所述参数信息包括发包源的源IP、目的IP以及端口。
7.一种SYN Flood攻击清洗装置,其特征在于,应用于电子设备,所述电子设备存储有多个历史缓存表项,各所述历史缓存表项中存储有时间戳、第一时间差值以及SYN报文的参数信息,所述时间戳表征上一次接收到所述SYN报文的报文时间,所述第一时间差值表征上一次接收到所述SYN报文的报文时间与上一次存储在所述历史缓存表项中的时间戳的差值;所述装置包括信息提取模块、表项查找模块以及报文验证模块;
所述信息提取模块用于接收目标SYN报文,提取所述目标SYN报文中的参数信息;
所述表项查找模块用于根据所述参数信息查找是否存在具有相同参数信息的目标历史缓存表项;
若存在所述目标历史缓存表项,所述报文验证模块用于:
计算接收到所述目标SYN报文的报文时间与所述目标历史缓存表项中的时间戳的第二时间差值;
将所述第二时间差值与所述目标历史缓存表项中的第一时间差值进行比较,根据比较结果,对所述目标SYN报文进行验证。
8.一种电子设备,其特征在于,包括处理器及存储有计算机指令的非易失性存储器,所述计算机指令被所述处理器执行时实现权利要求1-6中任意一项所述的SYN Flood攻击清洗方法。
9.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-6中任意一项所述的SYN Flood攻击清洗方法。
CN202010981495.6A 2020-09-17 2020-09-17 SYN Flood攻击清洗方法、装置、电子设备和可读存储介质 Active CN112087464B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010981495.6A CN112087464B (zh) 2020-09-17 2020-09-17 SYN Flood攻击清洗方法、装置、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010981495.6A CN112087464B (zh) 2020-09-17 2020-09-17 SYN Flood攻击清洗方法、装置、电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN112087464A CN112087464A (zh) 2020-12-15
CN112087464B true CN112087464B (zh) 2022-11-22

Family

ID=73736626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010981495.6A Active CN112087464B (zh) 2020-09-17 2020-09-17 SYN Flood攻击清洗方法、装置、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN112087464B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124489B (zh) * 2021-11-11 2024-04-05 中国建设银行股份有限公司 防止流量攻击的方法、清洗装置、设备和介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584352B2 (en) * 2002-12-04 2009-09-01 International Business Machines Corporation Protection against denial of service attacks
JP4481780B2 (ja) * 2003-09-29 2010-06-16 アルカテル−ルーセント ユーエスエー インコーポレーテッド Tcpサーバへのsynパケット帯域幅攻撃から防御する方法および装置
US7992208B2 (en) * 2005-09-19 2011-08-02 University Of Maryland Detection of nonconforming network traffic flow aggregates for mitigating distributed denial of service attacks
CN106302361A (zh) * 2015-06-10 2017-01-04 西安中兴新软件有限责任公司 一种防止网络攻击的方法及设备
CN106357666A (zh) * 2016-10-09 2017-01-25 广东睿江云计算股份有限公司 一种syn flood攻击的清洗方法及系统
CN106487790B (zh) * 2016-10-09 2020-01-31 广东睿江云计算股份有限公司 一种ack flood攻击的清洗方法及系统
CN107547507B (zh) * 2017-06-27 2021-07-09 新华三技术有限公司 一种防攻击方法、装置、路由器设备及机器可读存储介质
CN111970308A (zh) * 2020-09-03 2020-11-20 杭州安恒信息技术股份有限公司 一种防护SYN Flood攻击的方法、装置及设备

Also Published As

Publication number Publication date
CN112087464A (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
US10284594B2 (en) Detecting and preventing flooding attacks in a network environment
US8453208B2 (en) Network authentication method, method for client to request authentication, client, and device
CN109639712B (zh) 一种防护ddos攻击的方法及系统
CN110784464B (zh) 泛洪攻击的客户端验证方法、装置、系统及电子设备
US20100095351A1 (en) Method, device for identifying service flows and method, system for protecting against deny of service attack
US7854000B2 (en) Method and system for addressing attacks on a computer connected to a network
CN111212096B (zh) 一种降低idc防御成本的方法、装置、存储介质和计算机
CN110266650B (zh) Conpot工控蜜罐的识别方法
CN108810008B (zh) 传输控制协议流量过滤方法、装置、服务器及存储介质
CN110213204B (zh) 攻击防护方法及装置、设备及可读存储介质
CN112087464B (zh) SYN Flood攻击清洗方法、装置、电子设备和可读存储介质
CN113242260B (zh) 攻击检测方法、装置、电子设备及存储介质
CN114697088B (zh) 一种确定网络攻击的方法、装置及电子设备
CN113872949B (zh) 一种地址解析协议的应答方法及相关装置
KR102027438B1 (ko) Ddos 공격 차단 장치 및 방법
CN116866055B (zh) 数据泛洪攻击的防御方法、装置、设备及介质
CN115473680A (zh) 一种基于在线交互式WEB动态防御的防应用DDoS方法

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
GR01 Patent grant
GR01 Patent grant