异常用户检测方法及装置与流程

文档序号:20764552发布日期:2020-05-15 18:42阅读:207来源:国知局
异常用户检测方法及装置与流程

本发明涉及信息安全技术领域,尤其涉及一种异常用户检测方法及装置。



背景技术:

目前最为主流的移动端异常用户检测方法为基于行为特征的检测方法,某些算法同时结合了其他的检测方法,但是总的来看,目前的异常用户检测的方案仍然存在一定的局限性。比如:

(1)检测准确率不高

基于行为特征的检测方式是目前检测准确率最高,算法设计、部署相对成熟的方法。但是在实际应用中,由于异常用户具有多种表现、异常用户可能存在动态变化等问题,仍然存在大量误报,检测准确率与召回率仍需进一步提升。

(2)关于时间属性的利用程度较低

用户的行为属性中,时间是一种重要属性,不同时间进行不同操作,用户的异常程度不同,同时操作之间的时间间隔也是一个重要属性,不同操作的时间间隔差距不同,用户的异常程度同样存在巨大差距。



技术实现要素:

本发明要解决的技术问题是提高异常用户检测的准确性,本发明提出了一种异常用户检测方法及装置。

根据本发明实施例的异常用户检测方法,包括:

获取用户的行为数据信息;

对所述行为数据信息进行预处理,获得行为序列;

将所述行为序列与预先训练的异常行为库中的异常行为特征进行匹配,以判定所述用户是否为异常用户;

其中,所述行为序列包括:操作事件和时间间隔信息。

根据本发明实施例的异常用户检测方法,依据移动端用户行为的特点,充分利用异常用户特征,在行为序列挖掘过程中,加入时间间隔属性,进行带有时间间隔的行为序列挖掘,可以有效提升异常用户检测的准确率。

根据本发明的一些实施例,所述异常行为库的训练方法包括:

对已知异常用户的所有操作的时间间隔进行模糊聚类处理,得到所述时间间隔的隶属度矩阵;

基于所述隶属度矩阵,生成候选序列和频繁模糊时间间隔序列;

基于所述频繁模糊时间间隔序列,获取异常用户行为特征序列,以构成所述异常行为库。

在本发明的一些实施例中,所述获取用户的行为数据信息,包括:

通过动态监听模块对用户的系统行为、短信、通话、网络情况和位置信息进行监听,以获取所述用户的行为数据信息。

根据本发明的一些实施例,所述方法还包括:在判定所述用户是否为异常用户的过程中,更新所述异常行为库。

在本发明的一些实施例中,所述方法还包括:在判定所述用户是否为异常用户后,输出异常报告。

根据本发明实施例的异常用户检测装置,包括:

动态监听模块,用于获取用户的行为数据信息;

用户行为提取模块,用于对所述行为数据信息进行预处理,获得行为序列;

检测匹配模块,用于将所述行为序列与预先训练的异常行为库中的异常行为特征进行匹配,以判定所述用户是否为异常用户;

其中,所述行为序列包括:操作事件和时间间隔信息。

根据本发明实施例的异常用户检测装置,用户行为提取模块依据移动端用户行为的特点,充分利用异常用户特征,在行为序列挖掘过程中,加入时间间隔属性,进行带有时间间隔的行为序列挖掘,可以有效提升异常用户检测的准确率。

根据本发明的一些实施例,所述装置还包括异常行为库训练模块,所述异常行为库训练模块包括:

模糊聚类模块,用于对已知异常用户的所有操作的时间间隔进行模糊聚类处理,得到所述时间间隔的隶属度矩阵;

频繁序列挖掘模块,用于基于所述隶属度矩阵,生成候选序列和频繁模糊时间间隔序列;

异常特征判定模块,用于基于所述频繁模糊时间间隔序列,获取异常用户行为特征序列,以构成所述异常行为库。

在本发明的一些实施例中,所述动态监听模块用于:通过动态监听模块对用户的系统行为、短信、通话、网络情况和位置信息进行监听,以获取所述用户的行为数据信息。

根据本发明的一些实施例,所述装置还包括异常行为库更新模块:用于在判定所述用户是否为异常用户的过程中,更新所述异常行为库。

在本发明的一些实施例中,所述装置还包括:异常报告模块,用于在判定所述用户是否为异常用户后,输出异常报告。

附图说明

图1为根据本发明实施例的异常用户检测装置的结构图;

图2为根据本发明实施例的异常用户检测方法流程图;

图3为根据本发明实施例的异常用户检测方法应用于移动终端应用程序运营示意图;

图4为根据本发明实施例的异常用户检测方法流程图;

图5为根据本发明实施例的异常行为库的训练方法流程图。

具体实施方式

为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。

国内外在移动端异常用户的检测领域进行了大量的研究,提出了一些移动端异常用户检测方法,并验证了可行性。

目前移动端异常用户检测方法可分为:基于行为特征的检测方法,基于内容的检测方法,基于图的检测方法,无监督学习检测方法等。

基于行为特征的检测方法

由于异常用户为了实现利益最大化,通常会进行异常的操作,比如提高操作的频率或者某些特定的行为组合,因此异常账号与正常账号在某些行为特征方法必然存在差异。基于行为特征检测方案的基本思想时利用异常帐号与正常帐号在行为特征方面的不同来检测异常帐号。在移动端用户操作的过程中会留下大量的行为信息,有效利用这些信息是实现异常用户判定的基础与关键。基于行为特征检测方案的主要流程为首先获取数据训练集,然后从数据中抽取相应的行为特征,再利用分类算法对这些特征进行训练形成分类器,最后利用测试样本集对分类器进行测试并判断分类结果。

基于内容的检测方法

由于异常用户很可能通过发布广告、色情、钓鱼等消息来获取利益,因此在发布的消息内容方面异常用户与正常用户之间存在区别。基于内容的检测方案是利用异常用户与正常用户所发布的内容不同来进行检测,因此检测的重点放在判断用户所发布的消息是否为恶意效益。根据不同的消息内容利用对象,可以将基于内容的检测方案分为利用单个帐号的内容特征与利用群体帐号的内容特征。利用单个用户内容特征是根据单个异常用户发布的消息内容如消息中嵌入的url以及发布消息的行为与正常用户的区别等来检测异常用户。另一种为利用群体用户的内容特征,攻击者为了扩大恶意消息的传播范围来获取更大的利益会控制大量的异常用户发布相同或相似的恶意消息,因此可以利用群体用户的消息内容特征来进行异常用户的检测。

基于图的检测方法

移动端用户会与其他用户之间存在联系,如社交软件的好友关系、通讯录关系等,而且只有两个账号之间存在联系时才能够进行信息交流。因此,一方面攻击者为了更广泛传播恶意信息从而在短时间内与大量正常用户建立联系,一方面攻击者通过有偿与其他用户建立联系,从中获取利益。因此,异常用户与正常用户在所组成的图结构中存在区别,基于图的检测侧方案就是利用这种区别来检测异常用户。基于图的检测方案关键是构造一个图,在图中异常用户和正常用户具有不同的结构或者链接方式,然后利用图挖掘的相关算法找到图中具体的异常结构或者异常结点。

无监督学习检测方法

基于行为特征和基于内容的检测方案都是有监督学习的方案,即对分类器的训练需要提前对用户是否异常进行标记,因此有监督学习的方法需要花费大量的时间来标记异常用户。基于图的检测方案时无监督学习的,但是需要构建图结构。无监督学习检测方案不需要提前对数据进行标记,可以更快地形成检测系统。根据具体算法,无监督学习检测方案,可以分为基于聚类和基于模型。

基于聚类的方案是将异常用户检测看为数据挖掘中的聚类问题。通过对用户的某些特征进行聚类,将正常用户局一类,而不在类中的用户即为异常用户;或正常用户聚为一类同时异常用户也聚为一类,通过对类中的用户进行抽样验证就能够判断该类内的其他账户是否为异常,因此不需要提前对样本数据进行标识。基于模型的检测方案的基础是认为正常用户的行为符合某种模型,而异常用户的行为不符合这种模型,因此基于模型的方案的关键是抽取合适的特征对正常用户进行训练,形成相应的模型,然后根据其他用户是否与模型匹配来判断是否为异常模型。

上述相关技术中的异常用户检测方法中,检测准确率不高,而且,检测方法中关于时间属性的利用程度较低。

如图4所示,根据本发明实施例的异常用户检测方法,包括:

s101,获取用户的行为数据信息;

s102,对行为数据信息进行预处理,获得行为序列;

s103,将行为序列与预先训练的异常行为库中的异常行为特征进行匹配,以判定用户是否为异常用户;

其中,行为序列包括:操作事件和时间间隔信息。

根据本发明实施例的异常用户检测方法,依据移动端用户行为的特点,充分利用异常用户特征,在行为序列挖掘过程中,加入时间间隔属性,进行带有时间间隔的行为序列挖掘,可以有效提升异常用户检测的准确率。

根据本发明的一些实施例,异常行为库的训练方法包括:

a101,对已知异常用户的所有操作的时间间隔进行模糊聚类处理,得到时间间隔的隶属度矩阵;

a102,基于隶属度矩阵,生成候选序列和频繁模糊时间间隔序列;

a103,基于频繁模糊时间间隔序列,获取异常用户行为特征序列,以构成异常行为库。

在本发明的一些实施例中,获取用户的行为数据信息,包括:

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

根据本发明的一些实施例,方法还包括:在判定用户是否为异常用户的过程中,更新异常行为库。

在本发明的一些实施例中,如图1和图2所示,方法还包括:在判定用户是否为异常用户后,输出异常报告。由此,便于查看异常用户的检测结果。

如图1所示,根据本发明实施例的异常用户检测装置,包括:动态监听模块、用户行为提取模块,检测匹配模块,

具体地,动态监听模块用于获取用户的行为数据信息。用户行为提取模块用于对行为数据信息进行预处理,获得行为序列。检测匹配模块用于将行为序列与预先训练的异常行为库中的异常行为特征进行匹配,以判定用户是否为异常用户。其中,行为序列包括:操作事件和时间间隔信息。

根据本发明实施例的异常用户检测装置,用户行为提取模块依据移动端用户行为的特点,充分利用异常用户特征,在行为序列挖掘过程中,加入时间间隔属性,进行带有时间间隔的行为序列挖掘,可以有效提升异常用户检测的准确率。

根据本发明的一些实施例,装置还包括异常行为库训练模块,异常行为库训练模块包括:模糊聚类模块、频繁序列挖掘模块和异常特征判定模块。

其中,模糊聚类模块用于对已知异常用户的所有操作的时间间隔进行模糊聚类处理,得到时间间隔的隶属度矩阵。频繁序列挖掘模块用于基于隶属度矩阵,生成候选序列和频繁模糊时间间隔序列;异常特征判定模块用于基于频繁模糊时间间隔序列,获取异常用户行为特征序列,以构成异常行为库。

在本发明的一些实施例中,动态监听模块用于:通过动态监听模块对用户的系统行为、短信、通话、网络情况和位置信息进行监听,以获取用户的行为数据信息。例如,可以借助于android系统的framework中的一个重要基类broadcastreceiver来实现。broadcastreceiver是android系统中用来监听广播的组件,在系统没有被破坏的情况下,只有通过broadcastreceiver才能对触发事件的intent进行回应调用相关的组件,所以只要对broadcastreceiver进行监听就可以得知调用组件情况。动态监听模块主要对短信、通话、位置信息与网络情况等进行监控。

根据本发明的一些实施例,装置还包括异常行为库更新模块:用于在判定用户是否为异常用户的过程中,更新异常行为库。

在本发明的一些实施例中,装置还包括:异常报告模块,用于在判定用户是否为异常用户后,输出异常报告。由此,便于查看异常用户的检测结果。

下面参照附图详细描述根据本发明实施例的异常用户检测方法及装置。值得理解的是,下述描述仅是示例性描述,而不是对本发明的具体限制。

目前移动端用户存在多种异常行为,包括散播广告、色情、钓鱼等恶意消息获取利益,利用某些移动端应用漏洞获取非法利益,执行脚本干扰正常用户使用体验等。这些异常行为干扰正常用户的使用体验、影响移动端应用的正常运营,甚至会给其他用户与公司带来经济损失。

面对此问题,我们提出了一种基于频繁序列挖掘的移动端异常用户检测方法,目的是从用户的行为操作入手,提高移动端异常用户检测准确率。

本发明提出的基于频繁序列挖掘的移动端异常用户检测方法,可以提取用户的行为序列,并根据频繁序列挖掘来获取到异常用户的行为序列特征,并且引入时间间隔这一属性,通过对异常用户进行带有时间间隔的频繁序列挖掘得道异常用户行为序列特征,并且将待检测用户与异常用户行为序列特征进行比对,从而实现移动端异常用户的检测。

源代码第一步考虑支持android端移动用户检测。

由上文分析可知,异常检测的方法与特征分析情况,决定了异常用户检测的结果与准确率。通过对移动端异常用户行为模式进行分析,发现异常用户行为序列模式具有相似性,且用户的异常程度与行为之间的时间间隔关联较大。因此,本发明提出一种基于带有时间间隔的频繁序列挖掘的移动端异常用户检测方法。

本方法主要由动态监听模块、分析处理模块、异常行为库、异常报告模块共四个模块组成。结构图如图1所示。

具体地,动态监听模块的目的是动态获取用户的行为序列,为后续的分析处理提供用户行为数据。为了实现此功能,可以借助于android系统的framework中的一个重要基类broadcastreceiver来实现。broadcastreceiver是android系统中用来监听广播的组件,在系统没有被破坏的情况下,只有通过broadcastreceiver才能对触发事件的intent进行回应调用相关的组件,所以只要对broadcastreceiver进行监听就可以得知调用组件情况。动态监听模块主要对短信、通话、位置信息与网络情况等进行监控。

分析处理模块的目标是依赖异常行为库与动态监听到的用户行为数据进行分析处理,从而对待检测用户进行判断是否为异常用户。同时,根据功能需求,分析处理模块又分为用户行为提取、异常用户行为频繁序列挖掘、待检测用户序列模式匹配三个子模块。

用户行为提取模块是在动态监听的基础上,进行数据预处理,提取用户的行为序列。

异常用户行为频繁序列挖掘模块目的是对已知异常用户进行带有时间间隔的频繁序列挖掘,从而获取异常用户行为特征,并将获取到异常用户行为特征更新到异常行为库。

待检测用户序列模式匹配目的是将异常用户行为序列特征与待检测用户进行比对,如果匹配成功,则判断用户为异常用户;匹配失败,判断用户为正常用户。

异常行为库的主要目的为记录异常用户行为特征并且为异常用户检测提供规则与支持,并且根据分析处理结果,更新异常行为库。

异常报告模块为结果输出模块,主要功能是根据分析处理模块的结果,将发现的风险用户进行输出与报告。

如图2所示,移动端异常用户检测方法流程图主要步骤如下:

通过动态监听模块,对用户系统行为、短信、通话、网络情况、位置信息等内容进行监听;

对获取到的监听数据进行数据预处理,提取用户的行为序列,其中用户行为序列需保留用户的具体操作及操作时间,并将提取后的结果存入数据中心;

对已有异常用户进行带有时间间隔的频繁序列挖掘;

将挖掘出的异常用户频繁序列进行评估没判断其是否可以作为异常用户特征序列,如果可以作为异常用户特征序列,则存入异常行为库;

依据数据中心的经过处理的待检测用户行为序列与异常行为库,进行序列模式匹配,若匹配成功,则判定为异常用户,将用户行为输入至异常用户数据库中;

检测结束,整合异常用户情况,输出异常报告。

其中,异常用户频繁序列挖掘流程如下:

首先对所有的用户操作时间间隔信息进行模糊c均值聚类处理,将所有的时间间隔划分为c个类,并计算各时间间隔点对各类的隶属程度。第二部分从长度为k-1的频繁序列中产生长度为k的候选序列,记为ck,这一部分对传统的候选序列连接方式进行了改进。在建立完成候选项目集后,第三部分浏览数据库进行剪枝,只保留支持度大于最小支持度的候选序列,留下的序列为长度为k的频繁序列,记为lk,在剪枝过程中参考了无时间间隔序列的剪枝改进方式。第二部分和第三部分重复执行直到无候选序列生成或所有候选序列支持度均小于最小支持度结束算法,产生所有频繁模糊时间间隔序列。现将该算法各阶段的具体过程描述如下:

(1)时间间隔模糊聚类处理

首先计算序列s的所有时间间隔,由于在序列s中不相邻的两项可能在频繁序列中相邻,所以此处时间间隔不仅计算相邻两项的时间间隔,还要计算序列s中所有不相邻项目的时间间隔,即项目数为k的序列s共有k(k-1)/2个时间间隔。

对求得的所有时间间隔进行模糊c均值聚类处理,可以得到隶属度矩阵,其中的元素即为各时间间隔对模糊子区间的隶属程度。

(2)候选序列ck的生成

首先,当候选序列长度为1时,可以直接列出序列数据库中所有元素,组成c1。当候选序列长度为2时,本专利通过二次扫描来产生c2,以提高运行速度,即扫描出现l1中元素大于或等于2次的序列,扫描时忽略不包含在l1中的元素,通过扫描数据库直接生成c2。在扫描过程中,需要判定两个项目时间间隔的模糊子集合,当时间间隔对于模糊子集合的隶属程度低于最小支持度min_sup时,此序列不计入候选序列。

当序列长度大于2时,即k>2,通过上文改进的连接方式,需要再次扫描原始数据库,但此时待连接数量已大幅减少,扫描原始数据库运行时间大于直接连接序列时间,因此,当序列长度大于2时,采用传统连接方式。假设时间间隔序列(b1,ug1,b2,ug2,…,bk-2,ugk-2,bk-1)和(b2,ug2,b3,ug3,…,bk-1,ugk-1,bk)存在于lk-1中,那么序列(b1,ug1,b2,ug2,…,bk-1,ugk-1,bk)一定存在于ck中。通过连接lk-1中的所有时间间隔序列生成ck。

(3)频繁模糊时间间隔序列lk的生成

将上一步中产生的ck存储到树形结构中,本文中采用项目和时间间隔连接两个节点。初始我们有一个单根节点树,我们将ck中的所有模糊时间间隔序列插入树中,在各序列插入结束后,增加一个节点存储包含该模糊子序列的原始序列sid。接下来,遍历所有满足条件的序列来计算支持度。假设,序列α=(b1,ug1,b2,ug2,…,bk-1,ugk-1,bk)由两个lk-1中的序列α1=(b1,ug1,b2,ug2,…,bk-2,ugk-2,bk-1)和α2=(b2,ug2,b3,ug3,…,bk-1,ugk-1,bk)生成,supports(α1)<supports(α2),当进行支持度计算时,仅遍历包含支持度较低的模糊子序列α1的原始序列。最后,在遍历结束后,将各个序列的支持度存储到相应的叶子节点中并判断序列是否为频繁模糊时间间隔序列。

其中,支持度按如下方法进行计算:

定义1:s=((a1,t1),(a2,t2),(a3,t3),…,(an,tn))是一个给定序列,α=(b1,ug1,b2,ug2,…,br-1,ugr-1,br)是一个模糊时间间隔序列。令表示时间间隔值ti对模糊子区间ugi的隶属程度。假设序列s中存在k列索引,记为1≤wk,1<wk,2<…<wk,r≤n,对于每个k从1到k,满足那么序列α以程度γ包含在序列s中。

(1)如果r=1,那么γ=1;

(2)如果r>1,那么其中

如果序列α以程度γ包含在序列s中,那么我们称α是一个程度为γ的模糊时间间隔s子序列。为了简单表述,γ(α,s)表示模糊时间序列α在序列s中的包含程度。

定义2:一笔交易被记录为(sid,s),sid是交易的标识符,s是一个序列。序列数据库s由一系列交易构成。

对于一个给定的模糊时间序列α,它在数据库s中的支持度定义为:supports(α)=∑(sid,s)insγ(α,s)/|s|。

如果一个模糊时间间隔序列α在数据库s中的支持度大于或等于用户定义的最小支持度min_sup,那么序列α叫做频繁模糊时间间隔序列。

如图3所示,进行移动端应用程序运营的企业和个人可以使用本异常用户检测方法,从众多用户中检索出可能的异常用户,进行验证、核实甚至账号锁定等处理,从而增加用户体验,减少经济损失。并且根据异常用户的异常情况,改进应用程序,尽可能减少异常用户出现。

综上所述,根据本发明的异常用户的检测方法及装置具有如下特点和有益效果:

使用频繁序列挖掘对移动端异常用户进行特征提取,根据移动端异常用户行为序列具有相似性,使用频繁序列挖掘对移动端异常用户进行行为特征提取。

频繁序列挖掘时考虑时间间隔属性,本方法在对异常用户进行频繁序列挖掘时,考虑时间间隔属性,从而提高检测准确率。

带有时间间隔的频繁序列挖掘改进,根据异常用户频繁序列挖掘具体流程,改进原有的带有时间间隔的频繁序列挖掘方式,在频繁序列挖掘前对时间间隔进行模糊c均值聚类,并且在频繁序列挖掘过程改进了连接与兼职方式。

相对于其他技术,本方法依赖频繁序列挖掘对移动端异常用户进行检测,此种方法主要依据移动端用户行为的特点,充分利用异常用户特征。由于现有方法几乎全部忽略时间间隔对用户异常程度带来的影响,导致检测准确率不高。而本专利在异常用户频繁序列挖掘过程中,加入时间间隔属性,进行带有时间间隔的频繁序列挖掘,可以有效提升检测准确率。而且,通过对时间间隔进行模糊c均值聚类,有效提升时间间隔处理精确程度,从而提升检测准确率。另外,由于在频繁序列挖掘过程中加入时间间隔属性的处理,可能导致处理时间增加。本发明修改了连接与剪枝方式,可以尽量弥补时间间隔处理带来的效率损失。

通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1