1.本技术涉及通信技术领域,尤其涉及一种规则匹配方法及装置。
背景技术:2.深度报文检测(deep packet inspection,dpi)是一种基于应用层信息对经过网络安全设备的网络流量进行检测和控制的安全机制。在日益复杂的网络安全威胁中,很多恶意行为(比如,蠕虫病毒、垃圾邮件、漏洞等)都是隐藏在数据报文的应用层载荷中。传统安全防护技术仅仅依靠网络层和传输层的安全检测技术已经无法满足网络安全要求,因此,网络安全设备必须具备dpi功能,以实现对网络应用层信息的检测和控制,进而保证数据内容的安全和网络的安全性。
3.dpi功能的业务识别是对报文进行特征字符串匹配,当前dpi引擎在进行安全检测时,是通过多模式匹配(ac)算法和pcre(perl compatible regular expressions,perl兼容的正则表达式)算法实现,随着dpi业务相关的特征库(如ips特征库、防病毒特征库等)的规模逐渐增大,网络安全设备的吞吐性能会下降很多。同时在利用前述特征库进行匹配时,由于特征库的规模比较大,会导致匹配时耗费较多的时间,且匹配过程中会占用较多的缓存,进而导致网络安全设备的处理性能受限。
4.因此,如何在进行安全检测时,提升匹配速度及提升网络安全设备的处理性能是值得考虑的技术问题之一。
技术实现要素:5.有鉴于此,本技术提供一种规则匹配方法及装置,用以在进行安全检测时,提升匹配速度及提升网络安全设备的处理性能。
6.具体地,本技术是通过如下技术方案实现的:
7.根据本技术的第一方面,提供一种规则匹配方法,包括:
8.获取待识别报文;
9.根据当前的规则特征库对所述待识别报文进行识别处理,所述规则特征库包括已编译的pcre选项,所述pcre选项中包括已编译的规则及匹配类型;
10.确认所述待识别报文所命中的目标pcre选项;
11.根据所述目标pcre选项中的匹配类型和和已编译的规则,利用所述匹配类型对应的规则匹配算法对所述待识别报文进行规则匹配。
12.根据本技术的第二方面,提供一种规则匹配装置,包括:
13.获取模块,用于获取待识别报文;
14.识别模块,用于根据当前的规则特征库对所述待识别报文进行识别处理,所述规则特征库包括已编译的pcre选项,所述pcre选项中包括已编译的规则及匹配类型;
15.确认模块,用于确认所述待识别报文所命中的目标pcre选项;
16.匹配模块,用于根据所述目标pcre选项中的匹配类型和和已编译的规则,利用所
述匹配类型对应的规则匹配算法对所述待识别报文进行规则匹配。
17.根据本技术的第三方面,提供一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的计算机程序,处理器被计算机程序促使执行本技术实施例第一方面所提供的方法。
18.根据本技术的第四方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本技术实施例第一方面所提供的方法。
19.本技术实施例的有益效果:
20.本技术实施例提供的规则匹配方法及装置中,在获取到待识别报文后,根据当前的规则特征库对所述待识别报文进行识别处理,从而就可以确认该待识别报文所命中的目标pcre选项;然后根据所命中的目标pcre选项中的匹配类型和和已编译的规则,利用所述匹配类型对应的规则匹配算法对所述待识别报文进行规则匹配。通过采用上述方法,由于本技术实施例所提供的规则特征库包括已编译的pcre选项,该已编译的pcre选项中包括已编译的规则,这样一来,在进行规则识别时,就不需要在命中pcre选项后执行规则编译流程,由此大大节省了规则编译时间;此外,本实施例提供的规则特征库中已编译的pcre选项中包括匹配类型,这样一来,在进行规则匹配时,直接就可以基于所命中的pcre选项中的匹配类型确定出匹配算法,然后调用对应的匹配算法对待识别报文进行匹配,而每个pcer选项中的匹配类型为与该pcre选项中规则相匹配的匹配算法,这样,在利用对应的匹配算法执行规则匹配时,不仅准确度高,而且匹配速度快,由此提升了网络安全设备的匹配性能。
附图说明
21.图1是本技术实施例提供的一种规则匹配方法的流程示意图;
22.图2是本技术实施例提供的一种规则匹配装置的结构示意图;
23.图3是本技术实施例提供的一种实施规则匹配方法的硬件结构示意图。
具体实施方式
24.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如本技术的一些方面相一致的装置和方法的例子。
25.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
26.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
27.下面对本技术提供的规则匹配方法进行详细地说明。
28.参见图1,图1是本技术提供的一种规则匹配方法的流程图,该方法可以应用于网络安全设备,该网络安全设备可以但不限于包括防火墙、网关、需要执行安全检测的服务器等设备。网络安全设备实施上述方法时,可包括如下所示步骤:
29.s101、获取待识别报文。
30.本步骤中,网络安全设备会持续接收到流入其所接入网络的网络报文,记为上述待识别报文;为了提升网络的安全性,会对接收到的网络报文进行识别。
31.s102、根据当前的规则特征库对所述待识别报文进行识别处理。
32.其中,上述规则特征库包括已编译的pcre选项,所述pcre选项中包括已编译的规则及匹配类型。
33.本步骤中,网络安全设备通过特征库对应用层流量进行字符串特征识别,该特征库是一个资源库,随着互联网的变化更新。而且应用识别、入侵检测、url过滤、防病毒等应用层业务都需要借助特征库来完成,而且每个业务有自己独立的特征库。有鉴于此,本实施例为了对报文进行规则匹配,网络安全设备会获取当前的规则特征库,然后根据该规则特征库对待识别报文进行识别。
34.需要说明的是,在基于当前的规则特征库对待识别报文进行识别时,可以按照下述过程执行步骤s102:从所述待识别报文中提取报文特征;利用当前的规则特征库对所述报文特征进行识别。
35.具体地,当从待识别报文中提取出报文特征后,可以基于报文特征与规则之间的映射关系,对报文特征进行映射处理,从而可以得到该报文特征所命中的目标规则,若该目标规则在当前的规则特征库中,则可以确定出待识别报文命中当前的规则特征库。
36.s103、确认所述待识别报文所命中的目标pcre选项。
37.本步骤中,当确认出待识别报文所命中的目标规则后,就可以确定出其所命中的目标规则所在的pcre选项,即为上述目标pcre选项。
38.需要说明的是,该待识别报文所命中的目标pcre选项可能不止一个,当命中多个时,则针对每个目标pcre选项均执行步骤s104的规则匹配流程。
39.s104、根据所述目标pcre选项中的匹配类型和和已编译的规则,利用所述匹配类型对应的规则匹配算法对所述待识别报文进行规则匹配。
40.本步骤中,由于本实施例提供的规则特征库中的pcre选项中一般还包括匹配类型,则当识别出待识别报文所命中的目标pcre选项时,就可以利用该目标pcre选项中的匹配类型确定该匹配类型对应的匹配算法,然后就可以调用该匹配算法执行该目标pcre选项中包括的已编译的规则对待识别报文进行规则匹配,从而就可以识别出待识别报文是否存在病毒,而且由于本实施例提供的规则特征库中包括的pcre选项中的规则为已编译的规则,这样在利用规则进行识别时就不需要执行编译这一过程,减少了规则编译所需要消耗的时间,从而加快了报文的规则匹配速度。
41.此外,在为规则特征库中的每个pcre选项中的规则配置匹配类型时,该匹配类型为与该pcre选项中规则相匹配的匹配算法对应的类型,即,在匹配pcre选项时,为该pcre选项中的规则设置合适的匹配算法,然后将该合适的匹配算法所属的匹配类型写入到该pcre选项中,即利用该匹配算法来执行该pcre选项中规则的匹配时,不仅速度快而且准确度高。
这样一来,在确认出目标pcre选项后,在执行步骤s104时,不仅可以快速对待识别文件执行规则匹配,而且也能得到准确度比较高的规则匹配结果。
42.通过实施本技术提供的规则匹配方法,在获取到待识别报文后,根据当前的规则特征库对所述待识别报文进行识别处理,从而就可以确认该待识别报文所命中的目标pcre选项;然后根据所命中的目标pcre选项中的匹配类型和和已编译的规则,利用所述匹配类型对应的规则匹配算法对所述待识别报文进行规则匹配。通过采用上述方法,由于本技术实施例所提供的规则特征库包括已编译的pcre选项,该已编译的pcre选项中包括已编译的规则,这样一来,在进行规则识别时,就不需要在命中pcre选项后执行规则编译流程,由此大大节省了规则编译时间;此外,本实施例提供的规则特征库中已编译的pcre选项中包括匹配类型,这样一来,在进行规则匹配时,直接就可以基于所命中的pcre选项中的匹配类型确定出匹配算法,然后调用对应的匹配算法对待识别报文进行匹配,而每个pcer选项中的匹配类型为与该pcre选项中规则相匹配的匹配算法,这样,在利用对应的匹配算法执行规则匹配时,不仅准确度高,而且匹配速度快,由此提升了网络安全设备的匹配性能。
43.可选地,基于上述实施例,本实施例中的规则特征库为采用离线编译方法生成的,该离线编译方法为:对初始特征库中的每个初始pcre选项中的正规表达式进行编译处理,得到已编译的规则;确定用于对该已编译的规则进行规则匹配的匹配算法;将所述已编译的规则和确定出的匹配算法的匹配标识构成新的pcre选项;基于构成的各新的pcre选项,生成所述规则特征库。
44.具体地,在执行离线编译时,网络安全设备会提供接口,然后通过调用该接口完成规则特征库的离线编译处理。即,针对初始特征库中的每个初始pcre规则,可以对该初始pcre规则中的正则表达式进行编译处理,从而得到已编译的规则,例如某一初始pcre选项的格式如下所示。
45.rule id:1
46.rule_name:ips_rule
47.l4protocol:tcp
48.direction:request
49.application:http
50.[pattern:windidkey=,position:http_uri]
[0051]
[pcre:uid=\d{1,10}\x26password=,position:http_uri]
[0052]
在此基础上,该初始pcre规则中的正则表达式uid=\d{1,10}\x26password=,则网络安全设备可以调用上述接口将该正则表达式进行编译处理,从而可以得到编译后的内容buf,假设得到的编译后的内容为:0101111111111010101011111122122564asdfeeefccc1234564555458522545658522254452,则利用该编译后的内容替换该初始pcre规则中的正则表达式,从而得到已编译的规则,然后再确定用于对该已编译的规则进行规则匹配的匹配算法,然后将确定出的匹配算法对应的匹配类型和上述编译得到的已编译的规则构成新的pcre选项,例如,上述确定出的匹配算法为dfa算法,则对应的匹配类型的取值可以配置为1,为了方便描述,可以表示为pcre_type:1,则对应得到的新的pcre选项如下所示:
[0053]
rule id:1
[0054]
rule_name:ips_rule
[0055]
l4protocol:tcp
[0056]
direction:request
[0057]
application:http
[0058]
[pattern:windidkey=,position:http_uri]
[0059]
[pcre:0101111111111010101011111122122564asdfeeefccc1234564555458522545658522254452,position:http_uri,pcre_type:1]
[0060]
需要说明的是,不同的匹配算法对应的匹配类型的取值不同,但具体取何值可以根据具体情况进行配置,本实施例对此不进行限定。为了方便示意及更好地理解本实施例,以下述示例表示匹配算法与匹配类型之间的对应关系:
[0061]
pcre_type:0
‑‑‑
穷举法
[0062]1‑‑‑‑
dfa状态机算法
[0063]2‑‑‑‑
nfa状态机算法
[0064]
由此,可以确定出各个初始pcre选项对应的各个新的pcre选项,然后基于各个新的pcre选项生成规则特征库。这样一来,得到的规则特征库即为编译好的规则,进而在进行在线规则匹配时也就不需要执行规则编译步骤,大大节省了规则匹配的匹配时间。
[0065]
进一步地,由于在对初始pcre选项中的正则表达式进行离线编译后,可能会导致规则特征库的规模变得比较大,为了避免过多的占用网络安全设备的内存资源,本实施例提出,在执行上述确定用于对该已编译的规则进行规则匹配的匹配算法之前,还可以包括下述过程:确定该已编译的规则的规则长度;确定所述规则长度不大于设定长度阈值。
[0066]
具体来说,当针对每个初始pcre选项中的正则表达式进行编译处理,得到已编译的规则后,可以确定该已编译的规则的规则长度,当该规则长度不大于设定长度阈值时,则执行确定用于对该已编译的规则进行规则匹配的匹配算法及后续的步骤,以生成该初始pcre选项对应的新的pcre选项。
[0067]
需要说明的是,上述设定长度阈值是根据网络安全设备的内存大小进行设置的,当每个规则的规则长度不大于上述设定阈值时,可以保证最终得到的规则特征库不会特别大,所以不会造成网络安全设备的存储负担。
[0068]
而当某个初始pcre选项中正则表达式执行编译后得到的已编译的规则的规则长度大于上述设定长度阈值时,则若继续基于该已编译规则构成新的编译规则的话,可能会造成规则特征库比较大,进而可能会导致网络安全设备的内存负担较大,为了避免这一问题,本实施例提出,当已编译的规则的规则长度大于设定长度阈值时,则保留该已编译的规则对应的初始pcre选项;根据保留的初始pcre选项、基于规则长度不大于所述设定长度阈值的已编译规则构成的新的prce选项,生成所述规则特征库。
[0069]
具体地,当某个初始pcre选项中的正则表达式执行编译处理,得到的已编译的规则的规则长度大于设定长度阈值,则此时保留该初始pcre选项,不再针对该初始pcre选项构成新的pcre选项,这样一来,可以确定出保留的初始pcre选项及新的pcre选项,然后基于保留的初始pcre选项及新的pcre选项,生成规则特征库。
[0070]
在此基础上,当所述规则特征库包括初始pcre规则时,则本实施例提供的规则匹配方法,还可以包括下述方法:当待识别报文命中初始pcre选项时,则在线对所述初始pcre选项中的正则表达式进行编译处理,得到编译后的规则;利用编译后的规则及所述编译后
的规则对应的匹配算法对所述待识别报文进行规则匹配处理。
[0071]
具体地,当待识别报文命中的是规则特征库中的初始pcre选项时,则此时在进行规则匹配时,就需要对该初始pcre选项中的正则表达式进行编译处理,然后得到编译后的规则,再利用编译后的规则对应的匹配算法执行该编译后的规则对待识别报文进行规则匹配处理,由此一来,虽然执行了在线编译流量,但仅是对规则长度大于设定长度阈值的初始pcre选项执行,相比于对所有的初始pcre选项中的正则表达式执行在线编译的方法,也节省了总的编译时间,从而保证规则特征库不会对网络安全设备造成较大的内存负担的前提下,也能在一定程度上提升规则匹配速度。
[0072]
需要说明的是,在对初始pcre选项执行在线编译时,可以用穷举方法执行编译过程,此处不再一一详细说明。
[0073]
在基于上述任一实施例生成规则特征库之后,可以通过升级的方式加载到网络安全设备上,以供网络安全设备执行报文的规则匹配流程。
[0074]
可选地,上述任一规则特征库为动态更新的,当执行规则特征库的离线更新编译后,再通过升级的方式加载到网络安全设备中。
[0075]
可选地,基于上述任一实施例,本实施例提供的规则匹配方法,还可以包括下述过程:当所述待识别报文未命中所述规则特征库中的pcre选项,则利用穷举法,和/或,非确定有穷自动机nfa算法对所述待识别报文进行规则匹配。
[0076]
具体地,当待识别报文未命中规则特征库中任何pcre选项时,则此时为了保证流入到网络中的流量的安全性,本实施例提出,利用穷举法,和/或nfa算法对所述待识别报文进行规则匹配,此处不再一一详细说明。这样一来,保证了流入网络的报文的安全性及网络的安全性。
[0077]
可选地,基于上述任一实施例,本实施例中,为了保证流程的完整性,在执行步骤s102之前,本实施例提供的规则匹配方法,还可以包括下述过程:基于待识别报文进行应用识别,然后利用协议插件从待识别报文中解析出各个所需字段,进而利用文件识别以提取出待识别报文中的报文特征,然后再执行步骤s102。
[0078]
至此,通过实施本技术任一实施例所提供的规则匹配方法,本技术所采用的规则匹配方法比基于正则表达式进行规则匹配的方法,在匹配速度上能得到较大提升,至少3倍以上。
[0079]
此外,本技术中离线编译方式对升级速度影响不大,且采用本技术所提供的方法得到的规则特征库不会对网络安全设备造成较大的内存负担,而且解决了pcre穷举法缓存报文的缺陷,提升了网络安全设备的整体性能。
[0080]
基于同一发明构思,本技术还提供了与上述规则匹配方法对应的规则匹配装置。该规则匹配装置的实施具体可以参考上述对规则匹配方法的描述,此处不再一一论述。
[0081]
参见图2,图2是本技术一示例性实施例提供的一种规则匹配装置,包括:
[0082]
获取模块201,用于获取待识别报文;
[0083]
识别模块202,用于根据当前的规则特征库对所述待识别报文进行识别处理,所述规则特征库包括已编译的pcre选项,所述pcre选项中包括已编译的规则及匹配类型;
[0084]
确认模块203,用于确认所述待识别报文所命中的目标pcre选项;
[0085]
匹配模块204,用于根据所述目标pcre选项中的匹配类型和和已编译的规则,利用
所述匹配类型对应的规则匹配算法对所述待识别报文进行规则匹配。
[0086]
可选地,上述规则特征库为采用离线编译方法生成的,在此基础上,本实施例提供的规则匹配装置,还包括:
[0087]
离线编译模块(图中未示出),用于对初始特征库中的每个初始pcre选项中的正规表达式进行编译处理,得到已编译的规则;
[0088]
第一确定模块(图中未示出),用于确定用于对该已编译的规则进行规则匹配的匹配算法;
[0089]
构成模块(图中未示出),用于将所述已编译的规则和确定出的匹配算法的匹配类型构成新的pcre选项;
[0090]
生成模块(图中未示出),用于基于构成的各新的pcre选项,生成所述规则特征库。
[0091]
可选地,在此基础上,本实施例提供的规则匹配装置,还可以包括:
[0092]
第二确定模块(图中未示出),用于在所述第一确定模块确定用于对该已编译的规则进行规则匹配的匹配算法之前,确定该已编译的规则的规则长度;
[0093]
第三确定模块(图中未示出),用于确定所述规则长度不大于设定长度阈值。
[0094]
可选地,在此基础之上,本实施例提供的规则匹配装置,还可以包括:
[0095]
保留模块(图中未示出),用于当所述第三确定模块确定所述规则长度大于设定长度阈值时,则保留该已编译的规则对应的初始pcre选项;
[0096]
所述生成模块(图中未示出),还用于根据保留的初始pcre选项、基于规则长度不大于所述设定长度阈值的已编译规则构成的新的prce选项,生成所述规则特征库。
[0097]
可选地,本实施例提供的规则匹配装置,还可以包括:
[0098]
编译模块(图中未示出),用于当所述规则特征库包括初始pcre规则时,当所述待识别报文命中初始pcre选项时,则在线对所述初始pcre选项中的正则表达式进行编译处理,得到编译后的规则;
[0099]
所述匹配模块204,还用于利用编译后的规则及所述编译后的规则对应的匹配算法对所述待识别报文进行规则匹配处理。
[0100]
可选地,基于上述任一实施例,本实施例中,所述识别模块202,具体用于从所述待识别报文中提取报文特征;利用当前的规则特征库对所述报文特征进行识别。
[0101]
通过提供上述任一实施例所提供的规则匹配装置,在获取到待识别报文后,根据当前的规则特征库对所述待识别报文进行识别处理,从而就可以确认该待识别报文所命中的目标pcre选项;然后根据所命中的目标pcre选项中的匹配类型和和已编译的规则,利用所述匹配类型对应的规则匹配算法对所述待识别报文进行规则匹配。通过采用上述方法,由于本技术实施例所提供的规则特征库包括已编译的pcre选项,该已编译的pcre选项中包括已编译的规则,这样一来,在进行规则识别时,就不需要在命中pcre选项后执行规则编译流程,由此大大节省了规则编译时间;此外,本实施例提供的规则特征库中已编译的pcre选项中包括匹配类型,这样一来,在进行规则匹配时,直接就可以基于所命中的pcre选项中的匹配类型确定出匹配算法,然后调用对应的匹配算法对待识别报文进行匹配,而每个pcer选项中的匹配类型为与该pcre选项中规则相匹配的匹配算法,这样,在利用对应的匹配算法执行规则匹配时,不仅准确度高,而且匹配速度快,由此提升了网络安全设备的匹配性能。
[0102]
基于同一发明构思,本技术实施例提供了一种电子设备,该电子设备可以但不限于为上述网络安全设备。如图3所示,该电子设备包括处理器301和机器可读存储介质302,机器可读存储介质302存储有能够被处理器301执行的计算机程序,处理器301被计算机程序促使执行本技术任一实施例所提供的规则匹配方法。此外,该电子设备还包括通信接口303和通信总线304,其中,处理器301,通信接口303,机器可读存储介质302通过通信总线304完成相互间的通信。
[0103]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0104]
通信接口用于上述电子设备与其他设备之间的通信。
[0105]
上述机器可读存储介质302可以为存储器,该存储器可以包括随机存取存储器(random access memory,ram)、ddr sram(double data rate synchronous dynamic random access memory,双倍速率同步动态随机存储器),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0106]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0107]
对于电子设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0108]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0109]
上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0110]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0111]
以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精
神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
技术特征:1.一种规则匹配方法,其特征在于,包括:获取待识别报文;根据当前的规则特征库对所述待识别报文进行识别处理,所述规则特征库包括已编译的pcre选项,所述pcre选项中包括已编译的规则及匹配类型;确认所述待识别报文所命中的目标pcre选项;根据所述目标pcre选项中的匹配类型和和已编译的规则,利用所述匹配类型对应的规则匹配算法对所述待识别报文进行规则匹配。2.根据权利要求1所述的方法,其特征在于,所述规则特征库为采用离线编译方法生成的,所述离线编译方法为:对初始特征库中的每个初始pcre选项中的正规表达式进行编译处理,得到已编译的规则;确定用于对该已编译的规则进行规则匹配的匹配算法;将所述已编译的规则和确定出的匹配算法的匹配类型构成新的pcre选项;基于构成的各新的pcre选项,生成所述规则特征库。3.根据权利要求2所述的方法,其特征在于,在确定用于对该已编译的规则进行规则匹配的匹配算法之前,还包括:确定该已编译的规则的规则长度;确定所述规则长度不大于设定长度阈值。4.根据权利要求3所述的方法,其特征在于,当所述规则长度大于设定长度阈值时,则保留该已编译的规则对应的初始pcre选项;根据保留的初始pcre选项、基于规则长度不大于所述设定长度阈值的已编译规则构成的新的prce选项,生成所述规则特征库。5.根据权利要求1所述的方法,其特征在于,利用当前的规则特征库对所述待识别报文进行识别处理,具体包括:从所述待识别报文中提取报文特征;利用当前的规则特征库对所述报文特征进行识别。6.根据权利要求4所述的方法,其特征在于,当所述规则特征库包括初始pcre规则时,所述方法,还包括:当所述待识别报文命中初始pcre选项时,则在线对所述初始pcre选项中的正则表达式进行编译处理,得到编译后的规则;利用编译后的规则及所述编译后的规则对应的匹配算法对所述待识别报文进行规则匹配处理。7.一种规则匹配装置,其特征在于,包括:获取模块,用于获取待识别报文;识别模块,用于根据当前的规则特征库对所述待识别报文进行识别处理,所述规则特征库包括已编译的pcre选项,所述pcre选项中包括已编译的规则及匹配类型;确认模块,用于确认所述待识别报文所命中的目标pcre选项;匹配模块,用于根据所述目标pcre选项中的匹配类型和和已编译的规则,利用所述匹配类型对应的规则匹配算法对所述待识别报文进行规则匹配。
8.根据权利要求7所述的装置,其特征在于,所述规则特征库为采用离线编译方法生成的,所述装置,还包括:离线编译模块,用于对初始特征库中的每个初始pcre选项中的正规表达式进行编译处理,得到已编译的规则;第一确定模块,用于确定用于对该已编译的规则进行规则匹配的匹配算法;构成模块,用于将所述已编译的规则和确定出的匹配算法的匹配类型构成新的pcre选项;生成模块,用于基于构成的各新的pcre选项,生成所述规则特征库。9.根据权利要求8所述的装置,其特征在于,所述装置,还包括:第二确定模块,用于在所述第一确定模块确定用于对该已编译的规则进行规则匹配的匹配算法之前,确定该已编译的规则的规则长度;第三确定模块,用于确定所述规则长度不大于设定长度阈值。10.根据权利要求9所述的装置,其特征在于,还包括:保留模块,用于当所述第三确定模块确定所述规则长度大于设定长度阈值时,则保留该已编译的规则对应的初始pcre选项;所述生成模块,还用于根据保留的初始pcre选项、基于规则长度不大于所述设定长度阈值的已编译规则构成的新的prce选项,生成所述规则特征库。11.根据权利要求7所述的装置,其特征在于,所述识别模块,具体用于从所述待识别报文中提取报文特征;利用当前的规则特征库对所述报文特征进行识别。12.根据权利要求10所述的装置,其特征在于,还包括:编译模块,用于当所述规则特征库包括初始pcre规则时,当所述待识别报文命中初始pcre选项时,则在线对所述初始pcre选项中的正则表达式进行编译处理,得到编译后的规则;所述匹配模块,还用于利用编译后的规则及所述编译后的规则对应的匹配算法对所述待识别报文进行规则匹配处理。
技术总结本申请提供了一种规则匹配方法及装置,涉及通信技术领域。该方法为:获取待识别报文;根据当前的规则特征库对所述待识别报文进行识别处理,所述规则特征库包括已编译的PCRE选项,所述PCRE选项中包括已编译的规则及匹配类型;确认所述待识别报文所命中的目标PCRE选项;根据所述目标PCRE选项中的匹配类型和和已编译的规则,利用所述匹配类型对应的规则匹配算法对所述待识别报文进行规则匹配。由此,在进行安全检测时,提升了匹配速度及提升网络安全设备的处理性能。全设备的处理性能。全设备的处理性能。
技术研发人员:郭玲玲
受保护的技术使用者:新华三信息安全技术有限公司
技术研发日:2022.06.24
技术公布日:2022/11/1