CN112714102A - 一种多核异构平台下SYN Flood攻击防御方法 - Google Patents

一种多核异构平台下SYN Flood攻击防御方法 Download PDF

Info

Publication number
CN112714102A
CN112714102A CN202011390816.1A CN202011390816A CN112714102A CN 112714102 A CN112714102 A CN 112714102A CN 202011390816 A CN202011390816 A CN 202011390816A CN 112714102 A CN112714102 A CN 112714102A
Authority
CN
China
Prior art keywords
address
source
current message
red
list
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
Application number
CN202011390816.1A
Other languages
English (en)
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.)
National Computer Network and Information Security Management Center
Original Assignee
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 National Computer Network and Information Security Management Center filed Critical National Computer Network and Information Security Management Center
Priority to CN202011390816.1A priority Critical patent/CN112714102A/zh
Publication of CN112714102A publication Critical patent/CN112714102A/zh
Pending legal-status Critical Current

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

Landscapes

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

Abstract

本发明公开了一种多核异构平台下SYN Flood攻击防御方法,采用基于源IP地址的白名单及红黑名单的方式进行攻击防御,防御过程中没有建立会话表而产生的内存资源开销,在防御攻击的同时,仍然能保证正常流量的畅通。

Description

一种多核异构平台下SYN Flood攻击防御方法
技术领域
本发明属于计算机网络安全技术领域,具体涉及一种多核异构平台下SYN Flood攻击防御方法。
背景技术
SYN Flood是最广为人知的一种拒绝服务攻击(Dos)和分布式拒绝服务攻击(DDos)的攻击方式之一。它的原理是利用TCP协议的设计缺陷,伪造假的IP地址或IP地址范围发送海量的TCP连接三次握手的首包(SYN报文),使得攻击方需要消耗内存保持连接的状态处于SYN Recv状态的半连接直至超时,根据TCP协议要求,服务端还要回复多次SYN-Ack报文,这种状况直到资源耗尽(如CPU满负荷或者内存不足),从而导致无法处理其他正常的服务,达到攻击的目的。
对网络安全厂商而言,防御SYN Flood攻击的有效方法主要是靠阈值和延迟分配TCB的方法来进行攻击防御。阈值的方法主要是靠实时监控syn半连接的数量,超过一定阈值后直接断开连接,这种方法对攻击和正常浏览一视同仁,故而会导致正常连接也会因此被错误释放掉,无法保证防御攻击的同时流量的正常畅通。另外一种延迟分配TCB的方法主要是使用SYN Cookie和SYN Cache技术来进行防御,主要实现原理是收到TCP三次握手首包后不急于向服务端发送SYN报文,而是回复一个SYN Ack,并建立专用哈希表记录回复的序列号等半连接信息,直到收到了客户端回应的Ack报文后确认该IP有效后再次转发SYN报文。网络转发设备防火墙使用这种攻击防御方法会耗费较多资源,且处理正常流量和攻击流量一致,导致正常流量中每个报文均需要更改后续的SYN序列号、校验和,对正常流量造成影响。
对于网络厂商而言,如何更好的防御SYN Flood攻击,不仅仅是靠算法防御,多核下要更加考虑处理共享资源,在防御攻击的同时可以保持正常流量,需要更多的考虑防御方法、多核架构的设计,以及如何在多核下处理资源的竞争问题。
发明内容
有鉴于此,本发明提供了一种多核异构平台下SYN Flood攻击防御方法,能够在保证正常流量通畅的情况下实现多核异构平台的SYN Flood攻击防御。
本发明提供的一种多核异构平台下SYN Flood攻击防御方法,包括以下步骤:
分别建立基于源IP地址的白名单表和红黑表;所述红黑表包括黑名单和红名单;
若当前报文在会话表中,则基于会话表转发所述当前报文;若所述当前报文未在会话表中,且所述当前报文的源IP地址在所述白名单表中,则新建会话表项,基于新建的会话表项转发所述当前报文;
若所述当前报文未在会话表中,且所述当前报文的源IP地址未在所述白名单表中,则查询所述红黑表,若所述当前报文的源IP地址未在所述红黑表中,则将所述当前报文的源IP地址加入黑名单中;若所述当前报文的源IP地址在黑名单中,则丢弃所述当前报文的源IP地址的报文;若所述当前报文的源IP地址在红名单中,则若接收到的来自所述当前报文的源IP地址的Ack报文的数量大于阈值则将所述当前报文的源IP地址加入黑名单,否则将其加入红名单。
进一步地,所述白名单表为全局表,所述红黑表为局部表。
进一步地,所述方法还包括根据所述白名单表和红黑表采取三级防御机制防御攻击,具体包括以下步骤:
若所述当前报文的源IP地址未在所述红黑表中,则丢弃所述当前报文的源IP地址的首个数据包,若未再接收到来自于所述当前报文的源IP地址的Ack报文,则将所述当前报文的源IP地址加入黑名单,并丢弃所述当前报文的源IP地址的报文;
若所述当前报文的源IP地址在所述黑名单中,则丢弃所述当前报文的源IP地址的报文;若所述当前报文的源IP地址在所述红名单中,则接收到来自于所述当前报文的源IP地址的Ack报文的数量大于阈值时,将所述当前报文的源IP地址加入所述黑名单;接收到来自于所述当前报文的源IP地址的Ack报文的数量不大于阈值,则向所述当前报文的源IP地址回复带有错误序列号的Ack报文,如果接收到的所述当前报文的源IP地址回复的错误Ack的数量超过阈值且在规定时间内未收到回复的Reset报文,则将所述当前报文的源IP地址加入黑名单,如果在规定时间接收到了所述当前报文的源IP地址回复的Reset报文,则将所述当前报文的源IP地址加入所述白名单表。
进一步地,所述白名单表采取预先构建与动态增加的方式进行维护。
进一步地,所述白名单表的超时机制为根据超时阈值控制表项,即在对所述白名单表进行查找时删除超过所述超时阈值的表项;所述红黑表采用最近最少使用LRU算法作为超时机制。
有益效果:
1、本发明采用基于源IP地址的白名单及红黑名单的方式进行攻击防御,防御过程中没有建立会话表而产生的内存资源开销,在防御攻击的同时,仍然能保证正常流量的畅通。
2、本发明采用白名单全局化、红黑表每核独有化,可以使得在攻击流量发生时,最大化保证白名单表的查询速度,从而使防御流量的性能随着CPU数量的增加而线性增长。
3、本发明基于建立的白名单及红黑名单,采用三级防御机制有效提高了对SYNFlood攻击防御的成功率。
4、本发明采用基于Lru先进先出超时表来维护红黑名单超时,无需挂每核Timer,且在每核中维护单独的Lru表,因此在攻击流量上G数量级时也能保证定时处理超时的黑名单时的性能。
附图说明
图1为本发明提供的多核异构平台下SYN Flood攻击防御方法的结构图。
图2为本发明提供的多核异构平台下SYN Flood攻击防御方法的白名单处理流程图。
图3为本发明提供的多核异构平台下SYN Flood攻击防御方法的基本防御过程流程图。
图4为本发明提供的多核异构平台下SYN Flood攻击防御方法的采用哈系桶方法防御流程图。
图5为本发明提供的多核异构平台下SYN Flood攻击防御方法的三级防御流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
现有技术中,基于多核异构平台的防火墙的架构包含两大模块:一是用于快速转发网络报文的快速模块,通常运行在用户态由多个CPU参与转发,主要功能是提升防火墙的转发性能;二是用于实现复杂的逻辑功能的慢速模块,通常运行在内核态由多个CPU参与实现。总体来讲,基于多核异构平台的防火墙中快速模块保证高性能,慢速模块保证功能的完备性。对于SYN Flood攻击,通常需要在新建会话表时进行防御,而在异构平台中快速模块和慢速模块均需参与新建会话的过程,按照模块的功能来说,SYN Flood攻击的防御应主要由慢速模块实现,但这必然会将攻击流量进入快速模块和慢速模块之间的通道,从而导致通道堵塞丢包,进而影响正常流量,因此,本发明中对SYN Flood攻击防御的主要功能由快速模块实现,具体结构如图1所示。
目前SYN Flood攻击的类型主要包括基于固定的源IP地址或者变化的源IP地址进行单机或者分布式攻击,上述两种类型均属于伪装无效的源IP地址的方式。本发明提供的一种多核异构平台下SYN Flood攻击防御方法,是基于SYN Flood的攻击特点,结合TCP协议栈和实际应用场景而设计,其核心思想是:基于源IP地址建立的红黑名单及白名单进行攻击防御。
本发明提供的一种多核异构平台下SYN Flood攻击防御方法,具体包括以下步骤:
步骤1、构建白名单表。
本发明中,将白名单表设计为全局表,内存分配采用内存池(Memory Pool)申请的方式,白名单表全局查询不加锁,且与红黑名单分开,是一个独立的白名单表。
将白名单与红黑名单分开单独建表的效果在于:对于海量攻击,红黑名单中存在上百万的伪装IP地址,如果白名单混合其中,将会影响正常流量的查找性能。因此,将白名单独立建表可以有效保证正常流量的转发不受攻击的影响。
(1)本发明中,白名单表采取预先构建与动态增加的方式建立。其中,预先构建是指基于已有会话表进行构建,对于已建立会话表但未在白名单表中的SIP客户端,将其加入白名单表中,并更新超时时间;动态增加是指在攻击防御时,将判断为合法的SIP客户端加入白名单表中,并更新超时时间。采用这样的设计,当攻击发生时,对于已确认的SIP客户端可以直接通过策略,而未在白名单表中SIP客户端的报文仍需红黑名单进行合法性判断。
白名单表建立的具体流程如图2所示,具体包括:
新建会话成功后,查询白名单表,如果白名单表中存在当前会话中的SIP客户端,则判断白名单表中的该表项是否超时,如果超时,则更新白名单表中该表项的时间,结束本流程;如果没有超时,则结束本流程;如果白名单表中不存在当前会话中的SIP客户端,则新建表项,并采用当前时间更新该表项的时间,结束本流程。
(2)白名单表的删除机制是由查找白名单表触发的删除机制,如图3所示,具体过程如下:
根据由报文的SIP计算得到的哈希值,采用哈希桶查找方法遍历白名单表查找,若查找到当前报文对应的白名单表项,若当前白名单表项总数是否超过阈值,则判断该白名单表项的超时时间是否大于阈值,如果超时时间大于阈值则将其删除。
(3)白名单表的超时时间更新机制:仅新建会话成功后才会对白名单表进行更新,具体包括以下两种情况:
当白名单表项为新增表项时,添加当前时间即为更新时间T=T0
当查找过程中找到该表项时,判断当前时间与表项中的时间差是否大于超时阈值,即(T-T1)是否大于C,如果大于则将表项中的时间T更新为当前时间T1,否则不更新。
步骤2、构建红黑表。
本发明中将红黑表设计为局部资源,这是因为海量攻击发生时,会对红黑表进行大量增删操作,如果是全局表,增加和删除多核下资源竞争加锁会十分影响防火墙的处理能力。因此,本发明的红黑表设置为局部表,每个转发核保存一份红黑表。其中,红表代表待处理IP地址,黑表代表黑名单。
步骤3、根据建立的白名单表和红黑表,采用三层防御机制完成对SYN Flood攻击的防御。本发明中三层防御机制是指,首包丢弃、Reset报文判断以及超时连接数量判断。
首包丢弃,是指丢弃第一个SYN报文,一般情况下如果第一个SYN报文被丢弃后,发起连接的客户端会再次发送SYN报文,而攻击报文大多数则不会重发。
Reset报文判断,是指根据TCP SYN的报文序列号,防御方回复一个必然错误的序列号等待发起连接的客户端回复Reset报文,对于攻击方来讲,只有当它记录了原始的报文序列号时才能识别出错误的序列号而发送Reset报文,否则是无法识别出错误回复reset报文的。采用这种方法可防御99%以上的SYN Flood攻击。
超时连接数量判断,是指为了防止对同一源IP地址回复过多的Ack报文,本发明还限制了同一IP地址发送错误Ack的数量,对于超过数量后且在规定时间内未收到回复的reset报文的,则将该IP地址加入黑名单,如果在规定时间内回复,则将IP地址加入白名单。
采用本发明提出的三层防御机制的SYN Flood攻击防御过程,流程如图5所示,具体包括以下步骤:
步骤3.1、对接收到的报文首先查询会话表,查找到会话表成功代表这条连接SIP是存在白名单表中的,此时可以基于会话表转发;如果没有查到,则执行步骤3.2;
步骤3.2、查询全局白名单表,看其是否是已经验证过合法性的IP地址。如果存在,则建立会话表项并基于新建的会话表项进行转发。如果白名单表中不存在,则执行步骤3.3;
步骤3.3、查询局部红黑表,如果未在红黑表查找到该IP地址,则丢弃首包,如果后续未再接收到该IP地址的Ack报文,则将该IP地址加入黑名单中,并丢弃该IP地址的报文;如果在红黑表中查找到了该IP地址,则执行步骤3.4;
步骤3.4、如果该IP地址在黑表中,则丢弃该IP地址的报文;如果该IP地址在红表中,当收到Ack报文的数量大于阈值时,则将该IP地址加入黑名单;若收到Ack报文的数量不大于阈值,则向该IP地址回复带有错误序列号的Ack报文,如果该IP地址回复的错误Ack的数量超过阈值且在规定时间内未收到回复的reset报文的,则将该IP地址加入黑名单,如果在规定时间内回复,则将IP地址加入白名单。
本发明中的红黑表的定时器功能并不采用每核定时功能,因为如果这样设计的话,海量的攻击会导致定时器资源将近耗尽,不仅仅是这种内存上的资源耗尽,而且处理定时器的时间也会十分长,严重影响了正常的流量转发。同时因红黑表也是使用内存池申请,红黑表中元素个数的最大值有限,且红黑表格也需要定时删除,为了保证多核下达到这种效果,而本发明的定时功能采用先进先出的方法,使用Lru表维护每核超时资源,每次处理源IP地址时将链表进行Lru操作,保证最不常用的IP地址可以被替换。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种多核异构平台下SYN Flood攻击防御方法,其特征在于,包括以下步骤:
分别建立基于源IP地址的白名单表和红黑表;所述红黑表包括黑名单和红名单;
若当前报文在会话表中,则基于会话表转发所述当前报文;若所述当前报文未在会话表中,且所述当前报文的源IP地址在所述白名单表中,则新建会话表项,基于新建的会话表项转发所述当前报文;
若所述当前报文未在会话表中,且所述当前报文的源IP地址未在所述白名单表中,则查询所述红黑表,若所述当前报文的源IP地址未在所述红黑表中,则将所述当前报文的源IP地址加入黑名单中;若所述当前报文的源IP地址在黑名单中,则丢弃所述当前报文的源IP地址的报文;若所述当前报文的源IP地址在红名单中,则若接收到的来自所述当前报文的源IP地址的Ack报文的数量大于阈值则将所述当前报文的源IP地址加入黑名单,否则将其加入红名单。
2.根据权利要求1所述的方法,其特征在于,所述白名单表为全局表,所述红黑表为局部表。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括根据所述白名单表和红黑表采取三级防御机制防御攻击,具体包括以下步骤:
若所述当前报文的源IP地址未在所述红黑表中,则丢弃所述当前报文的源IP地址的首个数据包,若未再接收到来自于所述当前报文的源IP地址的Ack报文,则将所述当前报文的源IP地址加入黑名单,并丢弃所述当前报文的源IP地址的报文;
若所述当前报文的源IP地址在所述黑名单中,则丢弃所述当前报文的源IP地址的报文;若所述当前报文的源IP地址在所述红名单中,则接收到来自于所述当前报文的源IP地址的Ack报文的数量大于阈值时,将所述当前报文的源IP地址加入所述黑名单;接收到来自于所述当前报文的源IP地址的Ack报文的数量不大于阈值,则向所述当前报文的源IP地址回复带有错误序列号的Ack报文,如果接收到的所述当前报文的源IP地址回复的错误Ack的数量超过阈值且在规定时间内未收到回复的Reset报文,则将所述当前报文的源IP地址加入黑名单,如果在规定时间接收到了所述当前报文的源IP地址回复的Reset报文,则将所述当前报文的源IP地址加入所述白名单表。
4.根据权利要求1所述的方法,其特征在于,所述白名单表采取预先构建与动态增加的方式进行维护。
5.根据权利要求1所述的方法,其特征在于,所述白名单表的超时机制为根据超时阈值控制表项,即在对所述白名单表进行查找时删除超过所述超时阈值的表项;所述红黑表采用最近最少使用LRU算法作为超时机制。
CN202011390816.1A 2020-12-02 2020-12-02 一种多核异构平台下SYN Flood攻击防御方法 Pending CN112714102A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011390816.1A CN112714102A (zh) 2020-12-02 2020-12-02 一种多核异构平台下SYN Flood攻击防御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011390816.1A CN112714102A (zh) 2020-12-02 2020-12-02 一种多核异构平台下SYN Flood攻击防御方法

Publications (1)

Publication Number Publication Date
CN112714102A true CN112714102A (zh) 2021-04-27

Family

ID=75542459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011390816.1A Pending CN112714102A (zh) 2020-12-02 2020-12-02 一种多核异构平台下SYN Flood攻击防御方法

Country Status (1)

Country Link
CN (1) CN112714102A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513365A (zh) * 2022-02-28 2022-05-17 北京启明星辰信息安全技术有限公司 一种针对SYN Flood攻击的检测与防御方法
CN117201201A (zh) * 2023-11-07 2023-12-08 北京金睛云华科技有限公司 基于全流量存储回溯系统的syn flood攻击存储方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110131646A1 (en) * 2009-12-02 2011-06-02 Electronics And Telecommunications Research Institute Apparatus and method for preventing network attacks, and packet transmission and reception processing apparatus and method using the same
CN103237039A (zh) * 2013-05-10 2013-08-07 汉柏科技有限公司 一种报文转发方法及设备
CN107124402A (zh) * 2017-04-12 2017-09-01 杭州迪普科技股份有限公司 一种报文过滤的方法和装置
CN108551446A (zh) * 2018-04-08 2018-09-18 东软集团股份有限公司 防攻击的syn报文处理方法、装置、防火墙及存储介质
CN109246057A (zh) * 2017-07-10 2019-01-18 东软集团股份有限公司 报文转发方法、装置、转发系统、存储介质及电子设备
CN110381032A (zh) * 2019-06-24 2019-10-25 东软集团股份有限公司 一种多核系统中的会话表项处理方法、装置及相关产品

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110131646A1 (en) * 2009-12-02 2011-06-02 Electronics And Telecommunications Research Institute Apparatus and method for preventing network attacks, and packet transmission and reception processing apparatus and method using the same
CN103237039A (zh) * 2013-05-10 2013-08-07 汉柏科技有限公司 一种报文转发方法及设备
CN107124402A (zh) * 2017-04-12 2017-09-01 杭州迪普科技股份有限公司 一种报文过滤的方法和装置
CN109246057A (zh) * 2017-07-10 2019-01-18 东软集团股份有限公司 报文转发方法、装置、转发系统、存储介质及电子设备
CN108551446A (zh) * 2018-04-08 2018-09-18 东软集团股份有限公司 防攻击的syn报文处理方法、装置、防火墙及存储介质
CN110381032A (zh) * 2019-06-24 2019-10-25 东软集团股份有限公司 一种多核系统中的会话表项处理方法、装置及相关产品

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513365A (zh) * 2022-02-28 2022-05-17 北京启明星辰信息安全技术有限公司 一种针对SYN Flood攻击的检测与防御方法
CN114513365B (zh) * 2022-02-28 2023-06-30 北京启明星辰信息安全技术有限公司 一种针对SYN Flood攻击的检测与防御方法
CN117201201A (zh) * 2023-11-07 2023-12-08 北京金睛云华科技有限公司 基于全流量存储回溯系统的syn flood攻击存储方法
CN117201201B (zh) * 2023-11-07 2024-01-02 北京金睛云华科技有限公司 基于全流量存储回溯系统的syn flood攻击存储方法

Similar Documents

Publication Publication Date Title
EP3923551B1 (en) Method and system for entrapping network threat, and forwarding device
CN101175013B (zh) 一种拒绝服务攻击防护方法、网络系统和代理服务器
KR100608136B1 (ko) 티씨피 연결의 스테이트풀 인스펙션에 있어서의 보안성능향상방법
US6973040B1 (en) Method of maintaining lists of network characteristics
US7818795B1 (en) Per-port protection against denial-of-service and distributed denial-of-service attacks
US20040015721A1 (en) Denial of service defense by proxy
EP1592197A2 (en) Network amplification attack mitigation
CN111385235A (zh) 一种基于动态变换的DDoS攻击防御系统和方法
US12120139B1 (en) System and method to protect resource allocation in stateful connection managers
CN112714102A (zh) 一种多核异构平台下SYN Flood攻击防御方法
CN103685315A (zh) 一种防御拒绝服务攻击的方法及系统
US7552206B2 (en) Throttling service connections based on network paths
Paharia et al. DDoS Detection and Mitigation in cloud via FogFiter: a defence mechanism
Gade et al. Performance of Windows XP, Windows Vista and Apple's Leopard computers under a denial of service attack
CN110661763B (zh) 一种DDoS反射攻击防御方法、装置及其设备
EP1154610A2 (en) Methods and system for defeating TCP Syn flooding attacks
CN114024731A (zh) 报文处理方法及装置
Dulik Network attack using TCP protocol for performing DoS and DDoS attacks
Safa et al. A collaborative defense mechanism against SYN flooding attacks in IP networks
US20080282340A1 (en) Safe hashing for network traffic
Still et al. DDoS protections for SMTP servers
Wu et al. A three-layer defense mechanism based on web servers against distributed denial of service attacks
CN117201202B (zh) 一种反射放大Flood攻击流量存储方法
Hamadeh et al. Packet marking for traceback of illegal content distribution
CN118413356B (zh) 一种抵御syn flood攻击的优化方法和系统

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210427

WD01 Invention patent application deemed withdrawn after publication