检测用户异常行为的检测方法、系统、装置和存储介质
文献发布时间:2023-06-19 10:08:35
技术领域
本发明涉及计算机技术领域,更为具体而言,涉及一种检测用户异常行为的检测方法、系统、装置和存储介质。
背景技术
作为社会运作的基础设施,互联网目前已经触及到世界的各个角落,成为社会交流、学习、企业发展、国家安全等领域必不可少的一部分。随着网络技术的快速发展,网络规模不断增大,网络安全问题日益突出。现有的网络安全防护措施主要关注于外部攻击,而对于企业内部用户的异常行为关注较少。尤其对于银行业来说,内部员工有机会接触到客户、资金等核心信息,一旦内部员工出于恶意或疏忽操作导致敏感信息外泄、数据丢失等事件,将会对客户、企业造成巨大的经济损失和恶劣的社会影响。
目前,现有的用户行为异常检测方法主要基于统计的方法,侧重于为事后审计提供依据,缺乏对用户异常行为的实时检测与阻断。且大多数据来源单一,但是在实际的网络环境中,用户行为复杂多样,仅凭单一数据判断用户行为是否存在异常是不够的,存在大量误报漏报。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种检测用户异常行为的检测方法、系统、装置和存储介质,可以实现从不同侧面评价用户的行为,使异常的检测和识别更加准确和有效。
根据本发明的第一方面,本发明的实施方式提供了一种检测用户异常行为的检测方法,所述检测方法包括:将用户行为日志转换为离散的符号序列;根据所述符号序列将所述用户行为日志抽象为用户行为子图;对所述用户行为子图进行子图挖掘,获取异常行为系数,并根据所述异常行为系数判定所述用户行为日志是否异常。
在本发明的一些实施方式中,所述检测方法还包括:在将所述用户行为日志转换为离散的所述符号序列之前,对所述用户行为日志进行压缩处理;对所述压缩处理后的用户行为日志进行归一化处理。
在本发明的一些实施方式中,所述压缩处理包括:计算所述用户行为日志对应的信息熵;根据所述信息熵对所述用户行为日志进行压缩。
在本发明的一些实施方式中,所述信息熵通过以下方式计算:
其中,S表示所述用户行为日志的特征,H(S)表示所述特征的信息熵,n表示所述特征所包含的元素的总数,i表示所述元素的序数,P
在本发明的一些实施方式中,所述归一化处理包括:
对所述用户行为日志进行归一化计算,计算方式如下:
其中,h
在本发明的一些实施方式中,所述将用户行为日志转换为离散的符号序列包括:将所述归一化计算的结果分为2a个子份;根据预设的符号序列方式分别用2a个符号对所述2a个子份进行标识,生成所述符号序列;其中,a为大于等于2的任意自然数。
在本发明的一些实施方式中,所述根据所述符号序列将所述用户行为日志抽象为用户行为子图包括:将所述符号序列和所述用户行为日志的特征序列按照预设的点处理方法进行处理,将处理结果作为所述用户行为子图中的点;根据预设的权重计算方法计算任意两个所述点之间的权重系数,将所述权重系数作为所述用户行为子图中两个所述点之间的边。
在本发明的一些实施方式中,所述对所述用户行为子图进行子图挖掘,获取异常行为系数包括:根据所述子图获取支持度系数和权重系数;根据所述支持度系数和权重系数获取所述异常行为系数;对所述异常行为系数进行融合处理。
在本发明的一些实施方式中,所述融合处理包括:获取所述异常行为系数的平均值;或获取所述异常行为系数的权值,根据所述权值对所述异常行为系数进行加权平均处理。
在本发明的一些实施方式中,所述根据所述异常行为系数判定所述用户行为日志是否异常包括:将所述异常行为系数与预设的阈值进行对比;若所述异常行为系数大于所述阈值,则判定所述用户行为日志异常。
根据本发明的第二方面,本发明的实施方式提供了一种检测用户异常行为的检测系统,所述检测系统包括:转化模块,用于将用户行为日志转换为离散的符号序列;子图模块,用于根据所述符号序列将所述用户行为日志抽象为用户行为子图;判定模块,用于对所述用户行为子图进行子图挖掘,获取异常行为系数,并根据所述异常行为系数判定所述用户行为日志是否异常。
在本发明的一些实施方式中,所述检测系统还包括:预处理模块,用于在将所述用户行为日志转换为离散的所述符号序列之前,对所述用户行为日志进行压缩处理;对所述压缩处理后的用户行为日志进行归一化处理。
在本发明的一些实施方式中,所述压缩处理包括:计算所述用户行为日志对应的信息熵;根据所述信息熵对所述用户行为日志进行压缩。
在本发明的一些实施方式中,所述信息熵通过以下方式计算:
其中,S表示所述用户行为日志的特征,H(S)表示所述特征的信息熵,n表示所述特征所包含的元素的总数,i表示所述元素的序数,P
在本发明的一些实施方式中,所述归一化处理包括:
对所述用户行为日志进行归一化计算,计算方式如下:
其中,h
在本发明的一些实施方式中,所述转化模块用于:将所述归一化计算的结果分为2a个子份;根据预设的符号序列方式分别用2a个符号对所述2a个子份进行标识,生成所述符号序列;其中,a为大于等于2的任意自然数。
在本发明的一些实施方式中,所述子图模块用于:将所述符号序列和所述用户行为日志的特征序列按照预设的点处理方法进行处理,将处理结果作为所述用户行为子图中的点;根据预设的权重计算方法计算任意两个所述点之间的权重系数,将所述权重系数作为所述用户行为子图中两个所述点之间的边。
在本发明的一些实施方式中,所述对所述用户行为子图进行子图挖掘,获取异常行为系数包括:根据所述子图获取支持度系数和权重系数;根据所述支持度系数和权重系数获取所述异常行为系数;对所述异常行为系数进行融合处理。
在本发明的一些实施方式中,所述融合处理包括:获取所述异常行为系数的平均值;或获取所述异常行为系数的权值,根据所述权值对所述异常行为系数进行加权平均处理。
在本发明的一些实施方式中,所述根据所述异常行为系数判定所述用户行为日志是否异常包括:将所述异常行为系数与预设的阈值进行对比;若所述异常行为系数大于所述阈值,则判定所述用户行为日志异常。
根据本发明的第三方面,本发明的实施方式还提供了一种检测用户异常行为的检测装置,包括存储器和处理器,所述存储器用于存储计算机可读指令,所述处理器用于执行所述计算机可读指令以实现前述任一项实施方式所述的方法。
根据本发明的第四方面,本发明的实施方式还提供了一种计算机存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现前述任一项实施方式所述的方法。
本发明将企业内部大量存在的异构的用户行为日志进行一致性描述,实现了异构信息的融合,再利用图挖掘算法检测内部用户的异常行为。使得这些用户行为日志之间的互补性能够被有效地发现并利用,从而实现从不同侧面反映用户的行为,使异常的检测和识别更加准确和有效。同时,自动化的检测方法减少人工检测成本、极大地提升了检测效率。
附图说明
图1是根据本发明一种实施方式的检测用户异常行为的检测方法的流程示意图;
图2是根据本发明一种实施方式的压缩处理的流程示意图;
图3是根据本发明一种实施方式的用户行为子图的示意图;
图4是根据本发明一种实施方式的异常行为系数获取的流程示意图;
图5是根据本发明一种实施方式的检测用户异常行为的检测系统的框图。
具体实施方式
以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。
本发明的一种实施方式提供了一种检测用户异常行为的检测方法,如图1所示,在本发明的实施方式中,该方法包括:
100:将用户行为日志转换为离散的符号序列;
101:根据符号序列将用户行为日志抽象为用户行为子图;
102:对用户行为子图进行子图挖掘,获取异常行为系数,并根据异常行为系数判定用户行为日志是否异常。
在本实施方式中,进行处理100前,还可以先对用户行为日志进行预处理,该预处理可以包括:对用户行为日志进行压缩处理以及对压缩处理后的用户行为日志进行归一化处理。由此,将以异构形式存在的用户行为日志进行一致性描述,实现了异构信息的融合。
在本实施方式中,如图2所示,压缩处理可以通过以下方式实现:
103:计算该用户行为日志对应的信息熵。
通常用户行为日志数量庞大,维度众多,使得直接对原始日志进行操作比较困难。因此,需要对日志数据进行压缩。而信息熵作为系统内部微观无序的宏观表征,一个系统越有序,信息熵就越低;反之,一个系统越混乱,信息熵就越高。信息熵可以用来描述数据的分布是聚集还是离散,它在保持原始数据结构的几何拓扑的基础上,通过同胚变换实现对数据的压缩。因此,信息熵对于数据的压缩是特别有效的方法。
在本实施方式中,给出了一种信息熵计算方式,具体如下:
将用户行为日志的每个特征的参数分布看作一组随机变量,其中,某一个特征S的信息熵为:
其中,S表示所述用户行为日志的特征,H(S)表示所述特征的信息熵,n表示所述特征所包含的元素的总数,i表示所述元素的序数,P
104:根据信息熵对所述用户行为日志进行压缩。
用信息熵压缩用户行为日志数据后,使数据体积变小,并且能够完整保持原始数据的结构。
此外,在本实施方式中,信息熵还对后续的异常检测步骤提供支持。一般情况下,异常行为会影响日志特征参数的分布。例如,在通常情况下,某用户的登录记录在一天中出现5次左右,但是在该用户行为出现异常的情况下,该用户可能会在一天中频繁登录,远超5次。所以可以通过计算信息熵,从日志数据特征参数的聚集和发散程度中提取有用信息,从而以一种较为简洁的方法来检测用户行为的异常。
其次,为使数据转化为合适分析的形式,需要数据进行归一化处理,在本实施方式中,归一化处理可以通过以下方式实现:
本方式使用最大-最小规范,能够保持数据之间的关系,计算方式如下公式所示,通过归一化计算使数据映射到[0,1]的范围内。
其中,h
经过预处理后,用户行为日志被转化为实值数据序列,方便之后进行的离散的符号序列转换。在本实施方式中,符号序列转换可以通过以下方式实现:
将所述归一化计算的结果分为2a个子份,根据预设的符号序列方式分别用2a个符号对该2a个子份进行标识,生成符号序列。其中,a为大于等于2的任意自然数。
例如:a=2时,用四个字母{A,B,C,D}作为符号分别表示四部分的值,可获得符号序列S
其中,Vi表示用户行为日志经过预处理之后的特征中的元素,i表示该元素的序数。
在本实施方式中,基于符号序列可以将用户行为日志抽象为用户行为子图。用户行为子图由点和连接两个点的边组成,其中,将符号序列和用户行为日志的特征序列按照预设的点处理方法进行处理,将处理结果作为用户行为子图中的点;根据预设的权重计算方法计算任意两个点之间的权重系数,将权重系数作为用户行为子图中两个所述点之间的边。以下将对点和边的具体表示进行详细说明:
(1)点的表示:
延用上述a=2时的示例,经过符号序列转换这一步骤之后,结果用{A,B,C,D}表示;用{1,2,...,n}分别表示用户行为日志的n个特征参数;用1
(2)边的表示:
子图中的边应该用来衡量所连接的两个点之间的项集模式对最后结果的影响。一条边的权值的大小由此条边对应的两个特征参数的变化的相似程度决定,如果一条边对应的两个端点的变化程度很相似的话,这两个特征参数的相关性就很强,因此赋予此边一个较大的权重系数,此边对应的两点之间的项集模式对结果的影响就越大;反之,权重系数越小,该项集模式的影响就越小。
将数据的特征参数的分布当作随机变量,两个随机变量间变化的相似程度由协方差衡量。
协方差的估计值C
其中,X、Y为任意两个特征值,x
则边的权重系数可按下式计算:
其中,X
由此,每条用户行为日志都可以生成如图3所示的无向赋权子图,在整个时间序列就形成多幅子图。
在本实施方式中,给出了一种子图挖掘从而获取异常行为系数的方式,如图4所示:
105:根据子图获取支持度系数和权重系数;
106:根据支持度系数和权重系数获取异常行为系数;
107:对异常行为系数进行融合处理。
对于处理105,支持度系数反映了一个项集模式出现的频繁程度,支持度系数越小,说明项集出现得越不频繁。对于某一幅子图,它的2-项集模式和3-项集模式的频繁程度可以反映此幅子图代表的记录出现异常的可能性。该图中挖掘出的频繁模式越多,则该记录出现异常的可能性越小,反之,出现异常的可能性越大。
项集模式的支持度系数为该项集模式的个数与项集中的总实例数之比。第n幅子图中某个2-项集模式p
其中num(p
而项集的权重系数反映的是各个特征之间的关系,它量化了各项集模式的支持度对该记录是否存在异常的贡献程度。
应用到2-项集和3-项集中,分别得到其权重系数:
其中,X
基于此,对于处理106,异常行为系数用来衡量每幅子图所代表的记录的异常程度,异常行为系数的定义如下:
其中,W(x
其中,分别为2-项集、3-项集赋予影响度因子θ
基于此,对于处理107,在本实施方式中,融合处理可以包括获取异常行为系数的平均值,或获取异常行为系数的权值,根据权值对异常行为系数进行加权平均处理。
在可选的实施方式中,可以采用Bagging(Bootstrap aggregating,引导聚集算法)方法对结果进行融合。Bagging是一种简单的集成方法,将多个算法组合在一起,使最终的结果优于使用单一的算法。组合这些算法的方式,主要分为以下几种:
1.将表现最好的结果作为最终结果;
2.对多个算法的结果取平均值或者进行投票;
3.对多个算法的结果做加权平均。
Bagging方法属于上述第二种,也就是说,对于分类问题,Bagging方法用投票的方式选择票数最多的类别作为最终类别;而对于回归问题,则将均值作为最终的结果。
将Bagging方法应用于频繁子图挖掘中,可以随机取多组数据,对每组数据分别进行上述步骤得到异常行为系数,通过计算这些异常行为系数的平均值得到最终的异常行为系数结果。
在本实施方式中,通过将最终的异常行为系数与预设的阈值进行对比,若异常行为系数大于阈值,则判定用户行为日志异常,反之则判定为正常。
由此,本发明将企业内部大量存在的异构的用户行为日志进行一致性描述,实现了异构信息的融合,再利用图挖掘算法检测内部用户的异常行为。使得这些用户行为日志之间的互补性能够被有效地发现并利用,从而实现从不同侧面反映用户的行为,使异常的检测和识别更加准确和有效。同时,自动化的检测方法减少人工检测成本、极大地提升了检测效率。
图5是根据本发明一种实施方式的检测用户异常行为的检测系统1的框图,参照图2,该检测系统1可以包括:转化模块12,用于将用户行为日志转换为离散的符号序列;子图模块13,用于根据符号序列将用户行为日志抽象为用户行为子图;判定模块14,用于对用户行为子图进行子图挖掘,获取异常行为系数,并根据异常行为系数判定用户行为日志是否异常。
在本发明的实施方式中,检测系统1还可以包括预处理模块11,用于在将用户行为日志转换为离散的符号序列之前,对用户行为日志进行压缩处理,以及对压缩处理后的用户行为日志进行归一化处理。
在本发明的实施方式中,压缩处理包括:计算用户行为日志对应的信息熵,根据信息熵对所述用户行为日志进行压缩。其中,信息熵可以通过以下方式计算:
其中,S表示用户行为日志的特征,H(S)表示特征的信息熵,n表示特征所包含的元素的总数,i表示元素的序数,P
在本发明的实施方式中,归一化处理包括对用户行为日志进行归一化计算,其计算方式如下:
其中,h
在本发明的实施方式中,转化模块12用于将归一化计算的结果分为2a个子份,再根据预设的符号序列方式分别用2a个符号对2a个子份进行标识,生成符号序列。其中,a为大于等于2的任意自然数。
在本发明的实施方式中,子图模块13用于将符号序列和用户行为日志的特征序列按照预设的点处理方法进行处理,将处理结果作为用户行为子图中的点。以及,根据预设的权重计算方法计算任意两个点之间的权重系数,将权重系数作为用户行为子图中两个点之间的边。
在本发明的实施方式中,对用户行为子图进行子图挖掘,获取异常行为系数包括:根据子图获取支持度系数和权重系数,根据支持度系数和权重系数获取异常行为系数,对异常行为系数进行融合处理。
在本发明的实施方式中,融合处理可以包括获取异常行为系数的平均值,或获取异常行为系数的权值,根据权值对异常行为系数进行加权平均处理。
在本发明的实施方式中,根据异常行为系数判定用户行为日志是否异常包括:将异常行为系数与预设的阈值进行对比,若异常行为系数大于阈值,则判定用户行为日志异常。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
因此,本发明实施方式还提供了一种计算机存储介质,存储有计算机程序,用于在执行时实现本发明前述实施方式或实现方式提供的检测用户异常行为的检测方法。例如,所述存储介质可以包括硬盘、软盘、光盘、磁带、磁盘、优盘、闪存等。
本发明实施方式还提供了一种检测用户异常行为的检测装置,该装置包括存储器,用于存储计算机可读指令;处理器,用于执行该计算机可读指令从而实现本发明前述实施方式或实现方式所提供的检测用户异常行为的检测方法。可选地,在本发明实施方式的一种实现方式中,所述装置还可以包括用于进行数据通信的输入输出接口。例如,所述装置可以是计算机、智能终端、服务器等。
本文所公开的具体实施方式仅用于举例说明本发明,对于本领域技术人员而言,显然可以根据本文的教导进行各种修改,可以采用各种等同的方式实施本发明,因此,本发明上述公开的特定的实施方式仅仅是示例性的,其保护范围不受在此公开的结构或设计的细节所限,除非在权利要求中另有说明。因此,上述公开的特定的示例性的实施方式可进行各种替换、组合或修改,其所有的变形都落入本文公开的范围内。
- 检测用户异常行为的检测方法、系统、装置和存储介质
- 一种内部用户异常行为检测方法、系统及计算机存储介质