一种异常登录检测方法及装置与流程

文档序号:11778388阅读:475来源:国知局
一种异常登录检测方法及装置与流程

本发明涉及互联网技术领域,尤其涉及一种异常登录检测方法及装置。



背景技术:

随着互联网的不断发展,网络安全所带来的挑战也越来越严峻。一旦攻击者通过钓鱼,诈骗等手段窃取到用户的账号和密码之后,用户的个人信息和财产就受到了严重的威胁。因此,及时发现异常的用户登录行为,并对其账户采取适当的保护措施,对于保护用户的隐私和财产有重大的意义。然而,对于如何检测异常登录的行为,一直是行业内的一个重点研究问题。

对于检测异常登录行为,最简单的方法为阈值检测。即统计某一入口或ip下,发起的登录次数以及其中的异常行为的比例(包括用户不存在,密码错误以及异地登录等),如果这个比例超过了一定的阈值,那么就可以认为这个ip发起的登录行为都是异常的。这么做的原理在于,攻击者往往需要尝试它所拥有的所有用户名/密码来进行登录,如果登录成功就可以盗取一个账号。因为数据量较大,攻击者会以极快的速度来进行登录尝试,这样才能保证它自身的收益。而这些尝试中,又会有很大一部分是失败的。而对于正常用户而言,一来不会短时间内发起大量登录,二来不会出现大量的失败(其实有输错的情况,也不会占太大比例)。通过这种行为的区别,来指定一个阈值进行区分,是一个简单易行的方法,目前也被大量的公司所采用。而对于阈值的设置,往往是根据次数来进行分段的,例如登录10次失败超过90%,登录100次失败超过70%等。

阈值检测的方法虽然简单易行,但存在以下几个缺点:

1)阈值固定:阈值的设定往往是通过经验,人为的总结出来的。但是黑客本身,也能够通过其经验,去猜测目标服务器的阈值。例如,如果一个黑客在登录100次以上就被封禁,它可以猜测到阈值大致在100左右,然后通过降低攻击频率,替换ip等方式来进行规避,使得基于阈值的防御完全失效。

2)阈值不连续:阈值的分段是由于次数越多,可疑性越大,因此允许的失败比例会越低。但是,这个不连续性会造成较大的问题。例如,假如一个阈值的一个分段点为100,对于100以下的次数,允许失败率为90%,而对于100以上的次数,允许的失败率只有70%。那么对于黑客来说,一旦它猜测出了这个分段标准,它就可以把它的尝试次数设置到99,从而最大化攻击的效率。

3)阈值人为设定:阈值的设定往往是凭借人为的经验来设定的,这样一来,成本就会增加不少。另外,黑客的攻击行为是一直变化的,人为的处理方式也就意味着响应的滞后性,很可能等人为反应过来的时候,一个攻击行为已经完成了。同样的,如果想将同一套策略移植到不同的服务,则需要不同的阈值设定。这个时候,人为设定也将大大限制防御系统本身的扩展性。

除了从ip的角度去判定异常登录的行为,也可以从用户的角度出发去进行检测。例如,可以根据用户的历史登录记录,分析出该用户的常用登录地、常用登录时间等。一旦用户在登录的时候,登录地或者登录时间发生异常的改变,就判定为异常登录的行为。

这个策略的好处在于,不局限于攻击者发起的登录行为,而直接从用户本身的角度去考虑。这样一来,哪怕攻击者只登录了一次,也能够及时的发现异常登录行为。而且,攻击者掌握的用户信息往往有限,因此,也不能准确的去模仿出用户的习惯登录行为。这样一来,对于攻击者的成本,就会大大增加。

基于用户的策略,同样也会存在一定的不足之处:

1)误报率和漏报率较高:如果只是从少数几个维度去分析,很容易出现误报或者漏报的情况。例如,当用户某天突然出差到另一个城市,那么很可能会触发异常登录的行为。而这种频繁的误报,会对用户体验产生极大的负面影响。另一方面,如果攻击者恰巧跟用户的常用登录地符合,那么就会产生漏报。常用登录时间也同样存在类似的问题,如果一个用户全天段都在进行登录的情况下,那么相当于时间维度的保护已经完全失效。

2)冷启动问题:所谓冷启动问题,及对于一个新用户,在缺乏历史数据的情况下,如何判定常用登录地及常用登录时间等问题。这是因为,常用地的判断,往往需要对用户历史的登录地进行一个综合的判定,才能够给出一个准确的结果出来。冷启动的问题,将直接导致新用户无法得到有效的保护,从而对于用户的增长产生严重的影响。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:传统异常登录检测技术方案维度单一,而且需要很多的人为工作。



技术实现要素:

本发明实施例提供一种异常登录检测方法及装置,以解决传统技术方案维度单一的问题,并能够避免过多的人为工作。

一方面,本发明实施例提供了一种异常登录检测方法,所述方法包括:

当检测到某一用户登录时,获取当前用户的用户登录日志;

根据当前用户的用户登录日志,获取当前用户登录的多维属性数据;

根据当前用户登录的多维属性数据,利用建立的用户登录机器学习模型对当前用户登录进行异常评分,获取当前用户登录的异常评分值;

若判定所述异常评分值在设置的异常评分阈值范围之内,则向当前用户发起是否允许当前用户登录的询问;

根据当前用户的询问反馈结果,对是否允许当前用户登录进行处理。

另一方面,本发明实施例提供了一种异常登录检测装置,所述装置包括:

预处理单元,用于当检测到某一用户登录时,获取当前用户的用户登录日志;根据当前用户的用户登录日志,获取当前用户登录的多维属性数据;

机器学习单元,用于根据当前用户登录的多维属性数据,利用建立的用户登录机器学习模型对当前用户登录进行异常评分,获取当前用户登录的异常评分值;

主动学习单元,用于若判定所述异常评分值在设置的异常评分阈值范围之内,则向当前用户发起是否允许当前用户登录的询问;

异常处理单元,用于根据当前用户的询问反馈结果,对是否允许当前用户登录进行处理。

上述技术方案具有如下有益效果:通过将机器学习的方式引入到异常登录检测中来,解决传统方法维度单一的问题,也能够避免过多的人为工作。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一种异常登录检测方法流程图;

图2为本发明实施例一种异常登录检测装置结构示意图;

图3为本发明实施例机器学习单元结构示意图;

图4为本发明实施例主动学习单元结构示意图;

图5为本发明应用实例一种异常登录检测方法整体流程示意图。

具体实施方式

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

如图1所示,为本发明实施例一种异常登录检测方法流程图,所述方法包括:

101、当检测到某一用户登录时,获取当前用户的用户登录日志;

102、根据当前用户的用户登录日志,获取当前用户登录的多维属性数据;

103、根据当前用户登录的多维属性数据,利用建立的用户登录机器学习模型对当前用户登录进行异常评分,获取当前用户登录的异常评分值;

104、若判定所述异常评分值在设置的异常评分阈值范围之内,则向当前用户发起是否允许当前用户登录的询问;

105、根据当前用户的询问反馈结果,对是否允许当前用户登录进行处理。

优选地,所述用户登录机器学习模型的建立方法,包括:获取多个样本用户登录日志;根据所述多个样本用户登录日志,获取所述多个样本用户登录的多维属性数据及登录结果;利用所述多个样本用户登录的多维属性数据及登录结果,采用增量式的机器学习算法进行机器学习,建立所述用户登录机器学习模型。

优选地,所述方法还包括:将所述当前用户的多维属性数据及登录结果作为训练集,采用增量式的机器学习算法进行机器学习,修正所述用户登录机器学习模型。

优选地,还包括:若判定所述异常评分值高于设置的异常评分阈值范围中的最大值,则直接按照异常登录进行处理;若判定所述异常评分值低于设置的异常评分阈值范围中的最小值,则允许登录。

优选地,所述多维属性数据包括:登录是否属于常用登录地、登录是否属于常用登录时间、登录是否属于常用登录设备、统计维度数据;所述统计维度数据包括:预设时间内的错误率,预设时间内的登录次数;

若判定所述异常评分值在设置的异常评分阈值范围之内,则在向当前用户发起是否允许当前用户登录的询问之前,还包括:通过如下至少一种方式对当前用户进行强制验证:验证密码、验证手机号、验证身份证号、验证用户头像、验证手势;并确认强制验证通过。若强制验证未通过,则确定为异常登录,不用向当前用户发起是否允许当前用户登录的询问。

对应于方法实施例,如图2所示,为本发明实施例一种异常登录检测装置结构示意图,所述装置包括:

预处理单元21,用于当检测到某一用户登录时,获取当前用户的用户登录日志;根据当前用户的用户登录日志,获取当前用户登录的多维属性数据;

机器学习单元22,用于根据当前用户登录的多维属性数据,利用建立的用户登录机器学习模型对当前用户登录进行异常评分,获取当前用户登录的异常评分值;

主动学习单元23,用于若判定所述异常评分值在设置的异常评分阈值范围之内,则向当前用户发起是否允许当前用户登录的询问;

异常处理单元24,用于根据当前用户的询问反馈结果,对是否允许当前用户登录进行处理。

优选地,所述预处理单元21,还用于获取多个样本用户登录日志;根据所述多个样本用户登录日志,获取所述多个样本用户登录的多维属性数据及登录结果;获取多个用户登录日志;根据所述多个用户登录日志,获取用户登录的多维属性数据;

如图3所示,为本发明实施例机器学习单元结构示意图,所述机器学习单元22包括:

用户登录机器学习模型建立模块221,用于利用所述多个样本用户登录的多维属性数据及登录结果,采用增量式的机器学习算法进行机器学习,建立所述用户登录机器学习模型。

优选地,所述机器学习单元22还包括:

用户登录机器学习模型修正模块222,用于将所述当前用户的多维属性数据及登录结果作为训练集,采用增量式的机器学习算法进行机器学习,修正所述用户登录机器学习模型。

优选地,所述异常处理单元24,还用于若判定所述异常评分值高于设置的异常评分阈值范围中的最大值,则直接按照异常登录进行处理;

所述异常处理单元24,还用于若判定所述异常评分值低于设置的异常评分阈值范围中的最小值,则允许登录。

优选地,所述多维属性数据包括:登录是否属于常用登录地、登录是否属于常用登录时间、登录是否属于常用登录设备、统计维度数据;所述统计维度数据包括:预设时间内的错误率,预设时间内的登录次数;

如图4所示,为本发明实施例主动学习单元结构示意图,所述主动学习单元23包括:

强制验证模块231,用于若判定所述异常评分值在设置的异常评分阈值范围之内,则在向当前用户发起是否允许当前用户登录的询问之前,通过如下至少一种方式对当前用户进行强制验证:验证密码、验证手机号、验证身份证号、验证用户头像、验证手势;并确认强制验证通过。

上述技术方案具有如下有益效果:通过将机器学习的方式引入到异常登录检测中来,解决传统方法维度单一的问题,也能够避免过多的人为工作。重要的是,考虑到训练集对机器学习效果的影响,本发明实施例还提出了通过用户反馈来收集训练集的模式,这样一来,可以有效解决在运用机器学习过程中,收集训练集的难题。通过引入用户反馈,并一定程度上考虑用户体验,能够最高效的收集到准确的训练数据,从而有效提升机器学习的整体效果。

以下通过应用实例对本发明实施例上述技术方案进行详细说明:

如图5所示,为本发明应用实例一种异常登录检测方法整体流程示意图,具体包括:

1.对每一条登录日志进行预处理。这个预处理可以包括,判定当前登录是否属于常用登录地,是否属于常用时间;也可以包括一些统计特征,例如短时间内的错误率,登录次数等。经过预处理之后,原始登录日志会被转化为一个一个的维度属性,可以直接用于机器学习中去处理。

2.通过机器学习,利用用户登录机器学习模型对当前登录进行异常评分。在这里,具体采用的机器学习算法不是本发明的重点,这里只要求采用增量式的机器学习算法即可,如,hoeffding树。

3.在获取到异常评分后,通过主动学习来判断是否需要向用户进行咨询。主动学习会维护一个评分的阈值,当异常评分高于阈值时,则直接处理。否则向用户发起咨询。这样一来,就可以避免向用户发起过多咨询,影响用户体验。

4.获取到用户反馈后,将当前用户的多维属性数据及登录结果作为训练集,采用增量式的机器学习算法进行机器学习,修正所述用户登录机器学习模型。这样一来,通过不断的用户反馈,就能够不断的加强机器学习的模型。

以下详述本发明实施例的上述技术方案:

预处理:

预处理阶段,主要是将简单的登录日志,变换成信息相对全面的数据。例如,根据登录的ip,判断是否属于常用的登录地,根据登录的用户代替,判定是否属于常用的设备等。同时,还可以在ip或者用户维度收集一些统计信息。比如,当前ip在5分钟内的登录次数,失败频率,当前用户上次的登录时间间隔。只有将日志转化成大量维度属性组成的数据时,才能够以数据的形式准确全面的描述出当前的登录行为,为机器学习做好必要的数据基础。

机器学习与用户反馈:

机器学习属于一个大的领域范畴,它通常用来解决多维度下的分类问题。本发明并不对机器学习算法部分做任何改进,也不局限于某种或莫一类算法,因此,只是在高层次上进行说明。机器学习算法,会通过对训练集进行学习,生成一个可用的模型。接着,对新的数据,就可以直接通过模型来给出一个评分。这个评分的准确度,跟训练集的数量、维度、分步等,都直接相关。

然而,在实际应用中,训练集的收集过程并不简单。首先,每天都有大量的登录日志,而其中只有很小一部分的异常登录行为。如果只是简单的随机抽取,会造成异常登录的训练数据过少,无法很好的识别。另外,即使是人为判定,在某些情况下,也很难准确的判定出是否是异常的登录行为。毕竟工作人员无法直接询问用户本人,只能通过收集的到的相关信息,做一个估测。因此,在这种情况下,如何收集到准确全面的训练集,成为了引入机器学习算法的主要挑战之一。

本发明应用实例通过用户反馈的方式来解决这个问题。首先,还是将登录日志转化为机器学习可用的多维数据,然后,向用户以邮件、短信或者私信的形式,向其进行询问。让用户来判定,这次登录行为是否是本人发起的。根据用户选择的结果,可以将多维数据标记成异常或者正常,然后直接投入到训练集中去。如果采用的是增量式的机器学习算法,还可以立即将训练数据投入到机器学习算法中去,然后机器学习算法,根据源源不断的数据,不断的进化自身的模型,使得分类结果越来越准确。

主动学习:

询问用户的方式,虽然直接有效,但是会在用户体验上,造成一定的影响。为了控制这个影响的范围,必须对查询的次数进行限制。与此同时,又必须保证机器学习能够得到充分的训练。为了达到这两个要求,本发明引入了主动学习的方式。

所谓主动学习,就是根据机器学习的评分结果,判定当前数据是否需要进行准确的人为标记和再训练。比如,如果一个数据的异常评分为0分或者100分,那么表示机器学习对当前结果十分确定,如果对这个数据进行人为标记和再训练,那么对于模型的进化,往往产生不了很大的增益。相反的,如果一个数据的异常评分为50分,那么表明机器学习并不确定当前登录是否异常,这个时候进行人为标记和再训练,就可以对机器学习产生较大的影响。换一句话说,可以认为,异常评分为50分的数据,其训练价值比100分的数据要高。

基于这一个原理,主动学习会维护一个评分的阈值范围,当评分在阈值范围内的时候,就表示该数据训练价值高,需要向用户进行咨询并再训练。而这个阈值会随着咨询的次数,不断进行调整,以保证只有一定百分比的用户会收到咨询请求。举例来说,比如初始阈值为40-60,设定只有20%的用户收到咨询请求。那么,假设当前已经咨询的用户比例,已经达到了20%,且新一条登录的异常评分为60分,那么,主动学习策略首先判定需要咨询用户。接着,因为此时的咨询比例已经超过20%,主动学习会对阈值范围进行收缩,比如收缩到41-59。这样,更少的数据会被判定为需要咨询,从而限制咨询的用户比例持续增长。相反的,如果当前咨询比例低于20%,那么可以将阈值范围逐步放宽,直到咨询比例回到20%为止。这样一来,主动学习相当于维护了一个自调节的阈值系统,通过这个系统,可以在保证咨询用户比例的前提下,最大化训练集的训练价值。

反馈验证:

需要注意的是,通过主动学习的筛选,被询问的用户有可能是存在异常登录行为的。这就意味着,在询问用户的时候,有可能不是询问到的真实用户,而是询问到了恶意的攻击者。显然,攻击者会尝试给出错误的反馈来影响机器学习系统的最终检测效果。因此,在进行询问的时候,必须要设置一定的验证门槛,来阻止攻击者给出错误的反馈。

为了收集到足够多反馈数据,整个反馈流程(包括验证审核)必须是通过自动化的流程来完成的。这样一来,对于异常反馈的识别问题和本发明尝试解决的异常登录的识别问题,存在着一定的相似性。但是不同的是,对于登录场景,需要更多的去考虑用户体验带来的影响。而对于反馈,可以加入一些损伤用户体验的强验证机制。因为反馈系统属于整个检测机制一个辅助系统,并不会直接影响用户对产品的使用。而对于拥有庞大用户基数的产品来说,哪怕只有小部分的用户愿意参与到整个反馈机制中,就足以推动自学习过程的进行。所以,可以通过强验证机制和适当的产品设计,来避免再次引入新的异常反馈检测方法来使得这个过程过于复杂化。部分可信的强验证机制包括:验证密码、手机或者身份证号等。甚至可以通过验证头像、手势等目前新型的验证技术,再让用户更容易操作的同时,来加强验证效果。

最后,验证过程只能局限于自动化的流程,所以是无法保证百分之百的正确的。但是,对于噪声的处理,是机器学习领域的一个常见问题,大部分的主流算法,都已经有了相对成熟的噪声处理解决方案。因此,只要通过验证机制,保障正确率能够在一个较高的水平,那么少量的攻击者产生的错误反馈,可以被视作噪声,从而被机器学习算法自动消除掉其影响。

本发明应用实例提供了一种基于用户反馈的异常登录自学习式检测方法。通过将机器学习的方式引入到异常登录检测中来,解决传统方法维度单一的问题,也能够避免过多的人为工作。更重要的是,考虑到训练集对机器学习效果的影响,本发明应用实例还提出了通过用户反馈来收集训练集的模式,这样一来,可以有效解决在运用机器学习过程中,收集训练集的难题。通过引入用户反馈,并一定程度上考虑用户体验,能够最高效的收集到准确的训练数据,从而有效提升机器学习的整体效果。

应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogicalblock),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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