基于URL模式树的防御方法、装置、电子设备和可读存储介质与流程

文档序号:28165697发布日期:2021-12-24 22:19阅读:60来源:国知局
基于URL模式树的防御方法、装置、电子设备和可读存储介质与流程
基于url模式树的防御方法、装置、电子设备和可读存储介质
技术领域
1.本技术涉及计算机网络技术领域,具体而言,涉及一种基于url模式树的防御方法、装置、电子设备和可读存储介质。


背景技术:

2.随着互联网的发展,网络应用已经越来越广泛,几乎每个人都能通过设备连网以进入互联网。但各种问题也随之而来,例如某些为了利益对某些域名进行攻击,使其服务器在一段时间内造成瘫痪。
3.而现在已经有各种云防御系统,可针对各种攻击进行防御。其中比较典型的拦截方式是通过单次请求的信息判断其是否为恶意请求。其中一种判断方法是通过所请求的url进行判断,并执行防御拦截。在进行url判断时,目前采用的方式是通过与正则表达式进行匹配的方式进行判断。而现有的基于url数据的正则表达式的设置需要业务人员在了解域名的业务逻辑的情况下,按照一定规则进行人工编写。这种方式需要了解域名的业务逻辑,比较耗时且不通用,并且人工编写的方式不够自动化,在效率及维护成本上均存在缺陷。


技术实现要素:

4.本技术的目的包括,例如,提供了一种基于url模式树的防御方法、装置、电子设备和可读存储介质,其能够提高网络防御中的效率及自动化程度。
5.本技术的实施例可以这样实现:
6.第一方面,本技术提供一种基于url模式树的防御方法,所述方法包括:
7.响应于对目标域名的访问请求,并获取所述访问请求中携带的所请求的url;
8.将所述url与预设的正则表达式集合中的各正则表达式进行匹配,其中,所述正则表达式集合为通过遍历由所述目标域名对应的url数据构建的url模式树所获得;
9.若所述url未能与所述正则表达式集合中的任意一个正则表达式匹配,则对所述访问请求进行拦截。
10.在可选的实施方式中,所述方法还包括预先构建所述url模式树的步骤,该步骤包括:
11.采集历史时段内所述目标域名的多条url数据;
12.按预设规则对每条所述url数据进行处理,得到对应的键值对;
13.根据每条url数据对应的键值对,构建包含多个节点的url模式树。
14.在可选的实施方式中,各所述节点具有定义信息,所述定义信息包括所述节点对应的键、所述键对应的值、所述键出现的频数、所述节点是否可作为结束节点的标识。
15.在可选的实施方式中,所述根据每条url数据对应的键值对,构建包含多个节点的url模式树的步骤,包括:
16.从url模式树的根节点开始,在基于各节点进行子树构建时,统计具有相同指定键
的多个节点各自在所述指定键下的值的频数;
17.针对频数大于或等于设定频数的节点,基于所述节点继续进行子树的构建;
18.针对频数小于所述设定频数的至少两个节点,基于所述至少两个节点在所述指定键下的值进行合并正则化,并基于合并正则化后得到的节点继续进行子树的构建;
19.直至设置的所有指定键下的节点均构建完成,得到所述url模式树。
20.在可选的实施方式中,所述方法还包括对所述url模式树进行更新的步骤,该步骤包括:
21.采集更新时段内所述目标域名的多条url数据,并基于该多条url数据构建得到更新url模式树,其中,所述更新时段在时间轴上处于所述历史时段之后;
22.将所述更新url模式树与所述url模式树进行比对,以基于所述更新url模式树中包含的节点信息对所述url模式树进行更新。
23.在可选的实施方式中,所述将所述更新url模式树与所述url模式树进行比对,以基于所述更新url模式树中包含的节点信息对所述url模式树进行更新的步骤,包括:
24.对所述更新url模式树和url模式树进行同步遍历递归,对于遍历到的所述更新url模式树中的第一节点和url模式树中的第二节点,若所述第一节点对应的键小于所述第二节点对应的键,则将所述第一节点插入到所述url模式树的第二节点之后;
25.若所述第一节点对应的键等于所述第二节点的键,则将所述第一节点合并至所述url模式树的第二节点;
26.若所述第一节点对应的键大于所述第二节点的键,则不作处理并继续遍历至下一级节点。
27.在可选的实施方式中,所述将所述第一节点合并至所述url模式树的第二节点的步骤,包括:
28.若所述第一节点和第二节点未进行合并正则化处理,则将所述第一节点的键对应的值合并至所述url模式树的第二节点的值中;
29.若所述第一节点和第二节点为合并正则化处理后的节点,则在所述第一节点的正则表达式包含所述第二节点的正则表达式时,将所述第二节点的正则表达式替换为所述第一节点的正则表达式,在所述第一节点的正则表达式与所述第二节点的正则表达式存在交集时,将所述第一节点的正则表达式合并至所述第二节点的正则表达式中。
30.第二方面,本技术提供一种基于url模式树的防御装置,所述装置包括:
31.响应模块,用于响应于对目标域名的访问请求,并获取所述访问请求中携带的所请求的url;
32.匹配模块,用于将所述url与预设的正则表达式集合中的各正则表达式进行匹配,其中,所述正则表达式集合为通过遍历由所述目标域名对应的url数据构建的url模式树所获得;
33.防御模块,用于在所述url未能与所述正则表达式集合中的任意一个正则表达式匹配,对所述访问请求进行拦截。
34.第三方面,本技术提供一种电子设备,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述
的方法步骤。
35.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现前述实施方式中任意一项所述的方法步骤。
36.本技术实施例的有益效果包括,例如:
37.本技术提供一种基于url模式树的防御方法、装置、电子设备和可读存储介质,通过响应目标域名的访问请求,以获取访问请求中携带的所请求的url,将url与预设的正则表达式集合中的各正则表达式进行匹配,其中,正则表达式集合为通过遍历由目标域名对应的url数据构建的url模式树所获得。若url未能与正则表达式中的任意一个正则表达式匹配,则对访问请求进行拦截。本方案,通过预先针对目标域名进行url模式树构建的方式获得正则表达式集合,进而通过正则表达式匹配的方式实现防御拦截,基于url模式树的树结构可体现域名的业务逻辑,无需在了解域名业务逻辑的基础上通过人工设置正则表达式,在效率及自动化程度上均可达到较优效果。
附图说明
38.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
39.图1为本技术实施例提供的基于url模式树的防御方法的流程图;
40.图2为本技术实施例提供的基于url模式树的防御方法中,构建url模式树的方法的流程图;
41.图3为图2中步骤s230包含的子步骤的流程图;
42.图4为本技术实施例提供的基于url模式树的防御方法中,更新url模式树的方法的流程图;
43.图5为图4中步骤s320包含的子步骤的流程图;
44.图6为图5中步骤s323包含的子步骤的流程图;
45.图7为本技术实施例提供的电子设备的结构框图;
46.图8为本技术实施例提供的基于url模式树的防御装置的功能模块框图。
47.图标:110

存储介质;120

处理器;130

基于url模式树的防御装置;131

响应模块;132

匹配模块;133

防御模块;140

通信接口。
具体实施方式
48.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
49.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通
技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
51.在本技术的描述中,需要说明的是,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
52.需要说明的是,在不冲突的情况下,本技术的实施例中的特征可以相互结合。
53.请参阅图1,本技术实施例还提供一种可应用于电子设备的基于url模式树的防御方法,以用于对网络中的恶意访问进行拦截处理,该电子设备可以为网络中的服务器、网关设备等。该基于url模式树的防御方法有关的流程所定义的方法步骤可以由所述电子设备实现。下面将对图1所示的具体流程进行详细阐述。
54.步骤s110,响应于对目标域名的访问请求,并获取所述访问请求中携带的所请求的url。
55.步骤s120,将所述url与预设的正则表达式集合中的各正则表达式进行匹配,其中,所述正则表达式集合为通过遍历由所述目标域名对应的url数据构建的url模式树所获得。
56.步骤s130,若所述url未能与所述正则表达式集合中的任意一个正则表达式匹配,则对所述访问请求进行拦截。
57.本实施例中,用户终端可向电子设备发起对目标域名的访问请求,该目标域名可为任意的进行攻击防御保护的域名。域名是由一串用点分割的名字组成的internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。
58.用户终端发起的访问请求中携带所请求的url,该访问请求以用于向目标域名下的该url对应的网页进行访问。url用于指定web资源在网络上的位置以及用于检索该资源的机制。
59.url由多个部分组成,例如包含目录名称、文件路径和url参数。恶意攻击者往往会对其中的url参数进行操纵以创建新的url,以嵌入恶意代码并进行传播攻击。
60.本实施例中,可预先基于目标域名对应的url数据构建url模式树,通过url数据构建的模式树,可以将url的各个组成部分合并成正则表达式形式,能够有效地体现域名的业务逻辑。此外,可预先通过遍历url模式树中的各个节点,从而可生成url模式树对应的包含多个正则表达式的正则表达式集合。
61.本实施例中,用于构建url模式树的url数据为目标域名的有效url,也即非攻击url,因此,可以将接收到的访问请求中的url与预设的正则表达式集合中的各正则表达式进行匹配,如果访问请求中的url未能与正则表达式集合中的任意一个正则表达式匹配,则表明访问请求中的url可能是攻击者构造的url,为恶意的访问请求,可对该访问请求进行拦截。
62.若访问请求中的url能够与正则表达式集合中的其中一个正则表达式匹配,则表明该url为非攻击的url,可对该访问请求进行正常处理。
63.本实施例中,采用预先基于目标域名的url数据构建url模式树,并遍历url模式树得到正则表达式集合的方式,以在接收到访问请求时,可将访问请求中的url与正则表达式
82.]
83.在此基础上,可以根据每条url数据对应的键值对构建包含多个节点的url模式树。
84.本实施例中,在构建url模式树中需要预先对树中的各个节点进行定义,各个节点具有相应的定义信息,定义信息包括,但不限于节点对应的键、键对应的值、键对应的值出现的频数、节点是否可作为结束节点的标识。其中,所谓的结束节点为现有存在的url数据中可以存在于末尾的参数信息所对应的节点,可定义为结束节点。
85.例如,各个节点的定义信息可表示如下:
86.{
[0087]“admin”:#对应的值
[0088]
{
[0089]“key”:“domin_1”,#对应的键
[0090]“freq_count”:200,#出现频数
[0091]“maybe_end”:false,#可否作为结束节点
[0092]“child”:{...}#子树
[0093]
}
[0094]
}
[0095]
本实施例中,在节点的定义信息中,其中,节点对应的键可以放在外面、值放在里面,此外,也可以将键放在里面、值放在外面,具体地本实施例不作限制。
[0096]
在构建url模式树时,模式树中各个节点在树中的位置,可以基于节点的键进行相应设置,其中,节点的键的排序方式可以按照域名、路径、参数的顺序依次进行排序。而其中,域名和路径分别可包含多个域名部分、路径部分。域名中各个域名部分可以分别设置对应的下标以便索引,例如上述的domain_0、domain_1、domain_2。路径中各个路径部分可以同样可分别设置对应的下标,例如上述的path_0、path_1。
[0097]
在模式树的节点设置中,对于域名和路径可以按其各个部分的下标进行依次排序。而键值对中的参数的排序可以按照字典顺序进行排序。
[0098]
基于上述对节点的定义,以及根据每条url数据对应的键值对进行url模式树的构建,构建得到的url模式树中路径的子节点只会出现在域名下的某个子树中,规范模式树的结构,有效体现目标域名的业务逻辑。
[0099]
在url模式树的构建中,可能会存在一些出现频数较少的键值对,对于这类数据若不作处理而按常规方式构建在模式树中,则可能导致模式树的规模庞大、复杂度高。基于此考虑,请参阅图3,在本实施例中,在上述构建url模式树中的步骤中,可以通过以下方式实现:
[0100]
步骤s231,从url模式树的根节点开始,在基于各节点进行子树构建时,统计具有相同指定键的多个节点各自在所述指定键下的值的频数。
[0101]
步骤s232,针对频数大于或等于设定频数的节点,基于所述节点继续进行子树的构建。
[0102]
步骤s233,针对频数小于所述设定频数的至少两个节点,基于所述至少两个节点在所述指定键下的值进行合并正则化,并基于合并正则化后得到的节点继续进行子树的构
建。
[0103]
步骤s234,直至设置的所有指定键下的节点均构建完成,得到所述url模式树。
[0104]
本实施例中,假设先将url模式树作为一个树,则在构建的时候将从该树的根节点开始进行构建,并按照上述的键之间的顺序以及键内部的顺序进行一级一级的构建。除模式树中的结束节点之外的其他节点,可以基于节点进行子树的构建。
[0105]
其中,所述的指定键可以是上述的如域名、路径、参数中的任意一个,或者是域名、路径或参数中的一个部分,例如上述域名中的domain_0、domain_1、domain_2中的任意一个。
[0106]
而采集的多个url数据中在指定键下对应的值可能并不相同,例如,针对domain_2而言,有些url数据的该指定键对应的值为com,有些url数据的该指定键对应的值为cn。因此,可以对具有相同指定键的多个节点各自在该指定键下的值的频数进行统计。例如,统计在指定键domain_2下值为com的url数据的频数,以及指定键domain_2下值为cn的url数据的频数。
[0107]
对于频数大于或等于设定频数的节点,则可以基于该节点继续进行后续的子树的构建。而对于频数小于设定频数的节点,则可以进行合并正则化,以避免频数过少的节点均占据为模式树中的一个节点,导致模式树的规模过大的问题。
[0108]
按上述方式进行各个节点的子树的构建,直到所有的指定键均构建完成,例如,上述的域名、路径、参数以及各个键内部的组成部分均构建完成后,可以得到构建的url模式树。此外,判定停止构建的方式也可以是如节点对应的url数据量小于指定阈值时,可以停止后续的构建,以当前的节点作为结束节点,完成url模式树的构建。
[0109]
由于在实施时会不断产生新的url数据,因此需要对url模式树进行更新,以符合实际应用场景。请参阅图4,在本实施例中,可以通过以下方式对url模式树进行更新:
[0110]
步骤s310,采集更新时段内所述目标域名的多条url数据,并基于该多条url数据构建得到更新url模式树,其中,所述更新时段在时间轴上处于所述历史时段之后。
[0111]
步骤s320,将所述更新url模式树与所述url模式树进行比对,以基于所述更新url模式树中包含的节点信息对所述url模式树进行更新。
[0112]
所述的更新时段可以是当前时间节点的前一周、历史时段可以是当前时间节点的前两周至前一周的时段。本实施例中,基于采集到的更新时段内的url数据构建更新url模式树的上述与上述的构建url模式树的方式相同,在此不作赘述。
[0113]
本实施例中,对于url模式树的更新,可以基于新构建的更新url模式树的信息在原有的url模式树的基础上进行调整更新。
[0114]
本实施例中,在采集构建url模式树的方式以生成正则表达式集合进行攻击防御,通过设置好的构建逻辑即可自动生成ulr模式树,在进行url模式树的更新时,也可达到自动更新的效果。而现有技术中采用的了解域名业务逻辑的情况下人工编写规则的方式,在域名业务逻辑有所更新时,还需人工更新编写规则,其维护成本很大。而本实施例中的基于构建url模式树的方式,在更新url模式树时也可达到自动更新的效果,大大降低了维护成本。
[0115]
请参阅图5,本实施例中,在对url模式树进行更新时,可以通过以下方式实现:
[0116]
步骤s321,对所述更新url模式树和url模式树进行同步遍历递归,对于遍历到的
所述更新url模式树中的第一节点和url模式树中的第二节点,比对所述第一节点对应的键与所述第二节点对应的键的大小。
[0117]
步骤s322,若所述第一节点对应的键小于所述第二节点对应的键,则将所述第一节点插入到所述url模式树的第二节点之后。
[0118]
步骤s323,若所述第一节点对应的键等于所述第二节点的键,则将所述第一节点合并至所述url模式树的第二节点。
[0119]
步骤s324,若所述第一节点对应的键大于所述第二节点的键,则不作处理并继续遍历至下一级节点。
[0120]
本实施例中,由于更新url模式树与原有的url模式树的构建规律相同,因此,两者在结构上大致相同。在进行更新url模式树和url模式树的比对时,对两者中的节点进行同步遍历递归,也就是说,按相同的遍历顺序进行遍历。
[0121]
遍历过程中到达的节点为所指向的节点,其中,更新url模式树的节点命名为第一节点,同步指向的url模式树中的节点命名为第二节点。如果第一节点对应的键小于第二节点对应的键,则将第一节点插入到url模式树中第二节点之后。
[0122]
其中,判断第二节点的键和第一节点的键的大小的方式是,如上述的节点对应的键可按如域名、路径、参数的顺序进行排序,而域名内部、路径内部和参数内部也是按一定的顺序进行排序。其中,排序在前的键大于排序在后的键。
[0123]
例如,假设同步指向的更新url模式树中的第一节点对应的键为domain_1,url模式中的第二节点对应的键为domain_0,也即,第一节点对应的键小于第二节点对应的键,则可以将第一节点插入到url模式树中的第二节点之后。
[0124]
此外,若第一节点对应的键等于第二节点的键,则可以将第一节点的信息合并到第二节点中。而若第一节点对应的键大于第二节点对应的键,这种情形可能是由于更新url模式树相较原有的url模式树缺少部分键,由于更新的方式是对原有的url模式树进行更新,因此这种情形下,无需进行处理。
[0125]
请参阅图6,本实施例中,在将更新url模式树中的第一节点合并到url模式树中的第二节点时,可以采用以下方式实现:
[0126]
步骤s3231,检测所述第一节点和第二节点是否进行合并正则化处理,若未进行合并正则化处理,则执行以下步骤s3232,若所述第一节点和第二节点为合并正则化处理后的节点,则执行以下步骤s3233或步骤s3234。
[0127]
步骤s3232,将所述第一节点的键对应的值合并至所述url模式树的第二节点的值中。
[0128]
步骤s3233,在所述第一节点的正则表达式包含所述第二节点的正则表达式时,将所述第二节点的正则表达式替换为所述第一节点的正则表达式。
[0129]
步骤s3234,在所述第一节点的正则表达式与所述第二节点的正则表达式存在交集时,将所述第一节点的正则表达式合并至所述第二节点的正则表达式中。
[0130]
本实施例中,如果第一节点和第二节点是确切的节点,则直接将两者合并即可。若是正则表达式,如果第一节点的正则表达式包含于第二节点的正则表达式,则表明第一节点表征的信息仅是第二节点表征的信息中的部分,因此,此种情形下可以不作处理。若第一节点的正则表达式包含第二节点的正则表达式,则表明在更新url模式树中可能出现了新
的url数据形式,则可以将第二节点的正则表达式替换为第一节点的正则表达式。此外,若第一节点的正则表达式与第二节点的正则表达式存在交集,同样地,表明在更新url模式树中可能出现了新的url,因此,可以将第一节点的正则表达式合并至第二节点的正则表达式中。
[0131]
其中,关于正则表达式的合并以及包含关系的判断可以参见现有技术中的已有处理方式,本实施例中对此不作赘述。
[0132]
请参阅图7,为本技术实施例提供的电子设备的示例性组件示意图,该电子设备可为上述的服务器或网关设备。该电子设备可包括存储介质110、处理器120、基于url模式树的防御装置130及通信接口140。本实施例中,存储介质110与处理器120均位于电子设备中且二者分离设置。然而,应当理解的是,存储介质110也可以是独立于电子设备之外,且可以由处理器120通过总线接口来访问。可替换地,存储介质110也可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。
[0133]
基于url模式树的防御装置130可以理解为上述电子设备,或电子设备的处理器120,也可以理解为独立于上述电子设备或处理器120之外的在电子设备控制下实现上述基于url模式树的防御方法的软件功能模块。
[0134]
如图8所示,上述基于url模式树的防御装置130可以包括响应模块131、匹配模块132和防御模块133。下面分别对该基于url模式树的防御装置130的各个功能模块的功能进行详细阐述。
[0135]
响应模块131,用于响应于对目标域名的访问请求,并获取所述访问请求中携带的所请求的url。
[0136]
可以理解,该响应模块131可以用于执行上述步骤s110,关于该响应模块131的详细实现方式可以参照上述对步骤s110有关的内容。
[0137]
匹配模块132,用于将所述url与预设的正则表达式集合中的各正则表达式进行匹配,其中,所述正则表达式集合为通过遍历由所述目标域名对应的url数据构建的url模式树所获得。
[0138]
可以理解,该匹配模块132可以用于执行上述步骤s120,关于该匹配模块132的详细实现方式可以参照上述对步骤s120有关的内容。
[0139]
防御模块133,用于在所述url未能与所述正则表达式集合中的任意一个正则表达式匹配,对所述访问请求进行拦截。
[0140]
可以理解,该防御模块133可以用于执行上述步骤s130,关于该防御模块133的详细实现方式可以参照上述对步骤s130有关的内容。
[0141]
在一种可能的实现方式中,所述防御装置还包括用于预先构建所述url模式树的构建模块,该构建模块具体可以用于:
[0142]
采集历史时段内所述目标域名的多条url数据;
[0143]
按预设规则对每条所述url数据进行处理,得到对应的键值对;
[0144]
根据每条url数据对应的键值对,构建包含多个节点的url模式树。
[0145]
在一种可能的实现方式中,各所述节点具有定义信息,所述定义信息包括所述节点对应的键、所述键对应的值、所述键对应的值出现的频数、所述节点是否可作为结束节点的标识。
[0146]
在一种可能的实现方式中,上述构建模块具体可以用于:
[0147]
从url模式树的根节点开始,在基于各节点进行子树构建时,统计具有相同指定键的多个节点各自在所述指定键下的值的频数;
[0148]
针对频数大于或等于设定频数的节点,基于所述节点继续进行子树的构建;
[0149]
针对频数小于所述设定频数的至少两个节点,基于所述至少两个节点在所述指定键下的值进行合并正则化,并基于合并正则化后得到的节点继续进行子树的构建;
[0150]
直至设置的所有指定键下的节点均构建完成,得到所述url模式树。
[0151]
在一种可能的实现方式中,所述防御装置还包括用于对所述url模式树进行更新的更新模块,该更新模块具体可以用于:
[0152]
采集更新时段内所述目标域名的多条url数据,并基于该多条url数据构建得到更新url模式树,其中,所述更新时段在时间轴上处于所述历史时段之后;
[0153]
将所述更新url模式树与所述url模式树进行比对,以基于所述更新url模式树中包含的节点信息对所述url模式树进行更新。
[0154]
在一种可能的实现方式中,上述更新模块具体可以用于:
[0155]
对所述更新url模式树和url模式树进行同步遍历递归,对于遍历到的所述更新url模式树中的第一节点和url模式树中的第二节点,若所述第一节点对应的键小于所述第二节点对应的键,则将所述第一节点插入到所述url模式树的第二节点之后;
[0156]
若所述第一节点对应的键等于所述第二节点的键,则将所述第一节点合并至所述url模式树的第二节点;
[0157]
若所述第一节点对应的键大于所述第二节点的键,则不作处理并继续遍历至下一级节点。
[0158]
在一种可能的实现方式中,上述更新模块可以用于通过以下方式将第一节点合并至第二节点:
[0159]
若所述第一节点和第二节点未进行合并正则化处理,则将所述第一节点的键对应的值合并至所述url模式树的第二节点的值中;
[0160]
若所述第一节点和第二节点为合并正则化处理后的节点,则在所述第一节点的正则表达式包含所述第二节点的正则表达式时,将所述第二节点的正则表达式替换为所述第一节点的正则表达式,在所述第一节点的正则表达式与所述第二节点的正则表达式存在交集时,将所述第一节点的正则表达式合并至所述第二节点的正则表达式中。
[0161]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0162]
进一步地,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有机器可执行指令,机器可执行指令被执行时实现上述实施例提供的基于url模式树的防御方法。
[0163]
具体地,该计算机可读存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该计算机可读存储介质上的计算机程序被运行时,能够执行上述基于url模式树的防御方法。关于计算机可读存储介质中的及其可执行指令被运行时,所涉及的过程,可以参照上述方法实施例中的相关说明,这里不再详述。
[0164]
综上所述,本技术实施例提供的一种基于url模式树的防御方法、装置、电子设备
和可读存储介质,通过响应目标域名的访问请求,以获取访问请求中携带的所请求的url,将url与预设的正则表达式集合中的各正则表达式进行匹配,其中,正则表达式集合为通过遍历由目标域名对应的url数据构建的url模式树所获得。若url未能与正则表达式中的任意一个正则表达式匹配,则对访问请求进行拦截。本方案,通过预先针对目标域名进行url模式树构建的方式获得正则表达式集合,进而通过正则表达式匹配的方式实现防御拦截,基于url模式树的树结构可体现域名的业务逻辑,无需在了解域名业务逻辑的基础上通过人工设置正则表达式,在效率及自动化程度上均可达到较优效果。
[0165]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1