异常访问行为的确定方法及装置
文献发布时间:2024-04-18 19:58:30
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种异常访问行为的确定方法及装置。
背景技术
随着数据存储业务的开展,特别是云存储业务的发展,越来越多的应用将其使用的基础数据服务构建在“云”上,也即应用的开发者租用云存储服务系统,并通过云存储服务系统存储应用的数据。而随着计算机网络的广泛使用,保障计算机网络的安全可靠是非常重要的。另外,基于研究对象对计算机系统的访问行为的分析来发现异常行为的方法,也是近年来的研究热点之一。加之“云”上构建的应用往往具备时间上的忙闲特征,并且,对较为成熟的业务,这些忙闲特征变得更加明显。因此,从计算机网络安全防护的角度看,这些具有时间周期性的忙闲特征是可能被用于进行异常访问行为分析的。其基本思想在于,当使用某用户标记的访问行为违反了其常规访问的行为特征时,则有理由对使用该用户标记的访问行为持怀疑态度。这主要是由于互联网使用的账户认证信息与账户实际持有人可能存在不同造成的。
基于以上,在现有技术中,利用用户访问计算机系统的“节假日”特征进行异常访问行为分析的方法,是一种较为传统的基于时间上的忙闲特征的异常访问行为发现方法。换言之,对照日历中的国家法定节日及周末,这些用户往往在工作日对计算机系统的访问量较大,相对应的,在节假日对计算机系统的访问量较小。因此,可以对用户对计算机系统的访问量是否符合“节假日”特征进行分析,来确定是否存在异常访问行为。比如,如果某用户在节假日对计算机系统的访问量变多了,那么便可确定存在异常访问行为。
但是,在实际应用中,用户对计算机系统访问的忙闲特征可能并不总是与传统的“节假日”相对应的,这导致利用“节假日”特征进行的异常访问行为分析失效,从而无法保障计算机网络的安全可靠性。
发明内容
本申请实施例提供一种异常访问行为的确定方法及装置,解决了无法分析部分用户是否存在异常访问行为的问题。
在本申请实施例的第一方面,提供了一种异常访问行为的确定方法,获取了预设时间段内目标用户对服务器的访问量,并基于该访问量和周期性空闲时段,确定了目标用户是否存在异常访问行为。如果该预设时间段与周期性空闲时段相匹配,但是预设时间段内的访问量和周期性空闲时段的访问量不匹配,那么就可以确定该用户存在异常访问行为。其中,该周期性空闲时段是基于用户历史访问量确定的符合以下条件的单位时间段:在多个单位时间段内,每个预设周期内周期性空闲时段对应的单位时间段的历史访问量都小于第一阈值。
上述方法中,针对每个用户,通过该用户历史访问量,来确定该用户对应的专属周期性空闲时段,并且基于该周期性空闲时段来分析用户在一定时间内的访问是否存在异常访问行为,由于每个用户的周期性空闲时段都是基于该用户的历史访问量确定,使得能对每个具有周期性忙闲特征的用户进行异常访问行为的判断,保护了用户的账户安全,保障了计算机网络的安全可靠性。
在一可选实施例中,该方法还包括:获取目标用户在多个单位时间段对服务器的历史访问量,多个单位时间段包括第一单位时间段;在第一单位时间段对应的历史访问量小于第一阈值,且与第一单位时间段间隔一个或多个预设周期的第二单位时间段对应的历史访问量均小于第一阈值的情况下,确定第一单位时间段在预设周期内对应的单位时间段为周期性空闲时段。通过上述步骤可以准确的确定出目标用户的周期性空闲时段。
在一可选实施例中,该方法还包括:基于历史访问量,确定第一阈值;其中,第一阈值根据多个单位时间对应的历史访问量中最大历史访问量和最小历史访问量的加权和确定;或,第一阈值根据多个单位时间对应的历史访问量的平均值确定。通过上述方法,可以针对目标用户的业务特性确定第一阈值,从而使得第一阈值更为准确,更符合当前用户的历史访问量的特点。
在一可选实施例中,在确定周期性空闲时段之前,还包括:根据目标用户在多个单位时间段对服务器的历史访问量,确定目标用户为具备忙闲特征的用户。也即只对具备忙闲特征的用户进行周期性空闲时段的分析,这样可以减少计算量。
在一可选实施例中,根据目标用户在多个单位时间段对服务器的历史访问量,确定目标用户为具备忙闲特征的用户,包括:根据目标用户在多个单位时间段对服务器的历史访问量,确定多个单位时间段对应历史访问量的平坦度;平坦度用于指示多个单位时间段对应历史访问量的变化幅度,平坦度与变化幅度成正比;在平坦度大于第二阈值的情况下,确定目标用户为具备忙闲特征的用户。
在一可选实施例中,确定多个单位时间段对应历史访问量的平坦度,包括:确定多个单位时间段对应历史访问量中最大历史访问量和最小历史访问量的差值,并将差值与第一值的比值作为平坦度。
在一可选实施例中,第一值为:最小历史访问量;或,最小历史访问量与第二值中的最大值;第二值为基于目标用户的业务特性确定的单位时间段内的最小访问量。通过该方法,防止平坦度无法计算的情况的发生。
在本申请实施例的第二方面,提供了一种异常访问行为的确定装置,包括:获取模块,用于获取预设时间段内目标用户对服务器的访问量;确定模块,用于基于访问量和目标用户对应的周期性空闲时段,确定目标用户是否存在异常访问行为;周期性空闲时段基于目标用户在多个单位时间段对服务器的历史访问量确定,周期性空闲时段符合以下条件:多个单位时间段包括的每个预设周期内,周期性空闲时段对应的单位时间段内的历史访问量均小于第一阈值;其中,在预设时间段与周期性空闲时段相匹配,且访问量与周期性空闲时段对应的访问量不相符的情况下,确定目标用户存在异常访问行为。
在一可选实施例中,获取模块还用于:获取目标用户在多个单位时间段对服务器的历史访问量,多个单位时间段包括第一单位时间段;确定模块还用于:在第一单位时间段对应的历史访问量小于第一阈值,且与第一单位时间段间隔一个或多个预设周期的第二单位时间段对应的历史访问量均小于第一阈值的情况下,确定第一单位时间段在预设周期内对应的单位时间段为周期性空闲时段。
在一可选实施例中,确定模块还用于:基于历史访问量,确定第一阈值;其中,第一阈值根据多个单位时间对应的历史访问量中最大历史访问量和最小历史访问量的加权和确定;或,第一阈值根据多个单位时间对应的历史访问量的平均值确定。
在一可选实施例中,确定模块在确定周期性空闲时段之前,还用于:根据目标用户在多个单位时间段对服务器的历史访问量,确定目标用户为具备忙闲特征的用户。
在一可选实施例中,确定模块具体用于:根据目标用户在多个单位时间段对服务器的历史访问量,确定多个单位时间段对应历史访问量的平坦度;平坦度用于指示多个单位时间段对应历史访问量的变化幅度,平坦度与变化幅度成正比;在平坦度大于第二阈值的情况下,确定目标用户为具备忙闲特征的用户。
在一可选实施例中,确定模块具体用于:确定多个单位时间段对应历史访问量中最大历史访问量和最小历史访问量的差值,并将差值与第一值的比值作为平坦度。
在一可选实施例中,第一值为:最小历史访问量;或,最小历史访问量与第二值中的最大值;第二值为基于目标用户的业务特性确定的单位时间段内的最小访问量。
在本申请实施例的第三方面,提供了一种电子设备,包括存储器和处理器,存储器用于存储计算机程序,处理器用于执行计算机程序,实现本申请实施例第一方面所述的异常访问行为的确定方法。
在本申请实施例的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序用于实现本申请实施例第一方面所述的异常访问行为的确定方法。
在本申请实施例的第五方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当计算机可读代码在电子设备中运行时,电子设备中的处理器执行本申请实施例第一方面所述的异常访问行为的确定方法。
应当理解的是,上述第二方面,第三方面,第四方面,以及第五方面提供的技术方案,其技术特征均可对应到第一方面及其可选的实施方式中提供的方法,因此能够达到的有益效果类似,此处不再赘述。
附图说明
图1A为现有技术示出的一种具有周期性忙闲特征的用户的访问量的示意图;
图1B为现有技术示出的一种不具有周期性忙闲特征的用户的访问量的示意图;
图2A为本申请实施例提供的一种系统架构的简化示意图;
图2B为本申请实施例提供的一种服务器的组成示意图;
图3为本申请实施例提供的一种异常访问行为的确定方法的流程图;
图4为本申请实施例提供的一种确定目标用户的周期性空闲时段的方法的流程图;
图5为本申请实施例提供的一种HOV的示意图;
图6A为本申请实施例提供的一种具备忙闲特征的HOV对应的RoF的示意图;
图6B为本申请实施例提供的一种不具备忙闲特征的HOV对应的RoF的示意图;
图7A为本申请实施例提供的一种具有周期性忙闲特征的目标用户的15天内的历史访问量的示意图;
图7B为本申请实施例提供的一种不具有周期性忙闲特征的目标用户的15天内的历史访问量的示意图;
图7C为本申请实施例提供的另一种具有周期性忙闲特征的目标用户的15天内的历史访问量的示意图;
图7D为本申请实施例提供一种目标用户15天内的历史访问量的示意图;
图7E为本申请实施例提供另一种目标用户15天内的历史访问量的示意图;
图8为本申请实施例提供的一种服务器的组成示意图;
图9为本申请实施例提供的另一种服务器的组成示意图。
具体实施方式
随着云存储服务的发展,越来越多的应用将应用上的数据存储在“云”上,也即应用的构建者租用云存储服务,并通过云存储服务对应用中的数据进行存储。
对于云存储服务的提供商而言,需要保证每个租用云存储服务的用户的账户安全。为了保证用户的账户安全,需要确定用户的账户是否存在异常访问。现有技术中有些用户的访问行为(也即对于账户的操作)存在较为明显的周期性忙闲特征,也即在一个预设周期内,有些时间段的访问量较多,有些时间段的访问量较少。比如可以参见图1A和图1B,图1A为有周期性忙闲特征的用户的访问量,图1B是没有周期性忙闲特征的用户的访问量。图1A和图1B中,横坐标代表时间,纵坐标代表访问量。
比如对于餐饮应用而言,该应用会在每天的用餐的时间有大量的点餐等数据更新,那么该应用的构建者对应的云存储服务的用户也会在用餐的时间对云存储服务的服务器进行大量访问,以在云存储服务的服务器上更新自身的数据。而在每天的非用餐的时间,餐饮应用的构建者对应的用户对于云存储服务器的访问量会减少。上述的餐饮应用在用餐时间访问量多,在非用餐时间访问量少,这样的以一天为一个周期的访问量的忙闲特征,也即上述周期性的忙闲特征。
通过上述周期性的忙闲特征,可以确定该餐饮应用的构建者对应的用户(下简称用户)在每天的非用餐时间的访问量较少,那么如果某天的非用餐时间,该用户对于云存储服务的服务器的访问量较大,则可以确定该用户存在异常访问行为,也即该用户的账户可能被盗用。
相关技术中,云存储服务的很多用户的周期性忙闲特征都是“节假日”忙闲特征,比如对于公司内部的沟通应用而言,一般工作日中该应用的数据更新较为频繁,而在节假日的数据更新较少。换言之,这种应用的构建者对应的云存储服务的用户在工作日对云存储服务的服务器有较多的访问,相对应的,在节假日对云存储服务的服务器的访问较少。现有技术中便可以基于用户的访问量是否符合“节假日”特征来确定是否存在异常访问。比如,如果在节假日的操作数量变多了,那么就证明该用户存在异常访问行为。
但是对于有些用户而言,其访问行为虽然存在周期性的忙闲特征,比如在每个周期内,特定的时间内操作较少,其他时间操作较多,比如上文中的餐饮应用。但是上述用户的周期性空闲时段与“节假日”并不对应,现有技术中针对这些用户,无法准确分析出这些用户是否存在异常访问行为。需要说明的是,周期性忙闲特征,也即至少用于指示周期性空闲时段的特征。
基于此,为了使得这些用户的访问行为得以进行分析,保护云存储服务的用户的账户安全。本申请中,获取了预设时间段内目标用户对服务器的访问量,并基于该访问量和周期性空闲时段,确定了目标用户是否存在异常访问行为。如果该预设时间段与周期性空闲时段相匹配,但是预设时间段内的访问量和周期性空闲时段的访问量不匹配,那么就可以确定该用户存在异常访问行为。其中,该周期性空闲时段是用户历史访问量符合以下条件的单位时间段:单位时间段内的历史访问量小于第一阈值,且和该单位时间段相隔一个或多个预设周期的单位时间段内的历史访问量均小于第一阈值。
上述方法中,针对每个用户,通过该用户历史访问量,来确定该用户对应的专属周期性空闲时段,并且基于该周期性空闲时段来分析用户在一定时间内的访问是否存在异常访问行为,由于每个用户的周期性空闲时段都是基于该用户的历史访问量确定,使得能对每个具有周期性忙闲特征的用户进行异常访问行为的判断,保护了用户的账户安全,保障了计算机网络的安全可靠性。
下面将结合附图对本申请实施例的实施方式进行详细描述。
图2A示出的是可以应用本申请实施例的系统架构的简化示意图。如图2A所示,该系统架构可以包括:至少一个服务器21和用户设备22。
服务器21也即云存储服务的服务器,该服务器负责接收用户的访问请求,对用户的访问请求进行处理,并对用户的访问行为进行是否为异常访问行为的判断。也即服务器21是本申请实施例中异常访问行为的确定方法的执行主体。需要说明的是,该服务器21也可以是由多个服务器组成的服务器集群,本申请对服务器21的具体形式不做限定。
用户设备22也即云存储服务的用户所使用的设备,该设备用于基于用户的操作,向云存储服务的服务器21发送访问请求,以更新存储在云存储服务的服务器上的用户数据。该用户设备22可以如电脑、手机等的终端设备,也可以是服务器等设备,只要是能供用户访问云存储服务的服务器的设备都可以是本申请中的用户设备22,本申请中对用户设备22的具体形式不作限定。
如图2B所示,图2A所示的服务器21可以包括:处理器201和存储器202,存储器202用于存储计算机程序,处理器201用于执行计算机程序,实现下述的异常访问行为的确定方法。本申请实施例对这些器件的数量不进行限定,例如,服务器21可以包括一个或多个处理器201。
处理器201是该系统的控制中心,例如处理器201可以是CPU、GPU、现场可编程门阵列(field-programmable gate array,FPGA)和特殊应用集成电路(application-specificintegrated circuit,ASIC)中的任意一种或者多种的组合。
处理器201用于执行下文图3和图4中所示出的方法。
存储器202可以包括第一存储介质、第二存储介质和第三存储介质。第三存储介质是该系统架构的主要存储介质,例如硬盘等;第一存储介质可以是内存或显存(也可以称为显卡内存)等,例如,若第一存储介质是内存,则处理器201可以是CPU、FPGA和ASCI中的任意一种或者多种的组合;若第一存储介质是显存,则处理器201可以是GPU。第二存储介质可以是缓存等,主要用于提升系统的读写性能。上述三种存储介质共同为用户提供云存储服务。
换言之,本申请提供了一种电子设备,包括存储器和处理器,存储器用于存储计算机程序,处理器用于执行计算机程序,实现下述的异常访问行为的确定方法。
接下来将结合图3,来对本申请示出的一种异常访问行为的确定方法的示例性实施例进行说明,如图3所示,该方法包括:
步骤301,获取预设时间段内目标用户对服务器的访问量。
预设时间段也即用于异常访问行为分析的一段时间。该预设时间段可以是对服务器产生了访问量的一段历史时间,其可以是后文中提及的一个单位时间段,比如在后文的单位时间段是一天的情况下,该预设时间段也可以是一天。该预设时间段也可以包括多个单位时间段,比如在后文的单位时间段是一天的情况下,该预设时间段可以是5天。本申请对于预设时间段的具体时长不做限定。
其中,在预设时间段包括多个单位时间段的情况下,为了方便进行后续是否存在异常访问行为的确定,步骤301中可以分别确定出多个单位时间段中各单位时间段分别对应的访问量。比如,在单位时间段为1天,预设时间段为5天的情况下,步骤301中可以确定出预设时间段5天中每天的访问量,也即可以通过步骤301确定出预设时间段对应的5个访问量,后续分别针对这5个访问量单独进行分析,以确定是否存在异常访问行为。
目标用户也即步骤301中访问该服务器的用户。在一实施例中,该服务器是云存储服务的服务器,相对应的,该目标用户也即租用云存储服务的用户,比如可以是某个应用的构建者,也可以是租用云存储服务的个人用户等等。本申请中对于目标用户的具体形式不做限定,只要是能访问步骤301中提及的服务器、且历史访问行为具有周期性忙闲特征的用户,都可以作为本申请的目标用户。
需要说明的是,虽然在上文对现有技术的介绍中只是提及了应用的构建者对应的用户,可以理解的是,其他的访问行为具有周期性忙闲特征的用户也可以是本申请中的目标用户。如上文,服务器可以是提供云存储服务的服务器。当然,该方法也可以应用于其他领域,比如该服务器可以是提供云计算服务的服务器,相对应的目标用户也即使用云计算服务的用户。该服务器可以是某个应用的服务器,该目标用户也即使用该应用的用户。
访问量也即目标用户对服务器的操作的数量。比如,在服务器为云存储服务的服务器的情况下,目标用户登录云存储服务、目标用户在云存储服务器中写入新数据、目标用户对云存储服务器中已经存储的数据进行修改等行为,都可以看作用户对服务器的一次访问。目标用户在预设时间段内对服务器的访问量,也即预设时间段内,该目标用户对服务器的操作行为的数量和。当然,如前面的描述,在预设时间段包括多个单位时间段的情况下,这里可以以单位时间段为统计单位,对预设时间段内目标用户对服务器的操作行为的数量进行统计,以获得预设时间段内每个单位时间段的操作行为的数据量和,即获得预设时间段内每个单位时间段的访问量。
其中,访问量可以基于目标用户的操作日志来确定。如本领域技术人员所公知的是,服务器上一般都有记录用户过去所有操作行为的操作日志,因此可以基于操作日志中记录的操作行为来确定预设时间段内对服务器的访问量。
比如,单位时间段为1分钟,预设时间段也为1分钟,目标用户在1分钟内登录了云存储服务1次,向云存储服务的服务器写入数据2次,并修改云存储服务的服务器中存储的数据3次,那么就可以确定,该目标用户在预设时间段内对服务器的访问量为6。
步骤302,基于访问量和目标用户对应的周期性空闲时段,确定目标用户是否存在异常访问行为。
其中,在预设时间段与周期性空闲时段相匹配,且访问量与周期性空闲时段对应的访问量不相符的情况下,确定目标用户存在异常访问行为。
异常访问行为,也即不符合该目标用户的访问规律的访问行为。如果目标用户存在异常访问行为,则可以确定出目标用户的账户有安全隐患,比如可能存在:目标用户的账户密码被其他人知晓,使得其他用户盗用目标用户的情况。本申请中,对于具有周期性忙闲特征的目标用户,判断该用户的访问是否符合周期性忙闲特征来确定是否存在异常访问行为。周期性忙闲特征也即指示周期性空闲时段的特征,周期性空闲时段也即指示每个预设周期内访问量应该较少的时间段。
其中,周期性空闲时段基于目标用户在多个单位时间段对服务器的历史访问量确定,周期性空闲时段符合以下条件:多个单位时间段包括的每个预设周期内,周期性空闲时段对应的单位时间段内的历史访问量均小于第一阈值。
换言之,周期性空闲时段,也即根据用户过往的访问规律确定出的:在一个预设周期内用户应该访问量较少的单位时间段。具体而言,如果在历史访问量中,某个单位时间段的访问量小于第一阈值,且与该单位时间段相隔一个或多个预设周期的所有单位时间段对应的访问量都小于第一阈值,则可以确定该单位时间段在预设周期内对应的时间段属于周期性空闲时段。
比如,以预设周期为一周,单位时间段为1天,多个单位时间段包括3周也即3个预设周期为例。在第一周中,周一的历史访问量小于第一阈值,在第二周中,周一的历史访问量小于第一阈值,在第三周中,周一的历史访问量小于第一阈值。那么可以确定,“周一”为周期性空闲时段。
预设周期即为该目标用户的周期性忙闲特征的周期。预设周期的大小可以是根据目标用户的行为特性确定的。目标用户的行为特性,也即目标用户的访问规律,也可以是不同用户的业务类别标签。比如可以事先为不同用户分配不同的业务类别标签,业务类别标签具体可以包括餐饮应用、沟通应用等等,进而根据业务类型标签对应的一般周期,来确定目标用户的预设周期。业务类型标签对应的一般周期可以根据历史经验确定,比如可以预先设置餐饮应用对应的预设周期为一天。在确定出目标用户的业务类别标签为餐饮应用的情况下,确定该目标用户的预设周期为一天。
此外,为了得到更为准确的结果,用于确定周期性空闲时段的多个单位时间段,至少对应于两个预设周期的时间长度。
多个单位时间段对服务器的历史访问量,也即,针对历史的多个单位时间段,分别计算每个单位时间段内目标用户对服务器的访问量。
单位时间段,也即单位时间长度的时间段,比如可以是一分钟、一小时、两天、三个月等等。单位时间段的长度可以是根据目标用户的预设周期来确定,根据预设周期的大小选取合适的可以用于确定忙闲特征的时间长度作为单位时间段。比如对于预设周期为一天的目标用户,单位时间段的长度可以是十分钟,对于预设周期为一周的目标用户而言,单位时间段的长度可以是一天。单位时间段的长度也可以是根据服务器的计算能力来确定,比如服务器的计算能力较强,那么为了得到尽可能准确的结果,单位时间段的长度可以取得较短。单位时间段对服务器的历史访问量的确定方式与步骤301中获取访问量的过程类似,此处不再详细赘述。
第一阈值可以是预先确定的值。比如可以根据目标用户的行为特性来估算该阈值,也可以是根据历史访问量来确定的。用户行为特性的含义和前文相同,在此不再赘述。对于前者而言,比如可以根据目标用户的行为特征,确定用户一般的空闲时段可能存在的访问量,并基于该可能存在的访问量来确定第一阈值。对于后者而言,具体的确定方法详见下文,在此暂不详述。
预设时间段与周期性空闲时段相匹配,也即,预设时间段包含周期性空闲时段,比如预设周期为一周,周期性空闲时段为周一,预设时间段如果也包括周一,比如预设时间段为某一周的周一,或者预设时间段为某一周的周一和周二,则预设时间段与周期性空闲时段相匹配。
需要说明的是,如果预设时间段包括多个单位时间段,可以针对每个单位时间段,判断该单位时间段是否与周期性空闲时段相匹配,并确定该单位时间段的访问量是否与周期性空闲时段对应的访问量不相符。
访问量与周期性空闲时段对应的访问量不相符,也即预设时间段内的访问量相较于周期性空闲时段对应的访问量更高。具体的判断访问量与周期性空闲时段对应的访问量是否相符的方法,可以参照现有技术中的方法,也可以根据上文的是否大于第一阈值进行判断。比如可以是在访问量大于第一阈值的情况下,确定访问量与周期性空闲时段对应的访问量不相符。
通过上述方法,对于目标用户而言,用于判断其是否存在异常访问行为的周期性空闲时段,是基于用户的历史访问量确定的,这样,使得目标用户的是否存在异常访问行为的判断结果更为准确,从而保证了用户的账户安全。
上述实施例中对于如何判断目标用户是否存在异常访问行为进行了说明。接下来将结合一实施例,来对本申请中如何确定目标用户的周期性空闲时段的方法进行说明。
如图4所示,该方法包括以下步骤:
步骤401,获取目标用户在多个单位时间段对服务器的历史访问量。
其中,多个单位时间段包括第一单位时间段。第一单位时间段可以是多个单位时间段中的任一单位时间,第一单位时间段也可以是还未进行是否为周期性空闲时段判断的单位时间段。
对于步骤401的具体实现方式而言,可以基于服务器的操作日志(也称之为安全日志)来确定用户在多个单位时间段对服务器的历史访问量。
其中,根据操作日志内容,从操作日志中提取出目标用户的m种操作,并称这m种操作为有效操作。具体而言,操作日志中不仅会记录目标用户的每个操作,还会记录一些其他内容,比如在目标用户登录时会记录目标用户的登录密码、网际协议地址(InternetProtocol Address,IP地址)等信息。登录密码和IP地址等信息对于分析用户的访问量而言是无效的信息,因此在确定历史访问量时,需要从操作日志中提取出有效操作,也即对于分析历史访问量有用的操作,并统计多个单位时间段中,每个单位时间段中上述有效操作的数量,作为历史访问量。
容易理解的是,多个单位时间段的总的时长越长,其可分析性越强。但是有些情况下,如果一次性从操作日志中选取的多个单位时间段总的时长过长,在服务器的计算能力较弱时,则可能导致服务器无法对多个单位时间段内的历史访问量进行分析。因此可以确定一个合适的时间窗口,窗口长度为T。进而针对窗口长度T对应的历史访问量进行分析。
如上述所述,窗口长度的上限取决于服务器的计算能力的大小,窗口长度的下限取决于预设周期的大小。在一些实例中,后续步骤中,需要确定空闲时段是否是周期性空闲时段,因此窗口长度可以大于或等于两个预设周期,以确保确定的周期性空闲时段的准确性。为了能通过多个单位时间段内的历史访问量来准确确定出周期性空闲时段,从多个单位时间段内的历史访问量就能验证周期性空闲时段是否准确,窗口长度(也即多个单位时间段的总长度)的大小可以大于两个预设周期。
示例性的,可以从操作日志中提取出所研究对象从t
如图5所示,以预设周期为7天,T为15天为例,可以从操作日志中确定出两个HOV,分别是包括1-15天的访问量的HOV1和包括2-16天访问量的HOV2。可以在不同次执行图4所示的步骤时,分别针对HOV1和HOV2进行周期性空闲时段的分析。比如图4所示的步骤周期性执行,每天执行一次,那么可以在第一天执行图4所示的步骤时,针对HOV1进行周期性时段的分析,在第二天执行图4所示的步骤时,对HOV2进行周期性时段的分析。
步骤402,根据所述目标用户在多个单位时间段对所述服务器的历史访问量,确定所述目标用户为具备忙闲特征的用户。
具体而言,由于不同的用户各自业务的不同,这使得用户访问云存储服务的行为并不总是存在周期性的忙闲特征。因此在通过步骤401构建HOV后,还可以进一步分析目标用户的访问行为是否具忙闲特征。也即是否存在明显的周期性空闲时段。为了减少后续的计算量,对无忙闲特征的目标用户,不需要使用周期性忙闲特征方法对其进行进一步的分析。
其中,确定目标用户是否为具备忙闲特征的用户,也即针对多个单位时间段对应的HOV,确定其是否具备忙闲特征。
此外,步骤402是一个可以选择执行的步骤。该步骤是为了减少后续的计算量,使得后续计算时不对不具有忙闲特征的目标用户进行周期性空闲时段的分析。在本申请的方法执行时,也可以不执行步骤402。
接下来将通过下文的具体示例,来对步骤402的实现方法进行说明,需要说明的是,下述方法不表示对本申请的限定。比如还可以通过人工神经网络来确定目标用户是否具备忙闲特征。
步骤402具体包括,根据目标用户在多个单位时间段对服务器的历史访问量,确定多个单位时间段对应历史访问量的平坦度。在平坦度大于第二阈值的情况下,确定目标用户为具备忙闲特征的用户。
其中,平坦度用于指示多个单位时间段对应历史访问量的变化幅度,平坦度与变化幅度成正比。
也即在平坦度小于第二阈值的情况下,确定目标用户对应的多个单位时间段为不具备忙闲特征,也即该目标用户当前不具备忙闲特征,不继续执行步骤403。对于平坦度大于第二阈值的情况,继续执行下述步骤403,继续分析该目标用户的周期性空闲时段。
需要说明的是,在平坦度等于第二阈值时,可以认为该目标用户当前具备忙闲特征,继续执行下述步骤403,也可以认为该目标用户不具备忙闲特征,不继续执行下述步骤403。具体平坦度等于第二阈值时是否执行下述步骤403可以根据实际应用场景的需求进行设置,本申请实施例在此不做限制。
确定平坦度的大小,可以基于上述HOV中最大历史访问量和最小历史访问量的差值来确定。比如可以将最大历史访问量和最小历史访问量的差值作为平坦度。并可针对不同业务特性的目标用户确定不同的第二阈值。比如针对餐饮应用,繁忙和闲时的访问量一般差别很大,那么可以根据一般忙时和闲时的访问量的差值来确定上述第二阈值。并且在该平坦度大于第二阈值的情况下,可以确定该用户存在忙闲特征。
确定平坦度的大小,还可以基于HOV中最大历史访问量和最小历史访问量的差值与第一值的比值来确定。如上所述,不同目标用户的业务特性不同,如果只考虑不同目标用户最大历史访问量和最小历史访问量的差值,则需要设定不同的第二阈值来对不同目标用户是否存在忙闲特征进行分析。因此,为了减少人工参与,可以通过一个第二阈值来统一衡量不同目标用户是否具备忙闲特征。为了达到上述目的,可以基于最大历史访问量和最小历史访问量和第一值的比值来确定平坦度。其中,第一值可以是和HOV相关的数值,比如可以是HOV中的最大历史访问量、最小历史访问量、历史访问量的中位数等等。
第一值除了上述取值之外,还可以是最小历史访问量与第二值中的最大值;第二值为基于目标用户的业务特性确定的单位时间段内的最小访问。对于有些目标用户而言,其最小历史访问量可能为0,如果最小历史访问量为0,通过上述方法则不能确定出平坦度,因此可以针对目标用户,基于目标用户的业务特性,确定出用户单位时间段内的访问量下限(也即第二值),并将该访问量下限替换上述分母中的最小历史访问量。业务特性的含义详见上文,在此不再赘述。比如对于邮件应用而言,在该应用对应的用户存在忙闲特征的情况下,其空闲时段的访问量也不会过低。相对应的,对于餐饮应用而言,在该应用对应的用户存在忙闲特征的情况下,餐饮行业空闲时段可能基本不会有人去使用餐饮应用,其空闲时段的访问量可能会很低。
具体而言,可以根据以下公式(1)来计算用于度量目标用户是否具有忙闲特征的平坦度:
其中,RoF为上述平坦度,ε为一个给定的正常数,该常数用以表明目标用户在单位时间段内,最少的操作次数下界,即访问量下界。h
接下来将结合图6A和图6B来对上述公式(1)进行说明。图6A和图6B是对RoF的一个简单示意。容易看出,公式(1)中RoF分子部分对应的是图中两条虚线之间的距离,公式(1)中RoF分母部分为图中最靠近横轴的虚线与横轴之间的距离。可以参见图6A,如果RoF取值较大,则表明HOV中的最大历史访问量与最小历史访问量之间有明显的差异,也即目标用户对应的HOV具有忙闲特征。如图6B所示,如果RoF的取值较小,则表明HOV中的最大历史访问量与最小历史访问量之间没有明显的差异,也即该目标用户对应的HOV没有明显的忙闲特征。
第二阈值为α,α为一个正常数,可以根据实际应用过程进行调整。根据上述计算的RoF,存在以下两种情况。
情况1:当RoF≤α时,目标用户的历史访问行为忙闲特征不明显,无需对其历史访问行为进行周期性空闲时段的分析;
情形2:当RoF>α时,目标用户的历史访问行为具有较为明显的忙闲特征,可以使用本申请中给出的方法进一步分析目标用户对应的周期性空闲时段。
通过第二阈值α的选择,可首先对目标用户的历史访问行为进行初步的分类,从中筛选出可能具有周期性忙闲特征的目标用户。这样,后续只对具有忙闲特征的目标用户进行周期性空闲时段的分析,减少了计算量,减少了服务器的处理压力。
需要说明的是,以上是以基于HOV中最大历史访问量和最小历史访问量的差值与第一值的比值或,基于HOV中最大历史访问量和最小历史访问量的差值来确定平坦度为例进行说明的。可以理解的是,步骤402中还可以将多个单位时间段对应的历史访问量的方差、标准差作为平坦度。本申请实施例在此对HOV平坦度的确定方式不做具体限制,只需能确定出HOV中的最大历史访问量与最小历史访问量之间是否有明显的差异即可。
步骤403,基于历史访问量,确定第一阈值。
对于不同目标用户而言,其周期性忙闲特征可能是不同,这种不同主要体现在两个方面,一是周期性空闲时段的时间可能存在不同,二是不同目标用户在空闲时段的访问量有较大的差异。为了有效区分目标用户的每个单位时间段是否是周期性空闲时段,需要基于该目标用户的业务特性,针对该目标用户单独确定一个用于区分该目标用户的空闲时段和繁忙时段的阈值,如本申请中称为第一阈值,从而保证确定的周期性空闲时段更为准确。
其中,在一些实施例中,第一阈值可以根据多个单位时间对应的历史访问量中最大历史访问量和最小历史访问量的加权和确定。在另一些实施例中,第一阈值可以根据多个单位时间对应的历史访问量的平均值确定。此外,第一阈值可以基于最大历史访问量和预设比例的乘积来确定,比如预设比例为0.3,则第一阈值可以是0.3倍的最大历史访问量。其中,在通过步骤402确定了HOV存在忙闲特征的情况下,采用最大历史访问量和最小历史访问量的加权和、或历史访问量的平均值的方法,可以确定较为准确的第一阈值。在不执行步骤402的情况下,采用最大历史访问量和预设比例的乘积来确定上述第一阈值可以获得更为准确的结果。当然上述示出的三种确定第一阈值的方法不表示对本申请的限定。
这里将通过一具体示例来对步骤403进行说明。
本申请中,可以通过以下公式(2)来对第一阈值G进行:
其中,公式(2)中各个符号的含义可以参见公式(1)中的释义,在此不再赘述。这里的加权和的权值可以是根据经验预设的值。
步骤404,在第一单位时间段对应的历史访问量小于第一阈值,且与第一单位时间段间隔一个或多个预设周期的第二单位时间段对应的历史访问量均小于第一阈值的情况下,确定第一单位时间段在预设周期内对应的单位时间段为周期性空闲时段。
如上文所述,第一单位时间段可以是还未进行是否为周期性空闲时段判断的单位时间段,步骤404中可以分别针对每个第一单位时间段进行上述操作,以判断每个第一单位时间段是否为周期性空闲时段。
示例性的,可以针对每个第一单位时间段,通过以下公式(3)来进行是否为周期性空闲时段的判断:
其中,h
还需要说明的是,虽然公式(3)中只判断了h
换言之,根据上述公式(3),可得如下结论:
情况1:当目标用户的第一单位时间段的历史访问量以及第二单位时间段的历史访问量均低于G值时,第一单位时间段和第二单位时间段为周期性空闲时段。
情况2:不满足情形1时,第一单位时间段和第二单位时间段为不具有闲特征的时间段。
如图7A所示,图7A中示出了一个具有周期性忙闲特征的目标用户的15天内的历史访问量。通该目标用户在Day15与Day8,Day14与Day7的历史访问量均低于此目标对象对应的第一阈值,满足情况1,那么Day15与Day8,Day14与Day7均为周期性空闲时段。其他单位时间段的历史访问量均不满足情形1,为不具有闲特征的时间段。图中横线为该研究对象的G值。
相对应的,如图7B所示,图7B中示出了一个不具有周期性忙闲特征的目标用户的15天内的历史访问量,在执行步骤402的情况下,可以根据该目标用户HOV的平坦度来确定该用户不具备忙闲特征。在不执行步骤402的情况下,可以根据步骤404直接确定该HOV不具备周期性空闲时段。
此外,上述实施例中示出了在每个第二单位时间段都小于第一阈值的情况下,才能确定第二单位时间段为周期性空闲时段,但是对于有些目标用户而言,其周期性空闲时段可能经常变化,那么便可以根据距离当前时刻最近的两个预设周期内的数据进行是否存在周期性空闲时段的判断。也即可以在第一单位时间段的历史访问量小于第一阈值,且与该第一单位时间段相隔一个预设周期的第二单位时间段也小于阈值,就可以确定第一单位时间段和第二单位时间段为周期性空闲时段。
对于图4中示出的方法的执行时机而言,可以是每隔一段时间执行上述方法,也可以在需要进行异常访问行为分析的时候执行,本申请对图4所示方法的执行时机不做限定。
此外,由于进行异常访问行为分析的时候,关注的是本来空闲的时间段。本来就繁忙的时间段无法通过上述方法进行异常访问行为的确定,因此上述过程中只确定了周期性空闲时段。当然,也可以通过与步骤404类似的方法,确定周期性繁忙时段。
比如,可以先通过上述步骤401和步骤403确定第一阈值,并通过第一阈值,筛选出HOV中每个预设周期对应单位时间段历史访问量都大于第一阈值的时间段,作为周期性繁忙时段。也可以先通过上述步骤401、步骤402和步骤403确定目标用户是否具备忙闲特征,并在具备忙闲特征的情况下执行步骤403确定第一阈值,再筛选出HOV中每个预设周期对应单位时间段历史访问量都大于第一阈值的时间段,作为周期性繁忙时段。
此外,针对图7C中的示例,图7C中示出了15天内目标用户的历史访问量,图中横轴为时间,单位时间长度为一小时,纵轴为访问量的大小,其中,D01代表周一,D02代表周二,以此类推。使用公式(1)可以确定该目标用户的HOV对应的平坦度大于第二阈值,具备忙闲特征。根据公式(2)可以确定出该目标用户的第一阈值,也即图中横线。进而基于公式(3)进行周期性空闲时段的确定。通过本申请的方法,可以确定周六并非周期性空闲时段。而如果基于现有技术中的方法,通过节假日来判断是否存在异常访问将会得到不准确的结果,而通过本申请的方法来进行是否存在异常访问,则会得到更为准确的结果。
此外,在本申请中,在确定目标用户是否具有忙闲特征时,通过计算RoF与第二阈值进行比较。若RoF大于第二阈值,则说明,该目标用户具有周期性忙闲特征;若RoF小于等于第二阈值,则说明,该目标用户不具有忙闲特征。选取不同的第二阈值,对目标用户是否为具有周期性空闲时段的判断结果会有所不同。
比如对于同一个目标用户,参见图7D,当第二阈值为α
因此,可以在图4的步骤执行完后,通过人工来确定周期性空闲时段的判断结果是否准确。
上述主要从服务器执行的步骤的角度来对本申请实施例进行了说明。可以理解的是,服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8示出了上述和实施例中涉及的服务器的一种可能的组成示意图,如图8所示,该服务器可以包括:
获取模块801,用于获取预设时间段内目标用户对服务器的访问量.
确定模块802,用于基于访问量和目标用户对应的周期性空闲时段,确定目标用户是否存在异常访问行为;周期性空闲时段基于目标用户在多个单位时间段对服务器的历史访问量确定,周期性空闲时段包括符合以下条件的单位时间段:对应历史访问量小于第一阈值,相互间间隔一个或多个预设周期。
其中,在预设时间段与周期性空闲时段相匹配,且访问量与周期性空闲时段对应的访问量不相符的情况下,确定目标用户存在异常访问行为。
在一可选实施例中,获取模块801还用于:获取目标用户在多个单位时间段对服务器的历史访问量,多个单位时间段包括第一单位时间段;确定模块802还用于:在第一单位时间段对应的历史访问量小于第一阈值,且与第一单位时间段间隔一个或多个预设周期的第二单位时间段对应的历史访问量均小于第一阈值的情况下,确定第一单位时间段和第二单位时间段属于周期性空闲时段。
在一可选实施例中,确定模块802还用于:基于历史访问量,确定第一阈值;其中,第一阈值根据多个单位时间对应的历史访问量中最大历史访问量和最小历史访问量的加权和确定;或,第一阈值根据多个单位时间对应的历史访问量的平均值确定。
在一可选实施例中,多个单位时间段为具备忙闲特征的单位时间段。
在一可选实施例中,确定模块802还用于:确定多个单位时间段对应历史访问量的平坦度;平坦度用于指示多个单位时间段对应历史访问量的变化幅度,平坦度与变化幅度成正比;在平坦度大于第二阈值的情况下,确定多个单位时间段为具备忙闲特征的单位时间段。
在一可选实施例中,确定模块802具体用于:确定多个单位时间段对应历史访问量中最大历史访问量和最小历史访问量的差值,并将差值与最小历史访问量的比值作为平坦度。
在一可选实施例中,在最小历史访问量为0的情况下,确定模块802具体用于:将差值与预设值的比值作为平坦度;其中,预设值为基于用户的业务特性确定的单位时间段内的最小访问量。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的服务器,用于执行上述异常访问行为的确定方法,因此可以达到与上述异常访问行为的确定方法相同的效果。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的服务器的另一种可能的组成示意图。如图9所示,该服务器包括:处理模块91和通信模块92。
处理模块91用于对服务器的动作进行控制管理,例如,处理模块91用于支持服务器执行图3中的步骤301、步骤302,图4中的步骤401、步骤402、步骤403、步骤404、和/或用于本文所描述的技术的其它过程。通信模块92用于支持服务器与其他网络实体的通信,例如与图2A中示出的用户设备22之间的通信。服务器还可以包括存储模块93,用于存储服务器的程序代码和数据。
其中,处理模块91可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块92可以是收发器、收发电路或通信接口等。存储模块93可以是存储器。
其中,处理模块91可以对应于图2B中的处理器201,存储模块93可以对应于图2B中的存储器202。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
本申请提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序用于实现上述的异常访问行为的确定方法。
本申请提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当计算机可读代码在电子设备中运行时,电子设备中的处理器执行上述的异常访问行为的确定方法。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 应用访问行为异常检测方法及系统
- 访问行为特征模型建立方法、设备、存储介质及装置
- 访问行为安全防护的方法、设备、存储介质及装置
- 一种升级异常确定方法、装置和计算机设备
- 一种异常用餐环节的确定方法、装置及系统
- 文件行为检测基线确定及文件行为异常检测方法、装置
- 产生异常驾驶行为的行为信息确定方法及装置