您的当前位置:首页正文

一种攻击检测方法及装置[发明专利]

2021-05-23 来源:客趣旅游网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 108965336 A(43)申请公布日 2018.12.07

(21)申请号 201811052679.3(22)申请日 2018.09.10

(71)申请人 杭州迪普科技股份有限公司

地址 310051 浙江省杭州市滨江区通和路

68号中财大厦6楼(72)发明人 左虹 

(74)专利代理机构 北京博思佳知识产权代理有

限公司 11415

代理人 林祥(51)Int.Cl.

H04L 29/06(2006.01)

权利要求书2页 说明书6页 附图3页

(54)发明名称

一种攻击检测方法及装置(57)摘要

公开了一种攻击检测方法及装置。一种攻击检测方法,其特征在于,预先配置攻击特征决策树,该决策树由顺序连接的若干层组成,且每层由顺序连接的若干节点组成,所述方法包括:步骤A、接收报文;步骤B、遍历所述决策树中的各节点,查找所述报文中是否包括各节点存储的攻击特征;若查找到所述报文中包括任一节点存储的攻击特征,则转至步骤C处理;步骤C、获取查找到的节点中存储的处理动作,根据所获取的处理动作,处理该报文并确定是否进行后续步骤;若是,则转至步骤D处理;步骤D、确定查找到的节点中是否存在对应的下层节点;若是,则确定所对应的下层节点并将该节点作为查找到的节点,转至步骤C处理。

CN 108965336 ACN 108965336 A

权 利 要 求 书

1/2页

1.一种攻击检测方法,其特征在于,预先配置攻击特征决策树,该决策树由顺序连接的若干层组成,且每层由顺序连接的若干节点组成,所述方法包括:

步骤A、接收报文;步骤B、遍历所述决策树中的各节点,查找所述报文中是否包括各节点存储的攻击特征;若查找到所述报文中包括任一节点存储的攻击特征,则转至步骤C处理;

步骤C、获取查找到的节点中存储的处理动作,根据所获取的处理动作,处理该报文并确定是否进行后续步骤;若是,则转至步骤D处理;若否,则结束检测;

步骤D、确定查找到的节点中是否存在对应的下层节点;若是,则确定所对应的下层节点并将该节点作为查找到的节点,转至步骤C处理;若否,则结束检测。

2.根据权利要求1所述的方法,其特征在于,所述顺序连接的若干层,包括:根据网络协议确定的若干层;所述网络协议包括:ETH协议、IP协议、TCP协议、UDP协议、和/或HTTP协议。

3.根据权利要求1所述的方法,其特征在于,所述根据所获取的处理动作,处理该报文并确定是否进行后续步骤,包括:

在所获取处理动作为转发的情况下,根据该处理动作转发所述报文,并结束检测;和/或

在所获取处理动作为告警的情况下,根据预设告警规则发出警告,并进行后续步骤;和/或

在所获取处理动作为阻断的情况下,根据预设阻断规则阻断所述报文的传输,并结束检测。

4.根据权利要求1所述的方法,其特征在于,所述决策树的节点存储的信息还包括:下层标识,用于表示本节点是否存在对应的下层节点;

所述确定查找到的节点中是否存在对应的下层节点,包括:根据查找到的节点中存储的下层标识的值,确定该节点是否存在对应的下层节点。5.根据权利要求1所述的方法,其特征在于,所述决策树的节点存储的信息还包括:下层协议链,用于表示本节点对应的下层节点;

所述确定所对应的下层节点,包括:

根据查找到的节点中存储的下层协议链,确定对应的下层节点。6.一种攻击检测装置,其特征在于,预先配置攻击特征决策树,该决策树由顺序连接的若干层组成,且每层由顺序连接的若干节点组成,所述装置包括:

报文接收模块,用于接收报文;特征查找模块,用于遍历所述决策树中的各节点,查找所述报文中是否包括各节点存储的攻击特征;若查找到所述报文中包括任一节点存储的攻击特征,则转至报文处理模块处理;

报文处理模块,用于获取查找到的节点中存储的处理动作,根据所获取的处理动作,处理该报文并确定是否进行后续步骤;若是,则转至下层节点确定模块处理;若否,则结束检测;

下层节点确定模块,用于确定查找到的节点中是否存在对应的下层节点;若是,则确定所对应的下层节点并将该节点作为查找到的节点,转至报文处理模块处理;若否,则结束检

2

CN 108965336 A

权 利 要 求 书

2/2页

测。

7.根据权利要求6所述的装置,其特征在于,所述顺序连接的若干层,包括:根据网络协议确定的若干层;所述网络协议包括:ETH协议、IP协议、TCP协议、UDP协议、和/或HTTP协议。

8.根据权利要求6所述的装置,其特征在于,所述报文处理模块,包括:转发处理单元,用于在所获取处理动作为转发的情况下,根据该处理动作转发所述报文,并结束检测;和/或

警告处理单元,用于在所获取处理动作为告警的情况下,根据预设告警规则发出警告,并进行后续步骤;和/或

阻断处理单元,用于在所获取处理动作为阻断的情况下,根据预设阻断规则阻断所述报文的传输,并结束检测。

9.根据权利要求6所述的装置,其特征在于,所述决策树的节点存储的信息还包括:下层标识,用于表示本节点是否存在对应的下层节点;

所述下层节点确定模块,具体用于:

根据查找到的节点中存储的下层标识的值,确定该节点是否存在对应的下层节点。10.根据权利要求6所述的装置,其特征在于,所述决策树的节点存储的信息还包括:下层协议链,用于表示本节点对应的下层节点;

所述下层节点确定模块,具体用于:

根据查找到的节点中存储的下层协议链,确定对应的下层节点。

3

CN 108965336 A

说 明 书

一种攻击检测方法及装置

1/6页

技术领域

[0001]本说明书实施例涉及网络通信技术领域,尤其涉及一种攻击检测方法及装置。背景技术

[0002]目前,为了防御网络入侵与攻击,一般会在服务器群组入口或网络入口等处,部署IPS(Intrusion Prevention System,入侵防御系统)设备,IPS设备中一般以特征库的形式,存储着协议头部特定字段、报文中特定字符串等常见的网络攻击特征,此外,对于特定形式的攻击特征,也可以通过自定义特征的形式存储。[0003]目前自定义特征一般采用链表数组存储,这种存储结构的存储效率较高,但是在检测流量是否携带所存储特征时,查询效率较低,使得对于自定义特征的攻击检测的效率较低。

发明内容

[0004]有鉴于此,本说明书实施例提供一种攻击检测方法及装置,技术方案如下:[0005]一种攻击检测方法,其特征在于,预先配置攻击特征决策树,该决策树由顺序连接的若干层组成,且每层由顺序连接的若干节点组成,所述方法包括:[0006]步骤A、接收报文;[0007]步骤B、遍历所述决策树中的各节点,查找所述报文中是否包括各节点存储的攻击特征;若查找到所述报文中包括任一节点存储的攻击特征,则转至步骤C处理;[0008]步骤C、获取查找到的节点中存储的处理动作,根据所获取的处理动作,处理该报文并确定是否进行后续步骤;若是,则转至步骤D处理;若否,则结束检测;[0009]步骤D、确定查找到的节点中是否存在对应的下层节点;若是,则确定所对应的下层节点并将该节点作为查找到的节点,转至步骤C处理;若否,则结束检测。[0010]一种攻击检测装置,其特征在于,预先配置攻击特征决策树,该决策树由顺序连接的若干层组成,且每层由顺序连接的若干节点组成,所述装置包括:[0011]报文接收模块,用于接收报文;[0012]特征查找模块,用于遍历所述决策树中的各节点,查找所述报文中是否包括各节点存储的攻击特征;若查找到所述报文中包括任一节点存储的攻击特征,则转至报文处理模块处理;

[0013]报文处理模块,用于获取查找到的节点中存储的处理动作,根据所获取的处理动作,处理该报文并确定是否进行后续步骤;若是,则转至下层节点确定模块处理;若否,则结束检测;

[0014]下层节点确定模块,用于确定查找到的节点中是否存在对应的下层节点;若是,则确定所对应的下层节点并将该节点作为查找到的节点,转至报文处理模块处理;若否,则结束检测。

[0015]本说明书实施例所提供的技术方案,预先采用决策树的形式存储用户自定义的攻

4

CN 108965336 A

说 明 书

2/6页

击特征,尤其是可以跨多层次地自定义特征,可以提高攻击检测时的特征匹配效率,从而较快地对外部攻击特征采取相应的处理动作,实现高效的入侵防御。此外,决策树的存储形式还可以减少存储内存,节约存储成本。[0016]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。[0017]此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明

[0018]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

[0019]图1是本说明书实施例的决策树的一种结构示意图;[0020]图2是本说明书实施例的节点的一种结构示意图;[0021]图3是本说明书实施例攻击检测方法的流程示意图;[0022]图4是本说明书实施例攻击检测装置的结构示意图;[0023]图5是本说明书实施例报文处理模块的结构示意图。

具体实施方式

[0024]为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。[0025]在常见的网络报文攻击特征中,部分特征的提取方式,是基于协议的头部特定字段、报文中特定字符串等,这些特征一般存储于IPS设备的特征库中。而还有部分特征,仅仅是敷在部分存在一定规律,例如,报文为特定长度、报文负载的某个字节为特定字符、等等,对于这类特征,可以通过用户自定义的方式提取并存储。但是,现有技术中通常采用的链表数组存储方式,在查询特征时效率较低,使得对于自定义特征的攻击检测的效率较低。[0026]针对上述技术问题,本说明书提供一种通过预先配置的决策树存储自定义特征的方案,该决策树由顺序连接的若干层组成,具体地,用户可以根据检测需求对各层进行设定与划分。

[0027]本说明书实施例中,可以根据不同的网络协议设定决策树中的对应层。例如,决策树的各层可以分别为ETH协议层、IP协议层、TCP协议层、UDP协议层、和/或HTTP协议层、等等。

[0028]此外,每层由顺序连接的若干节点组成。图1所示为一种决策树的结构示意图,包括ETH协议层、IP协议层、TCP协议层及HTTP协议层。每层均包括1个至多个节点。每个节点中可以在自定义特征时,预先存储若干信息。图2所示为一种节点的结构示意图,其中预先存储的信息可以包括:特征标识,特征标识的值是否为0,可以表示至此是否满足某个特征的全部特性;处理动作,用于表示针对具有本节点特征的报文如何处理;下层标识,用于表示

5

CN 108965336 A

说 明 书

3/6页

本节点是否在下层中存在对应节点,即本节点的特征是否存在下一层协议的特性,例如,当下层标识的值为0,表示不存在对应的下层节点,而当下层标识的值为1,表示存在对应的下层节点;本层协议链,本层协议链上的各节点均为基于同一个上层节点的、互斥的,而不同的上层节点可能对应信息相同的本层节点;下层协议连,下层协议链可以有N条,其中,N的数值与下层协议数相关。[0029]例如,特征A在ETH协议层具备特性,并分别对应节点ETH_Node1和ETH_Node3。则节点ETH_Node1与ETH_Node3中,存储的特征标识均为A,下层标识均为0(表示不存在对应的下层节点),本层协议链与其他特征的ETH节点相连。[0030]又例如,特征B在ETH协议层具备特性,并对应节点ETH_Node2,而特征C在ETH协议层、IP协议层具备特性,并对应节点ETH_Node2和IP_Node1。则节点ETH_Node2中,预先存储的特征标识为B,下层标识为1(表示存在对应的下层节点),本层协议链与其他特征的ETH节点相连,下层协议链中IP链指向IP_Node1。而节点IP_Node1中,预先存储的特征标识为C,下层标识为0,本层协议链与其他特征的IP节点相连,下层协议链为空。[0031]再例如,特征D在ETH协议层、IP协议层及HTTP协议层具备特性,并对应节点ETH_Node2、IP_Node1及HTTP_Node1。则如前面所述,节点ETH_Node2中,预先存储的特征标识为B,下层标识为1,本层协议链与其他特征的ETH节点相连,下层协议链中IP链指向IP_Node1;节点IP_Node1中,预先存储的特征标识为C,下层标识为1,本层协议链与其他特征的IP节点相连,下层协议链为中TCP链建立一个无特征的节点TCP_Node1;即节点TCP_Node1中,特征标识为0,而下层标识为1,本层协议链与其他特征的TCP节点相连,下层协议链中HTTP链指向HTTP_Node1;节点HTTP_Node1中,预先存储的特征标识为D,下层协议为0,本层协议链与其他特征的HTTP节点相连,下层协议链为空。

[0032]对应上述的决策树自定义特征存储方案,本说明书提供一种攻击检测方法,[0033]参见图3所示,具体可以包括以下步骤:[0034]S101,接收报文;[0035]S102,遍历所述决策树中的各节点,查找所述报文中是否包括各节点存储的攻击特征;若查找到所述报文中包括任一节点存储的攻击特征,则转至S103处理;[0036]S103,获取查找到的节点中存储的处理动作,根据所获取的处理动作,处理该报文并确定是否进行后续步骤;若是,则转至S104处理;若否,则结束检测;[0037]S104,确定查找到的节点中是否存在对应的下层节点;若是,则确定所对应的下层节点并将该节点作为查找到的节点,转至S103处理;若否,则结束检测。[0038]用户自定义的攻击特征可以通过决策树存储,而对于接收到的报文,通过该决策树中的各个节点,确定是否命中用户自定义的攻击特征。[0039]在匹配报文中是否具有自定义的攻击特征时,可以对特征头部字段进行匹配,也可以对负载部分的固定位置、或非固定位置进行匹配,此外,匹配的方式也可以为数字、字符、和/或字符串等方式,本说明书均不做限定。[0040]以上述实例为例,首先根据决策树中各层、各节点的顺序,遍历决策树中的各个节点,即首先进行ETH协议层的特征查找,并查找到报文中包括节点ETH_Node2中的攻击特征。[0041]通过ETH_Node2中存储的特征标识确定为特征B,并确定存储的处理动作,例如,处理动作可以为转发、阻断、和/或告警。

6

CN 108965336 A[0042]

说 明 书

4/6页

在所获取处理动作为转发的情况下,可以根据该处理动作转发所述报文,并结束

检测,而不需要继续后续的步骤;在所获取处理动作为告警的情况下,可以根据预设告警规则发出警告,如发出告警日志,并且进行后续步骤;在所获取处理动作为阻断的情况下,可以根据预设阻断规则阻断所述报文的传输,如发送阻断日志后阻断所述报文的传输,并且结束检测,同样不需要继续后续的步骤。[0043]如果确定需要继续后续的步骤,通过ETH_Node2中存储的下层标识的值,确定该节点是否存在对应的下层节点,如下层标识的值为1,则确定存在对应的下层节点,并对下层协议链表进行递归查找。

[0044]通过ETH_Node2中存储的下层协议链表,确定在下层(即IP协议层)中对应的节点为IP_Node2。通过IP_Node2中存储的特征标识确定为特征C,并确定存储的处理动作,根据该处理动作处理报文,并确定是否需要继续后续的步骤。[0045]如果确定需要继续后续的步骤,则根据IP_Node2中存储的下层标识的值为1,确定存在对应的下层节点,并对下层协议链表进行递归查找。[0046]通过IP_Node2中存储的下层协议链表,确定在下层(即TCP协议层)中对应的节点为TCP_Node1。由于TCP_Node1为无特征的节点,即并未存储特征标识(特征标识为0)、及处理动作,因此直接继续后续步骤,即根据TCP_Node1中存储的下层标识的值为1,确定存在对应的下层节点,并对下层协议链表进行递归查找。[0047]通过TCP_Node1中存储的下层协议链表,确定在下层(即HTTP协议层)中对应的节点为HTTP_Node1。通过HTTP_Node1中存储的特征标识确定为特征D,并确定存储的处理动作,根据该处理动作处理报文,并确定是否需要继续后续的步骤。[0048]如果确定需要继续后续的步骤,则确定HTTP_Node1中存储的下层标识,由于HTTP_Node1中存储的下层标识的值为0,因此确定不存在对应的下层节点,从而确定结束检测。[0049]可见,根据本说明书提供的攻击检测方案,预先采用决策树的形式存储用户自定义的攻击特征,尤其是可以跨多层次地自定义特征,可以提高攻击检测时的特征匹配效率,从而较快地对外部攻击特征采取相应的处理动作,实现高效的入侵防御。此外,决策树的存储形式还可以减少存储内存,节约存储成本。[0050]相应于上述方法实施例,本说明书实施例还提供一种攻击检测装置,预先配置攻击特征决策树,该决策树由顺序连接的若干层组成,且每层由顺序连接的若干节点组成,参见图4所示,该装置可以包括:[0051]报文接收模块110,用于接收报文;[0052]特征查找模块120,用于遍历所述决策树中的各节点,查找所述报文中是否包括各节点存储的攻击特征;若查找到所述报文中包括任一节点存储的攻击特征,则转至报文处理模块处理;

[0053]报文处理模块130,用于获取查找到的节点中存储的处理动作,根据所获取的处理动作,处理该报文并确定是否进行后续步骤;若是,则转至下层节点确定模块处理;若否,则结束检测;

[0054]下层节点确定模块140,用于确定查找到的节点中是否存在对应的下层节点;若是,则确定所对应的下层节点并将该节点作为查找到的节点,转至报文处理模块处理;若否,则结束检测。

7

CN 108965336 A[0055]

说 明 书

5/6页

在本说明书实施例的一种具体实施方式中,所述顺序连接的若干层,可以包括:

[0056]根据网络协议确定的若干层;所述网络协议包括:ETH协议、IP协议、TCP协议、UDP协议、和/或HTTP协议。

[0057]在本说明书实施例的一种具体实施方式中,参见图5所示,所述报文处理模块130,可以包括:

[0058]转发处理单元131,用于在所获取处理动作为转发的情况下,根据该处理动作转发所述报文,并结束检测;和/或[0059]警告处理单元132,用于在所获取处理动作为告警的情况下,根据预设告警规则发出警告,并进行后续步骤;和/或[0060]阻断处理单元133,用于在所获取处理动作为阻断的情况下,根据预设阻断规则阻断所述报文的传输,并结束检测。

[0061]在本说明书实施例的一种具体实施方式中,所述决策树的节点存储的信息还可以包括:下层标识,用于表示本节点是否存在对应的下层节点;[0062]所述下层节点确定模块140,具体可以用于:[0063]根据查找到的节点中存储的下层标识的值,确定该节点是否存在对应的下层节点。

[0064]在本说明书实施例的一种具体实施方式中,所述决策树的节点存储的信息还可以包括:下层协议链,用于表示本节点对应的下层节点;[0065]所述下层节点确定模块140,具体可以用于:[0066]根据查找到的节点中存储的下层协议链,确定对应的下层节点。[0067]可以理解的是,转发处理单元131、警告处理单元132与阻断处理单元133作为三种功能独立的模块,既可以如图5所示同时配置在装置中,也可以分别单独配置在装置中,因此图5所示的结构不应理解为对本说明书实施例方案的限定。

[0068]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

[0069]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。[0070]虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。[0071]类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操

8

CN 108965336 A

说 明 书

6/6页

作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。[0072]由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

[0073]以上所述仅为本说明书实施例的较佳实施例而已,并不用以限制本说明书实施例,凡在本说明书实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书实施例保护的范围之内。

9

说 明 书 附 图

图1

图2

10

1/3页

CN 108965336 A

CN 108965336 A

说 明 书 附 图

2/3页

图3

11

CN 108965336 A

说 明 书 附 图

3/3页

图4

图5

12

因篇幅问题不能全部显示,请点此查看更多更全内容