一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种目录猜测识别方法、装置及电子设备与流程

2022-06-01 16:42:44 来源:中国专利 TAG:


1.本技术涉及网络安全技术领域,特别是涉及一种目录猜测识别方法、装置及电子设备。


背景技术:

2.随着互联网的发展,越来越多的企业、机构等将自己的网站开放到互联网上。同样的,各种类型的网站攻击也越来越多地出现在互联网上,比如恶意请求。在各种各样的恶意请求中,有一种恶意请求通过现有统一资源定位器(uniform resource locator,url)猜测访问该网站的其他url,这就是目录猜测。而目录猜测本身与正常访问请求之间的差别不大,因而难以识别。
3.现有技术则对目录猜测进行识别的准确性较低。比如,现有技术在进行目录猜测识别时,通过判定访问请求试错次数是否超过阈值来判断访问请求是否为目录猜测,这种方式存在对人工目录猜测漏识别的现象,因为以人工的方式进行目录猜测时,人员可以结合自身储备的知识和经验对每次访问结果进行判断,进而选择下一次访问请求对应的url,使得试错次数可能小于阈值,进而导致目录猜测漏识别。又比如,现有技术在进行目录猜测识别时,通过判断是否存在预设行为来判断访问请求是否为目录猜测,一旦存在预设行为,即将访问请求判定为目录猜测,其中,预设行为包括修改url中的参数,例如id号或者访问url对应的父目录或者子目录等,这种方式通常存在误识别现象,容易将手动输入url时存在的行为判定为目录猜测行为。


技术实现要素:

4.本技术提供了一种目录猜测防止方法、装置及电子设备,从多个维度对用户端的多次访问请求进行访问评估,可以避免目录猜测漏识别和误识别等现象,提高目录猜测识别的准确性。
5.第一方面,本技术提供了一种目录猜测识别方法,所述方法包括:
6.获取当前用户端对应的多次访问请求;
7.根据各个评估维度对应的评估规则对所述多次访问请求进行访问评估,得到各个评估维度对应的评估分数,其中,所述各个维度至少包括预设代码次数、统一资源定位器url相似度值、访问请求频率、预设响应码连续次数、目标请求之间的间隔次数以及指定url对应的请求次数中的任意一种;
8.对各个评估分数进行计算,得到综合评估分数;
9.在所述评估分数大于预设阈值时,确定所述多次访问请求对应的访问行为为目录猜测。
10.通过上述方法,从多个维度对用户端的多次访问请求进行访问评估,充分考虑目录猜测对应的各种访问请求行为,可以避免目录猜测漏识别和误识别等现象,提高目录猜测识别的准确性。
11.在一种可能的设计中,所述根据各个评估维度对应的评估规则对所述多次访问请求进行访问评估,得到各个评估维度对应的评估分数,包括:
12.根据所述多次访问请求对应的响应码中出现预设响应码的次数,计算所述多次访问请求对应的第一评估分数;和/或
13.根据所述多次访问请求中的各个目标请求分别对应url中第一元素的个数值与第二元素的个数值之间的比值,计算所述多次访问请求对应的第二评估分数,其中,所述第二元素为将各个目标请求对应的各个url中的元素取并集后得到;和/或
14.根据所述多次访问请求中的m次访问请求对应的一个请求频率,计算所述多次访问请求对应的第三评估分数,其中,m为大于或等于1的整数;和/或
15.根据所述多次访问请求对应的响应码中连续出现预设响应码的次数,计算所述多次访问请求对应的第四评估分数;和/或
16.根据所述多次访问请求中的各个目标请求之间的间隔次数,计算所述多次访问请求对应的第五评估分数,其中,各个目标请求对应的各个url之间互为父子目录;和/或
17.根据所述多次访问请求中各个指定url分别对应的请求次数,计算所述多次访问请求对应的第六评估分数,其中,一个所述指定url对应的各个响应码中包含一个目标响应码以及至少一个非目标响应码。
18.通过上述方法,从六个维度对用户端对应的访问请求进行评估,充分考虑了多种恶意请求对应的具体场景,比如出现预设响应码的频率过高、近几次访问请求对应的url相似度过高、自动猜测、请求父目录或者子目录、恶意读写等行为,同时,也考虑了用户端正常请求设计中的偶尔人工输入或者由于网页缺失导致的疑似目录猜测行为,进而提高目录猜测行为进行识别的准确性。
19.在一种可能的设计中,所述根据所述多次访问请求对应的响应码中出现预设响应码的次数,计算所述多次访问请求对应的第一评估分数,包括:
20.对所述多次访问请求进行采样,得到n个采样区间,其中,n为大于或等于1的整数;
21.确定各个采样区间分别出现预设响应码的频率,并对各个频率分别设置权重值;
22.根据各个频率以及各个权重值,计算得到第一评估分数。
23.通过上述方法,根据多次访问请求分别对应的各个响应码中出现预设响应码的次数,对该多次访问请求对应的访问行为进行评分,即考虑了目录猜测对应的实际场景,又基于权重值考虑了网页设计不当导致的疑似目录猜测行为,进而提高对目录猜测行为进行识别的准确性。
24.在一种可能的设计中,所述根据所述多次访问请求中各个采样区间分别对应的相似度值,计算所述多次访问请求对应的第二评估分数,包括:
25.对所述多个访问请求进行采样,得到r个采样区间,其中,r为大于或等于1的整数;
26.确定每个采样区间对应的各个目标url,并计算各个目标url之间的相似度值;
27.对每个采样区间分别对应的相似度值设置权重值;
28.根据各个相似度值和各个权重值,计算所述多次访问请求对应的第二评估分数。
29.通过上述方法,根据多次访问请求中近几次访问请求分别对应的各个url之间的相似度值,对多次访问请求对应的访问行为进行访问评分,考虑了目录猜测对应的各个访问请求之间可能存在url相似度较高这一实际场景,提高目录猜测识别的准确性。
30.在一种可能的设计中,所述根据所述多次访问请求中的m次访问请求对应的一个请求频率,计算所述多次访问请求对应的第三评估分数,包括:
31.获取所述m次访问请求对应的一个请求频率,以及获取平均请求频率,其中,所述平均请求频率为根据所有用户端历史访问请求频率得到;
32.计算所述m次访问请求中各个访问请求之间的间隔时间,并根据得到的所有间隔时间计算出方差值;
33.根据所述请求频率、所述平均请求频率以及所述方差值,计算所述多次访问请求对应的第三评估分数。
34.通过上述方法,根据进几次访问请求对应的请求频率对访问请求对应的访问行为进行评估,进而有效识别通过自动脚本进行访问请求的目录猜测,提高目录识别准确性。
35.在一种可能的设计中,所述根据所述多次访问请求对应的响应码中连续出现预设响应码的次数,计算所述多次访问请求对应的第四评估分数,包括:
36.确定所述多次访问请求对应的响应码中连续出现预设响应码的第一次数;
37.分别获取各个用户端历史访问请求对应的响应码中连续出现所述预设响应码的第二次数,并计算各个第二次数对应的平均值;
38.根据所述第一次数和所述平均值,计算所述多次访问请求对应的第四评估分数。
39.通过上述方法,根据多次访问请求对应的响应码中连续出现预设响应码的次数,对访问请求对应的访问行为进行评估,考虑了目录猜测可能存在连续多次出现预设响应码的实际场景,同时基于历史访问记录考虑了网站设计不当导致的疑似目录猜测行为,提高目录猜测识别的准确性。
40.在一种可能的设计中,所述根据所述多次访问请求中的各个目标请求之间的间隔次数,计算所述多次访问请求对应的第五评估分数,包括:
41.在所述多次访问请求对应的各个响应码中确定出各个预设响应码;
42.在所述各个预设响应码中确定出第一响应码,其中,所述第一响应码对应的url为第二响应码对应url的子目录或者父目录,所述第二响应码为各个响应码中的非预设响应码,并且所述第二响应码对应的访问请求时间在所述第一响应码对应的访问请求时间之前;
43.计算所述第一响应码对应的访问请求与所述第二响应码对应的访问请求之间的间隔次数;
44.根据各个间隔次数,计算所述多次访问请求对应的第五评估分数。
45.通过上述方法,根据当前预设响应码对应的url与当前响应码之前各个非预设响应码对应的各个url之间是否存在父子目录关系,对访问请求对应的访问行为进行评估,充分考虑了利用父目录或者子目录进行目录猜测的实际场景,提高目录猜测的准确性。
46.在一种可能的设计中,所述根据所述多次访问请求中各个指定url分别对应的请求次数,计算所述多次访问请求对应的第六评估分数,包括:
47.在所述多次访问请求对应的各个响应码中确定出各个相同的目标相应码,其中,所述目标响应码对应的url与第三响应码对应的url为同一url,所述第三响应码为所述各个响应码中的非目标响应码,并且所述第三响应码对应的访问请求时间在所述目标响应码对应的访问请求时间之前;
48.记录各个同一url对应的请求次数;
49.根据各个请求次数,计算所述多次访问请求对应的第六评估分数。通过上述方法,对访问同一url并出现目标响应码的访问行为进行评分,进而考虑了目录猜测可能存在的恶意读写行为,提高目录猜测识别的准确性。
50.第二方面,本技术提供了一种目录猜测识别装置,所述装置包括:
51.获取模块,用于获取当前用户端对应的多次访问请求;
52.评估模块,用于根据各个评估维度对应的评估规则对所述多次访问请求进行访问评估,得到各个评估维度对应的评估分数,其中,所述各个维度至少包括预设代码次数、统一资源定位器url相似度值、访问请求频率、预设响应码连续次数、目标请求之间的间隔次数以及指定url对应的请求次数中的任意一种;
53.计算模块,用于对各个评估分数进行计算,得到综合评估分数;
54.确定模块,用于在所述评估分数大于预设阈值时,确定所述多次访问请求对应的访问行为为目录猜测。
55.在一种可能的设计中,所述评估模块具体用于:
56.根据所述多次访问请求对应的响应码中出现预设响应码的次数,计算所述多次访问请求对应的第一评估分数;和/或
57.根据所述多次访问请求中的各个目标请求分别对应url中第一元素的个数值与第二元素的个数值之间的比值,计算所述多次访问请求对应的第二评估分数,其中,所述第二元素为将各个目标请求对应的各个url中的元素取并集后得到;和/或
58.根据所述多次访问请求中的m次访问请求对应的一个请求频率,计算所述多次访问请求对应的第三评估分数,其中,m为大于或等于1的整数;和/或
59.根据所述多次访问请求对应的响应码中连续出现预设响应码的次数,计算所述多次访问请求对应的第四评估分数;和/或
60.根据所述多次访问请求中的各个目标请求之间的间隔次数,计算所述多次访问请求对应的第五评估分数,其中,各个目标请求对应的各个url之间互为父子目录;和/或
61.根据所述多次访问请求中各个指定url分别对应的请求次数,计算所述多次访问请求对应的第六评估分数,其中,一个所述指定url对应的各个响应码中包含一个目标响应码以及至少一个非目标响应码。
62.在一种可能的设计中,所述评估模块还用于:
63.对所述多次访问请求进行采样,得到n个采样区间,其中,n为大于或等于1的整数;
64.确定各个采样区间分别出现预设响应码的频率,并对各个频率分别设置权重值;
65.根据各个频率以及各个权重值,计算得到第一评估分数。
66.在一种可能的设计中,所述评估模块还用于:
67.对所述多个访问请求进行采样,得到r个采样区间,其中,r为大于或等于1的整数;
68.确定每个采样区间对应的各个目标url,并计算各个目标url之间的相似度值;
69.对每个采样区间分别对应的相似度值设置权重值;
70.根据各个相似度值和各个权重值,计算所述多次访问请求对应的第二评估分数。
71.在一种可能的设计中,所述评估模块还用于:
72.获取所述m次访问请求对应的一个请求频率,以及获取平均请求频率,其中,所述
平均请求频率为根据所有用户端历史访问请求频率得到;
73.计算所述m次访问请求中各个访问请求之间的间隔时间,并根据得到的所有间隔时间计算出方差值;
74.根据所述请求频率、所述平均请求频率以及所述方差值,计算所述多次访问请求对应的第三评估分数。
75.在一种可能的设计中,所述评估模块还用于:
76.确定所述多次访问请求对应的响应码中连续出现预设响应码的第一次数;
77.分别获取各个用户端历史访问请求对应的响应码中连续出现所述预设响应码的第二次数,并计算各个第二次数对应的平均值;
78.根据所述第一次数和所述平均值,计算所述多次访问请求对应的第四评估分数。
79.在一种可能的设计中,所述评估模块还用于:
80.在所述多次访问请求对应的各个响应码中确定出各个预设响应码;
81.在所述各个预设响应码中确定出第一响应码,其中,所述第一响应码对应的url为第二响应码对应url的子目录或者父目录,所述第二响应码为各个响应码中的非预设响应码,并且所述第二响应码对应的访问请求时间在所述第一响应码对应的访问请求时间之前;
82.计算所述第一响应码对应的访问请求与所述第二响应码对应的访问请求之间的间隔次数;
83.根据各个间隔次数,计算所述多次访问请求对应的第五评估分数。在一种可能的设计中,所述评估模块还用于:
84.在所述多次访问请求对应的各个响应码中确定出各个相同的目标相应码,其中,所述目标响应码对应的url与第三响应码对应的url为同一url,所述第三响应码为所述各个响应码中的非目标响应码,并且所述第三响应码对应的访问请求时间在所述目标响应码对应的访问请求时间之前;
85.记录各个同一url对应的请求次数;
86.根据各个请求次数,计算所述多次访问请求对应的第六评估分数。第三方面,本技术提供了一种电子设备,包括:
87.存储器,用于存放计算机程序;
88.处理器,用于执行所述存储器上所存放的计算机程序时,实现上述目录猜测防止方法步骤。
89.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述目录猜测防止方法步骤。
90.基于上述目录猜测识别方法,从多个维度对用户端的多次访问请求进行访问评估,充分考虑目录猜测对应的各种访问请求行为,可以避免目录猜测漏识别和误识别等现象,提高目录猜测识别的准确性。
91.上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果参照上述针对第一方面或者第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
92.图1为本技术提供的一种目录猜测识别方法的流程图;
93.图2为本技术提供的一种目录猜测识别装置的结构示意图;
94.图3为本技术提供的一种电子设备结构示意图。
具体实施方式
95.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本技术的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。a与b连接,可以表示:a与b直接连接和a与b通过c连接这两种情况。另外,在本技术的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
96.下面结合附图,对本技术实施例进行详细描述。
97.在各种各样的恶意请求中,有一种恶意请求通过现有url猜测访问该网站的其他url,这就是目录猜测。而目录猜测本身与正常访问请求之间的差别不大,因而难以识别,并且现有技术则对目录猜测进行识别的准确性较低,存在漏识别和误识别等现象。
98.为了解决上述问题,本技术提供了一种目录猜测识别方法,从多个维度对用户端对应的多次访问请求进行访问评估,充分考虑目录猜测对应的各种实际场景,避免目录猜测漏识别和误识别等现象,提高目录猜测识别的准确性。其中,本技术实施例所述方法和装置基于同一技术构思,由于方法及装置所解决问题的原理相似,因此装置与方法的实施例可以相互参见,重复之处不再赘述。
99.如图1所示,为本技术提供的一种目录猜测防止方法的流程图,具体包括如下步骤:
100.s11,获取当前用户端对应的多次访问请求;
101.s12,根据各个评估维度对应的评估规则对多次访问请求进行访问评估,得到各个评估维度对应的评估分数;
102.s13,对各个评估分数进行计算,得到综合评估分数;
103.s14,在评估分数大于预设阈值时,确定多次访问请求对应的访问行为为目录猜测。
104.在本技术实施例中,基于用户端对应的多次访问请求,对用户端的访问行为进行评估,进而确定用户端是否在进行目录猜测。其中,对用户端的访问行为进行评估是基于各个维度对应的评估规则来完成的,各个维度至少包括预设代码次数、统一资源定位器url相似度值、访问请求频率、预设响应码连续次数、目标请求之间的间隔次数以及指定url对应的请求次数中的任意一种,充分考虑目录猜测对应的各种实际场景,可以避免目录猜测漏识别和误识别等现象,提高目录猜测识别的准确性。
105.在上述过程中,通过各个维度对应的评估规则对用户端对应的多次访问请求进行评估,具体包括:
106.第一维度,根据多次访问请求对应的响应码中出现预设响应码的次数,计算多次
访问请求对应的第一评估分数。
107.在本技术实施例中,预设响应码为页面请求中的响应码400-409,表明页面资源不可访问。具体来讲,401表示需要鉴权,403表示拒绝访问,404表示资源不存在,405表示请求方法不支持等。虽然在正常访问过程中也可能因为网页设计不当的原因出现上述预设响应码,但是在一定的时间段内出现的次数通常不会太高。因此,对多数网站而言,高频出现预设响应码一般可以认为用户端在进行恶意访问,即目录猜测。
108.此外,各个时间段的访问请求对应的响应码中出现预设响应码的频率对目录猜测评估的影响不一样,其中,频率为预设响应码的次数与该预设响应码对应的时间段中包含的访问请求总次数之间的比值,例如近4次访问请求中出现1次预设响应码,那么频率就为0.25,近16次中出现预设访问吗的次数为8次,那么频率为0.5。通常来讲,近4次访问请求中出现预设响应码的频率比近16次访问请求中出现预设响应码的频率更能反映该目录猜测的可能性,同理,近16次访问请求中出现预设响应码的频率比近64次访问中出现预设响应码的频率更能反映出目录猜测的可能性。
109.基于上述原因,本技术实施例中,对用户端对应的多次访问请求进行采样,得到n个采样区间,其中,n为大于或等于1的整数,然后确定各个采样区间分别出现预设响应码的频率,并对各个频率分别设置权重值,最后根据各个频率以及各个权重值,计算得到第一评估分数。
110.举例来讲,可以设定[1,2
2n
]为第n个采样区间,每个区间的权值为1/2n,如近[1,4]次请求为第一个采样区间,权值为0.5,频率为f1;近[1,16]次请求为第二个采样区间,权值为0.25,频率为f2;近[1,64]为第三个采样区间,权值为0.125,频率为f3,近[1,2
2n
]为第n个采样区间,权值为1/2n,频率为fn。最终,根据各个频率及各个权重值计算得到的第一评估分数为:
[0111][0112]
在公式(1)中,c
frequency
表示第一评估分数,k的取值可以为5,也可以为其他数值,此处不做具体限定。
[0113]
通过上述方法,根据多次访问请求分别对应的各个响应码中出现预设响应码的次数,对该多次访问请求对应的访问行为进行评分,既考虑了目录猜测对应的实际场景,又基于权重值考虑了网页设计不当导致的疑似目录猜测行为,进而提高对目录猜测行为进行识别的准确性。
[0114]
第二维度,根据多次访问请求中各个采样区间分别对应的相似度值,计算多次访问请求对应的第二评估分数。
[0115]
在本技术实施例中,若各个预设响应码对应的url相似度较高,表示用户端存在对某一url进行针对性猜测的可能性,即目录猜测。因此,为了识别这种目录猜测行为,可以对用户端对应的多个访问请求进行采样,得到r个采样区间,其中,r为大于或等于1的整数,比如将多次访问请求中的1~2
2n
访问请求设定为第n个采样区间。
[0116]
进一步,确定每个采样区间对应的各个目标url,具体确定方法为:获取每个采样区间对应的各个访问请求,并确定各个访问请求分别对应的响应码,然后在各个响应码中确定出目标响应码,其中,目标响应码为400-499之间任一响应码,然后将各个目标响应码
分别对应的url作为目标url。
[0117]
进一步,计算各个目标url之间的相似度值,具体计算方法可以是:首先将各个目标url分解成路径部分和参数部分,若目标url为:“/index/menu/picture/?content=xx&msg=bb”,则可将url拆分为[“index”,“menu”,“picture”,“content=xx”,“msg=bb”]这几个元素。然后计算每个目标url中的元素个数与所有目标url中的元素取并集后的元素个数之间的比值,并将每个目标url对应的比值取平均数,得到各个目标url之间的相似度值。比如,当前采样区间对应的4个目标url分解进行拆分后,得到a、b、c、d四个拆分后的集合,然后计算每个集合的元素个数与四个集合取并集后的元素个数之间的比值,并取四个比例的平均数,可得这四个目标url之间的相似度值为:
[0118][0119]
进一步,对每个采样区间分别对应的相似度值设置权重值,根据各个相似度值和各个权重值,计算多次访问请求对应的第二评估分数。比如,将采样区间[1,2
2n
]设置的权重值为1/2n,那么可以计算得到第二评估分数为:
[0120][0121]
在公式(3)中,c
similar
表示第二评估分数,sn表示第n个采样区间对应的各个目标url之间的相似度值。一般情况下,u值取3即可,当然也可以根据实际情况调整u值,此处不做具体限定。
[0122]
通过上述方法,根据多次访问请求中近几次访问请求分别对应的各个url之间的相似度值,对多次访问请求对应的访问行为进行访问评分,考虑了目录猜测对应的各个访问请求之间可能存在url相似度较高这一实际场景,提高目录猜测识别的准确性。
[0123]
第三维度,根据多次访问请求中的m次访问请求对应的一个请求频率,计算多次访问请求对应的第三评估分数,其中,m为大于或等于1的整数。
[0124]
在本技术实施例中,可以根据用户端对应m次访问请求的频率来判断用户端对应的访问请求是否为自动脚本对应的访问请求。具体来讲,首先在服务器历史数据中获取所有用户端对应历史访问请求的平均请求频率,记为f1。在当前用户端对应访问请求的请求频率为平均请求频率的w倍时,初步判断当前用户端对应的访问请求为自动脚本对应的访问请求,即当前用户端对应的访问请求行为为目录猜测,其中,w的取值可以为2,当然,也可以根据实际情况调整。在当前用户端对应访问请求的请求频率小于平均请求频率的w倍时,初步判断当前用户端对应的访问请求行为为正常请求,此时,当前用户端对应访问请求的请求频率取值为f2=w
·
f1。
[0125]
其次,计算m次访问请求中各个访问请求之间的间隔时间,当各个访问请求之间的间隔时间相同或者各个间隔时间之间的差值在预设范围之内时,可以初步判断当前用户端对应的访问请求为自动脚本对应的访问请求。若m次访问请求中第(i 1)次访问请求与第i次访问请求之间的间隔时间为ti,t表示各个间隔时间的平均时长,那么,进一步可以计算出各个间隔时间对应的方差值为:
[0126][0127]
在公式(4)中,σ表示方差,(m-1)表示各个间隔时间的总个数值。
[0128]
最后,根据上述请求频率、平均请求频率以及方差值,计算用户端多次访问请求对应的第三评估分数,具体计算公式为:
[0129][0130]
在公式(5)中,c
auto
表示第三评估分数,e为自然底数。
[0131]
通过上述方法,根据进几次访问请求对应的请求频率对访问请求对应的访问行为进行评估,进而有效识别通过自动脚本进行访问请求的目录猜测,提高目录识别准确性。
[0132]
第四维度,根据多次访问请求对应的响应码中连续出现预设响应码的次数,计算多次访问请求对应的第四评估分数。具体计算方法包括:确定多次访问请求对应的响应码中连续出现预设响应码的第一次数;分别获取各个用户端历史访问请求对应的响应码中连续出现所述预设响应码的第二次数,并计算各个第二次数对应的平均值;根据第一次数和平均值,计算多次访问请求对应的第四评估分数,具体计算公式为:
[0133][0134]
在公式(6)中,c
continue
表示第四评估分数,a表示第一次数,b为平均值,通过双曲线正切函数在定义域为[0, ∞)时的值域为[0,1),将第四评估分数的取值范围限制在[0,1)。又因为双曲线正切函数在(0,3)时变化很快,为了减小变化速度,将自变量除以3。
[0135]
通过上述方法,根据多次访问请求对应的响应码中连续出现预设响应码的次数,对访问请求对应的访问行为进行评估,既考虑了目录猜测可能存在连续多次出现预设响应码的实际场景,同时也基于历史访问记录考虑了网站设计不当导致的疑似目录猜测行为,提高目录猜测识别的准确性。
[0136]
第五维度,根据所述多次访问请求中的各个目标请求之间的间隔次数,计算所述多次访问请求对应的第五评估分数,其中,各个目标请求对应的各个url之间互为父子目录。
[0137]
在本技术实施例中,已知一个url,猜测该url的子目录或者父目录,为层级猜测。例如,url:“/index/menu/picture/?content=xx&msg=bb”,其父目录为“/index/menu/”,其子目录可能为“/index/menu/picture/picture1”,基于层级猜测行为,可以对多次访问请求进行访问评估,具体评估方法包括:
[0138]
在所述多次访问请求对应的各个响应码中确定出各个预设响应码;
[0139]
在各个预设响应码中确定出第一响应码,其中,第一响应码对应的url为第二响应码对应url的子目录或者父目录,第二响应码为各个响应码中的非预设响应码,并且第二响应码对应的访问请求时间在第一响应码对应的访问请求时间之前;
[0140]
计算第一响应码对应的访问请求与所述第二响应码对应访问请求之间的间隔次数,并根据各个间隔次数,计算多次访问请求对应的第五评估分数。
[0141]
在上述过程中,所述多次访问请求可以是近1024次访问请求,分别将每次访问请
求按照时间顺序进行标号,标号范围为[1,1024]。然后判断每次访问请求对应的响应码是否为400-499之一,若是,则获取当前访问请求对应的第一url,并进一步确定在当前访问请求之前的所有正常访问请求对应的url中是否存在第一url的父目录或者子目录,若存在父目录或者子目录,则将当前响应码记录为第一响应码,并将第一url的父目录或者子目录对应的响应码记录为第一响应码对应的第二响应码。
[0142]
在确定出第一响应码以及第二响应码以后,进一步,根据标号计算第一响应码对应的访问请求与第二响应码对应的访问请求之间的间隔次数,若某一个第一响应码同时对应多个第二响应码,则计算第一响应码与每一个第二响应码之间的间隔次数,并取各个间隔次数之间的最小值。比如,第一响应码对应的访问请求标号为x,第一访问请求对应的两个第二响应码,并且两个第二响应码对应的访问请求标号分别为y和z,则记录x和y以及x和z之间的间隔次数,并计算两个间隔次数之间的最小值b=min(|x-y|,|x-z|)。
[0143]
在上述示例中,若共有j个第一响应码,则可以计算出第五评估分数为:
[0144][0145]
在公式(7)中,bj表示第j个第一响应码对应的最小值,j的取值为大于或等于1的整数。由于b的取值越大,说明层级猜测的可能性越小,故取其倒数,然后对所有第一响应码对应的b值取倒数后做累加,进一步,利用反正切函数最大值为的特点来限制评分值,使得评分值在(0,1)区间。
[0146]
通过上述方法,根据当前预设响应码对应的url与当前响应码之前各个非预设响应码对应的各个url之间是否存在父子目录关系,对访问请求对应的访问行为进行评估,充分考虑了利用父目录或者子目录进行目录猜测的实际场景,提高目录猜测的准确性。
[0147]
第六维度,根据所述多次访问请求中各个指定url分别对应的请求次数,计算多次访问请求对应的第六评估分数。其中,确定出第六评估分数的具体方法包括:
[0148]
在多次访问请求对应的各个响应码中确定出各个相同的目标相应码,其中,目标响应码对应的url与第三响应码对应的url为同一url,第三响应码为各个响应码中的非目标响应码,并且第三响应码对应的访问请求时间在目标响应码对应的访问请求时间之前,然后记录各个同一url对应的请求次数,并根据各个请求次数,计算多次访问请求对应的第六评估分数。
[0149]
在本技术实施例中,各个相同的目标响应码可以是405,表示用户端请求访问的url虽然存在,但是不支持用户端所采用的访问方法,比如,有些url只能支持读取,但是不能支持删除功能。若某一响应码405对应的url与第三响应码对应同一url,并且第三响应码对应的访问请求时间在该405响应码对应的访问请求时间之前,则记录同一url对应的请求次数m,其中,同一url即为指定url,m表示该响应码405和各个第三响应码总个数之和。最后,根据各个请求次数,计算多次访问请求对应的第六评估分数,具体计算公式为:
[0150][0151]
在公式(8)中,h为用户端对应的多次访问请求的总访问次数,m
p
表示同一url对应
的请求次数。
[0152]
通过上述方法,对访问同一url并出现目标响应码的访问行为进行评分,进而考虑了目录猜测可能存在的恶意读写行为,提高目录猜测识别的准确性。
[0153]
综合上述六个维度所阐述的评估方法,从六个维度对用户端对应的访问请求进行评估,充分考虑了多种恶意请求对应的具体场景,比如出现预设响应码的频率过高、近几次访问请求对应的url相似度过高、自动猜测、请求父目录或者子目录、恶意读写等行为,同时,也考虑了用户端正常请求设计中的偶尔人工输入或者由于网页缺失导致的疑似目录猜测行为,进而提高目录猜测行为进行识别的准确性。当然,还可以根据实际情况增加其他评估维度,在本技术实施例中,评估维度的数量不做限制。
[0154]
在得到各个维度对应的评估分数以后,进一步,对各个评估分数分别设置不同的权重值,并计算综合评估分数,具体计算公式为:
[0155][0156]
在公式(9)中,w1~w6为六个评估维度分别对应的权重值,c为综合评估分数。
[0157]
进一步,判断综合评估分数是否大于预设阈值时,若是,则确定用户端对应的多次访问请求行为为目录猜测,进而拒绝响应当前用户端对应的各个访问请求。
[0158]
通过上述目录猜测识别方法,从多个维度对用户端的多次访问请求进行访问评估,充分考虑目录猜测对应的各种访问请求行为,可以避免目录猜测漏识别和误识别等现象,提高目录猜测识别的准确性。
[0159]
基于同一发明构思,本技术实施例中还提供了一种目录猜测识别装置,如图2所示,为本技术中一种目录猜测识别装置的结构示意图,该装置包括:
[0160]
获取模块21,用于获取当前用户端对应的多次访问请求;
[0161]
评估模块22,用于根据各个评估维度对应的评估规则对所述多次访问请求进行访问评估,得到各个评估维度对应的评估分数,其中,所述各个维度至少包括预设代码次数、统一资源定位器url相似度值、访问请求频率、预设响应码连续次数、目标请求之间的间隔次数以及指定url对应的请求次数中的任意一种;
[0162]
计算模块23,用于对各个评估分数进行计算,得到综合评估分数;
[0163]
确定模块24,用于在所述评估分数大于预设阈值时,确定所述多次访问请求对应的访问行为为目录猜测。
[0164]
在一种可能的设计中,所述评估模块22具体用于:
[0165]
根据所述多次访问请求对应的响应码中出现预设响应码的次数,计算所述多次访问请求对应的第一评估分数;和/或
[0166]
根据所述多次访问请求中的各个目标请求分别对应url中第一元素的个数值与第二元素的个数值之间的比值,计算所述多次访问请求对应的第二评估分数,其中,所述第二元素为将各个目标请求对应的各个url中的元素取并集后得到;和/或
[0167]
根据所述多次访问请求中的m次访问请求对应的一个请求频率,计算所述多次访问请求对应的第三评估分数,其中,m为大于或等于1的整数;和/或
[0168]
根据所述多次访问请求对应的响应码中连续出现预设响应码的次数,计算所述多次访问请求对应的第四评估分数;和/或
[0169]
根据所述多次访问请求中的各个目标请求之间的间隔次数,计算所述多次访问请求对应的第五评估分数,其中,各个目标请求对应的各个url之间互为父子目录;和/或
[0170]
根据所述多次访问请求中各个指定url分别对应的请求次数,计算所述多次访问请求对应的第六评估分数,其中,一个所述指定url对应的各个响应码中包含一个目标响应码以及至少一个非目标响应码。
[0171]
在一种可能的设计中,所述评估模块22还用于:
[0172]
对所述多次访问请求进行采样,得到n个采样区间,其中,n为大于或等于1的整数;
[0173]
确定各个采样区间分别出现预设响应码的频率,并对各个频率分别设置权重值;
[0174]
根据各个频率以及各个权重值,计算得到第一评估分数。
[0175]
在一种可能的设计中,所述评估模块22还用于:
[0176]
对所述多个访问请求进行采样,得到r个采样区间,其中,r为大于或等于1的整数;
[0177]
确定每个采样区间对应的各个目标url,并计算各个目标url之间的相似度值;
[0178]
对每个采样区间分别对应的相似度值设置权重值;
[0179]
根据各个相似度值和各个权重值,计算所述多次访问请求对应的第二评估分数。
[0180]
在一种可能的设计中,所述评估模块22还用于:
[0181]
获取所述m次访问请求对应的一个请求频率,以及获取平均请求频率,其中,所述平均请求频率为根据所有用户端历史访问请求频率得到;
[0182]
计算所述m次访问请求中各个访问请求之间的间隔时间,并根据得到的所有间隔时间计算出方差值;
[0183]
根据所述请求频率、所述平均请求频率以及所述方差值,计算所述多次访问请求对应的第三评估分数。
[0184]
在一种可能的设计中,所述评估模块22还用于:
[0185]
确定所述多次访问请求对应的响应码中连续出现预设响应码的第一次数;
[0186]
分别获取各个用户端历史访问请求对应的响应码中连续出现所述预设响应码的第二次数,并计算各个第二次数对应的平均值;
[0187]
根据所述第一次数和所述平均值,计算所述多次访问请求对应的第四评估分数。
[0188]
在一种可能的设计中,所述评估模块22还用于:
[0189]
在所述多次访问请求对应的各个响应码中确定出各个预设响应码;
[0190]
在所述各个预设响应码中确定出第一响应码,其中,所述第一响应码对应的url为第二响应码对应url的子目录或者父目录,所述第二响应码为各个响应码中的非预设响应码,并且所述第二响应码对应的访问请求时间在所述第一响应码对应的访问请求时间之前;
[0191]
计算所述第一响应码对应的访问请求与所述第二响应码对应的访问请求之间的间隔次数;
[0192]
根据各个间隔次数,计算所述多次访问请求对应的第五评估分数。
[0193]
在一种可能的设计中,所述评估模块22还用于:
[0194]
在所述多次访问请求对应的各个响应码中确定出各个相同的目标相应码,其中,所述目标响应码对应的url与第三响应码对应的url为同一url,所述第三响应码为所述各个响应码中的非目标响应码,并且所述第三响应码对应的访问请求时间在所述目标响应码
对应的访问请求时间之前;
[0195]
记录各个同一url对应的请求次数;
[0196]
根据各个请求次数,计算所述多次访问请求对应的第六评估分数。通过上述目录猜测识别装置,从多个维度对用户端的多次访问请求进行访问评估,充分考虑目录猜测对应的各种访问请求行为,可以避免目录猜测漏识别和误识别等现象,提高目录猜测识别的准确性。
[0197]
基于同一发明构思,本技术实施例中还提供了一种电子设备,所述电子设备可以实现前述一种目录猜测识别装置的功能,参考图3,所述电子设备包括:
[0198]
至少一个处理器31,以及与至少一个处理器31连接的存储器32,本技术实施例中不限定处理器31与存储器32之间的具体连接介质,图3中是以处理器31和存储器32之间通过总线30连接为例。总线30在图3中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线30可以分为地址总线、数据总线、控制总线等,为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器31也可以称为控制器,对于名称不做限制。
[0199]
在本技术实施例中,存储器32存储有可被至少一个处理器31执行的指令,至少一个处理器31通过执行存储器32存储的指令,可以执行前文论述目录猜测识别方法。处理器31可以实现图2所示的装置中各个模块的功能。
[0200]
其中,处理器31是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器32内的指令以及调用存储在存储器32内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
[0201]
在一种可能的设计中,处理器31可包括一个或多个处理单元,处理器31可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器31中。在一些实施例中,处理器31和存储器32可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
[0202]
处理器31可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的目录猜测识别方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0203]
存储器32作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器32可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等。存储器32是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例
中的存储器32还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0204]
通过对处理器31进行设计编程,可以将前述实施例中介绍的目录猜测识别方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的实施例的目录猜测识别方法的步骤。如何对处理器31进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
[0205]
基于同一发明构思,本技术实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述目录猜测识别方法。
[0206]
在一些可能的实施方式中,本技术提供的目录猜测识别方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本技术各种示例性实施方式的目录猜测识别方法中的步骤。
[0207]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0208]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0209]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0210]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0211]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献