本申请涉及网络安全技术领域,具体而言,涉及一种网络防护方法及装置。
背景技术:
随着信息技术快速发展,互联网给人们的生活带来便利的同时也带来了新的安全挑战,当今网络安全问题已经不容忽视。早期的网络大部分为c/s结构,给用户提供信息服务。现有的基于web应用防火墙的网络防护方法,其防护规则库使用了大量的基于正则表达式(pcre)的规则库,在进行网络防护时,需要依次对防护规则库中每条规则库的各个特征字段进行特征匹配,然后通过匹配的规则进行网络防护。然而,实践中发现,在进行特征匹配时,会不断重复提取规则的特征字段匹配进行匹配,从而使得网络防护效率低。
技术实现要素:
本申请实施例的目的在于提供一种网络防护方法及装置,能够快速确定命中的实际规则,匹配速度快,进而提升网络防护效率。
本申请实施例第一方面提供了一种网络防护方法,包括:
对预设实际规则库中的全部规则数据进行重组编译,得到目标匹配库;
接收待处理请求;
根据所述目标匹配库与所述待处理请求进行匹配比较,得到目标匹配结果;
根据所述目标匹配结果和所述目标匹配库确定目标实际规则特征;
根据所述目标实际规则特征对所述待处理请求进行防护处理。
在上述实现过程中,该方法能够优先对预设实际规则库中的全部规则数据进行重组编译,得到目标匹配库;然后在接收到待处理请求时,根据所述目标匹配库与所述待处理请求进行匹配比较,得到目标匹配结果;然后再根据所述目标匹配结果和所述目标匹配库确定目标实际规则特征;最后,再根据所述目标实际规则特征对所述待处理请求进行防护处理。可见,实施这种实施方式,能够根据接收到的待处理请求和编译后的目标匹配库快速匹配到编译后的规则数据,从而能够快速确定命中的实际规则,并使用匹配得到的实际规则中进行网络防护,进而提升网络防护效率。
进一步地,所述对预设实际规则库中的全部规则数据进行重组编译,得到目标匹配库,包括:
从预设实际规则库中读取全部的规则数据;
获取每条所述规则数据对应的特征字段列表;
根据所述特征字段列表确定所有所述规则数据所使用的特征字段合集;
对所述预设实际规则库中的规则数据进行分组,得到与所述特征字段合集中每个特征字段对应的规则分组;
提取每个所述规则分组中规则数据对应的特征表达式,得到每个所述规则分组对应的第一特征表达式合集;
对所述第一特征表达式合集进行重组编译处理,得到目标匹配库。
在上述实现过程中,该方法能够优先获取规则数据,然后再根据特征字段对规则数据进行分组,以使每个规则分组多度对应一个特征表达式,并进一步使得该特征表达式被重组编译,从而得到目标匹配库,进而提高整体的网络防护效率。
进一步地,所述对所述第一特征表达式合集进行重组编译处理,得到目标匹配库,包括:
将所述第一特征表达式合集中的特征表达式进行去除子分组捕获处理,得到包括多个目标处理表达式的第二特征表达式合集;
对所述第二特征表达式合集中的所述目标处理表达式进行移除子组捕获的标记处理,得到第三特征表达式合集;
按照预设分组规则对所述第三特征表达式合集进行分组编译处理,得到包括多个子分组的第四特征表达式合集;
根据所述第四特征表达式合集、特征字段合集以及所述规则分组,生成目标匹配库。
在上述实现过程中,该方法能够在第一特征表达式合集中去除子组捕获,然后再进行标记并分组编译,从而得到用于生成目标匹配库的第四特征表达式合集,进而辅助生成目标匹配库,合并相同特征字段的特征表达式,使同一特征字段一次能够同时匹配多条规则库特征。
进一步地,所述根据所述目标匹配库与所述待处理请求进行匹配比较,得到目标匹配结果,包括:
提取所述待处理请求中的协议关键字段;
将所述协议关键字段与所述目标匹配库进行匹配,判断是否匹配成功;
如果成功,则获取所述协议关键字段与所述目标匹配库进行匹配的目标匹配结果。
在上述实现过程中,该方法能够优先根据协议关键字段判断该待处理请求与目标匹配库是否相匹配,如果相匹配,则进一步获取实际的目标匹配结果,从而能够保证网络防护的效果。
进一步地,所述根据所述目标匹配结果和所述目标匹配库确定目标实际规则特征,包括:
根据所述目标匹配结果确定匹配命中的目标子分组;
获取所述目标子分组的命中分组下标,以及获取将所述待处理请求与所述目标匹配库进行匹配时的未命中次数;
根据所述命中分组下标和所述未命中次数,计算匹配命中的规则序号;
根据所述规则序号和所述目标匹配库确定目标实际规则特征。
在上述实现过程中,该方法能够根据目标子分组的命中分组下标和未命中次数来计算规则序号,并进一步根据该规则序号进行实际规则特征的确定,从而有利于提高网络防护方法的实施效果。
进一步地,所述根据所述规则序号和所述目标匹配库确定目标实际规则特征,包括:
从所述目标匹配库中确定与所述规则序号对应的目标特征表达式;
判断是否存在与所述目标特征表达式对应的移除子组捕获标记信息;
如果存在,则根据所述移除子组捕获标记信息对所述目标特征表达式进行还原处理,得到目标实际规则特征。
在上述实施方式中,可以根据移除子组捕获标记信息将命中的目标特征表达式还原成目标实际规则特征,还可作为子组移捕获除后的校验,能够在不改变原有规则的前提下,提升规则匹配速度。
本申请实施例第二方面提供了一种网络防护装置,所述网络防护装置包括:
重组编译单元,用于对预设实际规则库中的全部规则数据进行重组编译,得到目标匹配库;
接收单元,用于接收待处理请求;
匹配单元,用于根据所述目标匹配库与所述待处理请求进行匹配比较,得到目标匹配结果;
确定单元,用于根据所述目标匹配结果和所述目标匹配库确定目标实际规则特征;
防护单元,用于根据所述目标实际规则特征对所述待处理请求进行防护处理。
在上述实现过程中,该网络防护装置能够根据接收到的待处理请求和编译后的目标匹配库快速匹配到编译后的规则数据,从而能够快速确定命中的实际规则,并使用匹配得到的实际规则中进行网络防护,进而提升网络防护效率。
进一步地,所述重组编译单元包括:
第一读取子单元,用于从预设实际规则库中读取全部的规则数据;
第一获取子单元,用于获取每条所述规则数据对应的特征字段列表;
第一确定子单元,用于根据所述特征字段列表确定所有所述规则数据所使用的特征字段合集;
第一分组子单元,用于对所述预设实际规则库中的规则数据进行分组,得到与所述特征字段合集中每个特征字段对应的规则分组;
第一提取子单元,用于提取每个所述规则分组中规则数据对应的特征表达式,得到每个所述规则分组对应的第一特征表达式合集;
重组编译子单元,用于对所述第一特征表达式合集进行重组编译处理,得到目标匹配库。
在上述实现过程中,该装置能够优先获取规则数据,然后再根据特征字段对规则数据进行分组,以使每个规则分组多度对应一个特征表达式,并进一步使得该特征表达式被重组编译,从而得到目标匹配库,进而提高整体的网络防护效率。
本申请实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的网络防护方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的网络防护方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例一提供的一种网络防护方法的流程示意图;
图2为本申请实施例二提供的一种网络防护方法的流程示意图;
图3为本申请实施例三提供的一种网络防护装置的结构示意图;
图4为本申请实施例四提供的一种网络防护装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供了一种网络防护方法的流程示意图。其中,该网络防护方法包括:
s101、对预设实际规则库中的全部规则数据进行重组编译,得到目标匹配库。
本申请实施例中,该方法具体可以应用于web应用防火墙的规则匹配场景中。该预设实际规则库可以为基于正则表达式(pcre)的规则库。
本申请实施例中,该方法能够对全部规则数据进行重组编译,从而得到有利于后续匹配过程进行的目标匹配库。
s102、接收待处理请求。
本申请实施例中,对于待处理请求的发射端不作任何限定。
s103、根据目标匹配库与待处理请求进行匹配比较,得到目标匹配结果。
s104、根据目标匹配结果和目标匹配库确定目标实际规则特征。
s105、根据目标实际规则特征对待处理请求进行防护处理。
本申请实施例中,实施本方法,能够在不破坏原有规则库的情况下,快速进行规则匹配,并快速确定原有规则库中命中的目标实际规则特征,进而提升网络防护效率。
本申请实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
在本申请实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
可见,实施本实施例所描述的网络防护方法,能够优先对预设实际规则库中的全部规则数据进行重组编译,得到目标匹配库;然后在接收到待处理请求时,根据目标匹配库与待处理请求进行匹配比较,得到目标匹配结果;然后再根据目标匹配结果和目标匹配库确定目标实际规则特征;最后,再根据目标实际规则特征对待处理请求进行防护处理。可见,实施这种实施方式,能够根据接收到的待处理请求和编译后的目标匹配库快速匹配到编译后的规则数据,从而能够快速确定命中的实际规则,并使用匹配得到的实际规则中进行网络防护,进而提升网络防护效率。
实施例2
请参看图2,图2为本申请实施例提供的一种网络防护方法的流程示意图。如图2所示,其中,该网络防护方法包括:
s201、从预设实际规则库中读取全部的规则数据。
本申请实施例中,预设实际规则库具体可以为waf规则库,对此本申请实施例不作限定。
本申请实施例中,该步骤能够遍历整个规则列表,从而读取到全部的规则数据。
s202、获取每条规则数据对应的特征字段列表。
本申请实施例中,举例来说,假设预设实际规则库中一规则数据,其使用的规则描述语法可以如下所示:
name:name,id:ruleid,var:{s1,s2,s3,…sn},token:token;
其中,name代表本条规则名称,id,代表本条规则的唯一标识符id,var,代表本条规则需要匹配的特征字段列表,s1、s2…sn代表特征字段;token代表本条规则的pcre特征。
本申请实施例中,根据上述举例,规则数据对应的特征字段列表可以包括var{s1,s2,s3,…sn}。
s203、根据特征字段列表确定所有规则数据所使用的特征字段合集。
本申请实施例中,该步骤能够记录全部的规则数据所使用的特征字段合集{s1,s2,s3..sn}。
s204、对预设实际规则库中的规则数据进行分组,得到与特征字段合集中每个特征字段对应的规则分组。
本申请实施例中,该方法能够重新遍历规则列表,为特征字段列表中的每个特征字段创建一个规则分组,数组中保存使用了该字段的规则信息。
本申请实施例中,根据上述举例,特征字段合集{s1,s2,s3,..,sn}对应的规则分组可以为{r1,r2,r3,..,rn}。
s205、提取每个规则分组中规则数据对应的特征表达式,得到每个规则分组对应的第一特征表达式合集。
本申请实施例中,根据上述举例,提取每个规则分组中规则数据对应的特征表达式,即将每个特征字段sn对应的规则数组rn中各个规则的特征(token字段)提取,存储到一个数组中,得到第一特征表达式合集。
本申请实施例中,特征表达式可以为token字段。
本申请实施例中,该方法能够将规则分组中的特征表达式提取出来,并存储到一个第一特征表达式合集中。
s206、对第一特征表达式合集进行重组编译处理,得到目标匹配库。
作为一种可选的实施方式,对第一特征表达式合集进行重组编译处理,得到目标匹配库的步骤包括:
将所述第一特征表达式合集中的特征表达式进行去除子分组捕获处理,得到包括多个目标处理表达式的第二特征表达式合集;
对所述第二特征表达式合集中的所述目标处理表达式进行移除子组捕获的标记处理,得到第三特征表达式合集;
按照预设分组规则对所述第三特征表达式合集进行分组编译处理,得到包括多个子分组的第四特征表达式合集;
根据所述第四特征表达式合集、特征字段合集以及所述规则分组,生成目标匹配库。
在上述实施方式中,该方法能够按照pcre(perlcompatibleregularexpressions)分组规范,移除第一特征表达式合集中规则特征的子分组捕获,以得到第二特征表达式合集。
在上述实施方式中,可以按照k个一组的方式对第三特征表达式合集进行分组并编译,得到第四特征表达式合集。
在上述实施方式中,预设分组规则具体可以为按照预设数量为一组进行分组,具体的,该预设数量k可以为10个、20个等,对此本申请实施例不作限定。
本申请实施例中,实施上述步骤s201~步骤s206,能够对waf规则库特征按照特征字段分组,合并相同特征字段的pcre表达式,使同一特征字段一次能够同时匹配多条规则库特征,大幅提升了waf(网站应用级入侵防御系统,webapplicationfirewall)设备的规则匹配能力。
s207、接收待处理请求。
本申请实施例中,待处理请求具体可以为http协议数据请求,对此本申请实施例不做限定。
s208、提取待处理请求中的协议关键字段。
s209、将协议关键字段与目标匹配库进行匹配,判断是否匹配成功,若是,则执行步骤s210~s215;若否,则结束本流程。
s210、获取协议关键字段与目标匹配库进行匹配的目标匹配结果。
本申请实施例中,该方法付能够提取http请求中对应的特征字段,进行pcre特征匹配;并在匹配成功时,使得匹配的子命中分组下标与该特征字段规则列表的中的序号保存的规则信息相对应,从而确定该请求命中的实际规则id。
s211、根据目标匹配结果确定匹配命中的目标子分组。
本申请实施例中,目标匹配结果具体可以包括匹配命中的目标子分组以及未命中次数,对此本申请实施例不作限定。
s212、获取目标子分组的命中分组下标,以及获取将待处理请求与目标匹配库进行匹配时的未命中次数。
本申请实施例中,未命中次数,具体指在匹配到命中的目标子分组时已经匹配但匹配未命中的次数,举例来说,一共匹配了2次就匹配到命中的目标子分组,则已经匹配但匹配未命中的次数为1,未命中次数为1。
s213、根据命中分组下标和未命中次数,计算匹配命中的规则序号。
本申请实施例中,匹配命中的规则序号的计算公式如下:
规则序号=subn+m*k;
其中,subn为匹配的目标子分组的命中分组下标(命中分组下标从0开始计算),m为未命中次数,k为预设分组规则中的预设数量。
本申请实施例中,通过上述计算公式,能够计算出匹配命中的目标实际规则特征所在规则分组rn中的序号(即规则序号,规则序号从1开始计算),通过这个规则序号,可以获取该目标实际规则特征的标识信息及其他信息。
本申请实施例中,在程序里通常下标都是从0开始,但是序号通常都是从1开始。规则序号也可以用规则下标表示,如果用规则下标(即从0开始计算),则可以根据上述匹配命中的规则序号的计算公式得到,匹配命中的规则下表的计算公式:
规则下标=subn+m*k-1。
本申请实施例中,计算得到的规则序号,即为预设实际规则库中规则数据的实际标识。
s214、根据规则序号和目标匹配库确定目标实际规则特征。
作为一种可选的实施方式,根据规则序号和目标匹配库确定目标实际规则特征,可以包括以下步骤:
从目标匹配库中确定与规则序号对应的目标特征表达式;
判断是否存在与目标特征表达式对应的移除子组捕获标记信息;
如果存在,则根据移除子组捕获标记信息对目标特征表达式进行还原处理,得到目标实际规则特征。
在上述实施方式中,在确定出规则序号之后,判断该目标特征表达式是否存在移除子组捕获标记信息,如果存在,对目标特征表达式进行还原处理得到目标实际规则特征,以再次执行原始的(未进行分组捕获移除)的正则表达式(即目标实际规则特征)匹配。
在上述实施方式中,当目标实际规则特征匹配失败,则说明没有匹配到规则特征,需要继续后续规则匹配。
在上述实施方式中,通过对目标特征表达式进行还原处理,还可在对第一特征表达式合集中的特征表达式进行去除子分组捕获处理之后,作为子组移捕获除后的校验。
s215、根据目标实际规则特征对待处理请求进行防护处理。
本申请实施例中,当预设实际规则库无改动时,则可以重复执行步骤s207~步骤s215,对每个待处理请求进行规则匹配。
可见,实施本实施例所描述的网络防护方法,能够根据接收到的待处理请求和编译后的目标匹配库快速匹配到编译后的规则数据,从而能够快速确定命中的实际规则,并使用匹配得到的实际规则中进行网络防护,进而提升网络防护效率。
实施例3
请参看图3,图3为本申请实施例提供的一种网络防护装置的结构示意图。如图3所示,该网络防护装置包括:
重组编译单元310,用于对预设实际规则库中的全部规则数据进行重组编译,得到目标匹配库;
接收单元320,用于接收待处理请求;
匹配单元330,用于根据目标匹配库与待处理请求进行匹配比较,得到目标匹配结果;
确定单元340,用于根据目标匹配结果和目标匹配库确定目标实际规则特征;
防护单元350,用于根据目标实际规则特征对待处理请求进行防护处理。
本申请实施例中,对于网络防护装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的网络防护装置,能够根据接收到的待处理请求和编译后的目标匹配库快速匹配到编译后的规则数据,从而能够快速确定命中的实际规则,并使用匹配得到的实际规则中进行网络防护,进而提升网络防护效率。
实施例4
请一并参阅图4,图4是本申请实施例提供的一种网络防护装置的结构示意图。其中,图4所示的网络防护装置是由图3所示的网络防护装置进行优化得到的。如图4所示,重组编译单元310包括:
第一读取子单元311,用于从预设实际规则库中读取全部的规则数据;
第一获取子单元312,用于获取每条规则数据对应的特征字段列表;
第一确定子单元313,用于根据特征字段列表确定所有规则数据所使用的特征字段合集;
第一分组子单元314,用于对预设实际规则库中的规则数据进行分组,得到与特征字段合集中每个特征字段对应的规则分组;
第一提取子单元315,用于提取每个规则分组中规则数据对应的特征表达式,得到每个规则分组对应的第一特征表达式合集;
重组编译子单元316,用于对第一特征表达式合集进行重组编译处理,得到目标匹配库。
作为一种可选的实施方式,重组编译子单元316,包括:
子分组捕获去除模块,用于将第一特征表达式合集中的特征表达式进行去除子分组捕获处理,得到包括多个目标处理表达式的第二特征表达式合集;
标记模块,用于对第二特征表达式合集中的目标处理表达式进行移除子组捕获的标记处理,得到第三特征表达式合集;
分组编译模块,用于按照预设分组规则对第三特征表达式合集进行分组编译处理,得到包括多个子分组的第四特征表达式合集;
生成模块,用于根据第四特征表达式合集、特征字段合集以及规则分组,生成目标匹配库。
作为一种可选的实施方式,匹配单元330包括:
第二提取子单元331,用于提取待处理请求中的协议关键字段;
第二匹配子单元332,用于将协议关键字段与目标匹配库进行匹配,判断是否匹配成功;
第二获取子单元333,用于在匹配成功时,获取协议关键字段与目标匹配库进行匹配的目标匹配结果。
作为一种可选的实施方式,确定单元340包括:
第三确定子单元341,用于根据目标匹配结果确定匹配命中的目标子分组;
第三获取子单元342,用于获取目标子分组的命中分组下标,以及获取将待处理请求与目标匹配库进行匹配时的未命中次数;
第三计算子单元343,用于根据命中分组下标和未命中次数,计算匹配命中的规则序号;
第三确定子单元341,还用于根据规则序号和目标匹配库确定目标实际规则特征。
作为一种可选的实施方式,第三确定子单元341包括:
确定模块,用于从目标匹配库中确定与规则序号对应的目标特征表达式;
判断模块,用于判断是否存在与目标特征表达式对应的移除子组捕获标记信息;
还原模块,用于在判断出存在移除子组捕获标记信息时,则根据移除子组捕获标记信息对目标特征表达式进行还原处理,得到目标实际规则特征。
本申请实施例中,对于网络防护装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的网络防护装置,能够根据接收到的待处理请求和编译后的目标匹配库快速匹配到编译后的规则数据,从而能够快速确定命中的实际规则,并使用匹配得到的实际规则中进行网络防护,进而提升网络防护效率。
本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例1或实施例2中任一项网络防护方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例1或实施例2中任一项网络防护方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
1.一种网络防护方法,其特征在于,包括:
对预设实际规则库中的全部规则数据进行重组编译,得到目标匹配库;
接收待处理请求;
根据所述目标匹配库与所述待处理请求进行匹配比较,得到目标匹配结果;
根据所述目标匹配结果和所述目标匹配库确定目标实际规则特征;
根据所述目标实际规则特征对所述待处理请求进行防护处理。
2.根据权利要求1所述的网络防护方法,其特征在于,所述对预设实际规则库中的全部规则数据进行重组编译,得到目标匹配库,包括:
从预设实际规则库中读取全部的规则数据;
获取每条所述规则数据对应的特征字段列表;
根据所述特征字段列表确定所有所述规则数据所使用的特征字段合集;
对所述预设实际规则库中的规则数据进行分组,得到与所述特征字段合集中每个特征字段对应的规则分组;
提取每个所述规则分组中规则数据对应的特征表达式,得到每个所述规则分组对应的第一特征表达式合集;
对所述第一特征表达式合集进行重组编译处理,得到目标匹配库。
3.根据权利要求2所述的网络防护方法,其特征在于,所述对所述第一特征表达式合集进行重组编译处理,得到目标匹配库,包括:
将所述第一特征表达式合集中的特征表达式进行去除子分组捕获处理,得到包括多个目标处理表达式的第二特征表达式合集;
对所述第二特征表达式合集中的所述目标处理表达式进行移除子组捕获的标记处理,得到第三特征表达式合集;
按照预设分组规则对所述第三特征表达式合集进行分组编译处理,得到包括多个子分组的第四特征表达式合集;
根据所述第四特征表达式合集、特征字段合集以及所述规则分组,生成目标匹配库。
4.根据权利要求1所述的网络防护方法,其特征在于,所述根据所述目标匹配库与所述待处理请求进行匹配比较,得到目标匹配结果,包括:
提取所述待处理请求中的协议关键字段;
将所述协议关键字段与所述目标匹配库进行匹配,判断是否匹配成功;
如果成功,则获取所述协议关键字段与所述目标匹配库进行匹配的目标匹配结果。
5.根据权利要求1所述的网络防护方法,其特征在于,所述根据所述目标匹配结果和所述目标匹配库确定目标实际规则特征,包括:
根据所述目标匹配结果确定匹配命中的目标子分组;
获取所述目标子分组的命中分组下标,以及获取将所述待处理请求与所述目标匹配库进行匹配时的未命中次数;
根据所述命中分组下标和所述未命中次数,计算匹配命中的规则序号;
根据所述规则序号和所述目标匹配库确定目标实际规则特征。
6.根据权利要求5所述的网络防护方法,其特征在于,所述根据所述规则序号和所述目标匹配库确定目标实际规则特征,包括:
从所述目标匹配库中确定与所述规则序号对应的目标特征表达式;
判断是否存在与所述目标特征表达式对应的移除子组捕获标记信息;
如果存在,则根据所述移除子组捕获标记信息对所述目标特征表达式进行还原处理,得到目标实际规则特征。
7.一种网络防护装置,其特征在于,所述网络防护装置包括:
重组编译单元,用于对预设实际规则库中的全部规则数据进行重组编译,得到目标匹配库;
接收单元,用于接收待处理请求;
匹配单元,用于根据所述目标匹配库与所述待处理请求进行匹配比较,得到目标匹配结果;
确定单元,用于根据所述目标匹配结果和所述目标匹配库确定目标实际规则特征;
防护单元,用于根据所述目标实际规则特征对所述待处理请求进行防护处理。
8.根据权利要求7所述的网络防护装置,其特征在于,所述重组编译单元包括:
第一读取子单元,用于从预设实际规则库中读取全部的规则数据;
第一获取子单元,用于获取每条所述规则数据对应的特征字段列表;
第一确定子单元,用于根据所述特征字段列表确定所有所述规则数据所使用的特征字段合集;
第一分组子单元,用于对所述预设实际规则库中的规则数据进行分组,得到与所述特征字段合集中每个特征字段对应的规则分组;
第一提取子单元,用于提取每个所述规则分组中规则数据对应的特征表达式,得到每个所述规则分组对应的第一特征表达式合集;
重组编译子单元,用于对所述第一特征表达式合集进行重组编译处理,得到目标匹配库。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至6中任一项所述的网络防护方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至6任一项所述的网络防护方法。
技术总结