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

利用地址解析协议进行网络扫描的行为检测方法及装置与流程

2022-04-13 18:18:43 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其是涉及到一种利用地址解析协议进行网络扫描行为检测方法及装置、存储介质和计算机设备。


背景技术:

2.arp(addressresolutionprotocol,地址解析协议)是一个通过用于实现从ip地址到mac地址的映射,即询问目标ip对应的mac地址的一种协议。arp协议在ipv4中极其重要。arp扫描是一个用于识别本地网络上其他活动主机的过程。在渗透中,当攻击者拿下一台服务器作为跳板进一步进行内网渗透时,可以通过arp网络扫描来快速收集链路中的存活主机信息。
3.针对利用apr(地址解析协议)进行网络扫描的行为,现有的检测方法只能根据网络中主机发送arp请求的总数来判断该主机是否存在网络扫描行为,判断结果准确度低。


技术实现要素:

4.有鉴于此,本技术提供了一种利用地址解析协议进行网络扫描行为检测方法及装置、存储介质和计算机设备,可以提高arp网络扫描行为检测的准确率。
5.根据本技术的一个方面,提供了一种网络扫描行为检测方法,包括:
6.获取通信信息,其中,所述通信信息包括源地址、目的地址、请求时间以及请求结果;
7.根据所述源地址对应的目的地址以及所述源地址对应的请求时间,确定所述源地址对应的请求规律;
8.根据所述请求规律确定请求规律得分,根据所述源地址对应的请求结果确定请求结果得分,根据所述源地址对应的目的地址确定请求广度得分;
9.根据所述请求规律得分、所述请求结果得分以及所述请求广度得分,在多个所述通信信息对应的源地址中,确定与网络扫描对应的目标源地址,并确定所述目标源地址对应的目标请求为网络扫描行为。
10.可选地,所述请求规律包括字符规律;
11.所述根据所述源地址对应的目的地址以及所述源地址对应的请求时间,确定所述源地址对应的请求规律,具体包括:
12.根据所述通信信息,确定与所述源地址对应的至少一个第一目的地址;
13.将每个所述第一目的地址切分成为多个地址段,确定每个所述地址段在所述第一目的地址中的位置,并将所述位置相同的地址段作为一个地址段集合;
14.在每个所述地址段集合中,按照所述地址段对应的第一目的地址由小至大的顺序,为多个所述地址段排序,将每个所述地址段作为第一层地址段序列中的元素,得到与所述地址段集合对应的所述第一层地址段序列;
15.在第i层地址段序列中,将相邻两个所述元素相减,得到第i 1层地址段序列,其
中,i=1或i=2;
16.根据第三层地址段序列中的元素确定所述字符规律。
17.可选地,所述请求规律包括访问规律;
18.所述根据所述源地址对应的目的地址以及所述源地址对应的请求时间,确定所述源地址对应的请求规律,具体包括:
19.在所述通信信息中,分别确定所述源地址在每个预设时间窗内的目标请求时间以及所述目标请求时间对应的第二目的地址;
20.对多个所述第二目的地址去重,得到第二目的地址的地址数量;
21.按照所述时间窗由先至后的顺序,为多个所述时间窗对应的地址数量排序,并将每个所述地址数量作为第一层地址数量序列中的元素,得到所述第一层地址数量序列;
22.对第j层地址数量序列中的元素,采用相邻两个元素相减做差的方式,得到第j 1层地址数量序列,其中,j=1或j=2;
23.根据第三层地址数量序列中的元素确定所述访问规律。
24.可选地,所述请求规律包括波动规律,
25.所述根据所述源地址对应的目的地址以及所述源地址对应的请求时间,确定所述源地址对应的请求规律,具体包括:
26.在所述通信信息中,分别确定所述源地址对应的第三目的地址以及每个所述第三目的地址的访问次数;
27.按照所述第三目的地址由小至大的顺序,为多个所述第三目的地址对应的访问次数排序,并将每个所述访问次数作为第一层访问次数序列中的元素,得到所述第一层访问次数序列;
28.对第k层访问次数序列中的元素,采用相邻两个元素相减做差的方式,得到第k 1层访问次数序列,其中,k=1或k=2;
29.根据第三层访问次数序列中的元素确定所述波动规律。
30.可选地,所述根据所述源地址对应的请求结果确定请求结果得分,具体包括:
31.根据所述源地址对应的至少一个请求结果,在所述源地址对应的通信信息中,确定所述请求结果为访问失败的失败通信信息,并确定所述失败通信信息数量,以及所述失败通信信息在所述通信信息中的比例;
32.利用孤独森林模型,根据所述失败通信信息数量以及所述比例,确定所述请求结果得分。
33.可选地,所述根据源地址对应的目的地址确定请求广度得分,具体包括:
34.根据多个所述通信信息,确定所述源地址对应的通信信息的数量以及所述源地址对应的第四目的地址的数量;
35.利用所述孤独森林模型,根据所述源地址对应的通信信息的数量以及所述第四目的地址的数量,确定所述请求广度得分。
36.可选地,根据所述请求规律得分、所述请求结果得分以及所述请求广度得分,在多个所述通信信息对应的源地址中,确定与网络扫描对应的目标源地址,具体包括:
37.将多个所述源地址对应的请求规律得分按照数由大至小的顺序排序,确定排序位置在前n%的请求规律得分为目标请求规律得分,利用所述目标请求规律得分对应的第一
源地址组成第一源地址集合,其中,0《n《5;
38.将多个所述源地址对应的请求结果得分按照由大至小的顺序为排序,确定排序位置在前n%的请求结果得分为目标请求结果得分,利用所述目标请求结果得分对应的第二源地址组成第二源地址集合;
39.将多个所述源地址对应的请求广度得分按照由大至小的顺序排序,确定排序位置在前n%的请求广度得分为目标请求广度得分,利用所述目标请求广度得分对应的第三源地址组成第三源地址集合;
40.若所述第一源地址集合、所述第二源地址集合以及所述第三源地址集合中包含相同的源地址,则确定所述相同的源地址为所述目标源地址。
41.根据本技术的另一方面,提供了一种网络扫描行为检测装置,包括:
42.获取模块,用于获取通信信息,其中,所述通信信息包括源地址、目的地址、请求时间以及请求结果;
43.计算模块,用于根据所述源地址对应的目的地址以及所述源地址对应的请求时间,确定所述源地址对应的请求规律;
44.分析模块,用于根据所述请求规律确定请求规律得分,根据所述源地址对应的请求结果确定请求结果得分,根据所述源地址对应的目的地址确定请求广度得分;
45.判断模块,用于根据所述请求规律得分、所述请求结果得分以及所述请求广度得分,在多个所述通信信息对应的源地址中,确定与网络扫描对应的目标源地址,并确定所述目标源地址对应的目标请求为网络扫描行为。
46.可选地,所述计算模块包括字符规律计算单元,所述字符规律计算单元具体用于:
47.根据所述通信信息,确定与所述源地址对应的至少一个第一目的地址;
48.将每个所述第一目的地址切分成为多个地址段,确定每个所述地址段在所述第一目的地址中的位置,并将所述位置相同的地址段作为一个地址段集合;
49.在每个所述地址段集合中,按照所述地址段对应的第一目的地址由小至大的顺序,为多个所述地址段排序,将每个所述地址段作为第一层地址段序列中的元素,得到与所述地址段集合对应的所述第一层地址段序列;
50.在第i层地址段序列中,将相邻两个所述元素相减,得到第i 1层地址段序列,其中,i=1或i=2;
51.根据第三层地址段序列中的元素确定所述字符规律。
52.可选地,所述计算模块包括访问规律计算单元,所述访问规律计算单元具体用于:
53.在所述通信信息中,分别确定所述源地址在每个预设时间窗内的目标请求时间以及所述目标请求时间对应的第二目的地址;
54.对多个所述第二目的地址去重,得到第二目的地址的地址数量;
55.按照所述时间窗由先至后的顺序,为多个所述时间窗对应的地址数量排序,并将每个所述地址数量作为第一层地址数量序列中的元素,得到所述第一层地址数量序列;
56.对第j层地址数量序列中的元素,采用相邻两个元素相减做差的方式,得到第j 1层地址数量序列,其中,j=1或j=2;
57.根据第三层地址数量序列中的元素确定所述访问规律。
58.可选地,所述计算模块包括波动规律计算单元,所述波动规律计算单元具体用于:
59.在所述通信信息中,分别确定所述源地址对应的第三目的地址以及每个所述第三目的地址的访问次数;
60.按照所述第三目的地址由小至大的顺序,为多个所述第三目的地址对应的访问次数排序,并将每个所述访问次数作为第一层访问次数序列中的元素,得到所述第一层访问次数序列;
61.对第k层访问次数序列中的元素,采用相邻两个元素相减做差的方式,得到第k 1层访问次数序列,其中,k=1或k=2;
62.根据第三层访问次数序列中的元素确定所述波动规律。
63.可选地,所述分析模块具体用于:
64.根据所述源地址对应的至少一个请求结果,在所述源地址对应的通信信息中,确定所述请求结果为访问失败的失败通信信息,并确定所述失败通信信息数量,以及所述失败通信信息在所述通信信息中的比例;
65.利用孤独森林模型,根据所述失败通信信息数量以及所述比例,确定所述请求结果得分。
66.可选地,所述分析模块具体用于:
67.根据多个所述通信信息,确定所述源地址对应的通信信息的数量以及所述源地址对应的第四目的地址的数量;
68.利用所述孤独森林模型,根据所述源地址对应的通信信息的数量以及所述第四目的地址的数量,确定所述请求广度得分。
69.可选地,所述判断模块具体用于:
70.将多个所述源地址对应的请求规律得分按照由大至小的顺序排序,确定排序位置在前n%的请求规律得分为目标请求规律得分,利用所述目标请求规律得分对应的第一源地址组成第一源地址集合,其中,0《n《5;
71.将多个所述源地址对应的请求结果得分按照由大至小的顺序排序,确定排序位置在前n%的请求结果得分为目标请求结果得分,利用所述目标请求结果得分对应的第二源地址组成第二源地址集合;
72.将多个所述源地址对应的请求广度得分按照由大至小的顺序排序,确定排序位置在前n%的请求广度得分为目标请求广度得分,利用所述目标请求广度得分对应的第三源地址组成第三源地址集合;
73.若所述第一源地址集合、所述第二源地址集合以及所述第三源地址集合中包含相同的源地址,则确定所述相同的源地址为所述目标源地址。
74.根据本技术又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述检测方法。
75.根据本技术再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述检测方法。
76.借由上述技术方案,本技术从请求规律、请求结果以及请求广度三个方面综合分析源地址发出的通信信息,判断源地址是否存在网络扫描行为,减少误报或漏报产生,提高了判断结果的准确率。
77.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
78.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
79.图1示出了本技术实施例提供的一种利用地址解析协议进行网络扫描的行为检测方法的流程示意图;
80.图2示出了本技术实施例提供的另一种利用地址解析协议进行网络扫描的行为检测方法的流程示意图之一;
81.图3示出了本技术实施例提供的另一种利用地址解析协议进行网络扫描的行为检测方法的请求规律得分计算示意图;
82.图4示出了本技术实施例提供的另一种利用地址解析协议进行网络扫描的行为检测方法的请求结果得分计算示意图;
83.图5示出了本技术实施例提供的另一种利用地址解析协议进行网络扫描的行为检测方法的请求广度得分示意图;
84.图6示出了本技术实施例提供的另一种利用地址解析协议进行网络扫描的行为检测方法的流程示意图之二;
85.图7示出了本技术实施例提供的另一种利用地址解析协议进行网络扫描的行为检测方法的流程示意图之三;
86.图8示出了本技术实施例提供的一种利用地址解析协议进行网络扫描的行为检测装置的结构框图。
具体实施方式
87.下文中将参考附图并结合实施例来详细说明本技术。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
88.在本实施例中提供了一种利用地址解析协议进行网络扫描的行为检测方法,如图1所示,该方法包括:
89.步骤101,获取通信信息,其中,通信信息包括源地址、目的地址、请求时间以及请求结果;
90.本技术实施例提供的网络扫描行为检测方法,用于判断主机是否存在网络扫描行为。由于主机通过发送通信信息来实现基于地址解析协议的网络扫描行为,因此,本实施例首先获取主机发送的通信信息,进而分析该通信信息,得到检测结果。
91.其中,通信信息可以是基于地址解析协议(arp,address resolution protocol)的通信信息,主机利用地址解析协议,确定哪些ip地址已连接计算机,从而实现网络扫描。具体地,源主机向目的主机发送包含ip地址的请求信息,与ip地址对应的目的主机接收到请求消息后,将ip地址转换为mac地址,并向源主机发送包含mac地址的回复消息。
92.步骤102,根据源地址对应的目的地址以及源地址对应的请求时间,确定源地址对
应的请求规律;
93.在该实施例中,由于正常通信时的通信信息与扫描时的通信信息具有不同的特点。基于此,根据通信信息中每个源地址对应的目的地址以及请求时间,确定源地址对应的请求规律,从而根据请求规律区分正常通信时的通信信息和扫描时的通信信息。
94.步骤103,根据请求规律确定请求规律得分,根据源地址对应的请求结果确定请求结果得分,根据源地址对应的目的地址确定请求广度得分;
95.在该实施例中,由于扫描时的通信信息具有一定的规律,因此根据请求规律确定请求规律得分,以利用请求规律得分表征源主机发出的所有通信信息之间是否存在特定的规律;由于扫描时通信信息访问失败的情况远大于正常通信时,因此根据请求结果确定请求结果得分,以利用请求结果得分表征源主机发出的所有通信信息的结果;由于扫描时会向大批不同的目的地址发送通信信息,而正常通信时仅向需要通信的目的地址发送通信信息,因此根据目的地址确定请求广度得分,以利用请求广度得分表征源主机发出的所有通信信息覆盖目的地址的范围。
96.步骤104,根据请求规律得分、请求结果得分以及请求广度得分,在多个通信信息对应的源地址中,确定与网络扫描对应的目标源地址,并确定目标源地址对应的目标请求为网络扫描行为。
97.在该实施例中,从请求规律、请求结果以及请求广度三方面综合分析每个源地址发出的通信信息,判断源地址是否存在网络扫描行为,从而确定存在网络扫描行为的源地址为目标源地址,目标源地址发出的请求即为网络扫描行为。
98.通过应用本实施例的技术方案,从请求规律、请求结果以及请求广度三个方面综合分析源地址发出的通信信息,判断源地址是否存在网络扫描行为,减少误报或漏报产生,提高了判断结果的准确率。
99.进一步地,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种网络扫描行为检测方法,在该方法中,请求规律包括字符规律,如图2所示,在该方法中,根据源地址对应的目的地址以及源地址对应的请求时间,确定源地址对应的请求规律,具体包括:
100.步骤201,根据通信信息,确定与源地址对应的至少一个第一目的地址;
101.在该实施例中,一个源地址可能向多个目的地址发送通信信息,基于此,在判断一个源地址是否存在网络扫描行为时,首先确定与该源地址对应的第一目的地址。
102.步骤202,将每个第一目的地址切分成为多个地址段,确定每个地址段在第一目的地址中的位置,并将位置相同的地址段作为一个地址段集合;
103.在该实施例中,把每个第一目的地址切分成为多个地址段,并且每个第一目的地址被切分得到的地址段数量相同。
104.具体地,可以根据点分十进制,以ip地址的点为分隔符,将每个第一目的地址切分成为四个地址段。例如,如图3所示,以点为分隔符,将192.168.10.106切分成为如下四个地址段:192、168、10以及106。
105.在该实施例中,将在第一目的地址中位置相同的地址段作为一个地址段集合,由于每个第一目的地址被切分成为四个地址段,因此可以得到四个地址段集合。例如,针对同一个源地址对应的三个目的地址(192.168.10.106、192.168.10.107和192.168.10.108),
得到如下四个地址段集合:{192,192,192}、{168,168,168}、{10,10,10}和{106,107,108}。
106.步骤203,在每个地址段集合中,按照地址段对应的第一目的地址由小至大的顺序,为多个地址段排序,将每个地址段作为第一层地址段序列中的元素,得到与地址段集合对应的第一层地址段序列;
107.在该实施例中,按照第一目的地址由小至大的顺序,为每个地址段集合中的地址段排序。如该实施例中,得到[192,192,192]、[168,168,168]、[10,10,10]和[106,107,108]。
[0108]
此外,也可以按照其他顺序对地址段进行排序。
[0109]
步骤204,在第i层地址段序列中,将相邻两个元素相减,得到第i 1层地址段序列,其中,i=1或i=2;
[0110]
在该实施例中,在每一层地址段序列中,对于相邻的两个元素,利用位置在后的元素减位置在前的元素,将得到的差值作为下一层地址段序列中的元素。
[0111]
例如,针对第一层地址段序列[192,192,192],得到第二层地址段序列[192-192,192-192]=[0,0],第三层地址段序列[0-0]=[0];同理可以得到[168,168,168]以及[10,10,10]对应的第三层地址段序列均为[0];针对第一层地址段序列[106,107,108],得到第二层地址段序列[108-107,107-106]=[1,1],第三层地址段[1-1]=[0]。
[0112]
步骤205,根据第三层地址段序列中的元素确定字符规律。
[0113]
在该实施例中,可以理解的是,若一个源地址发出的多个通信信息对应的第一目的地址越近,则该源地址发出的通信信息的规律性更强,而该实施例第三层地址段序列中的元素可以表征多个第一目的地址的相近程度。基于此,可以根据第三层地址段序列中的元素确定字符规律,具体地,第三层地址段序列中数值为0的元素越多,则可以判定第一目的地址之间越相近,字符规律越强。
[0114]
例如,在该实施例中,四个第一层地址段序列[192,192,192]、[168,168,168]、[10,10,10]和[106,107,108]对应的第三层地址段序列均为[0],也即四个第三层地址段序列共有4个数值为0的元素。
[0115]
进一步地,在另一种网络扫描行为检测方法中,请求规律包括访问规律;根据源地址对应的目的地址以及源地址对应的请求时间,确定源地址对应的请求规律,具体包括:
[0116]
步骤301,在通信信息中,分别确定源地址在每个预设时间窗内的目标请求时间以及目标请求时间对应的第二目的地址;
[0117]
在该实施例中,将源地址对应的多个通信信息按照请求时间由先至后的顺序排序,预设多个连续的时间窗,其中每个时间窗的长度相同,例如,预设了[t_1,t_n]、[t_(n 1),t_(2n)]、[t_(2n 1),t_(3n)]三个时间窗,每个时间窗的长度均为n。
[0118]
确定落在每个预设时间窗内的目标请求时间,进一步确定每个目标请求时间对应的第二目的地址。
[0119]
步骤302,对多个第二目的地址去重,得到第二目的地址的地址数量;
[0120]
在该实施例中,在统计每个预设时间窗对应的第二目的地址数量时,对于重复的第二目的地址,只统计一次。
[0121]
步骤303,按照时间窗由先至后的顺序,为多个时间窗对应的地址数量排序,并将每个地址数量作为第一层地址数量序列中的元素,得到第一层地址数量序列;
[0122]
在该实施例中,如图4所示,例如确定[t_1,t_n]时间窗对应的第二目的地址数量(附图4中访问目标数)为m1、[t_(n 1),t_(2n)]时间窗对应的第二目的地址数量为m2、[t_(2n 1),t_(3n)]时间窗对应的第二目的地址数量为m3。按照预设时间窗由先至后的顺序对地址数量排序,得到第一层地址数量序列[m1,m2,m3]。
[0123]
此外,也可以按照其他顺序对第二目的地址数量进行排序。
[0124]
步骤304,对第j层地址数量序列中的元素,采用相邻两个元素相减做差的方式,得到第j 1层地址数量序列,其中,j=1或j=2;
[0125]
在该实施例中,在每一层地址数量序列中,对于相邻的两个元素,利用位置在后的元素减位置在前的元素,将得到的差值作为下一层地址数量序列中的元素。
[0126]
例如,针对第一层地址数量序列[m1,m2,m3],得到第二层地址数量序列[m2-m1,m3-m2],第三层地址数量序列[(m3-m2)-(m2-m1)]。
[0127]
步骤305,根据第三层地址数量序列中的元素确定访问规律。
[0128]
在该实施例中,可以理解的是,若一个源地址在每个预设时间窗发出的多个通信信息对应的第二目的地址数量越近,则该源地址发出的通信信息的规律性更强,而该实施例第三层地址段序列中的元素可以表征多个第二目的地址数量的相近程度。基于此,可以根据第三层地址段序列中的元素确定访问规律,具体地,第三层地址段序列中数值为0的元素越多,则可以判定第二目的地址数量越接近,访问规律越强。
[0129]
进一步地,在另一种网络扫描行为检测方法中,请求规律包括波动规律,根据源地址对应的目的地址以及源地址对应的请求时间,确定源地址对应的请求规律,具体包括:
[0130]
步骤401,在通信信息中,分别确定源地址对应的第三目的地址以及每个第三目的地址的访问次数;
[0131]
在该实施例中,根据源地址对应的多个通信信息,确定源地址对应的每个第三目的地址,并分别确定每个第三目的地址被源地址访问的访问次数。例如,如图5所示,若源地址分别向目标ip1、目标ip2、目标ip3、目标ip4以及目标ip5发送通信信息,则目标ip1-5均为该源地址所对应的第三目的地址,并且该源地址向每个第三目的地址发送的通信信息数量即为该第三目的地址的访问次数。
[0132]
步骤402,按照第三目的地址由小至大的顺序,为多个第三目的地址对应的访问次数排序,并将每个访问次数作为第一层访问次数序列中的元素,得到第一层访问次数序列;
[0133]
在该实施例中,将多个第三目的地址的访问次数按照第三目的地址由小至大的顺序排序。例如,将该实施例中五个第三目的地址对应的访问次数排序,得到第一层访问次数序列[25,24,23,22,23]。
[0134]
此外,也可以按照其他顺序对访问次数进行排序。
[0135]
步骤403,对第k层访问次数序列中的元素,采用相邻两个元素相减做差的方式,得到第k 1层访问次数序列,其中,k=1或k=2;
[0136]
在该实施例中,在每一层访问次数序列中,对于相邻的两个元素,利用位置在后的元素减位置在前的元素,将得到的差值作为下一层访问次数序列中的元素。
[0137]
例如,针对第一层访问次数序列[25,24,23,22,23],得到第二层访问次数序列[24-25,23-24,22-23,23-22]=[-1,-1,-1,1],第三层访问次数序列[(-1)-(-1),(-1)-(-1),1-(-1)]=[0,0,2]。
[0138]
步骤404,根据第三层访问次数序列中的元素确定波动规律。
[0139]
在该实施例中,可以理解的是,若一个源地址针对每个第三目的地址的访问次数越近,则该源地址发出的通信信息的规律性更强,而该实施例第三层访问次数序列中的元素可以表征多个第三目的地址访问次数的相近程度。基于此,可以根据第三层访问次数序列中的元素确定波动规律,具体地,第三层访问次数序列中数值在[-5,5]之间的元素越多,则可以判定第三目的地址访问次数越接近,波动规律越强,在该实施例中,第三层访问次数序列[0,0,2]的三个元素均在[-5,5]之间。
[0140]
此外,也可根据第三层访问次数序列中数值为0的元素数量判断波动规律,例如,在该实施例中,第三层访问次数序列[0,0,2]有两个元素的数值为0。
[0141]
进一步地,在另一种网络扫描行为检测方法中,根据源地址对应的请求结果确定请求结果得分,具体包括:
[0142]
步骤501,根据源地址对应的至少一个请求结果,在源地址对应的通信信息中,确定请求结果为访问失败的失败通信信息,并确定失败通信信息数量,以及失败通信信息在通信信息中的比例;
[0143]
步骤502,利用孤独森林模型,根据失败通信信息数量以及比例,确定请求结果得分。
[0144]
在该实施例中,确定源地址发出的通信信息总数量,以及请求结果为访问失败的数量,进而确定访问失败的通信信息数量占总数量的比例。将失败通信信息数量和比例关系均带入预设的孤独森林模型中,利用孤独森林算法计算每个源地址的请求结果得分。
[0145]
具体地,在孤立森林模型中,将每个源地址作为一个样本点,递归地随机分割数据集,直到所有的样本点都是孤立的。在这种随机分割的策略下,异常点通常具有较短的路径。在该算法中,给定一个包含n样本的数据集,树的平均路径长度为:
[0146]
其中h(i)为调和数,该值可以被估计为ln(i) 0.5772156649。c(n)为给定样本数n时,路径长度的平均值,用来标准化样本x的路径长度h(x)。
[0147]
样本x的异常得分定义为:s(x,n)即为源地址x的请求结果得分。
[0148]
其中,e(h(x))为样本x在一批孤立树中的路径长度的期望。
[0149]
此外,也可利用机器学习方法的其他模型确定请求结果得分。
[0150]
进一步地,在另一种网络扫描行为检测方法中,根据源地址对应的目的地址确定请求广度得分,具体包括:
[0151]
步骤601,根据多个通信信息,确定源地址对应的通信信息的数量以及源地址对应的第四目的地址的数量;
[0152]
步骤602,利用孤独森林模型,根据源地址对应的通信信息的数量以及第四目的地址的数量,确定请求广度得分。
[0153]
在该实施例中,确定源地址发出的通信信息总数量,以及与源地址对应的所有目的地址的数量,并带入预设的孤独森林模型中,利用孤独森林算法计算请求广度得分。
[0154]
此外,也可利用机器学习方法的其他模型确定请求结果得分。
[0155]
进一步地,如图6所示,在另一种网络扫描行为检测方法中,根据请求规律得分、请求结果得分以及请求广度得分,在多个通信信息对应的源地址中,确定与网络扫描对应的目标源地址,具体包括:
[0156]
步骤701,将多个源地址对应的请求规律得分按照由大至小的顺序排序,确定排序位置在前n%的请求规律得分为目标请求规律得分,利用目标请求规律得分对应的第一源地址组成第一源地址集合,其中,0《n《5;
[0157]
在该实施例中,根据多个源地址的请求规律得分确定第一源地址,进而确定第一源地址集合。
[0158]
具体地,若源地址的请求规律得分较高,则可以认为改源地址请求规律有异常。基于此,将所有源地址对应的请求规律得分按照由大至小的顺序排序,则位置越靠前的请求规律得分越大,其对应的源地址的请求规律越有可能出现异常。找到排序位置在前n%的请求规律得分,也即分值最高的前n%个请求规律得分,确定这些键请求规律得分为目标请求规律得分,目标请求规律得分对应的源地址为第一源地址,所有第一源地址组成的集合为第一源地址集合。
[0159]
进一步地,通过调节n的数值大小,可以调节本检测方法的检测精度。具体地,n的数值越大,则漏报越少;n的数值越小,则误报越少。综合考虑漏报以及误报两方面的需求,可以设置n在(0,5)之间。
[0160]
进一步地,n可以为5。
[0161]
进一步地,也可以首先对每个请求规律得分进行四舍五入保留一位小数,再确定请求规律得分的概率分布情况,以增加请求规律得分重复的可能性,避免所有请求规律得分均不重复的情况。
[0162]
步骤702,将多个源地址对应的请求结果得分按照由大至小的顺序排序,确定排序位置在前n%的请求结果得分为目标请求结果得分,利用目标请求结果得分对应的第二源地址组成第二源地址集合;
[0163]
步骤703,将多个源地址对应的请求广度得分按照第由大至小的顺序排序,确定排序位置在前n%的请求广度得分为目标请求广度得分,利用目标请求广度得分对应的第三源地址组成第三源地址集合;
[0164]
步骤704,若第一源地址集合、第二源地址集合以及第三源地址集合中包含相同的源地址,则确定相同的源地址为目标源地址。
[0165]
在该实施例中,若第一源地址集合、第二源地址集合以及第三源地址集合中包含某个相同的源地址,也即这个相同的源地址同时存在于第一源地址集合、第二源地址集合以及第三源地址集合中,则可以判定这个相同的源地址为目标源地址,认为其存在网络扫描行为。
[0166]
进一步地,若某一源地址同时存在于第一源地址集合、第二源地址集合以及第三源地址集合中的两个集合中,则可以判定该源地址为疑似目标源地址,认为其有可能存在网络扫描行为。
[0167]
进一步地,如图7所示,在另一种网络扫描行为检测方法中,首先接收源地址发送的arp通信数据(也即通信信息),并在源地址发送的多个arp通信数据中提取与该源地址对
应的特征数据,其中,特征数据包括失败情况类特征、访问规律类特征以及访问广度类特征,而访问规律类特征包括访问目标ip字符规律性(即字符规律)、访问目标ip随时间变化规律(即访问规律)以及访问目标次数波动性规律(即波动规律)。在确定以上三个特征后,利用预设的异常失败算法(即孤独森林算法),从三个特征对应的三个方面请求结果得分、计算得到请求规律得分以及请求广度得分。最后根据这三种得分的概率分布情况,判断每种得分是否满足判断条件,进而判断源地址发送的arp通信请求是否为arp攻击。
[0168]
进一步地,作为上述网络扫描行为检测方法的具体实现,本技术实施例提供了一种网络扫描行为检测装置,如图8所示,该网络扫描行为检测装置包括:获取模块、计算模块、分析模块以及判断模块。
[0169]
获取模块,用于获取通信信息,其中,通信信息包括源地址、目的地址、请求时间以及请求结果;
[0170]
计算模块,用于根据源地址对应的目的地址以及源地址对应的请求时间,确定源地址对应的请求规律;
[0171]
分析模块,用于根据请求规律确定请求规律得分,根据源地址对应的请求结果确定请求结果得分,根据源地址对应的目的地址确定请求广度得分;
[0172]
判断模块,用于根据请求规律得分、请求结果得分以及请求广度得分,在多个通信信息对应的源地址中,确定与网络扫描对应的目标源地址,并确定目标源地址对应的目标请求为网络扫描行为。
[0173]
在具体的应用场景中,可选地,计算模块包括字符规律计算单元,字符规律计算单元具体用于:
[0174]
根据通信信息,确定与源地址对应的至少一个第一目的地址;
[0175]
将每个第一目的地址切分成为多个地址段,确定每个地址段在第一目的地址中的位置,并将位置相同的地址段作为一个地址段集合;
[0176]
在每个地址段集合中,按照地址段对应的第一目的地址由小至大的顺序,为多个地址段排序,将每个地址段作为第一层地址段序列中的元素,得到与地址段集合对应的第一层地址段序列;
[0177]
在第i层地址段序列中,将相邻两个元素相减,得到第i 1层地址段序列,其中,i=1或i=2;
[0178]
根据第三层地址段序列中的元素确定字符规律。
[0179]
在具体的应用场景中,可选地,计算模块包括访问规律计算单元,访问规律计算单元具体用于:
[0180]
根据目的地址以及请求时间,确定源地址对应的请求规律,具体包括:
[0181]
在通信信息中,分别确定源地址在每个预设时间窗内的目标请求时间以及目标请求时间对应的第二目的地址;
[0182]
对多个第二目的地址去重,得到第二目的地址的地址数量;
[0183]
按照时间窗由先至后的顺序,为多个时间窗对应的地址数量排序,并将每个地址数量作为第一层地址数量序列中的元素,得到第一层地址数量序列;
[0184]
对第j层地址数量序列中的元素,采用相邻两个元素相减做差的方式,得到第j 1层地址数量序列,其中,j=1或j=2;
[0185]
根据第三层地址数量序列中的元素确定访问规律。
[0186]
在具体的应用场景中,可选地,计算模块包括波动规律计算单元,波动规律计算单元具体用于:
[0187]
根据目的地址以及请求时间,确定源地址对应的请求规律,具体包括:
[0188]
在通信信息中,分别确定源地址对应的第三目的地址以及每个第三目的地址的访问次数;
[0189]
按照第三目的地址由小至大的顺序,为多个第三目的地址对应的访问次数排序,并将每个访问次数作为第一层访问次数序列中的元素,得到第一层访问次数序列;
[0190]
对第k层访问次数序列中的元素,采用相邻两个元素相减做差的方式,得到第k 1层访问次数序列,其中,k=1或k=2;
[0191]
根据第三层访问次数序列中的元素确定波动规律。
[0192]
在具体的应用场景中,可选地,分析模块具体用于:
[0193]
根据源地址对应的至少一个请求结果,在源地址对应的通信信息中,确定请求结果为访问失败的失败通信信息,并确定失败通信信息数量,以及失败通信信息在通信信息中的比例;
[0194]
利用孤独森林模型,根据失败通信信息数量以及比例,确定请求结果得分。
[0195]
在具体的应用场景中,可选地,分析模块具体用于:
[0196]
根据多个通信信息,确定源地址对应的通信信息的数量以及源地址对应的第四目的地址的数量;
[0197]
利用孤独森林模型,根据源地址对应的通信信息的数量以及第四目的地址的数量,确定请求广度得分。
[0198]
在具体的应用场景中,可选地,判断模块具体用于:
[0199]
将多个所述源地址对应的请求规律得分按照由大至小的顺序排序,确定排序位置在前n%的请求规律得分为目标请求规律得分,利用所述目标请求规律得分对应的第一源地址组成第一源地址集合,其中,0《n《5;
[0200]
将多个所述源地址对应的请求结果得分按照由大至小的顺序排序,确定排序位置在前n%的请求结果得分为目标请求结果得分,利用所述目标请求结果得分对应的第二源地址组成第二源地址集合;
[0201]
将多个所述源地址对应的请求广度得分按照由大至小的顺序排序,确定排序位置在前n%的请求广度得分为目标请求广度得分,利用所述目标请求广度得分对应的第三源地址组成第三源地址集合;
[0202]
若所述第一源地址集合、所述第二源地址集合以及所述第三源地址集合中包含相同的源地址,则确定所述相同的源地址为所述目标源地址。
[0203]
需要说明的是,本技术实施例提供的一种网络扫描行为检测装置所涉及各功能模块的其他相应描述,可以参考图1至图7中的对应描述,在此不再赘述。
[0204]
基于上述如图1至图7所示方法,相应的,本技术实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1至图7所示的检测方法。
[0205]
基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令
用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景所述的方法。
[0206]
基于上述如图1至图7所示的方法,以及图8所示的网络扫描行为检测装置实施例,为了实现上述目的,本技术实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图7所示的检测方法。
[0207]
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(radio frequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、wi-fi接口)等。
[0208]
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0209]
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各控件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
[0210]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。
[0211]
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的单元或流程并不一定是实施本技术所必须的。本领域技术人员可以理解实施场景中的装置中的单元可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的单元可以合并为一个单元,也可以进一步拆分成多个子单元。
[0212]
上述本技术序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本技术的几个具体实施场景,但是,本技术并非局限于此,任何本领域的技术人员能思之的变化都应落入本技术的保护范围。
再多了解一些

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

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

相关文献