掌桥专利:专业的专利平台
掌桥专利
首页

一种异常用户行为检测方法和装置

文献发布时间:2023-06-19 11:29:13


一种异常用户行为检测方法和装置

技术领域

本发明涉及计算机技术领域,尤其涉及异常用户行为检测方法、装置和计算机可读介质。

背景技术

在企业的经营行为中,例如生产、销售及研发等过程中,会产生各种各样的企业数据,针对企业数据,一般需要采取安全保护措施,以防止企业数据丢失或者外泄,造成企业的数据安全事故,导致对企业造成损失。

针对企业内部风险问题,现有技术中,企业一般在终端设备上安装有用于检测用户异常行为的软件,这种软件虽然内置了一些基于规则、签名的检测手段,也收集了大量的终端日志数据,但异常用户行为检测的准确度依然不高。

因此,针对以上不足,需要提供一种异常用户行为检测方法和装置。

发明内容

本发明要解决的技术问题在于异常用户行为检测的准确度不高,针对现有技术中的缺陷,提供一种异常用户行为检测方法和装置。

为了解决上述技术问题,本发明提供了一种异常用户行为检测方法,包括:

获取待检测用户的待检测数据和历史数据;其中,所述待检测用户的待检测数据和历史数据均包括用户行为数据,所述用户行为数据包括各软件的使用次数,所述历史数据为在所述待检测数据产生的时间点之前的预设时长的数据;

根据所述待检测用户的待检测数据和历史数据包括的各软件的使用次数,判断所述待检测用户的角色类型是否发生变化;

根据所述待检测用户的待检测数据和历史数据包括的用户行为数据,判断所述待检测用户的行为类型是否发生变化;

如果所述待检测用户的角色类型和行为类型均发生变化,则将所述待检测用户确定为异常用户。

在一种可能的实现方式中,所述根据所述待检测用户的待检测数据和历史数据包括的各软件的使用次数,判断所述待检测用户的角色类型是否发生变化,包括:

将所述待检测用户的历史数据包括的各软件的使用次数作为输入,输入到预先构建好的角色分类模型中,输出第一角色类型;

将所述待检测用户的待检测数据包括的各软件的使用次数作为输入,输入到预先构建好的角色分类模型中,输出第二角色类型;

根据输出的第一角色类型和第二角色类型,判断所述待检测用户的角色类型是否发生变化。

在一种可能的实现方式中,所述角色分类模型是通过如下方式进行构建的:

获取多个用户的用户数据;其中,每一个用户的用户数据包括该用户的用户身份信息、软件信息和用户行为数据,该用户的用户行为数据包括该用户针对各软件的使用次数;

针对每一个用户,根据该用户的用户数据包括的用户身份信息、软件信息和各软件的使用次数,确定该用户的用户软件矩阵;

对确定的各用户的用户软件矩阵进行聚类处理,得到聚类数目和多个聚类中心集合;其中,所述聚类数目大于两个,每一个聚类中心集合包括多个用户;

根据各用户的用户数据包括的各软件的使用次数,确定每一个聚类中心集合的角色类型,以构建出角色分类模型;其中,所述角色类型的数目等于所述聚类数目。

在一种可能的实现方式中,所述对确定的各用户的用户软件矩阵进行聚类处理,包括:

利用多目标进化模糊聚类算法,对确定的各用户的用户软件矩阵进行聚类处理。

在一种可能的实现方式中,所述根据所述待检测用户的待检测数据和历史数据包括的用户行为数据,判断所述待检测用户的行为类型是否发生变化,包括:

按照预设的时间间隔对所述待检测用户的历史数据包括的用户行为数据进行划分,得到多个短序列;

对得到的多个短序列进行聚类处理并按照时间顺序排列,得到用户行为序列;

将得到的用户行为序列作为输入,输入到预先构建好的行为预测模型中,输出预测行为类型和该预测行为类型的概率;

对所述待检测用户的待检测数据包括的用户行为数据进行分析,确定所述待检测用户的待检测数据对应的实际行为类型和该实际行为类型的概率;

根据预测行为类型的概率和实际行为类型的概率之差与预设的概率差值,判断所述待检测用户的行为类型是否发生变化。

在一种可能的实现方式中,所述行为预测模型是通过如下方式进行构建的:

获取多个用户的第一用户数据;其中,每一个用户的第一用户数据包括该用户的位于第一时间段内的用户行为数据;

针对每一个用户,均执行如下操作:按照预设的时间间隔对该用户的第一用户数据包括的用户行为数据进行划分,得到多个短序列;对得到的多个短序列进行聚类处理并按照时间顺序排列,得到用户行为序列;对得到的用户行为序列中的每一类别的短序列进行行为类型映射,得到用户业务行为序列;

将各用户的用户业务行为序列作为输入,输入到基于粒子群算法的GRU模型中进行训练,以构建出行为预测模型。

在一种可能的实现方式中,所述预设的概率差值是通过如下方式确定的:

获取所述多个用户的第二用户数据;其中,每一个用户的第二用户数据包括该用户的位于第二时间段内的用户行为数据,所述第二时间段与所述第一时间段相邻且位于所述第一时间段之后;

针对每一个用户,均执行如下操作:对该用户的第二用户数据进行分析,确定该用户的第二用户数据对应的实际行为类型和该实际行为类型的概率;

将由各用户的第一用户数据得到的用户行为序列作为输入,输入到构建好的行为预测模型中,输出预测行为类型和该预测行为类型的概率;

将各用户的第二用户数据对应的实际行为类型的概率和各用户的第一用户数据对应的预测行为类型的概率的差值的绝对值之和的平均值作为预设的概率差值。

本发明还提供了一种异常用户行为检测装置,包括:

获取模块,用于获取待检测用户的待检测数据和历史数据;其中,所述待检测用户的待检测数据和历史数据均包括用户行为数据,所述用户行为数据包括各软件的使用次数,所述历史数据为在所述待检测数据产生的时间点之前的预设时长的数据;

第一判断模块,用于根据所述待检测用户的待检测数据和历史数据包括的各软件的使用次数,判断所述待检测用户的角色类型是否发生变化;

第二判断模块,用于根据所述待检测用户的待检测数据和历史数据包括的用户行为数据,判断所述待检测用户的行为类型是否发生变化;

异常检测模块,用于如果所述待检测用户的角色类型和行为类型均发生变化,则将所述待检测用户确定为异常用户。

本发明还提供了一种异常用户行为检测装置,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行如上述所述的方法。

本发明还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行如上述所述的方法。

实施本发明的异常用户行为检测方法和装置,具有以下有益效果:

根据获取的待检测用户的待检测数据和历史数据包括的各软件的使用次数,判断待检测用户的角色类型是否发生变化;以及根据获取的待检测用户的待检测数据和历史数据包括的用户行为数据,判断待检测用户的行为类型是否发生变化;如果待检测用户的角色类型和行为类型均发生变化,则将待检测用户确定为异常用户。上述技术方案综合待检测用户的角色类型变化以及行为类型变化这两个变化因素来判断待检测用户是否为异常用户,如此可以达到对数据有效利用和对异常用户有效检测的目的,并可以有效地帮助安全管理人员把握企业内部人员的行为特征和安全态势,以便进行响应处置,从而可以提高企业内部的异常用户行为检测的准确度。

附图说明

图1是本发明一个实施例提供的异常用户行为检测方法的流程图;

图2是本发明另一个实施例提供的异常用户行为检测方法的流程图;

图3是本发明一个实施例提供的异常用户行为检测装置所在设备的示意图;

图4是本发明一个实施例提供的异常用户行为检测装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如背景技术所述,在现有技术中,现有技术中,企业一般在终端设备上安装有用于检测用户异常行为的软件,这种软件虽然内置了一些基于规则、签名的检测手段,也收集了大量的终端日志数据,但异常用户行为检测的准确度依然不高。

具体而言,上述用于检测用户异常行为的软件未对用户实体进行角色类型和行为类型的综合判断,导致对企业内部的异常用户行为不能有效地检测出来。该项能力的缺失,对企业而言具有极高的风险。

因此,可以考虑利用采集的用户数据对用户的角色类型和行为类型进行综合分析,进而通过二者的判断结果来确定待检测用户是否为异常用户。

以上就是本发明所提供的构思,下面描述本发明所提供构思的具体实现方式。

图1示出根据一个实施例的异常用户行为检测方法的流程图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。

参见图1,该方法包括:

步骤101:获取待检测用户的待检测数据和历史数据。

在步骤101中,待检测用户的待检测数据和历史数据均包括用户行为数据,用户行为数据包括各软件的使用次数,历史数据为在待检测数据产生的时间点之前的预设时长的数据。

通过获取待检测用户的待检测数据和历史数据,有利于对待检测数据和历史数据的分析结果来判断待检测用户的角色类型和行为类型是否发生变化。其中,待检测用户的待检测数据和历史数据均是从该待检测用户所在的终端设备中收集的日志数据。

例如,该终端设备为移动终端时,可以通过动态监听模块对用户的系统行为、短信、通话、网络情况和位置信息进行监听,以获取用户的行为数据信息。例如,可以借助于Android系统的Framework中的一个重要基类Broadcast Receiver来实现。BroadcastReceiver是Android系统中用来监听广播的组件,在系统没有被破坏的情况下,只有通过Broadcast Receiver才能对触发事件的Intent进行回应调用相关的组件,所以只要对Broadcast Receiver进行监听就可以得知调用组件情况。动态监听模块主要对短信、通话、位置信息与网络情况等进行监控。

再例如,该终端设备为电脑终端时,在Windows系统中,使用电脑进行登录,电脑自身会记录日志,可以通过查看记录的日志查看电脑登录记录。在Windows中可以使用事件查看器来查看网络访问日志,并可以结合日志ID进行日志筛选,一般情况下,事件查看器的位置在C:\WINDOWS\system32,名字为eventvwr.msc。

步骤102:根据待检测用户的待检测数据和历史数据包括的各软件的使用次数,判断待检测用户的角色类型是否发生变化。

由于不同角色类型的用户所使用的软件类别和次数均不同,因此可以基于待检测用户的待检测数据和历史数据包括的各软件的使用次数,判断待检测用户的角色类型是否发生变化。

例如,编程、通信类软件的使用次数的占比较大,而财务、简报类软件的使用次数的占比较小的用户,则可定义为该角色为开发角色。

在一些实施方式中,步骤102具体包括如下步骤:

步骤A1:将待检测用户的历史数据包括的各软件的使用次数作为输入,输入到预先构建好的角色分类模型中,输出第一角色类型。

在本步骤中,通过比较待检测用户的历史数据包括的各软件的使用次数的占比,可以利用预先构建好的角色分类模型中,确定该待检测用户在历史数据中所对应的第一角色类型。其中,第一角色类型可以认为是该待检测用户的正确角色类型。

步骤A2:将待检测用户的待检测数据包括的各软件的使用次数作为输入,输入到预先构建好的角色分类模型中,输出第二角色类型.

在本步骤中,通过比较待检测用户的待检测数据包括的各软件的使用次数的占比,可以利用预先构建好的角色分类模型中,确定该待检测用户在待检测数据中所对应的第二角色类型。

步骤A3:根据输出的第一角色类型和第二角色类型,判断待检测用户的角色类型是否发生变化。

在本步骤中,如果输出的第一角色类型和第二角色类型不同,则可以判定在进行角色类型分析时,该待检测用户是存在异常表现的。但是,最终判断该待检测用户是否为异常用户还需要进一步通过行为类型的分析进行综合判断。

在一些实施方式中,角色分类模型是通过如下方式进行构建的:

步骤B1:获取多个用户的用户数据。

在本步骤中,每一个用户的用户数据包括该用户的用户身份信息、软件信息和用户行为数据,该用户的用户行为数据包括该用户针对各软件的使用次数。其中,软件信息可以包括各终端安装的软件名、路径等,用户行为数据除了包括用户针对各软件的使用次数,还可以包括文件、浏览器、邮件、移动介质、网络、开关机、登录、以及对应的威胁告警信息等。

需要说明的是,在角色分类模型构建过程中所使用的用户数据都可以认为是正常行为的数据。

步骤B2:针对每一个用户,根据该用户的用户数据包括的用户身份信息、软件信息和各软件的使用次数,确定该用户的用户软件矩阵。

在本步骤中,由于用户使用的软件可能有上百种,因此需要进行数据规约,生成更小但保持原数据完整性的新数据集,在规约后的数据集上进行分析和挖掘将更有效率。举例说明:

首先,可以进行属性构造,将软件进行归类,如可以归类编程开发类、视频类、图像类、文字表格类、财务类、社交类、游戏类、简报类、音乐类、系统工具类等。具体的归类数目和归类规则由具体归类人员规定,在此不进行具体限定。

然后,可以按用户数据中的时间戳提取用户各类软件操作频次特征(即各软件的使用次数),得到各用户各类软件的工作日日均操作次数。例如,A用户使用归类编程开发类的次数、使用视频类的次数……。

最后,可以进行标准化操作,如式

步骤B3:对确定的各用户的用户软件矩阵进行聚类处理,得到聚类数目和多个聚类中心集合。

在本步骤中,聚类数目大于两个,每一个聚类中心集合包括多个用户。通过形成用户的用户软件矩阵,可以有利于对用户的角色分类,即利用聚类算法对得到的用户软件矩阵进行聚类处理,得到聚类数目和多个聚类中心集合。例如,聚类数目为7。

在步骤B3中,具体可以通过如下步骤实现:

利用多目标进化模糊聚类算法,对确定的各用户的用户软件矩阵进行聚类处理。

通过多目标优化的模糊聚类对角色类型进行划分,得到不同的相似个体组成的角色分组,可在该某分组出现异常用户时,加大对该组用户的监管,特别是组内和异常用户隶属度相近的用户的监控。采用多目标优化的模糊聚类对用户角色进行划分,该方法同时优化了多个聚类准则函数,防止陷入局部最优。

需要说明的是,可以采用非支配排序遗传算法(Non-dominated Sorting GeneticAlgorithm-II,NSGA-II)作为优化搜索框架来解决多个目标准则函数的优化问题。NSGA-II优化的两个目标准则函数为:类内紧致性函数F和类间分离度函数S,前一个目标函数越小越好,后一个目标函数越大越好。例如,通过多目标优化的模糊聚类对角色类型进行划分,可以将预先设定的10组,最终聚类为7组,角色类型的数目等于聚类数目。

步骤B4:根据各用户的用户数据包括的各软件的使用次数,确定每一个聚类中心集合的角色类型,以构建出角色分类模型。

在本步骤中,在得到聚类数目和多个聚类中心集合后,可以对各聚类中心集合中的用户软件矩阵的数据进行统计分析,以对各聚类中心集合赋予角色类型。

用户角色划分完毕后,统计各簇内用户整体的软件行为特征,得到各角色组各类软件使用占比,进而根据软件使用情况,由分析和业务人员,确定该组对应的角色,如编程、通信类软件操作占比较大,财务、简报类软件操作占比较小的用户组可定角色为开发。具体的角色种类可由业务人员提供,也可以酌情增加,如某软件公司,聚类后角色划分为7类,分别为开发、产品、测试、管理、财务、文档支持、后勤等。如表1,用户划分为7组,统计各组各类软件的使用情况,进行角色分配。

统计各类软件操作频次,划分为6个等级,分别为无、较低、低、中、较高、高,分别用0、1、2、3、4、5表示。如第一组用户[5,3,3,4,1,3,5,3,3,5],编程开发、游戏、文字表格、系统工具软件使用频次较高,可判断为开发角色。

表1

在本实施例中,通过利用上述方式构建出的角色分类模型可以有效快速地实现对待检测用户的角色类型的判定。当然,也可以借助其它角色分类的方式进行判定,在此不进行具体限定。

步骤103:根据待检测用户的待检测数据和历史数据包括的用户行为数据,判断待检测用户的行为类型是否发生变化。

由于不同角色类型的用户的用户行为数据均不同,因此可以基于待检测用户的待检测数据和历史数据包括的用户行为数据,判断待检测用户的行为类型是否发生变化。

在一些实施方式中,步骤103具体包括如下步骤:

步骤C1:按照预设的时间间隔对待检测用户的历史数据包括的用户行为数据进行划分,得到多个短序列。

在本步骤中,根据获取的用户行为数据,选取预设的时间间隔θ,当业务发生变化时,各行为之间的时间间隔会大于阈值θ,据此便可将用户行为数据划分为多个短序列。这样,以行为类型为基本元素,进而降低因序列扰动造成检测准确率低的问题。

步骤C2:对得到的多个短序列进行聚类处理并按照时间顺序排列,得到用户行为序列。

在本步骤中,例如可以对划分出来的短序列,利用莱温斯坦比相似度和KMeans聚类,将相似的短序列聚类到同一行为类型中。

步骤C3:将得到的用户行为序列作为输入,输入到预先构建好的行为预测模型中,输出预测行为类型和该预测行为类型的概率。

在本步骤中,行为预测模型是通过如下方式进行构建的:

步骤D1:获取多个用户的第一用户数据。

在本步骤中,每一个用户的第一用户数据包括该用户的位于第一时间段内的用户行为数据。

步骤D2:针对每一个用户,均执行如下操作:按照预设的时间间隔对该用户的第一用户数据包括的用户行为数据进行划分,得到多个短序列;对得到的多个短序列进行聚类处理并按照时间顺序排列,得到用户行为序列;对得到的用户行为序列中的每一类别的短序列进行行为类型映射,得到用户业务行为序列。

在本步骤中,用户业务行为序列可表示为B={b

步骤D3:将各用户的用户业务行为序列作为输入,输入到基于粒子群算法的GRU模型中进行训练,以构建出行为预测模型。

在本步骤中,GRU模型的网络结构中通过更新门zt和重置门rt实现对输入信息以及上一时刻隐含层状态信息的保留和更新。隐含层状态可表示为

可知w

在一些实施方式中,预设的概率差值是通过如下方式确定的:

步骤E1:获取多个用户的第二用户数据。

在本步骤中,每一个用户的第二用户数据包括该用户的位于第二时间段内的用户行为数据,第二时间段与第一时间段相邻且位于第一时间段之后。例如,选取用户前200天(即第一时间段)的行为数据作为训练数据(即第一用户数据),后100天(即第二时间段)为测试数据(即第二用户数据)。利用正常用户行为历史数据(即第一时间段的第一用户数据)进行模型训练,得到最优权值并保存模型。

步骤E2:针对每一个用户,均执行如下操作:对该用户的第二用户数据进行分析,确定该用户的第二用户数据对应的实际行为类型和该实际行为类型的概率。

在本步骤中,利用预设的行为概率分析算法对对该用户的第二用户数据进行分析,确定该用户的第二用户数据对应的实际行为类型和该实际行为类型的概率。在此对行为概率分析算法不进行具体限定。

步骤E3:将由各用户的第一用户数据得到的用户行为序列作为输入,输入到构建好的行为预测模型中,输出预测行为类型和该预测行为类型的概率。

步骤E4:将各用户的第二用户数据对应的实际行为类型的概率和各用户的第一用户数据对应的预测行为类型的概率的差值的绝对值之和的平均值作为预设的概率差值。

在本步骤中,通过利用第一用户数据和第二用户数据确定预设的概率差值,可以在进行异常用户行为检测时,只需将待测行为和预测行为概率差和该预设的概率差值进行对比,即可完成异常用户行为的检测。

步骤C4:对待检测用户的待检测数据包括的用户行为数据进行分析,确定待检测用户的待检测数据对应的实际行为类型和该实际行为类型的概率。

在本步骤中,利用预设的行为概率分析算法对对待检测用户的待检测数据包括的用户行为数据进行分析,确定待检测用户的待检测数据包括的用户行为数据对应的实际行为类型和该实际行为类型的概率。在此对行为概率分析算法不进行具体限定。

步骤C5:根据预测行为类型的概率和实际行为类型的概率之差与预设的概率差值,判断待检测用户的行为类型是否发生变化。

在本步骤中,如果预测行为类型的概率小于实际行为类型的概率之差,或预测行为类型和实际行为类型相同,则可以判定待检测用户的行为类型未发生变化,否则可以判定待检测用户的行为类型发生变化,即该待检测用户是存在异常表现的。但是,最终判断该待检测用户是否为异常用户还需要进一步通过角色类型的分析进行综合判断。

步骤104:将待检测用户确定为异常用户。

在本步骤中,如果待检测用户的角色类型和行为类型均发生变化,则将待检测用户确定为异常用户。而且,在对发生异常的用户所在的角色组中,隶属度相近的用户应当加大观测力度,防止其发生异常行为。

另外,如果待检测用户的角色类型和行为类型均未发生变化,则将待检测用户确定为正常用户。

如果待检测用户的角色类型和行为类型存在一者是发生变化的,则将待检测用户确定为待定异常用户,即需要继续采集用户数据对该待检测用户是否异常进行判断。

在步骤104之后,上述异常用户行为监测方法可以进一步包括:

若判断结果产生了异常,则进行告警,通知安全管理人员进行处置,并对产生异常的用户原角色组内与其隶属度相近的用户进行检查。

若判断结果未产生异常,则不告警,并将该数据输入到角色分类模型和行为预测模型进行不断训练,以继续进行用户角色类型和行为类型的分析算法的更新。

可见,在上述图1所示过程中,根据获取的待检测用户的待检测数据和历史数据包括的各软件的使用次数,判断待检测用户的角色类型是否发生变化;以及根据获取的待检测用户的待检测数据和历史数据包括的用户行为数据,判断待检测用户的行为类型是否发生变化;如果待检测用户的角色类型和行为类型均发生变化,则将待检测用户确定为异常用户。上述技术方案综合待检测用户的角色类型变化以及行为类型变化这两个变化因素来判断待检测用户是否为异常用户,如此可以达到对数据有效利用和对异常用户有效检测的目的,并可以有效地帮助安全管理人员把握企业内部人员的行为特征和安全态势,以便进行响应处置,从而可以提高企业内部的异常用户行为检测的准确度。

图2示出根据另一个实施例的异常用户行为检测方法的流程图。

参见图2,该方法包括:

步骤201:获取待检测用户的待检测数据和历史数据。

步骤202:将待检测用户的历史数据包括的各软件的使用次数作为输入,输入到预先构建好的角色分类模型中,输出第一角色类型。

步骤203:将待检测用户的待检测数据包括的各软件的使用次数作为输入,输入到预先构建好的角色分类模型中,输出第二角色类型。

步骤204:根据输出的第一角色类型和第二角色类型,判断待检测用户的角色类型是否发生变化。

步骤205:按照预设的时间间隔对待检测用户的历史数据包括的用户行为数据进行划分,得到多个短序列。

步骤206:对得到的多个短序列进行聚类处理并按照时间顺序排列,得到用户行为序列。

步骤207:将得到的用户行为序列作为输入,输入到预先构建好的行为预测模型中,输出预测行为类型和该预测行为类型的概率。

步骤208:对待检测用户的待检测数据包括的用户行为数据进行分析,确定待检测用户的待检测数据对应的实际行为类型和该实际行为类型的概率。

步骤209:根据预测行为类型的概率和实际行为类型的概率之差与预设的概率差值,判断待检测用户的行为类型是否发生变化。

步骤210:将待检测用户确定为异常用户。

如图3和图4所示,本发明实施例提供了一种异常用户行为检测装置所在的设备和异常用户行为检测装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的异常用户行为检测装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。

如图4所示,本实施例提供的异常用户行为检测装置,包括:

获取模块401,用于获取待检测用户的待检测数据和历史数据;其中,待检测用户的待检测数据和历史数据均包括用户行为数据,用户行为数据包括各软件的使用次数,历史数据为在待检测数据产生的时间点之前的预设时长的数据;

第一判断模块402,用于根据待检测用户的待检测数据和历史数据包括的各软件的使用次数,判断待检测用户的角色类型是否发生变化;

第二判断模块403,用于根据待检测用户的待检测数据和历史数据包括的用户行为数据,判断待检测用户的行为类型是否发生变化;

异常检测模块404,用于如果待检测用户的角色类型和行为类型均发生变化,则将待检测用户确定为异常用户。

在本发明实施例中,第一获取模块401可用于执行上述方法实施例中的步骤101,第一判断模块402可用于执行上述方法实施例中的步骤102,第二判断模块403可用于执行上述方法实施例中的步骤103,异常检测模块404可用于执行上述方法实施例中的步骤104。

在本发明的一个实施例中,第一判断模块402,用于执行如下操作:

将待检测用户的历史数据包括的各软件的使用次数作为输入,输入到预先构建好的角色分类模型中,输出第一角色类型;

将待检测用户的待检测数据包括的各软件的使用次数作为输入,输入到预先构建好的角色分类模型中,输出第二角色类型;

根据输出的第一角色类型和第二角色类型,判断待检测用户的角色类型是否发生变化。

在本发明的一个实施例中,角色分类模型是通过如下方式进行构建的:

获取多个用户的用户数据;其中,每一个用户的用户数据包括该用户的用户身份信息、软件信息和用户行为数据,该用户的用户行为数据包括该用户针对各软件的使用次数;

针对每一个用户,根据该用户的用户数据包括的用户身份信息、软件信息和各软件的使用次数,确定该用户的用户软件矩阵;

对确定的各用户的用户软件矩阵进行聚类处理,得到聚类数目和多个聚类中心集合;其中,聚类数目大于两个,每一个聚类中心集合包括多个用户;

根据各用户的用户数据包括的各软件的使用次数,确定每一个聚类中心集合的角色类型,以构建出角色分类模型;其中,角色类型的数目等于聚类数目。

在本发明的一个实施例中,对确定的各用户的用户软件矩阵进行聚类处理,包括:

利用多目标进化模糊聚类算法,对确定的各用户的用户软件矩阵进行聚类处理。

在本发明的一个实施例中,第二判断模块403,用于执行如下操作:

按照预设的时间间隔对待检测用户的历史数据包括的用户行为数据进行划分,得到多个短序列;

对得到的多个短序列进行聚类处理并按照时间顺序排列,得到用户行为序列;

将得到的用户行为序列作为输入,输入到预先构建好的行为预测模型中,输出预测行为类型和该预测行为类型的概率;

对待检测用户的待检测数据包括的用户行为数据进行分析,确定待检测用户的待检测数据对应的实际行为类型和该实际行为类型的概率;

根据预测行为类型的概率和实际行为类型的概率之差与预设的概率差值,判断待检测用户的行为类型是否发生变化。

在本发明的一个实施例中,行为预测模型是通过如下方式进行构建的:

获取多个用户的第一用户数据;其中,每一个用户的第一用户数据包括该用户的位于第一时间段内的用户行为数据;

针对每一个用户,均执行如下操作:按照预设的时间间隔对该用户的第一用户数据包括的用户行为数据进行划分,得到多个短序列;对得到的多个短序列进行聚类处理并按照时间顺序排列,得到用户行为序列;对得到的用户行为序列中的每一类别的短序列进行行为类型映射,得到用户业务行为序列;

将各用户的用户业务行为序列作为输入,输入到基于粒子群算法的GRU模型中进行训练,以构建出行为预测模型。

在本发明的一个实施例中,预设的概率差值是通过如下方式确定的:

获取多个用户的第二用户数据;其中,每一个用户的第二用户数据包括该用户的位于第二时间段内的用户行为数据,第二时间段与第一时间段相邻且位于第一时间段之后;

针对每一个用户,均执行如下操作:对该用户的第二用户数据进行分析,确定该用户的第二用户数据对应的实际行为类型和该实际行为类型的概率;

将由各用户的第一用户数据得到的用户行为序列作为输入,输入到构建好的行为预测模型中,输出预测行为类型和该预测行为类型的概率;

将各用户的第二用户数据对应的实际行为类型的概率和各用户的第一用户数据对应的预测行为类型的概率的差值的绝对值之和的平均值作为预设的概率差值。

可以理解的是,本发明实施例示意的结构并不构成对异常用户行为检测装置的具体限定。在本发明的另一些实施例中,异常用户行为检测装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。

上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例还提供了一种异常用户行为检测装置,包括:至少一个存储器和至少一个处理器;

至少一个存储器,用于存储机器可读程序;

至少一个处理器,用于调用机器可读程序,执行本发明任一实施例中的异常用户行为检测方法。

本发明实施例还提供了一种计算机可读介质,存储用于使一计算机执行如本文的异常用户行为检测方法的指令。具体地,可以提供配有存储介质的方法或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该方法或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作方法等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修复,或者对其中部分技术特征进行等同替换;而这些修复或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种基于用户行为日志数据的用户异常行为检测方法及装置
  • 用户行为模式库的构建及用户行为异常检测方法、系统
技术分类

06120112941217