CN111510340B - 访问请求检测方法、装置、电子设备及可读存储介质 - Google Patents
访问请求检测方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111510340B CN111510340B CN202010162772.0A CN202010162772A CN111510340B CN 111510340 B CN111510340 B CN 111510340B CN 202010162772 A CN202010162772 A CN 202010162772A CN 111510340 B CN111510340 B CN 111510340B
- Authority
- CN
- China
- Prior art keywords
- abnormal
- parameter
- parameters
- time period
- access request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种访问请求检测方法、装置、电子设备及可读存储介质,其中方法包括:根据相邻时间段内的各个访问请求包含的参数,确定多个参数各自的增量,将所述多个参数中增量大于预设增量阈值的参数,添加到异常参数集合中,根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合,一个异常参数的双向信息增益为该参数在所述相邻时间段的信息增益的差值,根据待检测的访问请求包含的参数与所述异常参数组合的匹配度,确定所述待检测的访问请求是否是异常访问请求。采用本申请实施例提供的方法,能够实现动态、持续、稳定地检测出异常访问请求。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种访问请求检测方法、装置、电子设备及可读存储介质。
背景技术
随着互联网技术的发展,用户无时无刻都在发起对于网络的访问请求,这些访问请求中,既包含正常发起的访问请求,也包含非正常发起的访问请求,即异常访问请求,在多数时候,异常访问请求会模拟正常访问请求的特征而无法很好的区分,当前多数方法是通过访问请求携带的参数或者访问请求的行为来构造特征将异常访问请求识别出来,此类异常访问请求检测主要包括以下几类方法:
基于统计的异常访问请求检测方法,通过对样本数据不同维度的特征进行统计,计算不同维度特征服从的概率分布函数,异常数据通常因为某些维度的特征异常,偏离正常分布,从而被识别为异常。该方法适用于数据特征具有统计分布特性的异常检测,并且异常样本的特征与正常样本具有可区分性,当样本特征分布离散,或者当异常数据与正常数据在特征空间上分布比较相似时,该方法将很难进行有效的异常检测。
基于距离的异常检测,异常数据在特征空间上通常与正常数据距离较远,基于此,基于距离的异常检测通过直接计算每个样本点与其他数据点的平均距离来得到异常数据。典型的包括基于K近邻(KNN)的异常数据检测,即一个样本与周围k个样本的距离和越大越有可能是异常数据。另外一些基于聚类的方法,如kmeans方法,也是一种基于距离聚合的方式进行异常检测的。该类方法的一个典型缺点是计算复杂度大,当数据量很大时,遍历计算数据点之间的距离将会很困难,同时,基于距离的异常检测对数据特征的可分性也有一定的要求。
基于图与树的异常检测,异常检测可以认为是对样本集中的离群点进行检测,基于图的方法就是将所有样本用边连接起来,根据样本间的相似度计算最大子连通图,异常样本因为异常最终无法和其他样本连通而被检测出来。基于树的方法则是通过对样本空间不断的切分,使得异常样本因为异常而很快别切分出来,正常样本则因为相似而很难被单独切分出来。基于图与树的异常检测虽然检测效果较好,但依然对数据特征的可分性有较高的要求,当异常数据与正常数据可分性较差时也难以有效识别。
基于时间序列的异常检测,对于数据本身具有周期性往复或者具有时序关系的异常检测,除了上述方法外,将时序信息利用起来也是一个比较好的异常检测方式,典型的如加权平均法判断下一时刻的数据是否异常;对于周期性数据,通过环比与同比的方式检测当前时刻是否存在异常数据。不过基于时间序列的异常检测方法只能判断是否存在异常,不能有效的检测出具体的异常数据。
因此,现有技术中的检测异常访问请求的方法有待改进。
发明内容
本申请实施例提供一种访问请求检测方法、装置、电子设备及可读存储介质,以动态、持续、稳定地检测出异常访问请求以及异常访问请求携带的异常参数。
本申请实施例第一方面提供了一种访问请求检测方法,所述方法包括:
根据相邻时间段内的各个访问请求包含的参数,确定多个参数各自的增量;
将所述多个参数中增量大于预设增量阈值的参数,添加到异常参数集合中;
根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合,一个异常参数的双向信息增益为该参数在所述相邻时间段的信息增益的差值;
根据待检测的访问请求包含的参数与所述异常参数组合的匹配度,确定所述待检测的访问请求是否是异常访问请求。
可选地,所述相邻时间段包括第一时间段和第二时间段,所述第二时间段早于所述第一时间段;根据相邻时间段内的各个访问请求包含的参数,确定多个参数各自的增量,包括:
根据所述第一时间段内的各个访问请求包含的参数,确定所述多个参数在所述第一时间段内的累积量,以及,根据所述第二时间段内的各个访问请求包含的参数,确定所述多个参数在所述第二时间段内的累积量;
根据所述多个参数在所述第一时间段内的累积量和所述多个参数在所述第二时间段内的累积量,确定所述多个参数各自的相对增量,所述相对增量为所述第一时间段的累积量相比于所述第二时间段的累积量的差值;
将所述多个参数中增量大于预设增量阈值的参数,添加到异常参数集合中,包括:
将所述多个参数中相对增量大于所述预设增量阈值的参数,添加到所述异常参数集合中。
可选地,在根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合之前,所述方法还包括:
根据所述第一时间段内和所述第二时间段内的各个访问请求包含的所述异常参数集合中的多个异常参数,确定所述多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益;一个异常参数在一个时间段内的信息增益表征:根据该时间段内包含该参数的请求与该时间段内的全部请求,将该异常参数添加到异常参数组合前后的两个信息熵的差值;
根据所述多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益,确定所述多个异常参数各自的双向信息增益。
可选地,根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合,包括:
根据所述异常参数集合中各个异常参数的双向信息增益的相对大小,分批次将所述异常参数集合中的部分参数确定为候选异常参数;
对多个批次的候选异常参数进行组合,得到所述异常参数组合。
可选地,根据所述异常参数集合中各个异常参数的双向信息增益的相对大小,分批次将所述异常参数集合中的部分参数确定为候选异常参数,包括:
将所述异常参数集合中双向信息增益最大的异常参数,确定为第一批次的候选异常参数;
依次取n从2至N,确定在所述异常参数组合包含当前已确定的一个或多个候选异常参数的情况下,当前剩余的异常参数中双向信息增益最大的异常参数,以及,确定在所述异常参数组合不包含当前已确定的一个或多个候选异常参数的情况下,当前剩余的异常参数中双向信息增益最大的异常参数,将所确定的异常参数,确定为第n批次的候选异常参数。
可选地,在分批次将所述异常参数集合中的部分参数确定为所述候选异常参数的过程中,在当前剩余的异常参数中双向信息增益小于预设增益阈值时,结束候选异常参数的确定流程;或
在当前批次达到预设批次阈值时,结束候选异常参数的确定流程。
可选地,对多个批次的候选异常参数进行组合,得到所述异常参数组合,包括:
根据所述候选异常参数所处的批次,以所述候选异常参数为节点构建决策树;
根据所述决策树的多条由根节点到叶子节点的分支,对该分支上相应的多个候选异常参数进行组合,得到多个异常参数组合。
可选地,对多个批次的候选异常参数进行组合,得到所述异常参数组合,包括:
对多个批次的候选异常参数进行组合,得到多个异常参数组合;
根据所述多个异常参数组合中包含于多个访问请求的数量和/或比例,将所述多个异常参数组合中的部分组合确定为所述异常参数组合。
可选地,根据待检测的访问请求包含的参数与所述异常参数组合的匹配度,确定所述待检测的访问请求是否是异常访问请求,包括:
在所述异常参数组合中的全部参数均包含于所述待检测的访问请求中的情况下,确定所述待检测的访问请求是异常访问请求;或
在所述异常参数组合中的预设数量个参数均包含于所述待检测的访问请求中的情况下,确定所述待检测的访问请求疑似异常访问请求,所述预设数量小于所述异常参数组合包含的参数的个数。
本申请实施例第二方面提供一种访问请求检测装置,所述装置包括:
第一确定模块,用于根据相邻时间段内的各个访问请求包含的参数,确定多个参数各自的增量;
添加模块,用于将所述多个参数中增量大于预设增量阈值的参数,添加到异常参数集合中;
获得模块,用于根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合,一个异常参数的双向信息增益为该参数在所述相邻时间段的信息增益的差值;
第二确定模块,用于根据待检测的访问请求包含的参数与所述异常参数组合的匹配度,确定所述待检测的访问请求是否是异常访问请求。
可选地,所述相邻时间段包括第一时间段和第二时间段,所述第二时间段早于所述第一时间段,所述第一确定模块,包括:
第一确定子模块,用于根据所述第一时间段内的各个访问请求包含的参数,确定所述多个参数在所述第一时间段内的累积量,以及,根据所述第二时间段内的各个访问请求包含的参数,确定所述多个参数在所述第二时间段内的累积量;
第二确定子模块,用于根据所述多个参数在所述第一时间段内的累积量和所述多个参数在所述第二时间段内的累积量,确定所述多个参数各自的相对增量,所述相对增量为所述第一时间段的累积量相比于所述第二时间段的累积量的差值;
所述添加模块,包括:
添加子模块,用于将所述多个参数中相对增量大于所述预设增量阈值的参数,添加到所述异常参数集合中。
可选地,所述装置还包括:
第三确定模块,用于根据所述第一时间段内和所述第二时间段内的各个访问请求包含的所述异常参数集合中的多个异常参数,确定所述多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益;一个异常参数在一个时间段内的信息增益表征:根据该时间段内包含该参数的请求与该时间段内的全部请求,将该异常参数添加到异常参数组合前后的两个信息熵的差值;
第四确定模块,用于根据所述多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益,确定所述多个异常参数各自的双向信息增益。
可选地,所述获得模块,包括:
第三确定子模块,用于根据所述异常参数集合中各个异常参数的双向信息增益的相对大小,分批次将所述异常参数集合中的部分参数确定为候选异常参数;
获得子模块,用于对多个批次的候选异常参数进行组合,得到所述异常参数组合。
可选地,所述第三确定子模块,包括:
第一确定子单元,用于将所述异常参数集合中双向信息增益最大的异常参数,确定为第一批次的候选异常参数;
第二确定子单元,用于依次取n从2至N,确定在所述异常参数组合包含当前已确定的一个或多个候选异常参数的情况下,当前剩余的异常参数中双向信息增益最大的异常参数,以及,确定在所述异常参数组合不包含当前已确定的一个或多个候选异常参数的情况下,当前剩余的异常参数中双向信息增益最大的异常参数,将所确定的异常参数,确定为第n批次的候选异常参数。
可选地,所述装置还包括:
流程结束模块,用于在分批次将所述异常参数集合中的部分参数确定为所述候选异常参数的过程中,在当前剩余的异常参数中双向信息增益小于预设增益阈值时,结束候选异常参数的确定流程;或
在当前批次达到预设批次阈值时,结束候选异常参数的确定流程。
可选地,所述获得子模块,包括:
决策树构建子单元,用于根据所述候选异常参数所处的批次,以所述候选异常参数为节点构建决策树;
第一获得子单元,用于根据所述决策树的多条由根节点到叶子节点的分支,对该分支上相应的多个候选异常参数进行组合,得到多个异常参数组合。
可选地,所述获得子模块,还包括:
第二获得子单元,用于对多个批次的候选异常参数进行组合,得到多个异常参数组合;
第三确定子单元,用于根据所述多个异常参数组合中包含于多个访问请求的数量和/或比例,将所述多个异常参数组合中的部分组合确定为所述异常参数组合。
可选地,所述第二确定模块,包括:
第四确定子模块,用于在所述异常参数组合中的全部参数均包含于所述待检测的访问请求中的情况下,确定所述待检测的访问请求是异常访问请求;或
第五确定子模块,用于在所述异常参数组合中的预设数量个参数均包含于所述待检测的访问请求中的情况下,确定所述待检测的访问请求疑似异常访问请求,所述预设数量小于所述异常参数组合包含的参数的个数。
本申请实施例第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面所述的方法中的步骤。
本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面所述的方法的步骤。
采用本申请实施例提供的访问请求检测方法,从访问请求携带的参数角度入手,通过时序上访问请求的突增变化作为异常检测点,同时将异常特征参数维度识别出来,再通过异常维度的自适应组合方式将异常数据检测出来,准确识别出异常访问请求携带的异常参数。由于只依赖访问请求是否在时序上有突增变化,而不依赖访问请求的某些固定参数特征,能够实现访问请求变化方法跟随变化的自适应检测,同时由于通过异常参数的自适应选择,能够准确识别出异常访问请求携带的异常参数,最终实现动态、持续、稳定地检测出异常访问请求。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提出的一种访问请求检测方法的流程图;
图2是本申请实施例提出的一种编码过程示意图;
图3是本申请一实施例提出的另一种访问请求检测方法的流程图;
图4是本申请一实施例提出的一种候选异常参数的确定过程示意图;
图5是本申请一实施例提出的一种访问请求检测装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,图1是本申请一实施例提出的一种访问请求检测方法的流程图。如图1所示,该方法包括以下步骤:
步骤S11:根据相邻时间段内的各个访问请求包含的参数,确定多个参数各自的增量。
本实施例中,相邻时间段指的是两个相邻的时间长度范围,例如13:00-14:00可以是第一个时间段,14:00-15:00是第二个时间段,这两个时间段相邻,其中,每个时间段的具体时间长度本申请不作具体限定,例如可以是十分钟、一个小时或者六个小时等,另外,对于具体选择哪两个相邻时间段,本申请同样不做具体限定,例如相邻时间段还可以是13:20-13:30与13:30-13:40,还可以是12:00-13:00与13:00-14:00。
每个访问请求可以看作是一条流量,即本申请也可以看作是对服务器接收到的每条流量进行分析。每个访问请求可以包括多种参数,如ua,cookies,header等,每种参数里面又可以细分到很多小的参数,比如浏览器版本、机型、内存大小、屏幕分辨率等,后续内容中提到的参数,如果没有特殊说明,均表示浏览器版本、机型、内存大小、屏幕分辨率等小参数,不是ua,cookies,header等参数。
服务器与多个客户端连接,为多个客户端提供服务。多个客户端在向服务器请求网络服务时,会向服务器发送网络访问请求,另一边,服务器会接收来自各个客户端发送的网络访问请求,服务器在接收到来自各个客户端发送的网络访问请求之后,可以记录下每个客户端发送的每个访问请求的具体参数以及每个访问请求的发送时间。接着,服务器便可以根据预先设置的时间段标准,确定出相邻时间段内的各个访问请求包含的参数,从而确定多个参数各自的增量。
为了便于服务器对每个参数的数量进行统计,从而确定多个参数各自的增量,在一种实施方式中,可以分别针对每个时间段内的多个访问请求,根据每个访问请求是否包含某个参数进行0-1的向量化编码,例如,对于每个访问请求,如果其包含某个参数,则将该参数对应的编码位标记为1,否则标记为0,这样,最终可以将每个访问请求转换为一个只含0-1数值的参数特征向量,便于计算机处理。
参考图2,图2是本申请实施例提出的一种编码过程示意图。如图2中,首先建立关于每个参数的索引表,例如华为、苹果、oppo……32G……,接着,将一个访问请求包含的参数(oppo、9.6.6、32G)与索引表进行匹配,其中与索引表匹配对应的编码位标记为1,其余标记为0,最终将该访问请求转化为参数特征向量(即图2中的向量化编码)。
步骤S12:将所述多个参数中增量大于预设增量阈值的参数,添加到异常参数集合中。
本实施例中,异常参数集合用来存储初步确定的异常参数。具体地,针对各个访问请求包含的多个参数,可以计算每个参数在相邻时间段内的增量,在计算得到每个参数对应的增量后,将其与预设增量阈值比较,若某个参数对应的增量大于预设增量阈值,初步确定该参数为异常参数,同时将该参数添加到异常参数集合中。
在一种实施方式中,选取前后两个相邻的时间段作为研究对象,即相邻的第一时间段和第二时间段,其中,第二时间段早于第一时间段,在根据相邻时间段内的各个访问请求包含的参数,确定多个参数各自的增量时,具体可以包括以下步骤:
S11-1:根据所述第一时间段内的各个访问请求包含的参数,确定所述多个参数在所述第一时间段内的累积量,以及,根据所述第二时间段内的各个访问请求包含的参数,确定所述多个参数在所述第二时间段内的累积量。
S11-2:根据所述多个参数在所述第一时间段内的累积量和所述多个参数在所述第二时间段内的累积量,确定所述多个参数各自的相对增量,所述相对增量为所述第一时间段的累积量相比于所述第二时间段的累积量的差值。
相应地,将所述多个参数中增量大于预设增量阈值的参数,添加到异常参数集合中,具体可以包括以下步骤:
步骤S12-1,将所述多个参数中相对增量大于所述预设增量阈值的参数,添加到所述异常参数集合中。
示例地,假设第二时间段是13:20-13:30,第一时间段是13:30-13:40,针对参数oppo,在第二时间段内有105个访问请求中出现,即参数oppo在第二时间段的累积量是105,在第一时间段内有1000个访问请求中出现,即参数oppo在第一时间段的累积量是1000,因此,针对参数oppo的相对增量为895,即第一时间段的累积量相比于第二时间段的累积量的差值为895。假设预设增量阈值为500,参数oppo的相对增量大于预设增量阈值,因此将参数oppo添加到异常参数集合中。对于其他参数,计算方式相同,本实施例不再举例赘述。
步骤S13,根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合,一个异常参数的双向信息增益为该参数在所述相邻时间段的信息增益的差值。
本实施例中,异常参数的双向信息增益指的是某个参数在相邻时间段的信息增益的差值,即该参数在第一时间段的信息增益与该参数在第二时间段的信息增益的差值。
在根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合之前,需要先确定各个异常参数的双向信息增益。
参考图3,图3是本申请一实施例提出的另一种访问请求检测方法的流程图。如图3所示,在根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合之前,还可以包括以下步骤:
步骤S13-1,根据所述第一时间段内和所述第二时间段内的各个访问请求包含的所述异常参数集合中的多个异常参数,确定所述多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益。
步骤S13-2,根据所述多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益,确定所述多个异常参数各自的双向信息增益。
本实施例中,首先确定多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益,将某个参数在第一时间段内的信息增益减去第二时间段内的信息增益,即得到该参数的双向信息增益。
其中,一个异常参数在一个时间段内的信息增益表征:根据该时间段内包含该参数的请求与该时间段内的全部请求,将该异常参数添加到异常参数组合前后的两个信息熵的差值。
具体地,一个参数在一个时间段内的信息增益为:当前条件下,选择该参数之前的信息熵减去选择该参数之后的信息熵,即:
gain(E)=H(C)-H(C/E)
其中,gain(E)为参数E对应的信息增益,H(C)为选择参数E之前的信息熵,H(C/E)为选择参数E之后的信息熵。
本实施例中,在根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合时,具体可以包括以下步骤:
步骤S13-3,根据所述异常参数集合中各个异常参数的双向信息增益的相对大小,分批次将所述异常参数集合中的部分参数确定为候选异常参数。
步骤S13-4,对多个批次的候选异常参数进行组合,得到所述异常参数组合。
本实施例中,分批次将所述异常参数集合中的部分参数确定为候选异常参数指的是分批次确定异常参数,即依次确定第一批次的第一候选异常参数,在第一候选参数确定之后,可以在包含第一候选参数以及不包含第一候选参数两种情况下,各自计算出一个第二批次的第二候选异常参数,同样地,在确定了两个第二批次的候第二选异常参数之后,针对每个第二候选异常参数,同样可以在在包含第二候选参数以及不包含第二候选参数两种情况下,各自再计算出一个第三批次的候选异常参数,即第三批次的候选异常参数总共包括4个,通常来说,第n批次的候选异常参数可以有2n-1种情况。依此类推,最后将多个批次得到的候选异常参数进行组合,得到最终的异常参数组合。
本实施例中,在根据所述异常参数集合中各个异常参数的双向信息增益的相对大小,分批次将所述异常参数集合中的部分参数确定为所述候选异常参数时,具体可以包括以下步骤:
步骤S13-3-1,将所述异常参数集合中双向信息增益最大的异常参数,确定为第一批次的候选异常参数。
步骤S13-3-2,依次取n从2至N,确定在所述异常参数组合包含当前已确定的一个或多个候选异常参数的情况下,当前剩余的异常参数中双向信息增益最大的异常参数,以及,确定在所述异常参数组合不包含当前已确定的一个或多个候选异常参数的情况下,当前剩余的异常参数中双向信息增益最大的异常参数,将所确定的异常参数,确定为第n批次的候选异常参数。
示例地,假设异常参数集合为M,M中包括5个异常参数,分别是参数1:机型oppo,参数2:版本号9.6.6,参数3:内存32G,参数4:分辨率3120*1440,参数5:处理器Intel。
首先确定各个参数对应的双向信息增益,假设参数1的双向信息增益最大,则将参数1作为第一批次的候选异常参数;
接着,在参数1的基础上,接着确定第二批次的候选异常参数,即,在包含参数1的条件下,可以确定剩下的参数2、参数3、参数4和参数5各自对应的双向信息增益,假设参数2的双向信息增益最大,则将参数2作为包含参数1条件下的第二批次的候选异常参数,另外,在不包含参数1的条件下,同样可以确定剩下的参数2、参数3、参数4和参数5各自对应的双向信息增益,假设参数3的双向信息增益最大,则将参数3作为不包含参数1条件下的第二批次的候选异常参数,至此,在参数1的基础上,确定的第二批次的候选异常参数分别为2和3;
同样地,在参数1和参数2,或者参数1和参数3的基础上,可以确定第三批次的4个候选异常参数,在既包含参数1又包含参数2的条件下,此时可以确定剩下的参数3、参数4和参数5各自对应的双向信息增益,假设参数3的双向信息增益最大,则将参数3作为既包含参数1又包含参数2的条件下的第三批次的候选异常参数,在包含参数1但不包含参数2的条件下,此时同样是可以确定剩下的参数3、参数4和参数5各自对应的双向信息增益,假设参数5的双向信息增益最大,则将参数5作为包含参数1但不包含参数2的条件下的第三批次的候选异常参数,同样地,可以确定不包含参数1但包含参数3条件下,以及既不包含参数1也不包含参数3条件下各自对应的第三批次的候选异常参数。
需要说明的是,从第二批次开始,后续批次中,同一批次的多个候选异常参数的值可以重复。以图4为例,第三批次的4个候选异常参数(即图4中第三层椭圆中的参数)从左到右可以依次是3、5、2、5。
下面以一个具体计算的例子,对本实施例进行详细说明:
确定第一批次的候选异常参数:
仍沿用上述示例,分别针对异常参数集合M中的每个参数,首先计算M中5个参数分别在第一时间段和第二时间段各自的信息增益,由于在选择第一批次的候选异常参数时,选择该参数之前的信息熵为0,因此,在选择第一批次的候选异常参数时,可以直接通过以下公式计算信息增益:
其中,H(C)表示参数C对应的信息熵,或者第一批次选择时参数C对应的信息增益,参数C是异常参数集合M中的参数,m值取2,表示参数C的两种状态,选择该参数状态下,i=1,不选择该参数状态下,i=2,pi=ni/N,表示某个状态下某个参数的数量在总的异常参数数量中的占比比率,其中,ni标识参数C的数量,N表示访问请求的总数量,因此,上述公式可以转换为:
H(c)=-p1logp1-p2logp2
其中,p1表示参数C选择状态下的数量在访问请求总数量中的占比比率,需要注意的是,每个访问请求至多包含一个相同的参数。
示例地,假设针对参数oppo,在第一时间段的累积量为X1,针对参数9.6.6,在第一时间段的累积量为X2,针对参数32G,在第一时间段的累积量为X3,针对参数3120*1440,在第一时间段的累积量为X4,针对参数Intel,在第一时间段的累积量为X5,第一时间段内访问请求总数量为N(N至少由参数oppo的累积量为X1、参数9.6.6的累积量为X2、参数32G的累积量为X3、参数3120*1440的累积量为X4和参数Intel的累积量为X5组成,还可以包括其他参数的累积量)。则在计算第一时间段的信息增益,且在选择参数1状态下时,p1=n1/N=X1/N。
也就是说,在计算第一批次的候选异常参数时,如果第一时间段内,各个参数的累积量确定之后,便能够确定在该时间段内,各个参数对应的p1和p2,从而确定第一时间段内各个参数对应的信息增益,同理,可以确定第二时间段内各个参数对应的信息增益,接着将某个参数在第一时间段信息增益减去该参数在第二时间段的信息增益,即得到该参数的双向信息增益,选取其中双向信息增益最大的参数作为第一批次的候选异常参数。
确定第二批次的候选异常参数:
假设确定的第一批次的候选异常参数为参数1,以参数1作为基础继续确定第二批次的2个候选异常参数。针对剩下的参数2、3、4、5,首先计算每个参数在第一时间段的信息增益,再计算每个参数在第二时间段的信息增益。计算每个参数在第一时间段的信息增益或者计算每个参数在第二时间段的信息增益的过程可以看作是决策树的建立过程。参考图4,图4是本申请实施例提出的一种候选异常参数的确定过程示意图。
如图4所示,对于初始状态的参数1,有两条分支:包含与不包含。每一条分支都是一种条件。初始条件的信息熵(即选择参数E之前的信息熵,E也是异常参数集合M中的参数)就是第一步计算的H(C)。那么对于包含状态下的分支,此时条件为C=(包含)参数1,现在需要从2、3、4、5中选择一个最合适的参数,以选择参数2为例,此时待选的参数就是E=参数2,计算H(C/E)采用公式:
H(C/E)=-p1且2log(p1且2)-p1非2log(p1非2)
其中,p1且2表示包含参数1且包含参数2的概率,p1非2表示包含参数1但不包含参数2的概率,同理,如果第一时间段内,各个参数的累积量确定之后,便能够确定在该时间段内,各个参数对应的p1且2和p1非2,这样可以计算出在给定条件C(包含参数1)下,选择参数E(参数2)以后的信息熵H(C/E)。从而确定第一时间段内参数2对应的信息增益,同理,可以确定第二时间段内参数2对应的信息增益,接着将参数2在第一时间段信息增益减去参数2在第二时间段的信息增益,即得到参数2对应的双向信息增益,同理,可以确定其他参数在当前条件(包含参数1)下的双向信息增益,并从中选择双向信息增益最大的参数作为第二批次包含参数1条件下的参数,例如参数2。
同理,对于决策树上其他分支(不包含参数1),即对于不包含参数1状态下的分支,同样需要从2、3、4、5中选择一个最合适的参数,以选择参数3(即第二批次的第二个候选异常参数)为例,此时待选的参数就是E=参数3,计算H(C/E)采用公式:
H(C/E)=-p非1且3log(p非1且3)-p非1非3log(p非1非3)
其中,p非1且3表示不包含参数1包含参数3的概率,p非1非3表示不包含参数1且不包含参数3的概率。
同理,如果第一时间段内,各个参数的累积量确定之后,便能够确定在该时间段内,各个参数对应的p非1且3和p非1非3,这样可以计算出在给定条件C(不包含参数1)下,选择参数E(参数3)以后的信息熵H(C/E)。从而确定第一时间段内参数3对应的信息增益。
同理,可以确定第二时间段内参数3对应的信息增益,接着将参数3在第一时间段信息增益减去参数3在第二时间段的信息增益,即得到参数3对应的双向信息增益,同理,可以确定其他参数在当前条件(不包含参数1)下的双向信息增益,并从中选择双向信息增益最大的参数作为第二批次不包含参数1条件下的参数,例如参数3。
在确定第二批次的两个候选异常参数之后(例如包含参数1分支下选择的参数2,不包含参数1分支下的参数3),可以继续选择第三批次的4个候选异常参数。如图4所示,对于第二批次的参数2同样可以有两条分支:包含与不包含。每一条分支都是一种条件。选择第三批次的候选异常参数时的信息熵H(C)就是第二步计算的H(C/E),即公式H(C/E)=-p1且 2log(p1且2)-p1非2log(p1非2)得到的H(C/E)。那么对于包含状态下的分支,此时条件为C=包含参数1包含参数2,现在需要从剩下的3、4、5中选择一个最合适的参数,以选择参数4为例,此时待选的参数就是E=参数4,计算H(C/E)采用公式:
H(C/E)=-p1且2且4log(p1且2且4)-p1且2非4log(p1且2非4)
其中,p1且2且4表示同时包含参数1包含参数2包含参数3的概率,p1且2非4表示同时包含参数1包含参数2但不包含4的概率,同理,如果第一时间段内,各个参数的累积量确定之后,便能够确定在该时间段内,各个参数对应的p1且2且4和p1且2非4,这样可以计算出在给定条件C(包含参数1且包含参数2)下,选择参数E(参数4)以后的信息熵H(C/E)。从而确定第一时间段内参数4对应的信息增益,同理,可以确定第二时间段内参数4对应的信息增益,接着将参数4在第一时间段信息增益减去参数4在第二时间段的信息增益,即得到参数4对应的双向信息增益,同理,可以确定其他参数在当前条件(包含参数1且包含参数2)下的双向信息增益,并从中选择双向信息增益最大的参数作为第三批次包含参数1且包含参数2条件下的参数,例如参数4。
同理,对于决策树上其他分支(包含参数1不包含参数2),同样需要从3、4、5中选择一个最合适的参数,以选择参数5(即第三批次的第二个候选异常参数)为例,此时待选的参数就是E=参数5,选择参数5之前的信息熵H(C)同样是第二步计算的H(C/E),即公式
H(C/E)=-p1且2log(p1且2)-p1非2log(p1非2)得到的H(C/E),而此时计算H(C/E)采用公式:
H(C/E)=-p1非2且5log(p1非2且5)-p1非2非5log(p1非2非5)
其中,p1非2且5表示同时包含参数1不包含参数2包含参数5的概率,p1非2非5表示同时包含参数1不包含参数2不包含5的概率,同理,如果第一时间段内,各个参数的累积量确定之后,便能够确定在该时间段内,各个参数对应的p1非2且5和p1非2非5,这样可以计算出在给定条件C(包含参数1但不包含参数2)下,选择参数E(参数5)以后的信息熵H(C/E)。从而确定第一时间段内参数5对应的信息增益,同理,可以确定第二时间段内参数5对应的信息增益,接着将参数5在第一时间段信息增益减去参数5在第二时间段的信息增益,即得到参数5对应的双向信息增益,同理,可以确定其他参数在当前条件(包含参数1但不包含参数2)下的双向信息增益,并从中选择双向信息增益最大的参数作为第三批次包含参数1但不包含参数2条件下的参数,例如参数5。
同理,可以得到第三批次的剩下两个参数。
依次类推,可以得到第四批次的8个参数。
另外,本实施例中,在对多个批次的候选异常参数进行组合时,同样可以通过构建决策数的方法,具体可以包括以下步骤:
步骤S13-4-1,根据所述候选异常参数所处的批次,以所述候选异常参数为节点构建决策树。
S13-4-2,根据所述决策树的多条由根节点到叶子节点的分支,对该分支上相应的多个候选异常参数进行组合,得到多个异常参数组合。
示例地,继续参考图4,图4所示的候选异常参数的确定过程可以看作是决策树的构建过程,第一个批次确定的候选异常参数为参数1(表示异常参数集合中的第一个参数),位于决策树的根节点,第二批次的候选异常参数有两个,分别为在包含参数1的条件下确定的参数2,和在不包含参数1的条件下确定的参数3,因此,决策树的第一层叶子节点为2和3,如果此时完成了候选参数的确定流程,如图4所示的决策树中的4种分支,可以得到4种异常参数组合,既包含参数1也包含参数2,包含参数1但不包含参数2,不包含参数1但包含参数3,既不包含参数1也不包含参数3。
应当理解的,图4只示出了两个批次的候选异常参数构建决策树的过程,对于包含更多批次的候选异常参数的构建过程未示出。
步骤S14,根据待检测的访问请求包含的参数与所述异常参数组合的匹配度,确定所述待检测的访问请求是否是异常访问请求。
本实施例中,通常情况下,服务器接收到的所有访问请求均为待检测的访问请求,但是在一些实施例中,可以设置接收白名单,对于白名单上客户端发送的访问请求可以不用进行检测。
本实施例中,从访问请求携带的参数角度入手,通过时序上访问请求的突增变化作为异常检测点,同时将异常特征参数维度识别出来,再通过异常维度的自适应组合方式将异常数据检测出来,准确识别出异常访问请求携带的异常参数。由于只依赖访问请求是否在时序上有突增变化,而不依赖访问请求的某些固定参数特征,能够实现访问请求变化方法跟随变化的自适应检测,同时由于通过异常参数的自适应选择,能够准确识别出异常访问请求携带的异常参数,最终实现动态、持续、稳定地检测出异常访问请求。
在通过步骤S11-步骤S13得到异常参数组合后,在步骤S14中,根据待检测的访问请求包含的参数与所述异常参数组合的匹配度,确定所述待检测的访问请求是否是异常访问请求时,作为另一种可实施方式的举例,可以包括以下步骤:
步骤S14-1,在所述异常参数组合中的全部参数均包含于所述待检测的访问请求中的情况下,确定所述待检测的访问请求是异常访问请求;或在所述异常参数组合中的预设数量个参数均包含于所述待检测的访问请求中的情况下,确定所述待检测的访问请求疑似异常访问请求,所述预设数量小于所述异常参数组合包含的参数的个数。
本实施例中,在检测访问请求时,如果异常参数组合中的全部参数均包含于所述待检测的访问请求中,即待检测的访问请求中包含异常参数组合中的所有参数,则认为该待检测的访问请求为异常访问请求,服务器可以标识该访问请求为异常访问请求,另外,如果异常参数组合中的部分参数(预设数量个参数)均包含于所述待检测的访问请求中,例如异常参数组合包含5个候选异常参数,在检测待检测的访问请求时,异常参数组合中有4个候选异常参数包含于待检测的访问请求,此时可以认为该待检测的访问请求为异常访问请求的几率较大,服务器可以将该待检测的访问请求标识为疑似异常访问请求。
通过执行上述步骤S14-1,不仅可以准确检测出异常访问请求,同时还可以检测出疑似异常访问请求,以便进一步检测或者重点关注,提高访问请求检测的准确率。
在一种实施方式中,考虑到在实际中,最终的异常参数组合并不需要包含异常参数集合中的所有参数,仅仅考虑其中部分参数就可以达到很高的准确率,因此,为了减少计算步骤,提高处理效率,在当前剩余的异常参数中双向信息增益小于预设增益阈值时,结束候选异常参数的确定流程;或在当前批次达到预设批次阈值时,结束候选异常参数的确定流程。
继续参考图4,示例地,假设在包含1的条件下确定的第二批次的候选异常参数2的双向信息增益小于预设增益阈值,那么确定参数2为包含1的条件下的第二批次的候选异常参数之后,对于包含参数1这个分支,便不再继续向下计算第三批次的候选参数了,即结束候选异常参数的确定流程;或者说,设置的预设批次阈值是两批,那么同样地,在确定第一批次的参数1和第二批次的参数2和参数3之后,便不再继续向下计算第三批次的候选参数了,即结束候选异常参数的确定流程。
结合以上实施例,理论上由候选异常参数组成的异常参数组合都能够用于检测异常访问请求,但是考虑到实际中,某些条件下匹配得到的异常访问请求数量太少,则需要将其筛选掉,因此,在对所述候选异常参数进行组合,得到所述异常参数组合时,具体可以包括以下步骤:
步骤S13-4-1,对多个批次的候选异常参数进行组合,得到多个异常参数组合。
步骤S13-4-2,根据所述多个异常参数组合中包含于多个访问请求的数量和/或比例,将所述多个异常参数组合中的部分组合确定为所述异常参数组合。
在确定每个批次的候选异常参数之后,可以对多个批次的候选异常参数进行组合,得到多个异常参数组合,例如:将第一批次的参数1,第二批次的包含参数1状态下的参数2,以及第二批次的不包含参数状态下的参数3,进行组合,得到两种异常参数组合,即包含参数1且包含参数2,不包含参数1包含参数2,假设用包含参数1且包含参数2这一组异常参数组合匹配服务器收到的各个访问请求,得到的访问请求的数量较少,例如只有5个,低于预设的数量阈值10个,此时,需要筛选掉包含参数1且包含参数2这一组异常参数组合,即对决策树进行剪枝处理,如果用包含参数1且包含参数2这一组异常参数组合匹配服务器收到的各个访问请求,得到的访问请求的数量较多,例如有100个,高于预设的数量阈值10个,则可以继续保留该条件,继续计算第三批次的候选异常参数,假设在包含参数1且包含参数2这一条件下确定的第三层的候选异常参数为参数3,此时将包含参数1包含参数2包含参数3这一组异常参数组合继续匹配服务器收到的各个访问请求,假设此时得到的访问请求较少,例如8个,小于预设的数量阈值10个,此时需要筛选掉包含参数1且包含参数2包含参数3这一组异常参数组合,即对决策树进行剪枝处理。也就是说,本实施例中,每一批次组成的异常参数组合均要进行剪枝处理,直到得到满足要求的异常参数组合。
另外,考虑到在访问请求频繁的时间段,收到的访问请求较多,而访问请求不频繁的时间段,收到的访问请求较少,因此,如果仅仅用异常参数组合匹配的预设数量来剪枝的话,可能造成误差,在剪枝处理时,还可以考虑异常参数组合匹配的访问请求占总访问请求的比例,例如用包含参数1且包含参数2这一组异常参数组合匹配服务器收到的各个访问请求,得到的访问请求的数量有100个,但是服务器收到的总访问请求有100000个,占比为0.001,低于预设的比例阈值0.005,同样需要筛选掉包含参数1且包含参数2这一组异常参数组合。
基于同一发明构思,本申请一实施例提供一种访问请求检测装置。参考图5,图5是本申请一实施例提供的访问请求检测装置50的示意图。如图5所示,该装置包括:
第一确定模块51,用于根据相邻时间段内的各个访问请求包含的参数,确定多个参数各自的增量;
添加模块52,用于将所述多个参数中增量大于预设增量阈值的参数,添加到异常参数集合中;
获得模块53,用于根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合,一个异常参数的双向信息增益为该参数在所述相邻时间段的信息增益的差值;
第二确定模块54,用于根据待检测的访问请求包含的参数与所述异常参数组合的匹配度,确定所述待检测的访问请求是否是异常访问请求。
可选地,所述相邻时间段包括第一时间段和第二时间段,所述第二时间段早于所述第一时间段,所述第一确定模块,包括:
第一确定子模块,用于根据所述第一时间段内的各个访问请求包含的参数,确定所述多个参数在所述第一时间段内的累积量,以及,根据所述第二时间段内的各个访问请求包含的参数,确定所述多个参数在所述第二时间段内的累积量;
第二确定子模块,用于根据所述多个参数在所述第一时间段内的累积量和所述多个参数在所述第二时间段内的累积量,确定所述多个参数各自的相对增量,所述相对增量为所述第一时间段的累积量相比于所述第二时间段的累积量的差值;
所述添加模块,包括:
添加子模块,用于将所述多个参数中相对增量大于所述预设增量阈值的参数,添加到所述异常参数集合中。
可选地,所述装置还包括:
第三确定模块,用于根据所述第一时间段内和所述第二时间段内的各个访问请求包含的所述异常参数集合中的多个异常参数,确定所述多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益;一个异常参数在一个时间段内的信息增益表征:根据该时间段内包含该参数的请求与该时间段内的全部请求,将该异常参数添加到异常参数组合前后的两个信息熵的差值;
第四确定模块,用于根据所述多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益,确定所述多个异常参数各自的双向信息增益。
可选地,所述获得模块,包括:
第三确定子模块,用于根据所述异常参数集合中各个异常参数的双向信息增益的相对大小,分批次将所述异常参数集合中的部分参数确定为候选异常参数;
获得子模块,用于对多个批次的候选异常参数进行组合,得到所述异常参数组合。
可选地,所述第三确定子模块,包括:
第一确定子单元,用于将所述异常参数集合中双向信息增益最大的异常参数,确定为第一批次的候选异常参数;
第二确定子单元,用于依次取n从2至N,确定在所述异常参数组合包含当前已确定的一个或多个候选异常参数的情况下,当前剩余的异常参数中双向信息增益最大的异常参数,以及,确定在所述异常参数组合不包含当前已确定的一个或多个候选异常参数的情况下,当前剩余的异常参数中双向信息增益最大的异常参数,将所确定的异常参数,确定为第n批次的候选异常参数。
可选地,所述装置还包括:
流程结束模块,用于在分批次将所述异常参数集合中的部分参数确定为所述候选异常参数的过程中,在当前剩余的异常参数中双向信息增益小于预设增益阈值时,结束候选异常参数的确定流程;或
在当前批次达到预设批次阈值时,结束候选异常参数的确定流程。
可选地,所述获得子模块,包括:
决策树构建子单元,用于根据所述候选异常参数所处的批次,以所述候选异常参数为节点构建决策树;
第一获得子单元,用于根据所述决策树的多条由根节点到叶子节点的分支,对该分支上相应的多个候选异常参数进行组合,得到多个异常参数组合。
可选地,所述获得子模块,还包括:
第二获得子单元,用于对多个批次的候选异常参数进行组合,得到多个异常参数组合;
第三确定子单元,用于根据所述多个异常参数组合中包含于多个访问请求的数量和/或比例,将所述多个异常参数组合中的部分组合确定为所述异常参数组合。
可选地,所述第二确定模块,包括:
第四确定子模块,用于在所述异常参数组合中的全部参数均包含于所述待检测的访问请求中的情况下,确定所述待检测的访问请求是异常访问请求;或
第五确定子模块,用于在所述异常参数组合中的预设数量个参数均包含于所述待检测的访问请求中的情况下,确定所述待检测的访问请求疑似异常访问请求,所述预设数量小于所述异常参数组合包含的参数的个数。
基于同一发明构思,本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的方法中的步骤。
基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种访问请求检测方法、装置、存储介质和电子设备,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种访问请求检测方法,其特征在于,所述方法包括:
根据相邻时间段内的各个访问请求包含的参数,确定多个参数各自的增量;
将所述多个参数中增量大于预设增量阈值的参数,添加到异常参数集合中;
根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合,一个异常参数的双向信息增益为该参数在所述相邻时间段的信息增益的差值;
根据待检测的访问请求包含的参数与所述异常参数组合的匹配度,确定所述待检测的访问请求是否是异常访问请求;
其中,所述相邻时间段包括第一时间段和第二时间段,所述第二时间段早于所述第一时间段;根据相邻时间段内的各个访问请求包含的参数,确定多个参数各自的增量,包括:
根据所述第一时间段内的各个访问请求包含的参数,确定所述多个参数在所述第一时间段内的累积量,以及,根据所述第二时间段内的各个访问请求包含的参数,确定所述多个参数在所述第二时间段内的累积量;
根据所述多个参数在所述第一时间段内的累积量和所述多个参数在所述第二时间段内的累积量,确定所述多个参数各自的相对增量,所述相对增量为所述第一时间段的累积量相比于所述第二时间段的累积量的差值。
2.根据权利要求1所述的方法,其特征在于,将所述多个参数中增量大于预设增量阈值的参数,添加到异常参数集合中,包括:
将所述多个参数中相对增量大于所述预设增量阈值的参数,添加到所述异常参数集合中。
3.根据权利要求2所述的方法,其特征在于,在根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合之前,所述方法还包括:
根据所述第一时间段内和所述第二时间段内的各个访问请求包含的所述异常参数集合中的多个异常参数,确定所述多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益;一个异常参数在一个时间段内的信息增益表征:根据该时间段内包含该参数的请求与该时间段内的全部请求,将该异常参数添加到异常参数组合前后的两个信息熵的差值;
根据所述多个异常参数各自在所述第一时间段内和所述第二时间段内的信息增益,确定所述多个异常参数各自的双向信息增益。
4.根据权利要求3所述的方法,其特征在于,根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合,包括:
根据所述异常参数集合中各个异常参数的双向信息增益的相对大小,分批次将所述异常参数集合中的部分参数确定为候选异常参数;
对多个批次的候选异常参数进行组合,得到所述异常参数组合。
5.根据权利要求4所述的方法,其特征在于,根据所述异常参数集合中各个异常参数的双向信息增益的相对大小,分批次将所述异常参数集合中的部分参数确定为候选异常参数,包括:
将所述异常参数集合中双向信息增益最大的异常参数,确定为第一批次的候选异常参数;
依次取n从2至N,确定在所述异常参数组合包含当前已确定的一个或多个候选异常参数的情况下,当前剩余的异常参数中双向信息增益最大的异常参数,以及,确定在所述异常参数组合不包含当前已确定的一个或多个候选异常参数的情况下,当前剩余的异常参数中双向信息增益最大的异常参数,将所确定的异常参数,确定为第n批次的候选异常参数。
6.根据权利要求5所述的方法,其特征在于,在分批次将所述异常参数集合中的部分参数确定为所述候选异常参数的过程中,在当前剩余的异常参数中双向信息增益小于预设增益阈值时,结束候选异常参数的确定流程;或
在当前批次达到预设批次阈值时,结束候选异常参数的确定流程。
7.根据权利要求5所述的方法,其特征在于,对多个批次的候选异常参数进行组合,得到所述异常参数组合,包括:
根据所述候选异常参数所处的批次,以所述候选异常参数为节点构建决策树;
根据所述决策树的多条由根节点到叶子节点的分支,对该分支上相应的多个候选异常参数进行组合,得到多个异常参数组合。
8.根据权利要求4所述的方法,其特征在于,对多个批次的候选异常参数进行组合,得到所述异常参数组合,包括:
对多个批次的候选异常参数进行组合,得到多个异常参数组合;
根据所述多个异常参数组合中包含于多个访问请求的数量和/或比例,将所述多个异常参数组合中的部分组合确定为所述异常参数组合。
9.根据权利要求1-8任一所述的方法,其特征在于,根据待检测的访问请求包含的参数与所述异常参数组合的匹配度,确定所述待检测的访问请求是否是异常访问请求,包括:
在所述异常参数组合中的全部参数均包含于所述待检测的访问请求中的情况下,确定所述待检测的访问请求是异常访问请求;或
在所述异常参数组合中的预设数量个参数均包含于所述待检测的访问请求中的情况下,确定所述待检测的访问请求疑似异常访问请求,所述预设数量小于所述异常参数组合包含的参数的个数。
10.一种访问请求检测装置,其特征在于,所述装置包括:
第一确定模块,用于根据相邻时间段内的各个访问请求包含的参数,确定多个参数各自的增量;
添加模块,用于将所述多个参数中增量大于预设增量阈值的参数,添加到异常参数集合中;
获得模块,用于根据所述异常参数集合中各个异常参数的双向信息增益,得到异常参数组合,一个异常参数的双向信息增益为该参数在所述相邻时间段的信息增益的差值;
第二确定模块,用于根据待检测的访问请求包含的参数与所述异常参数组合的匹配度,确定所述待检测的访问请求是否是异常访问请求;
其中,所述相邻时间段包括第一时间段和第二时间段,所述第二时间段早于所述第一时间段,所述第一确定模块,包括:
第一确定子模块,用于根据所述第一时间段内的各个访问请求包含的参数,确定所述多个参数在所述第一时间段内的累积量,以及,根据所述第二时间段内的各个访问请求包含的参数,确定所述多个参数在所述第二时间段内的累积量;
第二确定子模块,用于根据所述多个参数在所述第一时间段内的累积量和所述多个参数在所述第二时间段内的累积量,确定所述多个参数各自的相对增量,所述相对增量为所述第一时间段的累积量相比于所述第二时间段的累积量的差值。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9任一所述的方法中的步骤。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求1-9任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162772.0A CN111510340B (zh) | 2020-03-10 | 2020-03-10 | 访问请求检测方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162772.0A CN111510340B (zh) | 2020-03-10 | 2020-03-10 | 访问请求检测方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111510340A CN111510340A (zh) | 2020-08-07 |
CN111510340B true CN111510340B (zh) | 2021-12-28 |
Family
ID=71863857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010162772.0A Active CN111510340B (zh) | 2020-03-10 | 2020-03-10 | 访问请求检测方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111510340B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9699205B2 (en) * | 2015-08-31 | 2017-07-04 | Splunk Inc. | Network security system |
CN106612216B (zh) * | 2015-10-27 | 2020-02-07 | 北京国双科技有限公司 | 网站访问异常的检测方法及装置 |
CN109560984B (zh) * | 2018-11-13 | 2021-04-23 | 南京苏宁软件技术有限公司 | 一种网络服务响应时间异常检测方法及装置 |
CN110830445B (zh) * | 2019-10-14 | 2023-02-03 | 中国平安财产保险股份有限公司 | 一种异常访问对象的识别方法及设备 |
-
2020
- 2020-03-10 CN CN202010162772.0A patent/CN111510340B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111510340A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111092891B (zh) | 一种网络中异常点的检测方法、检测***及相关装置 | |
CN109587008B (zh) | 检测异常流量数据的方法、装置及存储介质 | |
CN108768695B (zh) | Kqi的问题定位方法及装置 | |
CN111294819B (zh) | 一种网络优化方法及装置 | |
CN113098723A (zh) | 一种故障根因定位方法、装置、存储介质及设备 | |
CN112183758A (zh) | 用于实现模型训练的方法及装置、计算机存储介质 | |
CN111309539A (zh) | 一种异常监测方法、装置和电子设备 | |
CN107742079B (zh) | 恶意软件识别方法及*** | |
CN109547393B (zh) | 恶意号码识别方法、装置、设备和存储介质 | |
CN108366012B (zh) | 一种社交关系建立方法、装置及电子设备 | |
US11568179B2 (en) | Selecting an algorithm for analyzing a data set based on the distribution of the data set | |
CN111181923A (zh) | 流量检测方法、装置、电子设备及存储介质 | |
CN114422267A (zh) | 流量检测方法、装置、设备及介质 | |
CN113315851A (zh) | 域名检测方法、装置及存储介质 | |
CN116915442A (zh) | 漏洞测试方法、装置、设备和介质 | |
CN109740621B (zh) | 一种视频分类方法、装置及设备 | |
CN111510340B (zh) | 访问请求检测方法、装置、电子设备及可读存储介质 | |
CN116939661A (zh) | Sim卡异常检测方法和***、电子设备及存储介质 | |
CN114938339A (zh) | 一种数据处理方法和相关装置 | |
CN113837807A (zh) | 热度预测方法、装置、电子设备及可读存储介质 | |
CN111835541B (zh) | 一种流量识别模型老化检测方法、装置、设备及*** | |
CN112765236A (zh) | 自适应异常设备挖掘方法、存储介质、设备及*** | |
CN112468452A (zh) | 流量检测方法及装置、电子设备、计算机可读存储介质 | |
CN111814051A (zh) | 一种资源类型确定方法及装置 | |
CN110991508A (zh) | 异常检测器推荐方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |