CN110545291A - 一种攻击报文的防御方法、多核转发系统及相关产品 - Google Patents
一种攻击报文的防御方法、多核转发系统及相关产品 Download PDFInfo
- Publication number
- CN110545291A CN110545291A CN201910935381.5A CN201910935381A CN110545291A CN 110545291 A CN110545291 A CN 110545291A CN 201910935381 A CN201910935381 A CN 201910935381A CN 110545291 A CN110545291 A CN 110545291A
- Authority
- CN
- China
- Prior art keywords
- message
- destination address
- attack
- core
- hash table
- 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.)
- Granted
Links
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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- 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
- 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/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial 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)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种攻击报文的防御方法、多核转发系统及相关产品,其中,转发核在接收到第一报文后,判断接收的第一报文是否为攻击报文。若判断接收的第一报文为攻击报文,则在全局数组哈希表中更新第一报文的目的地址对应的攻击信息。转发核将全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址,向专用核发送包括该目标目的地址的通知消息,使专用核在接收到该通知消息后,在网卡中写入针对目标目的地址的过滤条件,以使网卡将具有目标目的地址的第二报文发送给专用核。如此由专用核接收并分析处理海量攻击报文,避免转发核因分析处理海量攻击报文而导致正常报文转发性能降低,提高多核转发系统的整体转发性能。
Description
技术领域
本申请涉及网络安全领域,具体涉及一种攻击报文的防御方法、多核转发系统及相关产品。
背景技术
防火墙转发系统的健壮性成为每个安全厂商在产品研发中的重中之重,因为防火墙一旦遭遇网络攻击,很大程度上会影响防火墙的转发功能,导致正常流量无法转发,因此,对于网络攻击的防御功能是防火墙的重要功能之一。
在现有技术中,防火墙转发系统一般为多核转发系统,每个转发核需要对攻击报文进行防御,在海量攻击报文到来时,转发核在处理攻击报文时很可能会影响整体转发性能。
发明内容
有鉴于此,本申请实施例提供一种攻击报文的防御方法、多核转发系统及相关产品,以解决现有技术中处理攻击报文可能会影响转发性能的技术问题。
为解决上述问题,本申请实施例提供的技术方案如下:
一种攻击报文的防御方法,所述方法应用于多核转发系统,所述多核转发系统包括至少一个转发核和专用核,所述方法包括:
所述转发核如果判断接收的第一报文为攻击报文,在全局数组哈希表中更新所述第一报文的目的地址对应的攻击信息;
所述转发核将所述全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址,向所述专用核发送包括所述目标目的地址的通知消息;
所述专用核接收所述通知消息,在网卡中写入针对所述目标目的地址的过滤条件,以使所述网卡将具有所述目标目的地址的第二报文发送给所述专用核。
在一种可能的实现方式中,所述转发核如果判断接收的第一报文为攻击报文,在全局数组哈希表中更新所述第一报文的目的地址对应的攻击信息,包括:
所述转发核如果判断接收的第一报文为攻击报文,提取所述第一报文的目的地址;
在全局数组哈希表中查找是否存在所述第一报文的目的地址对应的攻击信息;
如果所述全局数组哈希表中存在所述第一报文的目的地址对应的攻击信息,更新所述第一报文的目的地址对应的攻击信息;
如果所述全局数组哈希表中不存在所述第一报文的目的地址对应的攻击信息,将所述第一报文的目的地址以及对应的攻击信息写入所述全局数组哈希表。
在一种可能的实现方式中,所述将所述第一报文的目的地址以及对应的攻击信息写入所述全局数组哈希表,包括:
根据所述第一报文的目的地址的哈希值,确定所述第一报文的目的地址在所述全局数组哈希表中的存储位置;
判断所述存储位置对应的存储空间中的表项是否已满;
如果所述存储空间中的表项已满,将所述存储空间中记录有满足第二预设条件的攻击信息的表项确定为目标添加表项,将所述第一报文的目的地址以及对应的攻击信息作为当前待添加表项替换所述目标添加表项;
如果所述存储空间中的表项未满,将所述第一报文的目的地址以及对应的攻击信息作为当前待添加表项添加到所述存储空间中。
在一种可能的实现方式中,所述方法还包括:
所述专用核在接收到具有所述目标目的地址的第二报文后,如果判断所述第二报文为攻击报文,在所述第二报文的目的地址对应的链表哈希表中更新所述第二报文的源地址对应的攻击次数,每个所述目标目的地址对应有一个链表哈希表。
在一种可能的实现方式中,所述在所述第二报文的目的地址对应的链表哈希表中更新所述第二报文的源地址对应的攻击次数,包括:
在所述第二报文的目的地址对应的链表哈希表中查找是否存在所述第二报文的源地址对应的攻击次数;
如果所述第二报文的目的地址对应的链表哈希表中存在所述第二报文的源地址对应的攻击次数,将所述第二报文的源地址对应的攻击次数加一;
如果所述第二报文的目的地址对应的链表哈希表中不存在所述第二报文的源地址对应的攻击次数,将所述第二报文的源地址添加到所述第二报文的目的地址对应的链表哈希表中,并将所述第二报文的源地址对应的攻击次数置一。
在一种可能的实现方式中,所述方法还包括:
将所述链表哈希表中攻击次数大于第一阈值的源地址添加到黑名单中。
在一种可能的实现方式中,所述方法还包括:
所述专用核在网卡中写入针对所述目标目的地址的过滤条件之后,将所述目标目的地址以及对应的攻击信息从所述全局数组哈希表中删除。
在一种可能的实现方式中,所述方法还包括:
所述专用核遍历所述全局数组哈希表,将所述全局数组哈希表中记录有满足第三预设条件的攻击信息的表项删除。
在一种可能的实现方式中,所述方法还包括:
所述专用核遍历各个所述链表哈希表,将满足最后更新时间与当前时间差大于第二阈值的链表哈希表删除。
一种多核转发系统,所述多核转发系统包括至少一个转发核和专用核,
所述转发核用于如果判断接收的第一报文为攻击报文,在全局数组哈希表中更新所述第一报文的目的地址对应的攻击信息;
所述转发核用于将所述全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址,向所述专用核发送包括所述目标目的地址的通知消息;
所述专用核用于接收所述通知消息,在网卡中写入针对所述目标目的地址的过滤条件,以使所述网卡将具有所述目标目的地址的第二报文发送给所述专用核。
一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行所述的攻击报文的防御方法。
一种攻击报文的防御设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如所述的攻击报文的防御方法。
由此可见,本申请实施例具有如下有益效果:
在本申请实施例中,转发核在接收到第一报文后,先判断接收的第一报文是否为攻击报文。如果判断接收的第一报文为攻击报文,则在全局数组哈希表中更新第一报文的目的地址对应的攻击信息。另外,转发核还将全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址,向专用核发送包括该目标目的地址的通知消息,以便专用核在接收到该通知消息后,在网卡中写入针对目标目的地址的过滤条件,以使网卡将具有该目标目的地址的第二报文发送给专用核。
即,本申请实施例的转发核将全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为遭遇大型攻击的目标目的地址,并将包括目标目的地址的通知消息发送给专用核,以便专用核在网卡中写入针对目标目的地址的过滤条件,使得网卡能够将具有目标目的地址的第二报文直接发送给专用核,并由专用核对具有目标目的地址的海量攻击报文进行处理。如此,转发核只需识别出遭遇大型攻击的目标目的地址即可,无需对攻击报文进行分析处理,而是由接收到通知消息的专用核直接接收并分析处理由网卡发送的具有目标目的地址的海量攻击报文,避免转发核因分析处理海量攻击报文而导致正常报文转发性能的降低,从而提高多核转发系统的整体转发性能。此外,多核转发系统中的每个转发核以及专用核均可以访问全局数组哈希表,从而实现了多核转发系统的多核并发无锁处理。
附图说明
图1为本申请实施例提供的一种多核转发系统示例图;
图2为本申请实施例提供的一种攻击报文的防御方法的流程图;
图3为本申请实施例提供的一种多核转发系统的结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
发明人在对传统的防火墙工作架构研究中发现,防火墙在没有遭遇报文攻击时吞吐性能较高,但在遭遇攻击报文的攻击时因需对攻击报文进行攻击分析处理导致防火墙的吞吐性能降低。例如,防火墙对反射类攻击报文(如,ack flood攻击报文)的分析处理主要在于发现攻击报文、丢弃攻击报文、以及根据攻击报文的相关ip地址形成攻防策略进行防御。其中,能够严重影响防火墙吞吐性能的处理工作包括发现攻击报文以及根据攻击报文的相关ip地址形成攻防策略进行防御。
另外,当防火墙为多核转发系统时,攻击报文可能被多个转发核接收到,而且,不同转发核根据该攻击报文形成不同的攻防策略进行防御,如此容易导致多个转发核之间出现竞争,使得海量攻击报文能够严重影响防火墙的整体转发性能。
基于此,本申请实施例提供了一种攻击报文的防御方法,具体为:当转发核在接收到第一报文后,先判断接收的第一报文是否为攻击报文。如果判断接收的第一报文为攻击报文,则在全局数组哈希表中更新第一报文的目的地址对应的攻击信息。另外,转发核还将全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址,向专用核发送包括该目标目的地址的通知消息,以便专用核在接收到该通知消息后,在网卡中写入针对目标目的地址的过滤条件,以使网卡将具有该目标目的地址的第二报文发送给专用核。即,本申请实施例利用转发核确定遭遇大型攻击的目标目的地址,并通过使用通知机制使得专用核获知该目标目的地址,以使专用核能够直接接收并分析处理由网卡发送的具有目标目的地址的海量攻击报文,避免转发核因分析处理海量攻击报文而导致正常报文转发性能的降低,从而提高多核转发系统的整体转发性能。
为了便于理解本申请实施例,参见图1所示为本申请实施例提供的一种多核转发系统示例图。在该多核转发系统中可以包括多个转发核和一个专用核,每个转发核不仅可以从网卡中接收报文,也可以从其他转发核中接收报文,还可以从专用核中接收报文。在本申请实施例中,全局数据哈希表用于记录遭遇攻击报文攻击的目的地址对应的攻击信息,而且,每个转发核均可以访问全局数组哈希表,其过程为:转发核如果判断接收的第一报文为攻击报文,则在全局数组哈希表中更新第一报文的目的地址对应的攻击信息。另外,每个转发核还可以通过分析全局数组哈希表中的攻击信息,确定遭遇大型攻击的目标目的地址,并将确定的目标目的地址利用通知消息发送给专用核。专用核的主要工作是在接收到包括目标目的地址的通知消息后,在网卡中写入针对目标目的地址的过滤条件,使得网卡能够将具有目标目的地址的第二报文直接发送给专用核,以便由专用核对具有目标目的地址的海量攻击报文进行处理,从而保证对海量攻击报文的分析处理不会影响转发核对正常报文的转发性能。
其中,攻击报文可以是预设类型的攻击报文,而且,攻击报文的类型可以预先设定。作为示例,攻击报文可以是反射类攻击报文,其中,反射类攻击报文是指在没有请求报文时直接发送的回应报文。例如,ack flood攻击报文是一种反射类攻击报文。
全局数组哈希表用于存储遭遇攻击报文攻击的目的地址以及其对应的攻击信息。全局数组哈希表的大小能够表示防火墙对攻击报文的防御能力,而且,全局数组哈希表越大则表示防火墙对攻击报文的防御能力越强。全局数组哈希表的大小可以预先设定,尤其可以根据应用场景设定。
作为示例,全局数组哈希表的大小可以预先设定为M*N,其中,M为存储空间的个数;N为每个存储空间中能够存储的目标对象个数;而且,M与N均可以根据应用场景设定。例如,通常可以预先设定N为4,此时M值越大则表示防火墙对攻击报文的防御能力越强。
需要说明的是,目标对象是根据应用场景确定的,也就是,在不同的应用场景下,目标对象不同。例如,目标对象可以是目的地址以及对应的攻击信息。
为便于理解本申请,下面将结合附图对本申请实施例提供的一种攻击报文的防御方法进行说明。
参见图2,该图为本申请实施例提供的一种攻击报文的防御方法的流程图,该方法应用于多核转发系统,该多核转发系统包括至少一个转发核和专用核,如图2所示,该方法包括:
S201:转发核如果判断接收的第一报文为攻击报文,在全局数组哈希表中更新第一报文的目的地址对应的攻击信息。
在本实施例中,转发核在接收到第一报文后,首先判断第一报文是否为攻击报文,其判断过程具体可以为:转发核在接收到第一报文后,先利用防火墙的会话表进行查询,当无法在会话表中找到与第一报文相关的记录时,查询状态机判定该第一报文的状态是不合法的,此时转发核可以确定第一报文为攻击报文。在一些可能的实现方式中,攻击报文可以为预设类型的攻击报文,例如,ack flood攻击报文。则判断第一报文是否为攻击报文可以包括:先判断第一报文是否为预设类型的报文(例如ack报文),再利用防火墙的会话表进行查询,当无法在会话表中找到与第一报文相关的记录时,转发核可以确定第一报文为攻击报文。
另外,转发核在确定第一报文为攻击报文后,在全局数组哈希表中更新该第一报文的目的地址对应的攻击信息,其更新过程具体可以为:转发核提取第一报文的目的地址,以便在全局数组哈希表中更新该第一报文的目的地址对应的攻击信息。如此,转发核能够准确地识别出攻击报文,并能够借助全局数组哈希表记录攻击报文的目的地址所对应的攻击信息,以便转发核后续能够根据该攻击信息确定遭遇大型攻击的目标目的地址。
在全局数组哈希表中,每个数组表项可以由key和value组成,其中,key表示遭遇攻击报文攻击的目的地址;value表示目的地址遭遇攻击报文攻击的攻击信息,而且,该攻击信息可以包括攻击次数、攻击最新时间、以及标志位flag。
另外,需要说明的是,由于转发核无需对攻击报文进行分析处理,因而,当转发核确定第一报文为攻击报文,并在全局数组哈希表中更新了第一报文的目的地址对应的攻击信息之后,第一报文已无使用价值,则转发核可以直接将第一报文丢弃,避免攻击报文影响转发核的转发性能。
其中,关于全局数组哈希表中更新第一报文的目的地址对应的攻击信息的具体实现将在后续实施例中进行说明。
S202:转发核将全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址,向专用核发送包括该目标目的地址的通知消息。
在本实施例中,若目的地址的攻击信息满足第一预设条件,则表示该目的地址正在遭遇海量攻击报文的攻击(也就是遭遇大型攻击),且这些海量攻击报文可能严重影响该目的地址的吞吐性能,可以将该目的地址确定为目标目的地址,并由转发核将包括目标目的地址的通知消息发送给专用核,以便专用核能够对目标目的地址对攻击报文进行防御,避免因海量攻击报文的攻击而导致目标目的地址的吞吐性能的下降,也避免因处理分析海量攻击报文而导致转发核的转发性能的下降。其中,第一预设条件用于筛选遭遇海量攻击报文攻击的目的地址,而且,第一预设条件可以预先设定。例如,第一预设条件可以为攻击次数大于次数阈值。
需要说明的是,为了提高专用核对目标目的地址的处理效率,转发核只需向专用核发送一次包括目标目的地址的通知消息即可,如此能够避免因多次向专用核发送包括相同目的地址的通知消息而导致的通信资源浪费。在本实施例中,可以借助攻击信息中flag(标志位)进行实现,其具体过程为:在转发核将全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址后,先确定目标目的地址对应的flag的值是否为0;若目标目的地址对应的flag的值为0,则表示转发核从来没有向专用核中发送包括目标目的地址的通知消息,此时,可以由转发核将包括目标目的地址的通知消息发送给专用核,以便专用核能够对攻击目标目的地址的攻击报文进行防御;若目标目的地址对应的flag的值为1,则表示转发核已经向专用核中发送过包括目标目的地址的通知消息,此时,无需再次向专用核发送包括目标目的地址的通知消息。
需要说明的是,flag用于表示遭遇攻击的目的地址是否被专用核进行分析处理;若flag的值为1,则表示遭遇攻击的目的地址已被专用核进行分析处理;若flag的值为0,则表示遭遇攻击的目的地址未被专用核进行分析处理。
S203:专用核接收通知消息,在网卡中写入针对目标目的地址的过滤条件,以使网卡将具有目标目的地址的第二报文发送给专用核。
在本实施例中,专用核在接收到转发核发送的包括目标目的地址的通知消息时,将在专用核中开启针对该目标目的地址的攻击预警模式,其具体过程为:专用核在接收到转发核发送的包括目标目的地址的通知消息时,先根据该目标目的地址生成针对目标目的地址的过滤条件,再将针对目标目的地址的过滤条件写入到网卡中,使得后续网卡能够将具有目标目的地址的第二报文发送给专用核,以便由专用核分析处理海量的具有目标目的地址的第二报文。其中,第二报文可以是预设类型的攻击报文,而且,第二报文的报文类型可以与上述攻击报文的报文类型相同。作为示例,当上述攻击报文为ack flood攻击报文时,则第二报文可以是ack flood攻击报文。另外,针对目标目的地址的过滤条件可以预先设定,例如,针对目标目的地址的过滤条件可以包括:报文的目的地址为目标目的地址,且报文为反射类攻击报文。
例如,假设目标目的地址为ipC,且第二报文为ack flood攻击报文时,则专用核在接收到包括ipC的通知消息时,首先生成针对ipC的过滤条件,且该过滤条件具体为:报文的目的地址为ipC,且报文的报文类型为ack;然后,将针对ipC的过滤条件写入到网卡中,以使网卡能够使用过滤方式将满足过滤条件的报文过滤出来并直接发送至专用核,以便专用核能够对接收到的满足过滤条件的报文进行分析处理。
通过上述分析可知,本实施例提供的由网卡将具有目标目的地址的第二报文直接发送给专用核的报文发送方式,具体以下优势:
1)在本实施例提供的报文发送方式中,网卡直接将具有目标目的地址的第二报文发送给专用核,而不是由网卡先将具有目标目的地址的第二报文发送给各个转发核,再由各个转发核将具有目标目的地址的第二报文再次转发给专用核,如此减少了多核转发系统中不同核之间的报文倒核数量,避免了报文倒核过程中对转发核的转发资源的浪费,从而提高了多核转发系统的转发性能。
2)在本实施例提供的发送方式中,网卡仅将具有目标目的地址的第二报文发送给专用核,不会将具有其他非目标目的地址的报文发送给专用核,避免了因专用核接收到具有其他非目标目的地址的报文而需要将具有其他非目标目的地址的报文倒核到转发核的发生,从而大幅度减少了专用核将报文倒核到转发核的概率。
通过上述描述可知,转发核在接收到第一报文后,先判断接收的第一报文是否为攻击报文。如果判断接收的第一报文为攻击报文,则在全局数组哈希表中更新第一报文的目的地址对应的攻击信息。另外,转发核还将全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址,并向专用核发送包括该目标目的地址的通知消息,以便专用核在接收到该通知消息后,在网卡中写入针对目标目的地址的过滤条件,以使网卡将具有该目标目的地址的第二报文发送给专用核。
即,本申请实施例的转发核将全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为遭遇大型攻击的目标目的地址,并将包括目标目的地址的通知消息发送给专用核,以便专用核在网卡中写入针对目标目的地址的过滤条件,使得网卡能够将具有目标目的地址的第二报文直接发送给专用核,并由专用核对具有目标目的地址的海量攻击报文进行处理。如此,转发核只需识别出遭遇大型攻击的目标目的地址即可,无需对攻击报文进行分析处理,而是由接收到通知消息的专用核直接接收并分析处理由网卡发送的具有目标目的地址的海量攻击报文,避免转发核因分析处理海量攻击报文而导致正常报文转发性能的降低,从而提高多核转发系统的整体转发性能。此外,多核转发系统中的每个转发核以及专用核均可以访问全局数组哈希表,从而实现了多核转发系统的多核并发无锁处理。
在本申请实施例一种可能的实现方式中,转发核如果判断接收的第一报文为攻击报文,在全局数组哈希表中更新第一报文的目的地址对应的攻击信息,具体可以包括:
1)转发核如果判断接收的第一报文为攻击报文,提取第一报文的目的地址。
在本实施例中,在转发核接收到第一报文后,转发核先判断该第一报文是否是攻击报文。若转发核确定第一报文是攻击报文,则需要提取第一报文的目的地址,以便后续转发核能够根据第一报文的目的地址,在全局数组哈希表中进行查询,使得转发核能够根据查询结果更新第一报文的目的地址对应的攻击信息。
2)在全局数组哈希表中查找是否存在第一报文的目的地址对应的攻击信息。
在本实施例中,在转发核提取出第一报文的目的地址之后,将第一报文的目的地址作为表项中的key,在全局数组哈希表的各个表项中进行查询。若全局数组哈希表中存在包括key为第一报文的目的地址的表项,则确定全局数组哈希表中存在第一报文的目的地址对应的攻击信息,此时需转发核对该包括key为第一报文的目的地址的表项进行更新;若全局数组哈希表中不存在包括key为第一报文的目的地址的表项,则确定全局数组哈希表中不存在第一报文的目的地址对应的攻击信息,此时需转发核在全局数组哈希表中新建包括key为第一报文的目的地址的表项。如此,全局数组哈希表能够准确地记录下每个遭遇攻击报文攻击的目的地址对应的攻击信息。
3)如果全局数组哈希表中存在第一报文的目的地址对应的攻击信息,更新第一报文的目的地址对应的攻击信息。
在本实施例中,在转发核确定全局数组哈希表中存在第一报文的目的地址对应的攻击信息后,转发核会根据第一报文的相关信息,更新全局数组哈希表中第一报文的目的地址对应的攻击信息,而且攻击信息的更新过程具体为:当攻击信息包括攻击次数和攻击最新时间时,需将第一报文的目的地址对应的攻击次数加1,并将第一报文的目的地址对应的攻击最新时间更新为当前时间。
作为示例,假设第一报文的目的地址为ip1,且全局数组哈希表中存在包括key=ip1,攻击次数=5,且攻击最新时间为10:00的表项,并假设当前时间为10:01。基于上述假设可知,在转发核确定全局数组哈希表中存在第一报文的目的地址ip1对应的攻击信息,也就是攻击次数为5,且攻击最新时间为10:00后,转发核会根据第一报文的目的地址为ip1以及当前时间为10:01的相关信息,将全局数组哈希表中包括第一报文的目的地址ip1的表项中的攻击信息更新为:攻击次数为6,且攻击最新时间为10:01。
可以理解,在转发核确定全局数组哈希表中存在第一报文的目的地址对应的攻击信息后,转发核能够根据当前第一报文的攻击信息对全局数组哈希表中包括key为第一报文的目的地址的表项进行更新,以便使得全局数组哈希表中记录的每一目的地址对应的攻击信息能够随着攻击报文的攻击进行更新。
4)如果全局数组哈希表中不存在第一报文的目的地址对应的攻击信息,将第一报文的目的地址以及对应的攻击信息写入全局数组哈希表。
在本实施例中,在转发核确定全局数组哈希表中不存在第一报文的目的地址对应的攻击信息后,转发核会将第一报文的目的地址以及对应的攻击信息写入全局数组哈希表,其具体过程为:当全局数组哈希表中每一表项包括key和value,且value包括攻击次数、攻击最新时间、flag时,则转发核将在全局数组哈希表中增加一个包括第一报文的目的地址的表项,在该表项中将第一报文的目的地址作为key,将value中的攻击次数设置为1、攻击最新时间设置为当前时间、flag设置为0。
通过上述说明可知,每个转发核在全局数组哈希表中的操作均不加锁,其具体为:
查找操作不加锁:每个转发核均可以在全局数组哈希表进行查找。
增加操作不加锁:当全局数组哈希表未满时,则每个转发核均可以在全局数组哈希表中增加包括目的地址以及该目的地址对应的攻击信息的新表项。
替换操作不加锁:当全局数组哈希表已满时,则每个转发核可以在全局数组哈希表中利用包括目的地址以及该目的地址对应的攻击信息的新表项,替换全局数组哈希表中包括满足替换条件的目的地址以及该目的地址对应的攻击信息的已有表项。其中,替换条件是预先设定的,例如,替换条件可以包括全局数组哈希表中遭遇攻击报文攻击的攻击次数最少的目的地址。
删除操作不加锁:每个转发核均无法在全局数组哈希表中进行删除操作,专用核可以将全局数组哈希表中包括满足删除条件的攻击信息以及该攻击信息对应的目的地址的表项进行清空操作。其中,删除条件可以包括:攻击次数低于预设次数阈值,和/或,攻击最新时间距离当前时间高于预设时间阈值。专用核对全局数组哈希表的表项进行清空操作的实现可以参见后续实施例的说明。
另外,在本实施例中,由于全局数组哈希表的每个存储空间中的表项是有限的,因而,当转发核向全局数组哈希表中添加一个包括第一报文的目的地址的新表项时,需要根据全局数组哈希表中存储空间的实际存储状态来确定新表项存储过程。因而,在本申请实施例一种可能的实现方式中,提供了一种转发核向全局数组哈希表中写入新表项的具体实现方式,具体可以包括:
1)根据第一报文的目的地址的哈希值,确定第一报文的目的地址在全局数组哈希表中的存储位置。
在本实施例中,由于全局数组哈希表是由多个存储空间构成的,因而,在转发核确定全局数组哈希表中不存在第一报文的目的地址对应的攻击信息后,转发核需要先确定将包括第一报文的目的地址的新表项添加至哪个存储空间中进行存储,也就是,确定包括第一报文的目的地址的新表项的存储位置,而且,新表项存储位置的确定过程具体为:转发核先根据第一报文的目的地址,获取第一报文的目的地址的哈希值;再根据第一报文的目的地址的哈希值,确定第一报文的目的地址在全局数组哈希表中的存储位置,以便后续转发核能够将包括第一报文的目的地址的新表项存储至该确定的存储位置中。
2)判断存储位置对应的存储空间中的表项是否已满。
3)如果存储空间中的表项已满,将存储空间中记录有满足第二预设条件的攻击信息的表项确定为目标添加表项,将第一报文的目的地址以及对应的攻击信息作为当前待添加表项替换目标添加表项。
在本实施例中,在转发核确定存储位置对应的存储空间中的表项已满后,先利用第二预设条件对存储空间中的各个表项进行筛选,筛选得到记录有满足第二预设条件的攻击信息的表项,作为目标添加表项,以便转发核将第一报文的目的地址以及对应的攻击信息作为当前待添加表项替换目标添加表项。其中,第二预设条件可以预先设定,尤其可以根据应用场景设定。例如,当攻击信息包括攻击次数和攻击最新时间时,第二预设条件可以设定包括:攻击次数最小,和/或,攻击最新时间距离当前时间最远。
4)如果存储空间中的表项未满,将第一报文的目的地址以及对应的攻击信息作为当前待添加表项添加到存储空间中。
在本实施例中,在转发核确定存储位置对应的存储空间中的表项未满后,转发核可以直接将第一报文的目的地址以及对应的攻击信息作为当前待添加表项添加到存储位置对应的存储空间中。
可以理解的是,在本实施例中,多核转发系统中的每个转发核均可以采用替换的方式对全局数组哈希表中的表项进行更新。另外,全局数组哈希表主要用于记录遭遇攻击报文攻击的目的地址,而且后续转发核将利用全局数组哈希表分析获得当前遭遇大型攻击的目标目的地址,如此使得在全局数组哈希表中包括攻击次数较高且攻击最新时间距离当前时间较近的目的地址的表项具有更高的分析价值,因而,在对全局数组哈希表中的表项进行更新时,通常会将包括攻击次数最少和/或攻击最新时间距离当前时间最远的目的地址的表项作为被替换表项,以便在存储空间已满需利用替换机制进行更新时,转发核能够利用新表项替换被替换表项。如此能够保证全局数组哈希表中能够准确地记录下分析价值较高的表项,从而能够提高转发核利用全局数组哈希表确定当前遭遇大型攻击的目标目的地址的准确性。
在本申请实施例一种可能的实现方式中,专用核在接收到具有目标目的地址的第二报文后,专用核先判断第二报文是否为攻击报文。如果专用核判断第二报文为攻击报文,则专用核在第二报文的目的地址对应的链表哈希表中更新第二报文的源地址对应的攻击次数。如果专用核判断第二报文不是攻击报文,则专用核将第二报文转发给转发核,以便转发核能够将该第二报文转发给第二报文的目的地址。
在本实施例中,还提供了一种专用核判断第二报文是否为攻击报文的具体实施方式,其具体可以为:专用核根据第二报文的相关信息,在会话表中进行查询。如果专用核在会话表中查找到与第二报文相关的会话记录,则专用核确定该第二报文为正常报文,此时,专用核可以根据第二报文以及查找到的与第二报文相关的会话记录,确定转发第二报文的目标转发核,并由专用核将第二报文转发给目标转发核。如果专用核在会话表中无法查找到与第二报文相关的会话记录,则专用核可以确定该第二报文为攻击报文,此时,专用核在第二报文的目的地址对应的链表哈希表中更新第二报文的源地址对应的攻击次数。
需要说明的是,在本实施例中,当链表哈希表的表项包括攻击目标目的地址的源地址以及源地址对应的攻击次数和攻击最新时间时,专用核在第二报文的目的地址对应的链表哈希表中更新第二报文的源地址对应的攻击次数时,还需要在第二报文的目的地址对应的链表哈希表中更新第二报文的源地址对应的攻击最新时间。
在本实施例中,专用核为每个遭遇大型攻击的目标目的地址构建一个链表哈希表,使得每个目标目的地址均对应有一个链表哈希表。例如,假设第一个目标目的地址至第X个目标目的地址均遭受到大型攻击,则专用核将为第一个目标目的地址构建第一个链表哈希表、……、第X个目标目的地址构建第X个链表哈希表,以便后续专用核能够利用每一链表哈希表中的数据信息对该链表哈希表对应的目标目的地址进行攻击分析,其具体可以为:专用核可以利用第一个链表哈希表中的数据信息对第一个目标目的地址遭遇的攻击进行分析,……,利用第X个链表哈希表中的数据信息对第X个目标目的地址遭遇的攻击进行分析。
在本实施例中,链表哈希表用于记录目标目的地址遭遇的攻击报文的相关信息,而且,该相关信息可以包括攻击报文的源地址以及该源地址对应的攻击次数,还可以包括该源地址对应的攻击最新时间等信息。另外,链表哈希表是以链表形式进行表项添加的。此外,链表哈希表具有以下特性:
1)在多核转发系统中,只有专用核可以对链表哈希表进行读写操作。
2)一个链表哈希表仅用于记录一个目标目的地址遭遇的海量攻击报文的相关信息。
3)在链表哈希表中,超时机制不是通过利用定时器进行控制的,而是在链表哈希表已满时,通过使用链表的先入先出的替换机制进行替换。
4)在链表哈希表中,专用核不对单个表项进行删除操作,但是,专用核可以对整个链表哈希表进行删除。
在本申请实施例一种可能的实现方式中,提供了一种在第二报文的目的地址对应的链表哈希表中更新第二报文的源地址对应的攻击次数的具体实施方式,具体可以为:
1)在第二报文的目的地址对应的链表哈希表中查找是否存在第二报文的源地址对应的攻击次数。
在本实施例中,专用核在第二报文的目的地址对应的链表哈希表中查找是否存在第二报文的源地址对应的攻击次数,具体过程可以为:专用核在提取第二报文的源地址后,根据第二报文的源地址,在第二报文的目的地址对应的链表哈希表中进行查找。若在第二报文的目的地址对应的链表哈希表中能够找到包括第二报文的源地址的表项,则确定第二报文的目的地址对应的链表哈希表中存在第二报文的源地址对应的攻击次数。若在第二报文的目的地址对应的链表哈希表中无法找到包括第二报文的源地址的表项,则确定第二报文的目的地址对应的链表哈希表中不存在第二报文的源地址对应的攻击次数。
2)如果第二报文的目的地址对应的链表哈希表中存在第二报文的源地址对应的攻击次数,将第二报文的源地址对应的攻击次数加一。
在本实施例中,专用核在确定第二报文的目的地址对应的链表哈希表中存在第二报文的源地址对应的攻击次数后,专用核将在链表哈希表中将第二报文的源地址对应的攻击次数加一,以便表示第二报文的源地址又一次对目标目的地址发起攻击报文的攻击。
3)如果第二报文的目的地址对应的链表哈希表中不存在第二报文的源地址对应的攻击次数,将第二报文的源地址添加到第二报文的目的地址对应的链表哈希表中,并将第二报文的源地址对应的攻击次数置一。
在本实施例中,专用核在确定第二报文的目的地址对应的链表哈希表中不存在第二报文的源地址对应的攻击次数后,先将第二报文的源地址添加到第二报文的目的地址对应的链表哈希表中,并将第二报文的源地址对应的攻击次数置一,以便表示第二报文的源地址第一次对目标目的地址发起攻击报文的攻击。
可以理解,在本实施例中,链表哈希表能够准确地记录每个源地址对目标目的地址所发起的攻击次数,以便后续专用核能够利用链表哈希表中的数据信息(例如,攻击次数)准确地分析得到对每个源地址应该采用的防御措施。
在本申请实施例一种可能的实现方式中,提供了一种在第二报文的目的地址对应的链表哈希表中更新第二报文的源地址对应的攻击最新时间的具体实施方式,具体可以为:
1)在第二报文的目的地址对应的链表哈希表中查找是否存在第二报文的源地址对应的攻击最新时间。
在本实施例中,专用核在第二报文的目的地址对应的链表哈希表中查找是否存在第二报文的源地址对应的攻击最新时间,具体过程可以为:专用核在提取第二报文的源地址后,根据第二报文的源地址,在第二报文的目的地址对应的链表哈希表中进行查找。若在第二报文的目的地址对应的链表哈希表中能够找到包括第二报文的源地址的表项,则确定第二报文的目的地址对应的链表哈希表中存在第二报文的源地址对应的攻击最新时间。若在第二报文的目的地址对应的链表哈希表中无法找到包括第二报文的源地址的表项,则确定第二报文的目的地址对应的链表哈希表中不存在第二报文的源地址对应的攻击最新时间。
2)如果第二报文的目的地址对应的链表哈希表中存在第二报文的源地址对应的攻击最新时间,将第二报文的源地址对应的攻击最新时间更新为当前时间。
在本实施例中,专用核在确定第二报文的目的地址对应的链表哈希表中存在第二报文的源地址对应的攻击最新时间后,专用核将在链表哈希表中将第二报文的源地址对应的攻击最新时间更新为当前时间,以便表示第二报文的源地址在当前时间又一次对目标目的地址发起攻击报文的攻击。
3)如果第二报文的目的地址对应的链表哈希表中不存在第二报文的源地址对应的攻击最新时间,将第二报文的源地址添加到第二报文的目的地址对应的链表哈希表中,并将第二报文的源地址对应的攻击最新时间设置为当前时间。
在本实施例中,专用核在确定第二报文的目的地址对应的链表哈希表中不存在第二报文的源地址对应的攻击最新时间后,先将第二报文的源地址添加到第二报文的目的地址对应的链表哈希表中,并将第二报文的源地址对应的攻击最新时间设置为当前时间,以便表示第二报文的源地址在当前时间第一次对目标目的地址发起攻击报文的攻击。
在本申请中,一些源地址(例如,僵尸网络对应的地址、真实ip地址等)会经常对目标目的地址发起攻击,而且,这些源地址发送的攻击报文类型多样,此时,为了避免这些经常发起攻击的源地址对目标目的地址进行报文攻击,可以将这些经常发起攻击的源地址添加至黑名单中,以便网卡不再接收这些黑名单中各个源地址发送的报文。因而,在本申请实施例一种可能的实现方式中,专用核可以将链表哈希表中攻击次数大于第一阈值的源地址添加到黑名单中。
在本实施例中,专用核可以根据链表哈希表中记录的每个源地址攻击目标目的地址的攻击次数来确定该源地址是否是经常发起攻击的源地址,其具体为:在链表哈希表中,如果一个源地址对应的攻击次数大于第一阈值,则表示该源地址经常对目标目的地址发起攻击,此时,可以将该源地址添加到黑名单中,以便后续不再接收该源地址发送的报文,从而能够有效地避免该源地址攻击目标目的地址。其中,第一阈值可以根据应用场景设定。
另外,在本申请中,还存在一种源地址(例如,由软件产生的随机伪造ip地址)只对目标目的地址发起少数几次(甚至一次)攻击,此时,由于这些攻击次数较少的源地址不具备分析处理的价值,因而,在本申请中,专用核在接收到攻击次数较少的源地址发送的攻击报文时,不进行分析处理,直接进行丢弃即可。如此避免专用核因分析无分析价值的源地址发送的攻击报文而产生的资源消耗,从而能够大幅度的减少专用核资源消耗,提高了专用核的整体性能。
在本申请实施例一种可能的实现方式中,专用核在网卡中写入针对目标目的地址的过滤条件之后,将目标目的地址以及对应的攻击信息从全局数组哈希表中删除。
在本实施例中,当专用核在网卡中写入针对目标目的地址的过滤条件之后,网卡将目标目的地址的攻击报文直接发送给专用核,使得转发核不再接收到针对于目标目的地址的攻击报文,且专用核已经开始处理针对目标目的地址的攻击报文,此时,全局数组哈希表中目标目的地址以及对应的攻击信息已无法为转发核发现遭遇大型攻击的目的地址提供任何有价值的信息,因而,为了能够提高转发核发现遭遇大型攻击的目的地址的效率,需要由专用核在网卡中写入针对目标目的地址的过滤条件之后,将目标目的地址以及对应的攻击信息从全局数组哈希表中删除。如此,转发核再次根据全局数组哈希表分析遭遇大型攻击的目的地址时,转发核无需再考虑已被专用核开始处理的目标目的地址的相关信息,减少了转发核确定遭遇大型攻击的目标目的地址时的待分析数据量,提高了转发核的分析效率。
在本申请实施例一种可能的实现方式中,专用核遍历全局数组哈希表,将全局数组哈希表中记录有满足第三预设条件的攻击信息的表项删除。
在本实施例中,由于全局数组哈希表中可能存在对转发核发现遭遇大型攻击的目的地址具有较低价值(甚至没有价值)的表项,使得转发核在根据全局数组哈希表确定目标目的地址时还需要继续参考这些价值较低的表项,导致了转发核确定目标目的地址的效率较低,因而,为了能够提高转发核确定目标目的地址的效率,专用核可以定期遍历全局数组哈希表,以便将全局数组哈希表中记录有满足第三预设条件的攻击信息的表项删除。其中,第三预设条件用于记录全局数组哈希表中对确定遭遇大型攻击的目的地址具有较低参考价值的表项所满足的条件信息,而且,第三预设条件可以预先设定,例如,第三预设条件可以包括:攻击次数小于第三阈值,和/或,攻击最新时间与当前时间之间的时间差大于第四阈值。
需要说明的是,当攻击信息包括key和value时,则专用核将全局数组哈希表中一表项进行删除可以是将该表项的key和value均置零即可,以便保证全局数组哈希表中的存储空间一直保持有效,也就是,包括key=0且value=0的表项还可以用于记录其他目的地址以及攻击信息。
在本申请实施例一种可能的实现方式中,专用核遍历各个链表哈希表,将满足最后更新时间与当前时间差大于第二阈值的链表哈希表删除。
在本实施例中,当针对目标目的地址的攻击结束之后,专用核无需再对该目标目的地址进行攻击防御以及攻击分析,使得该目标目的地址对应的链表哈希表丧失分析价值;但是,由于专用核在对各个链表哈希表进行攻击分析之前无法区分各个链表哈希表是否具有分析价值,因而当根据各个链表哈希表进行攻击分析时,专用核需要对各个链表哈希表进行攻击分析以便确定各个目标目的地址的攻击防御。由此可知,在该攻击分析过程中,专用核不仅需要分析具有分析价值的链表哈希表,还需要分析丧失分析价值的链表哈希表,导致专用核资源浪费,降低了专用核的分析效率。基于此,为了提高专用核的分析效率以及专用核的资源使用率,可以由专用核直接将丧失分析价值的链表哈希表删除,避免专用核再次针对该丧失分析价值的链表哈希表进行攻击分析,且该删除过程具体可以为:专用核遍历各个链表哈希表,将满足最后更新时间与当前时间差大于第二阈值的链表哈希表删除。其中,第二阈值可以预先设定,尤其可以根据应用场景设定。
需要说明的是,由于当针对目标目的地址的攻击结束之后,网卡也无需根据针对目标目的地址的过滤条件进行报文过滤了,因而,为了能够减轻网卡的过滤任务,在本申请中,当专用核删除一个链表哈希表时,同时还可以由专用核将网卡中针对目标目的地址的过滤条件删除,以便网卡无需再针对目标目的地址采取过滤手段,减轻了网卡的过滤任务,提高了网卡的过滤效率。
在本申请实施例中,在转发核确定遭遇大型攻击的目标目的地址后,由专用核接收、处理并分析海量的攻击报文,使得转发核只需处理正常报文即可,如此降低了海量攻击报文攻击对转发核的转发性能的所产生的不良影响。另外,在多核转发系统中,转发核在对全局数组哈希表进行操作时无需加锁,避免了多核转发系统中出现资源竞争问题,且多核转发系统的并发性能可以做到随着cpu个数增长而线性增长。此外,攻击防御过程中,专用核针对每一目标目的地址进行单独分析,提高了每一目标目的地址的攻击防御效率;而且,专用核还可以将攻击频率较高的源地址添加至黑名单,能够有效地避免目标目的地址再次遭遇由黑名单中源地址发起的各种类型攻击报文的攻击,从而提高了攻击防御效果。另外,多核转发系统完全不影响转发核在无攻击时的转发性能。
基于上述方法实施例,本申请实施例还提供了一种多核转发系统,下面将对该多核转发系统进行说明。
参见图3,该图为本申请实施例提供的一种多核转发系统的结构图,如图3所示,该多核转发系统包括至少一个转发核301和专用核302。
所述转发核301用于如果判断接收的第一报文为攻击报文,在全局数组哈希表中更新所述第一报文的目的地址对应的攻击信息;
所述转发核301用于将所述全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址,向所述专用核302发送包括所述目标目的地址的通知消息;
所述专用核302用于接收所述通知消息,在网卡中写入针对所述目标目的地址的过滤条件,以使所述网卡将具有所述目标目的地址的第二报文发送给所述专用核302。
在本申请实施例一种可能的实现方式中,所述转发核301,具体用于:
如果判断接收的第一报文为攻击报文,提取所述第一报文的目的地址;
在全局数组哈希表中查找是否存在所述第一报文的目的地址对应的攻击信息;
如果所述全局数组哈希表中存在所述第一报文的目的地址对应的攻击信息,更新所述第一报文的目的地址对应的攻击信息;
如果所述全局数组哈希表中不存在所述第一报文的目的地址对应的攻击信息,将所述第一报文的目的地址以及对应的攻击信息写入所述全局数组哈希表。
在本申请实施例一种可能的实现方式中,所述转发核301,具体用于:
根据所述第一报文的目的地址的哈希值,确定所述第一报文的目的地址在所述全局数组哈希表中的存储位置;
判断所述存储位置对应的存储空间中的表项是否已满;
如果所述存储空间中的表项已满,将所述存储空间中记录有满足第二预设条件的攻击信息的表项确定为目标添加表项,将所述第一报文的目的地址以及对应的攻击信息作为当前待添加表项替换所述目标添加表项;
如果所述存储空间中的表项未满,将所述第一报文的目的地址以及对应的攻击信息作为当前待添加表项添加到所述存储空间中。
在本申请实施例一种可能的实现方式中,所述专用核302还用于在接收到具有所述目标目的地址的第二报文后,如果判断所述第二报文为攻击报文,在所述第二报文的目的地址对应的链表哈希表中更新所述第二报文的源地址对应的攻击次数,每个所述目标目的地址对应有一个链表哈希表。
在本申请实施例一种可能的实现方式中,所述专用核302,具体用于:
在所述第二报文的目的地址对应的链表哈希表中查找是否存在所述第二报文的源地址对应的攻击次数;
如果所述第二报文的目的地址对应的链表哈希表中存在所述第二报文的源地址对应的攻击次数,将所述第二报文的源地址对应的攻击次数加一;
如果所述第二报文的目的地址对应的链表哈希表中不存在所述第二报文的源地址对应的攻击次数,将所述第二报文的源地址添加到所述第二报文的目的地址对应的链表哈希表中,并将所述第二报文的源地址对应的攻击次数置一。
在本申请实施例一种可能的实现方式中,所述专用核302还用于将所述链表哈希表中攻击次数大于第一阈值的源地址添加到黑名单中。
在本申请实施例一种可能的实现方式中,所述专用核302还用于在网卡中写入针对所述目标目的地址的过滤条件之后,将所述目标目的地址以及对应的攻击信息从所述全局数组哈希表中删除。
在本申请实施例一种可能的实现方式中,所述专用核302还用于遍历所述全局数组哈希表,将所述全局数组哈希表中记录有满足第三预设条件的攻击信息的表项删除。
在本申请实施例一种可能的实现方式中,所述专用核302还用于遍历各个所述链表哈希表,将满足最后更新时间与当前时间差大于第二阈值的链表哈希表删除。
需要说明的是,本申请实施例转发核和专用核的实现可以参见上述方法实施例,本实施例在此不再赘述。
另外,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行所述的多核系统中的攻击报文的防御方法。
本申请实施例还提供了一种攻击报文的防御设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现所述的攻击报文的防御方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种攻击报文的防御方法,其特征在于,所述方法应用于多核转发系统,所述多核转发系统包括至少一个转发核和专用核,所述方法包括:
所述转发核如果判断接收的第一报文为攻击报文,在全局数组哈希表中更新所述第一报文的目的地址对应的攻击信息;
所述转发核将所述全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址,向所述专用核发送包括所述目标目的地址的通知消息;
所述专用核接收所述通知消息,在网卡中写入针对所述目标目的地址的过滤条件,以使所述网卡将具有所述目标目的地址的第二报文发送给所述专用核。
2.根据权利要求1所述的方法,其特征在于,所述转发核如果判断接收的第一报文为攻击报文,在全局数组哈希表中更新所述第一报文的目的地址对应的攻击信息,包括:
所述转发核如果判断接收的第一报文为攻击报文,提取所述第一报文的目的地址;
在全局数组哈希表中查找是否存在所述第一报文的目的地址对应的攻击信息;
如果所述全局数组哈希表中存在所述第一报文的目的地址对应的攻击信息,更新所述第一报文的目的地址对应的攻击信息;
如果所述全局数组哈希表中不存在所述第一报文的目的地址对应的攻击信息,将所述第一报文的目的地址以及对应的攻击信息写入所述全局数组哈希表。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一报文的目的地址以及对应的攻击信息写入所述全局数组哈希表,包括:
根据所述第一报文的目的地址的哈希值,确定所述第一报文的目的地址在所述全局数组哈希表中的存储位置;
判断所述存储位置对应的存储空间中的表项是否已满;
如果所述存储空间中的表项已满,将所述存储空间中记录有满足第二预设条件的攻击信息的表项确定为目标添加表项,将所述第一报文的目的地址以及对应的攻击信息作为当前待添加表项替换所述目标添加表项;
如果所述存储空间中的表项未满,将所述第一报文的目的地址以及对应的攻击信息作为当前待添加表项添加到所述存储空间中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述专用核在接收到具有所述目标目的地址的第二报文后,如果判断所述第二报文为攻击报文,在所述第二报文的目的地址对应的链表哈希表中更新所述第二报文的源地址对应的攻击次数,每个所述目标目的地址对应有一个链表哈希表。
5.根据权利要求4所述的方法,其特征在于,所述在所述第二报文的目的地址对应的链表哈希表中更新所述第二报文的源地址对应的攻击次数,包括:
在所述第二报文的目的地址对应的链表哈希表中查找是否存在所述第二报文的源地址对应的攻击次数;
如果所述第二报文的目的地址对应的链表哈希表中存在所述第二报文的源地址对应的攻击次数,将所述第二报文的源地址对应的攻击次数加一;
如果所述第二报文的目的地址对应的链表哈希表中不存在所述第二报文的源地址对应的攻击次数,将所述第二报文的源地址添加到所述第二报文的目的地址对应的链表哈希表中,并将所述第二报文的源地址对应的攻击次数置一。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
将所述链表哈希表中攻击次数大于第一阈值的源地址添加到黑名单中。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
所述专用核在网卡中写入针对所述目标目的地址的过滤条件之后,将所述目标目的地址以及对应的攻击信息从所述全局数组哈希表中删除。
8.一种多核转发系统,其特征在于,所述多核转发系统包括至少一个转发核和专用核,
所述转发核用于如果判断接收的第一报文为攻击报文,在全局数组哈希表中更新所述第一报文的目的地址对应的攻击信息;
所述转发核用于将所述全局数组哈希表中满足第一预设条件的攻击信息对应的目的地址确定为目标目的地址,向所述专用核发送包括所述目标目的地址的通知消息;
所述专用核用于接收所述通知消息,在网卡中写入针对所述目标目的地址的过滤条件,以使所述网卡将具有所述目标目的地址的第二报文发送给所述专用核。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-7任一项所述的攻击报文的防御方法。
10.一种攻击报文的防御设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的攻击报文的防御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910935381.5A CN110545291B (zh) | 2019-09-29 | 2019-09-29 | 一种攻击报文的防御方法、多核转发系统及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910935381.5A CN110545291B (zh) | 2019-09-29 | 2019-09-29 | 一种攻击报文的防御方法、多核转发系统及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110545291A true CN110545291A (zh) | 2019-12-06 |
CN110545291B CN110545291B (zh) | 2022-02-11 |
Family
ID=68715062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910935381.5A Active CN110545291B (zh) | 2019-09-29 | 2019-09-29 | 一种攻击报文的防御方法、多核转发系统及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110545291B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111654474A (zh) * | 2020-05-19 | 2020-09-11 | 杭州迪普科技股份有限公司 | 一种安全检测的方法和装置 |
CN112637175A (zh) * | 2020-12-17 | 2021-04-09 | 山东云天安全技术有限公司 | 一种用于工业物联网的防御方法及装置 |
CN113132339A (zh) * | 2020-01-15 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 流量监控方法、装置及电子设备 |
CN114944951A (zh) * | 2022-05-18 | 2022-08-26 | 北京天融信网络安全技术有限公司 | 一种请求的处理方法及装置、拟态设备、存储介质 |
CN115118493A (zh) * | 2022-06-27 | 2022-09-27 | 北京天融信网络安全技术有限公司 | 报文查询方法、装置、电子设备及存储介质 |
CN115225368A (zh) * | 2022-07-15 | 2022-10-21 | 北京天融信网络安全技术有限公司 | 一种报文处理方法、装置、电子设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078485A1 (en) * | 2002-10-18 | 2004-04-22 | Nokia Corporation | Method and apparatus for providing automatic ingress filtering |
US20040172557A1 (en) * | 2002-08-20 | 2004-09-02 | Masayuki Nakae | Attack defending system and attack defending method |
CN103428185A (zh) * | 2012-05-24 | 2013-12-04 | 百度在线网络技术(北京)有限公司 | 报文过滤/限速方法、系统及装置 |
CN103618723A (zh) * | 2013-12-03 | 2014-03-05 | 北京东土科技股份有限公司 | 防止环网协议报文攻击设备cpu的方法及装置 |
CN107864156A (zh) * | 2017-12-18 | 2018-03-30 | 东软集团股份有限公司 | Syn攻击防御方法和装置、存储介质 |
CN108390856A (zh) * | 2018-01-12 | 2018-08-10 | 北京奇艺世纪科技有限公司 | 一种DDoS攻击检测方法、装置及电子设备 |
CN109246057A (zh) * | 2017-07-10 | 2019-01-18 | 东软集团股份有限公司 | 报文转发方法、装置、转发系统、存储介质及电子设备 |
CN109361609A (zh) * | 2018-12-14 | 2019-02-19 | 东软集团股份有限公司 | 防火墙设备的报文转发方法、装置、设备及存储介质 |
CN109495504A (zh) * | 2018-12-21 | 2019-03-19 | 东软集团股份有限公司 | 一种防火墙设备及其报文处理方法以及介质 |
US20190116204A1 (en) * | 2013-08-26 | 2019-04-18 | A10 Networks, Inc. | Health monitor based distributed denial of service attack mitigation |
CN109657463A (zh) * | 2018-12-18 | 2019-04-19 | 北京东土军悦科技有限公司 | 一种报文洪泛攻击的防御方法及装置 |
CN110224947A (zh) * | 2019-06-05 | 2019-09-10 | 东软集团股份有限公司 | 一种多核转发系统中的报文处理方法、装置及设备 |
-
2019
- 2019-09-29 CN CN201910935381.5A patent/CN110545291B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040172557A1 (en) * | 2002-08-20 | 2004-09-02 | Masayuki Nakae | Attack defending system and attack defending method |
US20040078485A1 (en) * | 2002-10-18 | 2004-04-22 | Nokia Corporation | Method and apparatus for providing automatic ingress filtering |
CN103428185A (zh) * | 2012-05-24 | 2013-12-04 | 百度在线网络技术(北京)有限公司 | 报文过滤/限速方法、系统及装置 |
US20190116204A1 (en) * | 2013-08-26 | 2019-04-18 | A10 Networks, Inc. | Health monitor based distributed denial of service attack mitigation |
CN103618723A (zh) * | 2013-12-03 | 2014-03-05 | 北京东土科技股份有限公司 | 防止环网协议报文攻击设备cpu的方法及装置 |
CN109246057A (zh) * | 2017-07-10 | 2019-01-18 | 东软集团股份有限公司 | 报文转发方法、装置、转发系统、存储介质及电子设备 |
CN107864156A (zh) * | 2017-12-18 | 2018-03-30 | 东软集团股份有限公司 | Syn攻击防御方法和装置、存储介质 |
CN108390856A (zh) * | 2018-01-12 | 2018-08-10 | 北京奇艺世纪科技有限公司 | 一种DDoS攻击检测方法、装置及电子设备 |
CN109361609A (zh) * | 2018-12-14 | 2019-02-19 | 东软集团股份有限公司 | 防火墙设备的报文转发方法、装置、设备及存储介质 |
CN109657463A (zh) * | 2018-12-18 | 2019-04-19 | 北京东土军悦科技有限公司 | 一种报文洪泛攻击的防御方法及装置 |
CN109495504A (zh) * | 2018-12-21 | 2019-03-19 | 东软集团股份有限公司 | 一种防火墙设备及其报文处理方法以及介质 |
CN110224947A (zh) * | 2019-06-05 | 2019-09-10 | 东软集团股份有限公司 | 一种多核转发系统中的报文处理方法、装置及设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132339A (zh) * | 2020-01-15 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 流量监控方法、装置及电子设备 |
CN113132339B (zh) * | 2020-01-15 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 流量监控方法、装置及电子设备 |
CN111654474A (zh) * | 2020-05-19 | 2020-09-11 | 杭州迪普科技股份有限公司 | 一种安全检测的方法和装置 |
CN111654474B (zh) * | 2020-05-19 | 2022-11-01 | 杭州迪普科技股份有限公司 | 一种安全检测的方法和装置 |
CN112637175A (zh) * | 2020-12-17 | 2021-04-09 | 山东云天安全技术有限公司 | 一种用于工业物联网的防御方法及装置 |
CN112637175B (zh) * | 2020-12-17 | 2021-08-20 | 山东云天安全技术有限公司 | 一种用于工业物联网的防御方法及装置 |
CN114944951A (zh) * | 2022-05-18 | 2022-08-26 | 北京天融信网络安全技术有限公司 | 一种请求的处理方法及装置、拟态设备、存储介质 |
CN114944951B (zh) * | 2022-05-18 | 2024-02-06 | 北京天融信网络安全技术有限公司 | 一种请求的处理方法及装置、拟态设备、存储介质 |
CN115118493A (zh) * | 2022-06-27 | 2022-09-27 | 北京天融信网络安全技术有限公司 | 报文查询方法、装置、电子设备及存储介质 |
CN115118493B (zh) * | 2022-06-27 | 2023-11-10 | 北京天融信网络安全技术有限公司 | 报文查询方法、装置、电子设备及存储介质 |
CN115225368A (zh) * | 2022-07-15 | 2022-10-21 | 北京天融信网络安全技术有限公司 | 一种报文处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110545291B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110545291B (zh) | 一种攻击报文的防御方法、多核转发系统及相关产品 | |
US10867034B2 (en) | Method for detecting a cyber attack | |
EP3506141B1 (en) | System for query injection detection using abstract syntax trees | |
US10938851B2 (en) | Techniques for defense against domain name system (DNS) cyber-attacks | |
US9560056B2 (en) | Cloud-based gateway security scanning | |
RU2551820C2 (ru) | Способ и устройство для проверки файловой системы на наличие вирусов | |
US10666672B2 (en) | Collecting domain name system traffic | |
EP3905622A1 (en) | Botnet detection method and system, and storage medium | |
US20050278779A1 (en) | System and method for identifying the source of a denial-of-service attack | |
CN110266650B (zh) | Conpot工控蜜罐的识别方法 | |
CN111625841B (zh) | 一种病毒处理方法、装置及设备 | |
WO2015138517A1 (en) | A method and system for generating durable host identifiers using network artifacts | |
Wang et al. | An efficient and unified approach to correlating, hypothesizing, and predicting intrusion alerts | |
CN112738115A (zh) | 高级持续性攻击检测方法、装置、计算机设备和介质 | |
US8230503B2 (en) | Method of extracting windows executable file using hardware based on session matching and pattern matching and apparatus using the same | |
CN113312625B (zh) | 一种攻击路径图构建方法、装置、设备、介质 | |
CN109992708B (zh) | 一种元数据查询的方法、装置、设备以及存储介质 | |
CN107911389B (zh) | 防攻击的分片报文处理方法、装置、计算机及存储介质 | |
CN111835599B (zh) | 一种基于SketchLearn的混合网络测量方法、装置及介质 | |
TW201928746A (zh) | 偵測惡意程式的方法和裝置 | |
JP6712944B2 (ja) | 通信予測装置、通信予測方法及び通信予測プログラム | |
WO2020215342A1 (en) | Host cardinality measuring for network anomaly detection | |
CN114584623B (zh) | 流量请求清理方法、装置、存储介质以及计算机设备 | |
US20230208857A1 (en) | Techniques for detecting cyber-attack scanners | |
CN116389539A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |