异常IP地址识别方法、装置、电子设备及可读存储介质与流程

文档序号:27691194发布日期:2021-12-01 03:10阅读:173来源:国知局
异常IP地址识别方法、装置、电子设备及可读存储介质与流程
异常ip地址识别方法、装置、电子设备及可读存储介质
技术领域
1.本技术涉及计算机领域,具体而言,涉及一种异常ip地址识别方法、装置、电子设备及可读存储介质。


背景技术:

2.目前,一般是在客户端使用一个ip地址高频次地访问某域名时,会认为该ip地址是异常ip地址。攻击者为了绕过基于这种方式建立的各种云防御系统,也可能会雇佣很多机器,模拟正常访问,分别低频次地访问某域名。如此,则会对提供服务的服务器造成不良影响。因此,如何对低频ip地址中可能存在的异常ip地址进行识别,是本领域技术人员亟需解决的技术问题。


技术实现要素:

3.本技术实施例提供了一种异常ip地址识别方法、装置、电子设备及可读存储介质,其能够对低频ip地址中可能存在的异常ip地址进行识别,以便于基于识别结果对基于低频且异常的ip地址的访问请求进行拦截,从而对提供服务的服务器进行防护。
4.本技术的实施例可以这样实现:
5.第一方面,本技术实施例提供一种异常ip地址识别方法,包括:
6.获得目标域名在连续的多个预设周期内各自的访问记录集合,其中,所述访问记录集合中包括被访问时访问设备所使用的ip地址及访问描述信息;
7.根据所述ip地址及访问描述信息,将每个访问记录集合中的低频ip地址划分为至少一个ip组,其中,一个ip组中的ip地址对应的访问描述信息所对应的第一访问特征相似;
8.计算相邻预设周期内的每任意两个ip组之间的相似度,其中,所述任意两个ip组对应的预设周期不同;
9.根据所述相似度及所述多个预设周期的时间先后顺序,确定出ip组序列,其中,一个ip组序列中每相邻的两个ip组对应相邻的两个预设周期;
10.获得每个ip组序列的综合访问特征集,并根据每个ip组序列的综合访问特征集识别该ip组序列中的ip地址是否异常。
11.第二方面,本技术实施例提供一种异常ip地址识别装置,包括:
12.记录获得模块,用于获得目标域名在连续的多个预设周期内各自的访问记录集合,其中,所述访问记录集合中包括被访问时访问设备所使用的ip地址及访问描述信息;
13.划分模块,用于根据所述ip地址及访问描述信息,将每个访问记录集合中的低频ip地址划分为至少一个ip组,其中,一个ip组中的ip地址对应的访问描述信息所对应的第一访问特征相似;
14.相似度计算模块,用于计算相邻预设周期内的每任意两个ip组之间的相似度,其中,所述任意两个ip组对应的预设周期不同;
15.序列确定模块,用于根据所述相似度及所述多个预设周期的时间先后顺序,确定
出ip组序列,其中,一个ip组序列中每相邻的两个ip组对应相邻的两个预设周期;
16.识别模块,用于获得每个ip组序列的综合访问特征集,并根据每个ip组序列的综合访问特征集识别该ip组序列中的ip地址是否异常。
17.第三方面,本技术实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式所述的异常ip地址识别方法。
18.第四方面,本技术实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式所述的异常ip地址识别方法。
19.本技术实施例提供的异常ip地址识别方法、装置、电子设备及可读存储介质,首先获得目标域名在连续的多个预设周期内各自的访问记录集合;接着,针对每个访问记录集合,根据该访问记录集合中包括的该目标域名被访问设备访问时该访问设备所使用的ip地址及对应的访问描述信息,将该访问记录集合中的低频ip地址划分为至少一个ip组,一个ip组中的ip地址对应的访问描述信息所对应的第一访问特征相似;进而可计算相邻预设周期内的每任意两个ip组之间的相似度,并根据该相似度及连续的多个预设周期的时间先后顺序,确定出ip组序列,其中,上述任意两个ip组对应的预设周期不同,一个ip组序列中的相邻ip组均对应了相邻的两个预设周期;最后即可获得每个ip组序列的综合访问特征集,并基于此识别该ip组序列中的ip地址是否为异常ip地址。如此,可通过进行访问行为的时序延伸,确定出相似访问行为对应的ip组序列,进而基于该ip组序列的综合访问特征集,识别该ip组序列中的ip地址是否异常,以便于基于识别结果对基于低频且异常的ip地址的访问请求进行拦截,从而对提供服务的服务器进行防护。
附图说明
20.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
21.图1为本技术实施例提供的电子设备的方框示意图;
22.图2为本技术实施例提供的异常ip地址识别方法的流程示意图;
23.图3为本技术实施例提供的识别异常ip地址的举例示意图;
24.图4为图2中步骤s130包括的子步骤的流程示意图;
25.图5为图2中步骤s150包括的子步骤的流程示意图之一;
26.图6为图2中步骤s150包括的子步骤的流程示意图之二;
27.图7为本技术实施例提供的异常ip地址识别装置的方框示意图。
28.图标:100

电子设备;110

存储器;120

处理器;130

通信单元;200

异常ip地址识别装置;210

记录获得模块;220

划分模块;230

相似度计算模块;240

序列确定模块;250

识别模块。
具体实施方式
29.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
30.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
32.目前,一般是在客户端使用一个ip地址高频次地访问某域名时,会认为该ip地址是异常ip地址。因此,现有云防御系统主要是针对异常单ip地址的识别及防护。实际场景中,攻击者为了绕过基于这种方式建立的各种云防御系统,也可能会雇佣很多机器,使用大量ip地址,模拟正常访问,连续、分别低频次地访问某域名。如此,虽然基于单个ip地址进行访问的次数少,但总共的访问次数非常多,依然能够达到同样的攻击目的。因此,如何对低频ip地址中可能存在的异常ip地址进行识别,是本领域技术人员亟需解决的技术问题。
33.针对上述情况,本技术实施例提供了一种异常ip地址识别方法、装置、电子设备及可读存储介质,可通过进行访问行为的时序延伸,确定出相似访问行为对应的ip组序列,进而基于该ip组序列的综合访问特征集,识别该ip组序列中的ip地址是否异常,以便于基于识别结果对基于低频且异常的ip地址的访问请求进行拦截,从而实现防护。
34.其中,值的说明的是,针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得到的结果,因此,上述问题的发现过程以及下文中本技术实施例针对上述问题所提出的解决方案,都应是发明人在本技术过程中对本技术做出的贡献。
35.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
36.请参照图1,图1为本技术实施例提供的电子设备100的方框示意图。所述电子设备100可以是,但不限于,电脑、服务器等。所述电子设备100可以包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
37.其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read

only memory,prom),可擦除只读存储器(erasable programmable read

only memory,eprom),电可擦除只读存储器(electric erasable programmable read

only memory,eeprom)等。
38.处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。比如,
存储器110中存储有异常ip地址识别装置200,所述异常ip地址识别装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器120通过运行存储在存储器110内的软件程序以及模块,如本技术实施例中的异常ip地址识别装置200,从而执行各种功能应用以及数据处理,即实现本技术实施例中的异常ip地址识别方法。
39.通信单元130用于通过网络建立所述电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
40.应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
41.请参照图2,图2为本技术实施例提供的异常ip地址识别方法的流程示意图。所述方法可应用于上述电子设备100。下面对异常ip地址识别方法的具体流程进行详细阐述。
42.步骤s110,获得目标域名在连续的多个预设周期内各自的访问记录集合。
43.在本实施例中,可获得所述目标域名在一定时间长度(比如,50s)内的访问记录。一条访问记录对应一次访问行为。一条访问记录中可以包括一访问设备本次访问所述目标域名时所使用的ip地址、以及对该次访问进行描述的访问描述信息。其中,所述访问描述信息中可以包括用于描述本次访问任意特征的信息,具体可以根据实际需求确定。所述目标域名为需要进行防护的域名,具体可以根据实际应用场景确定。
44.可将所述目标域名在所述一定时间长度内的访问记录,按照预设周期,分为多个访问记录集合,其中,一个预设周期对应一个访问记录集合。一个访问记录集合中所对应的访问行为的访问时间均在该访问记录集合所对应的一个预设周期内。其中,所述预设周期的长度可以根据实际需求设置,比如,10s。
45.步骤s120,根据所述ip地址及访问描述信息,将每个访问记录集合中的低频ip地址划分为至少一个ip组。
46.在本实施例中,可针对每个访问记录集合,根据该访问记录集合中所包括的ip地址及访问描述信息,确定出每个低频ip地址所对应的第一访问特征,然后将第一访问特征相似的低频ip地址分为到一个ip组中。如此,可将一个访问记录集合中的低频ip地址划分为至少一个ip组。其中,低频ip地址,表示在一定时间范围内,访问请求量相对较低的ip地址。
47.步骤s130,计算相邻预设周期内的每任意两个ip组之间的相似度。
48.在本实施例中,可从相邻预设周期各自对应的ip组中分别选取一个ip组,然后计算出这两个ip组之间的相似度。重复以上处理,可获得该相邻预设周期内的每任意两个ip组之间的相似度,所述任意两个ip组对应的预设周期不同。针对每相邻的两个预设周期所对应的ip组,进行以上处理,即可获得任意相邻预设周期内的任意两个ip组之间的相似度。其中,所述相似度可以是根据两个ip组的访问描述信息计算得到,也可以是根据所述第一访问特征计算得到,还可以是通过其他方式计算得到的,在此不做具体限定。
49.步骤s140,根据所述相似度及所述多个预设周期的时间先后顺序,确定出ip组序列。
50.在本实施例中,可根据经步骤s130获得的相似度及该连续的多个预设周期的时间
先后顺序,确定出所属的预设周期相邻且相似度比较高的ip组组成ip组序列。由此可知,一个ip组序列中的每相邻的两个ip组对应的相邻的两个预设周期。如此,可实现对访问行为的时序延伸。
51.步骤s150,获得每个ip组序列的综合访问特征集,并根据每个ip组序列的综合访问特征集识别该ip组序列中的ip地址是否异常。
52.在确定出ip组序列中的情况下,可以针对每个ip组序列,根据该ip组序列中的各ip地址对应的访问描述信息,确定出该ip组序列的综合访问特征集,进而根据该综合访问特征集,识别该ip组序列中的ip地址是否为异常ip地址。
53.如此,可通过进行访问行为的时序延伸,确定出相似访问行为对应的ip组序列,进而基于该ip组序列的综合访问特征集,识别该ip组序列中的ip地址是否异常。通过上述方式,可识别出低频且数量为多个的异常ip地址。低频且数量为多个的异常ip地址,表示该多个低频ip地址的访问行为相近且异常,比如,均只访问某一个url(uniform resource locator,统一资源定位符),且其cookie/user_agent均相同等。通常攻击行为是连续进行的,通过以上方案确定出异常ip地址之后,若在攻击的过程中发现了基于该异常ip地址的访问行为,则可以确定该访问行为为异常行为,可以对该行为拦截,让其无法进行后续访问,从而达到防护的目的。
54.作为一种可选的实施方式,在获得所述目标域名在一定时间长度(比如,50s)内的访问记录的情况下,可根据上述访问记录,获得每个ip地址在所述一定时间长度内的总访问次数。然后将每个ip地址的总访问次数与预设总访问次数进行比较,之后将总访问次数小于该预设总访问次数的ip地址作为低频ip地址。如此,可确定出低频ip地址。
55.作为另一种可选的实施方式,还可以在获得所述目标域名在一定时间长度(比如,50s)内的访问记录的情况下,按照预设周期的时长,对该访问记录进行分组,得到多个访问记录集合。然后,针对每个访问记录集合,统计该访问记录集合中每个ip地址的访问次数,进而可筛选出访问次数小于预设访问次数的ip地址作为低频ip地址。如此,可避免由于作为阈值的预设访问次数所对应的时长较长,导致预设访问次数设置地较大,进而导致较多正常ip地址也进入后续的处理流程,由此可减少处理量。
56.请参照图3,图3为本技术实施例提供的识别异常ip地址的举例示意图。下面结合图3对确定低频地址的过程进行举例说明。
57.可按照所述目标域名在50s内的访问记录各自对应的访问请求的访问时刻,将上述访问记录,按照10s为一个预设周期的方式,划分为5个访问记录集合。访问记录集合1所属的预设周期为第1个10s,访问记录集合2

5所属的预设周期分别为第2、3、4、5个10s。
58.假设预设访问次数为10,也即若10s内一个ip地址的访问次数小于10,则可以认为该ip地址为低频ip地址。
59.可针对访问记录集合1,统计该访问记录集合1中的每个ip地址的访问次数。然后,针对每个ip地址,判断该ip地址的访问次数是否小于10;若小于,则确定该ip地址为低频ip地址;若不小于,则确定该ip地址不为低频ip地址。如此,可获得访问记录集合1中的所包括的低频ip地址。针对访问记录集合2

5也进行上述处理,即可获得访问记录集合2

5中所包括的低频ip地址。
60.在确定出一个访问记录集合中的低频ip地址的情况下,可以ip地址为单位,从该
访问记录集合中获得每个低频的ip地址的所有访问描述信息,然后根据该访问描述信息,进行特征提取,从而获得每个ip地址对应的第一访问特征。如此,可在每个预设周期内,针对每个低频ip地址提取到一条第一访问特征。
61.可选地,所述访问描述信息可以包括:访问设备访问的url、user_agent、uri(uniform resource identifier,统一资源标识符)、host、recode、cookie值、接收到的回复报文中的状态码、发送报文的报文大小、回复报文的报文大小等。其中,cookie值可以是一个字段的值,该值可以是由提供服务的服务器返回给访问设备的,值的具体分配规则可以是服务器结合预先配置好的规则确定的;一般情况下,一个访问设备的cookie值不会发生变化。可以理解的是,上述对所述访问描述信息中包括的内容的说明,仅为举例说明,具体可以根据实际情况确定,在此不做具体限定。
62.示例性地,由所述访问描述信息,获得的所述第一访问特征所包括的特征维度可以包括:发送量或接收量的均值/方差等、状态码熵值/百分比等、url深度熵值、cookie熵值/百分比等。其中,发送量的均值,表示一个ip地址在一个预设周期内的发送报文的报文大小的平均值;接收量的均值,表示一个ip地址在一个预设周期内的接收到的回复报文的报文大小的平均值。值得说明的是,上述仅为举例说明,所述第一访问特征所包括的具体特征维度可以结合实际应用场景进行确定。
63.在获得一个访问记录集合中的每个低频ip地址的第一访问特征的情况下,可采用任意方式,基于该第一访问特征,对该访问记录集合中的低频ip地址进行分组,从而得到至少一个ip组。
64.可选地,作为一种可选的实施方式,如图3所示,可以针对各访问记录集合所包括的低频ip地址,根据各低频ip地址对应的第一访问特征进行聚类,从而使得每个预设周期内可得到多个簇。其中,一个簇即为一个ip组。图3中的c_1_0、c_1_4、c_2_0、c_5_2等均表示经过聚类得到的簇,也即c_1_0等分别表示一个ip组。其中,使用的聚类方法可以为dbscan。当然可以采用其他方式获得所述至少一个组。
65.在一种可能的实现方式中,可以直接针对经步骤120得到的多个ip组,计算相邻预设周期内的每任意两个ip组之间的相似度。可选地,可以根据所述任意两个ip组中的ip地址和/或每个ip组的第二访问特征,计算得到该任意两个ip组之间的相似度。
66.其中,在根据所述任意两个ip组中的ip地址计算相似度时,可以计算这两个ip组中的相同ip地址的数量,与这两个ip组所包括的ip地址数量(重复ip地址计算为一个)之比,并将计算出的比值,作为所述任意两个ip组之间的相似度。
67.比如,假设第i周期与第j周期是相邻的两个预设周期,在计算第i周期的第j个ip组与第n周期的第m个ip组的相似度时,上述计算过程可以表示为:其中,sim(ij,nm)表示相似度,set(ip
ij
)表示第i周期的第j个ip组中的ip地址,也即,是个ip地址集合;set(ip
nm
)表示第n周期的第m个ip组中的ip地址。
68.在根据所述任意两个ip组各自的第二访问特征计算得到相似度时,可以先根据每个ip组中各ip地址的第一访问特征,计算得到每个ip组的第二访问特征。接着,则计算两个
ip组的第二访问特征之间的相似程度,作为该任意两个ip组的相似度。
69.其中,一个ip组的第二访问特征为该ip组中的各ip地址对应的第一访问特征中至少一个特征维度的均值和/或方差。也即,为该ip组包括的各ip地址的第一访问特征中,至少一个特征维度下的特征值的均值和/或方差。
70.比如,在所述第一访问特征包括url深度熵值时,可计算一个ip组中的每个ip地址的url深度熵值的均值和/或方差,以作为该ip组的第二访问特征;也可以直接计算所述第一访问特征的均值和/或方差,作为该ip组的第二访问特征。在一个ip组为一个簇的情况下,该ip组的第二访问特征相当于该簇的特征向量。
71.在计算第i周期的第j个ip组与第n周期的第m个ip组的相似度时,上述根据第二访问特征计算相似度的过程可以表示为:sim(ij,nm)=cos(feat
ij
,feat
nm
),其中,feat
ij
表示第i周期的第j个ip组中的第二访问特征;feat
nm
表示第n周期的第m个ip组的第二访问特征。
72.还可以根据所述任意两个ip组中的ip地址和每个ip组的第二访问特征,计算得到所述相似度:
73.值得说明的是,上述相似度的计算方式仅为举例说明,也可以通过其他计算方式得到两个ip组的相似度。
74.在另一种可能的实现方式中,可通过图4所示方法获得用于步骤s150的相似度。请参照图4,图4为图2中步骤s130包括的子步骤的流程示意图。步骤s130可以包括子步骤s131~子步骤s133。
75.子步骤s131,统计每个ip组中所包括的ip地址的数量。
76.子步骤s132,筛选出数量大于第三预设数量的ip组。
77.子步骤s133,针对筛选出的ip组,计算相邻预设周期内的每任意两个ip组之间的相似度。
78.在本实施方式中,可以针对每个ip组,统计该ip组中所包括的ip地址的数量,然后将该数量与第三预设数量进行比较;若该数量大于所述第三预设数量,则保留该ip组;若该数量不大于所述第三预设数量,则可以将该ip组剔除。其中,所述第三预设数量可以结合实际情况设置,比如,设置为10。由此,可筛选出划分的ip组中所包括的ip地址数量大于第三预设数量的ip组。之后,可针对筛选出来的ip组,根据相邻预设周期内的每任意两个ip组中的ip地址和/或每个ip组的第二访问特征,计算得到所述任意两个ip组的相似度。其中,根据具体的ip组,计算相似度的方式说明可以参照上文说明,在此不再赘述。
79.由于攻击者若雇佣小量的机器制造低频多ip攻击行为,达不到攻击的目的,因此ip地址数量较少的ip组更大可能为正常的ip地址,因而可以将ip地址数量较少的ip组直接过滤掉。如此,可减小后续处理的计算量。
80.在计算出相似度之后,则可以找出ip组序列。可选地,可以根据预设相似度及计算出的相似度,找出ip组序列。
81.比如,如图3所示,假设计算相似度时针对的ip组为第1个10s的c_1_0到c_1_4、第2个10s的c_2_0到c_2_3、第3个10s的c_3_0到c_3_2、第4个10s的c_4_0到c_4_5、地5个10s的c_5_0到c_5_2。
82.可针对上述ip组,基于时序进行特征相似度的计算:计算第1个10s的每个ip组与第2个10s中的每个ip组的相似度,并计算第2个10s的每个ip组与第3个10s中的每个ip组的相似度,计算第3个10s的每个ip组与第4个10s中的每个ip组的相似度,计算第4个10s的每个ip组与第5个10s中的每个ip组的相似度。
83.假设预设相似度为0.87,基于通过上述方式计算得到的相似度,可将相似度与0.87进行比较,从而确定出所属的预设周期相邻、且相似度大于0.87的ip组组成ip组序列。比如,由于c_1_0与c_2_1之间的相似度大于0.87且所属的预设周期相邻、c_2_0与c_3_1之间的相似度大于0.87且所属的预设周期相邻、c_3_1与c_4_0之间的相似度大于0.87且所属的预设周期相邻,则可以确定出一个ip组序列为:c_1_0、c_2_1、c_3_1、c_4_0。
84.其中,在通过如上方式进行时序延伸时,若一个ip组与相邻的另外一个预设周期内的多个ip组的相似度均大于0.87,则可以确定出多个ip组序列。例如,若c_1_0与c_2_0的相似度也大于0.87、但c_2_0与第3个10s内每个ip组的相似度都小于0.87,则还可以确定出一个ip组序列为:c_1_0、c_2_0。
85.若一个ip组与相邻的另外一个预设周期内的多个ip组的相似度均大于0.87,也可以仅根据最大相似度进行时序延伸。比如,若c_1_0与c_2_0的相似度1、c_1_0与c_2_1的相似度2均大于0.87,且相似度2大于相似度1,并且c_2_0、c_2_1与第3个10s内每个ip组的相似度都小于0.87,则可以仅确定出一个ip组序列为:c_1_0、c_2_1。如此,便于计算。
86.在确定出ip组序列的情况下,可针对每个ip组序列,根据该ip组序列中的每个ip地址在该ip组序列所属的多个预设周期内的访问描述信息,得到该ip组序列的综合访问特征集,进而基于此识别该ip组序列中的ip地址是否为异常的低频ip地址。其中,一个ip组序列所属的多个预设周期,为划分出该ip组序列中的各ip组时所使用的访问记录集合所对应的预设周期。比如,如图3所示,ip组序列:c_1_0、c_2_1、c_3_1、c_4_0,所属的多个周期为第1个到第4个10s;ip组序列:c_1_2、c_2_3、c_3_2、c_4_2,所属的多个周期为第1个到第5个10s。
87.可选地,所述综合访问特征集中可以包括第一特征和/或第二特征。可以通过如下方式获得所述第一特征及第二特征。
88.针对每个ip组序列,根据该ip组序列在所属的多个预设周期内的访问描述信息,获得该ip组序列整体在所属的多个预设周期内的第一特征。如此,将一个ip组序列看成是一个ip,该ip组序列对应的访问描述信息即为该ip的访问描述信息,可从该ip组序列对应的访问描述信息中进行特征提取,从而获得所述第一特征。该特征提取的步骤与获得所述第一访问特征的过程类似。
89.其中,所述第一特征可以包括:接收量或发送量的均值/方差等、状态码熵值/百分比等。所述第一特征中的发送量均值,表示所对应的ip组序列整体在所属的多个预设周期内的发送报文的报文大小的平均值。所述第一特征所包括的特征维度具体可以根据实际需求设置,只要能够体现出ip组序列整体在所属的多个预设周期内的访问特征,进而可识别出异常ip地址即可。
90.针对每个ip组序列,根据该ip组序列中的各ip地址在该ip组序列所属的多个预设周期内的访问描述信息及该ip组序列中所包括的各ip地址,获得与该ip组序列中的多ip地址相关的第二特征。如此,可将该ip组序列看作是多个ip的访问,从而提取到与多ip相关的
特征。
91.其中,所述第二特征可以包括:ip熵值/百分比、idc(international data center,数据中心)类的ip百分比、ip与cookie为双射的ip百分比等。其中,ip百分比,表示在ip组序列所属的多个预设周期内,每个ip地址的访问次数与该ip组序列中的各ip地址在该ip组序列所属的多个预设周期中总的访问次数之比。idc类的ip百分比,表示属于idc类的ip地址数量与该ip组序列中一共出现的ip地址数量(在统计得到该数量时,相同的多个ip地址统计为1个)之比。idc表示互联网数据中心。ip与cookie为双射的ip,表示ip地址与cookie是一一对应关系的ip地址。所述第二特征所包括的特征维度具体可以根据实际需求设置,只要能够体现出ip组序列在所属的多个预设周期内的与多ip相关的访问特征,进而可识别出异常ip地址即可。
92.可选地,作为第一种可选的实施方式,可直接针对每个ip组序列,按照如上方式获得该ip组序列的综合特征访问集,进而可以基于该综合访问特征集,以任意方式识别该ip组序列中所包括的低频ip地址是否为均为正常ip地址或异常ip地址。可选地,可以利用该综合访问特征集以及预先基于样本综合访问特征集及对应的样本分类解决结果训练好的分类模型,进行识别。
93.可选地,作为第二种可选的实施方式,还可以通过图5所示方式进行异常ip地址的识别。请参照图5,图5为图2中步骤s150包括的子步骤的流程示意图之一。步骤s150可以包括子步骤s151~子步骤s153。
94.子步骤s151,针对每个ip组序列,根据第一预设数量,从该ip组序列中确定出ip组子序列。
95.其中,一个ip组子序列中每相邻的两个ip组对应相邻的两个预设周期,一个ip组子序列所属的预设周期的数量为所述第一预设数量。如此,可获得固定时间长度的ip组子序列。所述第一预设数量大于等于2,具体可以根据实际需求设置,比如,设置3。
96.如图3所示,一个ip组序列为:c_1_0、c_2_1、c_3_1、c_4_0,可按照第一预设数量3从该ip组序列中确定出至少一个ip组子序列。可选地,可以步长为1的方式确定出ip组子序列:c_1_0、c_2_1、c_3_1;c_2_1、c_3_1、c_4_0。也可以采用使确定出的ip组子序列中不包括重复的ip组的方式来确定ip组子序列,比如,针对上述举例,可仅确定出一个ip组子序列:c_1_0、c_2_1、c_3_1。具体方式可以根据实际需求设置。
97.可选地,在为了使ip组序列中的每个ip组都可以进入后续的识别,可以在确定出ip组子序列时,可以采用补全的方式进行子序列的划分。例如,针对ip组序列为:c_1_0、c_2_1、c_3_1、c_4_0,可以划分为ip组子序列:c_1_0、c_2_1、c_3_1;c_4_0、0、0。
98.子步骤s152,获得每个ip组子序列的综合访问特征。
99.在确定出ip组子序列的情况下,可针对每个ip组子序列,根据该ip组子序列所对应的访问描述信息及ip地址,得到该ip组子序列的综合访问特征。其中,一个ip组子序列的所述综合访问特征,包括该ip组子序列整体在所属的多个预设周期内的第一特征和/或与该ip组序列中的多ip地址相关的第二特征。关于所述第一特征及第二特征的获取过程说明,可以参照上文描述,在此不再赘述。一个ip组序列的所述综合访问特征集中包括至少一个ip组子序列的综合访问特征,该至少一个ip组子序列为ip组序列的子序列。
100.子步骤s153,根据每个ip组子序列的综合访问特征,确定该ip组子序列中的ip地
址是否为异常ip地址。
101.在获得一个ip组子序列的综合访问特征的情况下,可以基于该综合访问特征,以任意方式识别ip组子序列中所包括的低频ip地址是否均为正常ip地址或异常ip地址。
102.可选地,可以根据所述综合访问特征及预先训练好的分类模型,确定确定该ip组子序列中的ip地址是异常ip地址或正常ip地址,其中,所述分类模型根据样本ip组子序列的样本综合访问特征及样本分类结果训练得到。
103.其中,在训练得到所述分类模型时,可以根据模型的召回率是否满足要求,从而确定训练是否完成。当然也可以基于其他指标进行训练。所述分类模型可以为catboost。所述分类模型可以是所述电子设备100预先训练得到的,也可以是其他设备预先训练得到的,在此不对其进行具体限定。
104.可选地,若一个ip地址在不同的ip组子序列或者不同的ip组序列中,该ip地址基于上述识别得到的识别结果不同,则可以结合实际需求确定该ip地址最终的识别结果。比如,如果一个ip地址所在的ip组子序列1被识别为正常,该ip地址所在的ip组子序列2被识别为异常,并且应用场景更关注不要把正常ip地址识别为异常ip地址,则可以最终确定该ip地址为正常ip地址。
105.如此,可避免在利用模型进行识别时,由于模型训练时使用的特征所对应的周期数量与当前获得的特征对应的周期数量差别较大,导致得到对ip组序列中的ip地址是否异常的结果的可靠性不高。
106.作为第三种可选的实施方式,还可以通过图6所示方式进行异常ip地址的识别。请参照图6,图6为图2中步骤s150包括的子步骤的流程示意图之二。步骤s150可以包括子步骤s1501~子步骤s1503。
107.子步骤s1501,获得每个ip组序列所属的预设周期的周期数量;
108.子步骤s1502,筛选出周期数量大于第二预设数量的ip组序列;
109.子步骤s1503,获得筛选出的每个ip组序列的综合访问特征集,并根据筛选出的每个ip组序列的综合访问特征集识别该ip组序列中的ip地址是否为异常ip地址。
110.在本实施方式中,可针对每个ip组序列,统计该ip组序列所属的预设周期的周期数量,即ip组的数量,每个ip组对应的预设周期不同;然后,将该周期数量与第二预设数量进行比较;若该周期数量大于所述第二预设数量,则保留该ip组序列;若该周期数量不大于所述第二预设数量,则可以将该ip组序列提出。其中,所述第二预设数量可以结合实际情况设置,比如,设置为3。由此,可筛选出周期数量大于第三预设周期数量的ip组序列,之后可针对筛选出的每个ip组序列,经过特征提取获得该ip组序列的综合访问特征集,并根据综合访问特征集识别该ip组序列中的ip地址是否为异常ip地址。
111.由于同一个攻击者的攻击行为有一定的连续性,若持续的周期数量减少,也即时间线延续比较断,就达不到攻击目的,因此周期数量较少的ip组序列可以更大可能为正常的ip地址,因而可以将周期数量较少的ip组序列直接过滤掉。如此,可减小后续处理的计算量。
112.在筛选出周期数量大于第二预设数量的ip组序列的情况下,可针对每个ip组序列,如第一种实施方式,直接将该ip组序列作为处理对象,获得该ip组序列的第一特征和/或第二特征,进而基于该第一特征和/或第二特征,确定该ip组序列中的ip地址均为正常ip
地址或者均为异常ip地址。
113.还可以如第二种方式,先基于ip组序列,确定出所属的预设周期数量为第一预设数量的ip组子序列,然后获得每个ip组子序列的综合访问特征,继而根据该综合访问特征识别相应的ip组子序列中的ip地址是否均为正常ip地址或者均为异常ip地址。其中,在该实施方式中,所述第一预设数量小于等于所述第二预设数量。
114.通常,同一个攻击者的攻击行为是一致的,且有一定的连续性,也就是不会只在某一秒攻击一下,就没有后续攻击。一些高明的攻击者为了绕过现有的各种云防御系统(现有的防御系统以单ip的请求拦截为主),雇佣许多机器,每个机器只发送少许请求,让其总量非常高,达到同样的攻击目的。
115.本技术实施例可对一定时间范围内的所有低频请求进行分组,将访问行为相近的低频请求所使用的ip地址聚在同一个组中,由此可以得到多个组;接着,可对相邻时间周期的各个组之间进行相似性计算,得到不同访问行为的时序延伸;最后,对每个访问行为的时序延伸进行特征提取,并基于提取的特征进行分类,从而判断其是否为异常。由此,可识别出低频的访问请求是否为异常访问情况,以及低频使用的ip地址是否为异常ip地址。后续再次发现使用该异常ip地址的访问行为时,则可以对该行为拦截,让其无法进行后续访问,从而达到防护的目的。还可以针对识别出的异常ip地址的异常访问行为,提取出行为特取,然后基于该行为特征,去识别新出现的访问行为是否为异常行为。
116.为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种异常ip地址识别装置200的实现方式,可选地,该异常ip地址识别装置200可以采用上述图1所示的电子设备100的器件结构。进一步地,请参照图7,图7为本技术实施例提供的异常ip地址识别装置200的方框示意图。需要说明的是,本实施例所提供的异常ip地址识别装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。所述异常ip地址识别装置200可以包括:记录获得模块210、划分模块220、相似度计算模块230、序列确定模块240及识别模块250。
117.记录获得模块210,用于获得目标域名在连续的多个预设周期内各自的访问记录集合。其中,所述访问记录集合中包括被访问时访问设备所使用的ip地址及访问描述信息。
118.所述划分模块220,用于根据所述ip地址及访问描述信息,将每个访问记录集合中的低频ip地址划分为至少一个ip组。其中,一个ip组中的ip地址对应的访问描述信息所对应的第一访问特征相似。
119.所述相似度计算模块230,用于计算相邻预设周期内的每任意两个ip组之间的相似度。其中,所述任意两个ip组对应的预设周期不同。
120.所述序列确定模块240,用于根据所述相似度及所述多个预设周期的时间先后顺序,确定出ip组序列。其中,一个ip组序列中每相邻的两个ip组对应相邻的两个预设周期。
121.所述识别模块250,用于获得每个ip组序列的综合访问特征集,并根据每个ip组序列的综合访问特征集识别该ip组序列中的ip地址是否异常。
122.可选地,在本实施例中,所述综合访问特征集包括第一特征和/或第二特征,所述识别模块250通过以下方式获得每个ip组序列的综合访问特征集:针对每个ip组序列,根据该ip组序列在所属的多个预设周期内的访问描述信息,获得该ip组序列整体在所属的多个预设周期内的第一特征;根据该ip组序列中的各ip地址在该ip组序列所属的多个预设周期
内的访问描述信息及该ip组序列中所包括的各ip地址,获得与该ip组序列中的多ip地址相关的第二特征。
123.可选地,在本实施例中,所述综合访问特征集中包括至少一个ip组子序列的综合访问特征,所述识别模块250具体用于:针对每个ip组序列,根据第一预设数量,从该ip组序列中确定出ip组子序列,其中,一个ip组子序列中每相邻的两个ip组对应相邻的两个预设周期,一个ip组子序列所属的预设周期的数量为所述第一预设数量;获得每个ip组子序列的综合访问特征,其中,所述综合访问特征包括ip组子序列整体在所属的多个预设周期内的第一特征和/或与该ip组序列中的多ip地址相关的第二特征;根据每个ip组子序列的综合访问特征,确定该ip组子序列中的ip地址是否为异常ip地址。
124.可选地,在本实施例中,所述识别模块250具体用于:根据所述综合访问特征及预先训练好的分类模型,确定该ip组子序列中的ip地址是异常ip地址或正常ip地址。其中,所述分类模型根据样本ip组子序列的样本综合访问特征及样本分类结果训练得到。
125.可选地,在本实施例中,所述识别模块250具体用于:获得每个ip组序列所属的预设周期的周期数量;筛选出周期数量大于第二预设数量的ip组序列;获得筛选出的每个ip组序列的综合访问特征集,并根据筛选出的每个ip组序列的综合访问特征集识别该ip组序列中的ip地址是否为异常ip地址。
126.可选地,在本实施例中,所述相似度计算模块230具体用于:根据所述任意两个ip组中的ip地址和/或每个ip组的第二访问特征,计算得到所述相似度。其中,一个ip组的第二访问特征为该ip组中的各ip地址对应的第一访问特征中至少一个特征维度的均值和/或方差。
127.可选地,在本实施例中,所述相似度计算模块230具体用于:统计每个ip组中所包括的ip地址的数量;筛选出数量大于第三预设数量的ip组;针对筛选出的ip组,计算相邻预设周期内的每任意两个ip组之间的相似度。
128.可选地,上述模块可以软件或固件(firmware)的形式存储于图1所示的存储器110中或固化于电子设备100的操作系统(operating system,os)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
129.本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的异常ip地址识别方法。
130.综上所述,本技术实施例提供一种异常ip地址识别方法、装置、电子设备及可读存储介质,首先获得目标域名在连续的多个预设周期内各自的访问记录集合;接着,针对每个访问记录集合,根据该访问记录集合中包括的该目标域名被访问设备访问时该访问设备所使用的ip地址及对应的访问描述信息,将该访问记录集合中的低频ip地址划分为至少一个ip组,一个ip组中的ip地址对应的访问描述信息所对应的第一访问特征相似;进而可计算相邻预设周期内的每任意两个ip组之间的相似度,并根据该相似度及连续的多个预设周期的时间先后顺序,确定出ip组序列,其中,上述任意两个ip组对应的预设周期不同,一个ip组序列中的相邻ip组均对应了相邻的两个预设周期;最后即可获得每个ip组序列的综合访问特征集,并基于此识别该ip组序列中的ip地址是否为异常ip地址。如此,可通过访问行为的时序延伸,确定出相似访问行为对应的ip组序列,进而基于该ip组序列的综合访问特征集,识别该ip组序列中的ip地址是否异常,以便于基于识别结果对基于低频且异常的ip地
址的访问请求进行拦截,从而对提供服务的服务器进行防护。
131.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
132.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
133.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
134.以上所述仅为本技术的可选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1