CN108965337B - 规则匹配方法、装置、防火墙设备及机器可读存储介质 - Google Patents
规则匹配方法、装置、防火墙设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN108965337B CN108965337B CN201811080384.7A CN201811080384A CN108965337B CN 108965337 B CN108965337 B CN 108965337B CN 201811080384 A CN201811080384 A CN 201811080384A CN 108965337 B CN108965337 B CN 108965337B
- Authority
- CN
- China
- Prior art keywords
- address
- exclusion
- excluded
- range segment
- address range
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000001914 filtration Methods 0.000 claims abstract description 22
- 230000007717 exclusion Effects 0.000 claims description 138
- 230000008569 process Effects 0.000 description 12
- 239000000284 extract Substances 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
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/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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- 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/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (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为本发明另一实施例的对地址范围段进行分段的流程示意图;
图4为本发明再一实施例的对地址范围段进行分段的流程示意图;
图5为本发明实施例的规则匹配装置的结构示意图;
图6为本发明实施例的防火墙设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高安全策略规则的匹配性能,本发明实施例提供了一种规则匹配方法、装置、防火墙设备及机器可读存储介质。
下面,首先对本发明实施例所提供的一种规则匹配方法进行介绍。
本发明实施例所提供的一种规则匹配方法的执行主体可以为一种防火墙设备。实现本发明实施例所提供的一种规则匹配方法的方式可以为设置于执行主体中的软件、硬件电路和逻辑电路中的至少一种。
如图1所示,本发明实施例所提供的一种规则匹配方法,可以包括如下步骤:
S101,当接收到报文时,获取安全策略规则。
安全策略规则可以是在防火墙设备上预先部署的,安全策略规则中还可以包括针对符合过滤条件的报文的处理动作,例如,对符合过滤条件的报文进行放行、丢弃等处理动作。在防火墙设备接收到报文时,需要进行网络防护操作,而网络防护操作是基于安全策略规则实现的,因此,在接收到报文时,需要获取安全策略规则。
S102,若确定安全策略规则的过滤条件中的地址范围段中包含至少一个排除地址,则根据各排除地址,对地址范围段进行分段,得到多个不包含排除地址的第一地址范围段。
地址范围段为安全策略规则的过滤条件中的匹配项。地址范围段是一个具体的地址范围,可以为IP地址范围、MAC地址范围、端口地址范围等等,网段可以看作是特殊的地址范围段。地址范围段可以包括源设备的地址范围和/或目的设备的地址范围,防火墙设备在接收到报文后,提取报文中携带的地址信息(例如源IP地址、源MAC地址、目的IP地址、目的MAC地址等),通过判断报文中携带的地址信息是否满足安全策略规则的过滤条件中的地址范围段,来进行报文匹配。
排除地址可以是管理人员根据实际需求输入的地址,也可以是在配置过滤条件时设置的地址。排除地址是配置在地址范围段下的、表示排除地址范围段中的一个或多个指定地址,例如,配置的地址范围段为Range1~Range2,排除地址为IP1、IP2和IP3,则在进行报文匹配时,需要排除IP1、IP2和IP3三个排除地址。防火墙设备在接收到排除地址后,可以判断安全策略规则的过滤条件中的地址范围段中是否包含排除地址,以进行将排除地址从地址范围段排除的操作。
由于各排除地址均包含于地址范围段,可以基于这些排除地址对地址范围段进行重新分段,重新分段的原则是将各排除地址从地址范围段中排除掉,通过将各排除地址从地址范围段中排除,可以得到多个不包含排除地址的第一地址范围段。
重新分段得到多个第一地址范围段的方式,可以按照排除地址从小到大的升序进行排序、重新分段(详见图2所示实施例),也可以按照排除地址从大到小的降序进行排序、重新分段(详见图3所示实施例),还可以以递归的方式进行重新分段(详见图4所示实施例)。
S103,基于各第一地址范围段,对接收到的报文进行匹配。
在得到多个第一地址范围段后,可以通过构建Trie树,将各第一地址范围段分别放入Trie树,实现对各第一地址范围的快速匹配,Trie树是一种哈希树的变种,Trie树是利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率较高。当然,进行报文匹配的方法除了Trie树以外,还可以构建其他类型的哈希树,或者采用逐字符比对的方式进行匹配。
应用本实施例,当接收到报文时,获取安全策略规则,若确定安全策略规则的过滤条件中的地址范围段中包含至少一个排除地址,则根据各排除地址,对地址范围段进行分段,得到多个不包含排除地址的第一地址范围段,基于各第一地址范围段,对接收到的报文进行匹配。对地址范围段的重新分段,使得分段后的第一地址范围段中不包含排除地址,由于排除地址是包含于地址范围段的表示需排除的指定地址,这样,在进行网络防护时,基于第一地址范围段对接收到的报文进行匹配,保证排除地址被排除在安全策略规则的过滤条件中的匹配项之外,能够有效避免将排除地址的报文匹配成功的误匹配操作,从而提高了安全策略规则的匹配性能。
并且,针对于在配置安全策略规则时,配置多个地址范围段,以使各地址范围段不包含排除地址的情况,配置过程繁杂且配置方式固定。而本发明实施例中,在安全策略规则中配置一个地址范围段,再从地址范围段中将排除地址排除,仅需要配置一个地址范围段,配置过程简单易实现、灵活度较高。
如图2所示,S102对地址范围段进行分段的步骤,具体可以通过如下步骤来实现。
S201,从各排除地址中,提取最小的排除地址作为第一排除地址。
以地址范围段为Range1~Range2,排除地址为IP1、IP2、…、IPN-1、IPN为例,其中,各排除地址的大小顺序为:IP1<IP2<…<IPN-1<IPN,所提取到的第一个第一排除地址为IP1。Range1为地址范围段的最小地址、Range2为地址范围段的最大地址。
S202,判断第一排除地址是否等于地址范围段的最小地址,若第一排除地址等于地址范围段的最小地址,则执行S203至S204,若第一排除地址大于地址范围段的最小地址,且第一排除地址小于地址范围段的最大地址,则执行S205至S207。
S203,更新地址范围段,其中,更新后的地址范围段的最小地址为第一排除地址加1、最大地址保持不变。
基于上例,如果IP1等于Range1,则说明Range1为需要排除的地址,因此可以更新地址范围段为IP1+1~Range2,即将Range1(IP1)从地址范围段中排除。
S204,按照排除地址从小到大的顺序,从各排除地址中,提取下一个排除地址作为第一排除地址,并返回执行S202。
在将地址范围段更新为IP1+1~Range2之后,按照升序的顺序,继续提取下一个排除地址作为第一排除地址,此时,下一个排除地址为IP2,则提取IP2作为第一排除地址,再进行判断,看IP2是否与IP1+1相等,并执行与IP1相同的处理。
S205,确定第一地址范围段,其中,第一地址范围段的最小地址为地址范围段的最小地址、最大地址为第一排除地址减1。
如果IP1大于Range1,且小于Range2,由于本实施例中,对于排除地址是按照由小至大的顺序进行的排序,IP1即为最小的排除地址,因而Range1至IP1-1的范围段内已不存在排除地址,则可以将Range1~IP1-1确定为第一地址范围段,执行S103,将该第一地址范围段放入Trie树即可实现报文匹配。
S206,更新地址范围段,其中,更新后的地址范围段的最小地址为第一排除地址加1、最大地址保持不变。
在本实施例中,由于是将排除地址按照从小到大的顺序进行排列的,因此,在IP1+1至Range2的范围段内还存在剩余的排除地址,则更新地址范围段为IP1+1~Range2,这样就将IP1从地址范围段中排除,并且后续将以更新后的地址范围段IP1+1~Range2中继续对排除地址IP2进行排除。
S207,按照排除地址从小到大的顺序,从各排除地址中,提取下一个排除地址作为第一排除地址,并返回执行S202。
在将地址范围段更新为IP1+1~Range2之后,按照升序的顺序,继续提取下一个排除地址作为第一排除地址,此时,下一个排除地址为IP2,则循环执行S201,即提取IP2作为第一排除地址,再进行判断,看IP2是否与IP1+1相等,并执行与IP1相同的处理。
循环执行S202至S207,直至第一排除地址为各排除地址中最大的排除地址,则在第一排除地址为各排除地址中最大的排除地址时,确定第一地址范围段,其中,第一地址范围段的最小地址为第一排除地址加1、最大地址为地址范围段的最大地址。
在循环执行上述步骤至IPN时,由于IPN是所有排除地址中最大的排除地址,则可以直接将IPN+1~Range2的地址范围段确定为第一地址范围段,将该第一地址范围段放入Trie树即可实现报文匹配。
由此,经过多次循环执行上述实施例中提供的方法,实现了将IP1、IP2、…、IPN-1、IPN均从地址范围段中排除,进而将排除了排除地址的各个地址范围段放入Trie树中进行匹配,由此提高了安全策略的匹配性能。
如图3所示,S102对地址范围段进行分段的步骤,具体还可以通过如下步骤来实现。
S301,从各排除地址中,提取最大的排除地址作为第二排除地址。
同图2所示实施例的实例,地址范围段为Range1~Range2,排除地址为IP1、IP2、…、IPN-1、IPN,其中,各排除地址的大小顺序为:IPN>IPN-1>…>IP2IP1,所提取到的第一个第二排除地址为IPN。Range1为地址范围段的最小地址、Range2为地址范围段的最大地址。
S302,判断第二排除地址是否等于地址范围段的最大地址,若第二排除地址等于地址范围段的最大地址,则执行S303至S304,若第二排除地址大于地址范围段的最小地址,且第二排除地址小于地址范围段的最大地址,则执行S305至S307。
S303,更新地址范围段,其中,更新后的地址范围段的最小地址保持不变、最大地址为第二排除地址减1。
基于上例,如果IPN等于Range2,则说明Range2为需要排除的地址,因此可以更新地址范围段为Range1~IPN-1,即将Range2(IPN)从地址范围段中排除。
S304,按照排除地址从大到小的顺序,从各排除地址中,提取下一个排除地址作为第二排除地址,并返回执行S302。
在将地址范围段更新为Range1~IPN-1之后,按照降序的顺序,继续提取下一个排除地址作为第二排除地址,此时,下一个排除地址为IPN-1,则提取IPN-1作为第二排除地址,再进行判断,看IPN-1是否与IPN-1相等,并执行与IPN相同的处理。
S305,确定第一地址范围段,其中,第一地址范围段的最小地址为第二排除地址加1、最大地址为地址范围段的最大地址。
如果IPN大于Range1,且小于Range2,由于本实施例中,对于排除地址是按照由大至小的顺序进行的排序,IPN即为最大的排除地址,因而IPN至Range2的范围段内已不存在排除地址,则可以将IPN+1~Range2确定为第一地址范围段,执行S103,将该第一地址范围段放入Trie树即可实现报文匹配。
S306,更新地址范围段,其中,更新后的地址范围段的最小地址保持不变、最大地址为第二排除地址减1。
在本实施例中,由于是将排除地址按照从大到小的顺序进行排列的,因此,在Range1至IPN-1的范围段内还存在剩余的排除地址,则更新地址范围段为Range1~IPN-1,这样就将IPN从地址范围段中排除,并且后续将以更新后的地址范围段Range1~IPN-1中继续对排除地址IPN-1进行排除。
S307,按照排除地址从大到小的顺序,从各排除地址中,提取下一个排除地址作为第二排除地址,并返回执行S302。
在将地址范围段更新为Range1~IPN-1之后,按照降序的顺序,继续提取下一个排除地址作为第二排除地址,此时,下一个排除地址为IPN-1,则循环执行S301,即提取IPN-1作为第一排除地址,再进行判断,看IPN-1是否与IPN-1相等,并执行与IPN相同的处理。
循环执行S302至S307,直至第二排除地址为各排除地址中最小的排除地址,则在第二排除地址为各排除地址中最小的排除地址时,确定第一地址范围段,其中,第一地址范围段的最小地址为地址范围段的最小地址、最大地址为第二排除地址减1。
在循环执行上述步骤至IP1时,由于IP1是所有排除地址中最小的排除地址,则可以直接将Range1~IP1-1的地址范围段确定为第一地址范围段,将该第一地址范围段放入Trie树即可实现报文匹配。
由此,经过多次循环执行上述实施例中提供的方法,实现了将IP1、IP2、…、IPN-1、IPN均从地址范围段中排除,进而将排除了排除地址的各个地址范围段放入Trie树中进行匹配,由此提高了安全策略的匹配性能。
本发明实施例的对地址范围段重新分段的步骤还可以通过递归的方式实现,具体的,如图4所示,S102对地址范围段进行分段的步骤,具体还可以通过如下步骤来实现。
S401,判断地址范围段是否包含排除地址,若是则执行S402至S404,若否则执行S405。
S402,从包含于地址范围段的各排除地址中,提取任一排除地址作为第三排除地址。
对于地址范围段Range1~Range2,可以判断该地址范围段是否包含排除地址,如果包含排除地址,则可以任意提取一个排除地址作为第三排除地址,例如,提取IP4作为第三排除地址。
S403,划分地址范围段,得到两个划分后的地址范围段,其中,两个划分后的地址范围段中一个地址范围段的最小地址为地址范围段的最小地址、最大地址为第三排除地址减1,另一个地址范围段的最小地址为第三排除地址加1、最大地址为地址范围段的最大地址。
基于第三排除地址IP4,可以将地址范围段Range1~Range2划分为两个更新的地址范围段,从地址范围段中排除IP4,即划分得到的两个更新的地址范围段分别为Range1~IP4-1和IP4+1~Range2。
S404,将各划分后的地址范围段分别更新为地址范围段,返回执行S401。
分别对上述Range1~IP4-1和IP4+1~Range2返回执行S401至S403的步骤,循环执行上述步骤,直至将所有的排除地址从地址范围段中排除。
S405,确定地址范围段为第一地址范围段。
将所有的排除地址都从地址范围段中排除后,各更新后的地址范围段均不包含排除地址,这样,可以确定地址范围段为第一地址范围段,将第一地址范围段放入Trie树即可实现报文匹配。
图2、图3以及图4所示实施例给出了三种不同的对地址范围段进行分段的实现方式,一般来说在排除地址的数量较多的情况下,可以采用如图2或者图3所示的升序/降序处理的方式进行地址范围段的重新分段,在排除地址的数量较少的情况下,可以采用上述图2、图3和图4中任一种方式进行地址范围段的重新分段。
相应于上述方法实施例,本发明实施例提供了一种规则匹配装置,如图5所示,该规则匹配装置可以包括:
获取模块510,用于当接收到报文时,获取安全策略规则;
分段模块520,用于若确定所述安全策略规则的过滤条件中的地址范围段中包含至少一个排除地址,则根据各排除地址,对所述地址范围段进行分段,得到多个不包含排除地址的第一地址范围段;
匹配模块530,用于基于各第一地址范围段,对接收到的报文进行匹配。
可选的,所述分段模块520,具体可以用于:
从各排除地址中,提取最小的排除地址作为第一排除地址;
判断所述第一排除地址是否等于所述地址范围段的最小地址;
若所述第一排除地址等于所述地址范围段的最小地址,则更新所述地址范围段,其中,更新后的所述地址范围段的最小地址为所述第一排除地址加1、最大地址保持不变;按照排除地址从小到大的顺序,从各排除地址中,提取下一个排除地址作为第一排除地址,并返回执行所述判断所述第一排除地址是否等于所述地址范围段的最小地址的步骤;
若所述第一排除地址大于所述地址范围段的最小地址,且所述第一排除地址小于所述地址范围段的最大地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述地址范围段的最小地址、最大地址为所述第一排除地址减1;更新所述地址范围段,其中,更新后的所述地址范围段的最小地址为所述第一排除地址加1、最大地址保持不变;按照排除地址从小到大的顺序,从各排除地址中,提取下一个排除地址作为第一排除地址,并返回执行所述判断所述第一排除地址是否等于所述地址范围段的最小地址的步骤;
若所述第一排除地址为各排除地址中最大的排除地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述第一排除地址加1、最大地址为所述地址范围段的最大地址。
可选的,所述分段模块520,具体可以用于:
从各排除地址中,提取最大的排除地址作为第二排除地址;
判断所述第二排除地址是否等于所述地址范围段的最大地址;
若所述第二排除地址等于所述地址范围段的最大地址,则更新所述地址范围段,其中,更新后的所述地址范围段的最小地址保持不变、最大地址为所述第二排除地址减1;按照排除地址从大到小的顺序,从各排除地址中,提取下一个排除地址作为第二排除地址,并返回执行所述判断所述第二排除地址是否等于所述地址范围段的最大地址的步骤;
若所述第二排除地址大于所述地址范围段的最小地址,且所述第二排除地址小于所述地址范围段的最大地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述第二排除地址加1、最大地址为所述地址范围段的最大地址;更新所述地址范围段,其中,更新后的所述地址范围段的最小地址保持不变、最大地址为所述第二排除地址减1;按照排除地址从大到小的顺序,从各排除地址中,提取下一个排除地址作为第二排除地址,并返回执行所述判断所述第二排除地址是否等于所述地址范围段的最大地址的步骤;
若所述第二排除地址为各排除地址中最小的排除地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述地址范围段的最小地址、最大地址为所述第二排除地址减1。
可选的,所述分段模块520,具体可以用于:
判断所述地址范围段是否包含排除地址;
若不包含,则确定所述地址范围段为第一地址范围段;
若包含,则从包含于所述地址范围段的各排除地址中,提取任一排除地址作为第三排除地址;
划分所述地址范围段,得到两个划分后的地址范围段,其中,所述两个划分后的地址范围段中一个地址范围段的最小地址为所述地址范围段的最小地址、最大地址为所述第三排除地址减1,另一个地址范围段的最小地址为所述第三排除地址加1、最大地址为所述地址范围段的最大地址;
将各所述划分后的地址范围段分别更新为地址范围段,并返回执行所述判断所述地址范围段是否包含排除地址的步骤。
应用本实施例,当接收到报文时,获取安全策略规则,若确定安全策略规则的过滤条件中的地址范围段中包含至少一个排除地址,则根据各排除地址,对地址范围段进行分段,得到多个不包含排除地址的第一地址范围段,基于各第一地址范围段,对接收到的报文进行匹配。对地址范围段的重新分段,使得分段后的第一地址范围段中不包含排除地址,由于排除地址是包含于地址范围段的表示需排除的指定地址,这样,在进行网络防护时,基于第一地址范围段对接收到的报文进行匹配,保证排除地址被排除在安全策略规则的过滤条件中的匹配项之外,能够有效避免将排除地址的报文匹配成功的误匹配操作,从而提高了安全策略规则的匹配性能。
本发明实施例还提供了一种防火墙设备,如图6所示,包括处理器601和机器可读存储介质602,所述机器可读存储介质602存储有能够被所述处理器601执行的机器可执行指令,所述处理器601被所述机器可执行指令促使:实现本发明实施例提供的规则匹配方法的所有步骤。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
机器可读存储介质602与处理器601之间可以通过有线连接或者无线连接的方式进行数据传输,并且防火墙设备可以通过有线通信接口或者无线通信接口与其他的设备进行通信。图6所示的仅为处理器601与机器可读存储介质602之间通过总线进行数据传输的示例,不作为具体连接方式的限定。
本实施例中,处理器601通过读取机器可读存储介质602中存储的机器可执行指令,被机器可执行指令促使能够实现:当接收到报文时,获取安全策略规则,若确定安全策略规则的过滤条件中的地址范围段中包含至少一个排除地址,则根据各排除地址,对地址范围段进行分段,得到多个不包含排除地址的第一地址范围段,基于各第一地址范围段,对接收到的报文进行匹配。对地址范围段的重新分段,使得分段后的第一地址范围段中不包含排除地址,由于排除地址是包含于地址范围段的表示需排除的指定地址,这样,在进行网络防护时,基于第一地址范围段对接收到的报文进行匹配,保证排除地址被排除在安全策略规则的过滤条件中的匹配项之外,能够有效避免将排除地址的报文匹配成功的误匹配操作,从而提高了安全策略规则的匹配性能。
另外,本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时,实现本发明实施例所提供的规则匹配方法的所有步骤。
本实施例中,机器可读存储介质在运行时执行本发明实施例所提供的规则匹配方法的机器可执行指令,因此能够实现:当接收到报文时,获取安全策略规则,若确定安全策略规则的过滤条件中的地址范围段中包含至少一个排除地址,则根据各排除地址,对地址范围段进行分段,得到多个不包含排除地址的第一地址范围段,基于各第一地址范围段,对接收到的报文进行匹配。对地址范围段的重新分段,使得分段后的第一地址范围段中不包含排除地址,由于排除地址是包含于地址范围段的表示需排除的指定地址,这样,在进行网络防护时,基于第一地址范围段对接收到的报文进行匹配,保证排除地址被排除在安全策略规则的过滤条件中的匹配项之外,能够有效避免将排除地址的报文匹配成功的误匹配操作,从而提高了安全策略规则的匹配性能。
对于防火墙设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、防火墙设备以及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (4)
1.一种规则匹配方法,其特征在于,所述方法包括:
当接收到报文时,获取安全策略规则;
若确定所述安全策略规则的过滤条件中的地址范围段中包含至少一个排除地址,则根据各排除地址,对所述地址范围段进行分段,得到多个不包含排除地址的第一地址范围段,包括:
从各排除地址中,提取最小的排除地址作为第一排除地址;
判断所述第一排除地址是否等于所述地址范围段的最小地址;
若所述第一排除地址等于所述地址范围段的最小地址,则更新所述地址范围段,其中,更新后的所述地址范围段的最小地址为所述第一排除地址加1、最大地址保持不变;按照排除地址从小到大的顺序,从各排除地址中,提取下一个排除地址作为第一排除地址,并返回执行所述判断所述第一排除地址是否等于所述地址范围段的最小地址的步骤;
若所述第一排除地址大于所述地址范围段的最小地址,且所述第一排除地址小于所述地址范围段的最大地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述地址范围段的最小地址、最大地址为所述第一排除地址减1;更新所述地址范围段,其中,更新后的所述地址范围段的最小地址为所述第一排除地址加1、最大地址保持不变;按照排除地址从小到大的顺序,从各排除地址中,提取下一个排除地址作为第一排除地址,并返回执行所述判断所述第一排除地址是否等于所述地址范围段的最小地址的步骤;
若所述第一排除地址为各排除地址中最大的排除地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述第一排除地址加1、最大地址为所述地址范围段的最大地址;
或者,
从各排除地址中,提取最大的排除地址作为第二排除地址;
判断所述第二排除地址是否等于所述地址范围段的最大地址;
若所述第二排除地址等于所述地址范围段的最大地址,则更新所述地址范围段,其中,更新后的所述地址范围段的最小地址保持不变、最大地址为所述第二排除地址减1;按照排除地址从大到小的顺序,从各排除地址中,提取下一个排除地址作为第二排除地址,并返回执行所述判断所述第二排除地址是否等于所述地址范围段的最大地址的步骤;
若所述第二排除地址大于所述地址范围段的最小地址,且所述第二排除地址小于所述地址范围段的最大地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述第二排除地址加1、最大地址为所述地址范围段的最大地址;更新所述地址范围段,其中,更新后的所述地址范围段的最小地址保持不变、最大地址为所述第二排除地址减1;按照排除地址从大到小的顺序,从各排除地址中,提取下一个排除地址作为第二排除地址,并返回执行所述判断所述第二排除地址是否等于所述地址范围段的最大地址的步骤;
若所述第二排除地址为各排除地址中最小的排除地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述地址范围段的最小地址、最大地址为所述第二排除地址减1;
或者,
判断所述地址范围段是否包含排除地址;
若不包含,则确定所述地址范围段为第一地址范围段;
若包含,则从包含于所述地址范围段的各排除地址中,提取任一排除地址作为第三排除地址;
划分所述地址范围段,得到两个划分后的地址范围段,其中,所述两个划分后的地址范围段中一个地址范围段的最小地址为所述地址范围段的最小地址、最大地址为所述第三排除地址减1,另一个地址范围段的最小地址为所述第三排除地址加1、最大地址为所述地址范围段的最大地址;
将各所述划分后的地址范围段分别更新为地址范围段,并返回执行所述判断所述地址范围段是否包含排除地址的步骤;
基于各第一地址范围段,对接收到的报文进行匹配,包括:将各第一地址范围段分别放入Trie树,对所述各第一地址范围进行匹配。
2.一种规则匹配装置,其特征在于,所述装置包括:
获取模块,用于当接收到报文时,获取安全策略规则;
分段模块,用于若确定所述安全策略规则的过滤条件中的地址范围段中包含至少一个排除地址,则根据各排除地址,对所述地址范围段进行分段,得到多个不包含排除地址的第一地址范围段,包括:
从各排除地址中,提取最小的排除地址作为第一排除地址;
判断所述第一排除地址是否等于所述地址范围段的最小地址;
若所述第一排除地址等于所述地址范围段的最小地址,则更新所述地址范围段,其中,更新后的所述地址范围段的最小地址为所述第一排除地址加1、最大地址保持不变;按照排除地址从小到大的顺序,从各排除地址中,提取下一个排除地址作为第一排除地址,并返回执行所述判断所述第一排除地址是否等于所述地址范围段的最小地址的步骤;
若所述第一排除地址大于所述地址范围段的最小地址,且所述第一排除地址小于所述地址范围段的最大地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述地址范围段的最小地址、最大地址为所述第一排除地址减1;更新所述地址范围段,其中,更新后的所述地址范围段的最小地址为所述第一排除地址加1、最大地址保持不变;按照排除地址从小到大的顺序,从各排除地址中,提取下一个排除地址作为第一排除地址,并返回执行所述判断所述第一排除地址是否等于所述地址范围段的最小地址的步骤;
若所述第一排除地址为各排除地址中最大的排除地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述第一排除地址加1、最大地址为所述地址范围段的最大地址;
或者,
从各排除地址中,提取最大的排除地址作为第二排除地址;
判断所述第二排除地址是否等于所述地址范围段的最大地址;
若所述第二排除地址等于所述地址范围段的最大地址,则更新所述地址范围段,其中,更新后的所述地址范围段的最小地址保持不变、最大地址为所述第二排除地址减1;按照排除地址从大到小的顺序,从各排除地址中,提取下一个排除地址作为第二排除地址,并返回执行所述判断所述第二排除地址是否等于所述地址范围段的最大地址的步骤;
若所述第二排除地址大于所述地址范围段的最小地址,且所述第二排除地址小于所述地址范围段的最大地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述第二排除地址加1、最大地址为所述地址范围段的最大地址;更新所述地址范围段,其中,更新后的所述地址范围段的最小地址保持不变、最大地址为所述第二排除地址减1;按照排除地址从大到小的顺序,从各排除地址中,提取下一个排除地址作为第二排除地址,并返回执行所述判断所述第二排除地址是否等于所述地址范围段的最大地址的步骤;
若所述第二排除地址为各排除地址中最小的排除地址,则确定第一地址范围段,其中,所述第一地址范围段的最小地址为所述地址范围段的最小地址、最大地址为所述第二排除地址减1;
或者,
判断所述地址范围段是否包含排除地址;
若不包含,则确定所述地址范围段为第一地址范围段;
若包含,则从包含于所述地址范围段的各排除地址中,提取任一排除地址作为第三排除地址;
划分所述地址范围段,得到两个划分后的地址范围段,其中,所述两个划分后的地址范围段中一个地址范围段的最小地址为所述地址范围段的最小地址、最大地址为所述第三排除地址减1,另一个地址范围段的最小地址为所述第三排除地址加1、最大地址为所述地址范围段的最大地址;
将各所述划分后的地址范围段分别更新为地址范围段,并返回执行所述判断所述地址范围段是否包含排除地址的步骤;
匹配模块,用于基于各第一地址范围段,对接收到的报文进行匹配,包括:将各第一地址范围段分别放入Trie树,对所述各第一地址范围进行匹配。
3.一种防火墙设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1所述的方法步骤。
4.一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时,实现权利要求1所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811080384.7A CN108965337B (zh) | 2018-09-17 | 2018-09-17 | 规则匹配方法、装置、防火墙设备及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811080384.7A CN108965337B (zh) | 2018-09-17 | 2018-09-17 | 规则匹配方法、装置、防火墙设备及机器可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108965337A CN108965337A (zh) | 2018-12-07 |
CN108965337B true CN108965337B (zh) | 2021-07-30 |
Family
ID=64475449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811080384.7A Active CN108965337B (zh) | 2018-09-17 | 2018-09-17 | 规则匹配方法、装置、防火墙设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108965337B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120942B (zh) * | 2019-04-17 | 2022-01-25 | 新华三信息安全技术有限公司 | 安全策略规则匹配方法及装置、防火墙设备及介质 |
CN110381175B (zh) * | 2019-07-08 | 2022-02-25 | 新华三信息安全技术有限公司 | 一种安全策略加速表构建方法及装置 |
US11477167B2 (en) * | 2020-12-16 | 2022-10-18 | Microsoft Technology Licensing, Llc | Systems and methods for performing dynamic firewall rule evaluation |
CN114301680B (zh) * | 2021-12-29 | 2024-05-07 | 山石网科通信技术股份有限公司 | 一种安全策略的匹配方法及装置、存储介质 |
CN114826680B (zh) * | 2022-03-30 | 2023-07-07 | 北京经纬恒润科技股份有限公司 | 车载数据处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799838A (zh) * | 2010-01-22 | 2010-08-11 | 电子科技大学 | 用于寻找片上网络的任务与节点间映射方案的方法 |
CN103871404A (zh) * | 2012-12-13 | 2014-06-18 | 北京百度网讯科技有限公司 | 一种语言模型的训练方法、查询方法和对应装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478482B (zh) * | 2009-01-08 | 2011-04-20 | 中国人民解放军信息工程大学 | 报文分类中的非规则匹配方法、装置和系统 |
US9894093B2 (en) * | 2009-04-21 | 2018-02-13 | Bandura, Llc | Structuring data and pre-compiled exception list engines and internet protocol threat prevention |
CN101667964B (zh) * | 2009-09-18 | 2012-09-05 | 中兴通讯股份有限公司 | 一种访问控制列表规则的配置方法及装置 |
CN102811227A (zh) * | 2012-08-30 | 2012-12-05 | 重庆大学 | IPsec协议下标准方式ACL规则的一种管理机制 |
CN103618711B (zh) * | 2013-11-25 | 2016-11-23 | 华为技术有限公司 | 一种acl规则的配置方法及网络设备 |
US10469448B2 (en) * | 2014-09-05 | 2019-11-05 | Hewlett Packard Enterprise Development Lp | Firewall port access rule generation |
CN105939323A (zh) * | 2015-12-31 | 2016-09-14 | 杭州迪普科技有限公司 | 数据包过滤方法及装置 |
CN107508929A (zh) * | 2017-09-11 | 2017-12-22 | 杭州迪普科技股份有限公司 | 一种配置ip地址的方法及装置 |
-
2018
- 2018-09-17 CN CN201811080384.7A patent/CN108965337B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799838A (zh) * | 2010-01-22 | 2010-08-11 | 电子科技大学 | 用于寻找片上网络的任务与节点间映射方案的方法 |
CN103871404A (zh) * | 2012-12-13 | 2014-06-18 | 北京百度网讯科技有限公司 | 一种语言模型的训练方法、查询方法和对应装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108965337A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965337B (zh) | 规则匹配方法、装置、防火墙设备及机器可读存储介质 | |
US10193929B2 (en) | Methods and systems for improving analytics in distributed networks | |
US10397256B2 (en) | Spam classification system based on network flow data | |
CN111355697B (zh) | 僵尸网络域名家族的检测方法、装置、设备及存储介质 | |
CN117321966A (zh) | 用于网络保护的高效威胁上下文感知数据包过滤的方法和系统 | |
US20150096023A1 (en) | Fuzzy hash of behavioral results | |
US20170093771A1 (en) | Electronic mail cluster analysis by internet header information | |
WO2010065418A1 (en) | Graph-based data search | |
CN107222511B (zh) | 恶意软件的检测方法及装置、计算机装置及可读存储介质 | |
US10623426B1 (en) | Building a ground truth dataset for a machine learning-based security application | |
JP2016091549A (ja) | マルウェアイベントとバックグラウンドイベントとを分離するためのシステム、デバイス、および方法 | |
US20150163235A1 (en) | Methods and apparatus to identify an internet protocol address blacklist boundary | |
JP5739034B1 (ja) | 攻撃検知システム、攻撃検知装置、攻撃検知方法および攻撃検知プログラム | |
EP3905084A1 (en) | Method and device for detecting malware | |
EP3586488B1 (en) | Ipfix-based detection of amplification attacks on databases | |
JP6592196B2 (ja) | 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム | |
US20240289453A1 (en) | Automatic detection of malware families and variants without the presence of malware files based on structure presentation | |
US20240154984A1 (en) | System and method for anomaly detection interpretation | |
CN110392032B (zh) | 检测异常url的方法、装置及存储介质 | |
CN111181967B (zh) | 数据流识别方法、装置、电子设备及介质 | |
US20230269267A1 (en) | Systems and methods for external detection of misconfigured systems | |
CN112583827A (zh) | 一种数据泄露检测方法及装置 | |
US20240039890A1 (en) | Detecting shadowed domains | |
US20140282867A1 (en) | Device local reputation score cache | |
Kegelmeyer et al. | Streaming malware classification in the presence of concept drift and class imbalance |
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 |