一种检测异常账号的方法、装置及服务器与流程

文档序号:15846305发布日期:2018-11-07 09:05阅读:211来源:国知局
一种检测异常账号的方法、装置及服务器与流程

本发明涉及网络通信技术领域,特别涉及一种检测异常账号的方法、装置及服务器。

背景技术

用户登录以及访问互联网业务时常需要输入账号/密码,比如登录即时通信应用、登录邮箱等,而目前用户的账户/密码被盗事件时有发生。非法盗取账号者通常通过病毒、钓鱼url、撞库(即用户在不同网站使用相同的账户/密码,通过攻击防御薄弱的一方网站盗取账号/密码)或社会工程等渠道窃取用户账号/密码,并利用各种手段通过窃取的账户攫取利益,比如洗劫账号中的虚拟财产(如游戏装备、金币等)、利用被盗账户关系链发送垃圾消息进行营销传播、对被盗账户的亲朋好友进行诈骗、窃取用户隐私数据等等,严重损害了用户的利益以及互联网业务的良性规则,同时还给后台系统的正常运营带来了压力,因此,需要对这种被非法盗取账号者窃取的用户账号即异常账号进行检测。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

目前常用的检测异常账号的方法一般都针对特定的业务体系如针对前端病毒木马的检测方法或者针对钓鱼url的检测方法,检测的范围受到限制,覆盖率低,而其它的检测方法其准确率难以确保。因此,需要提供更可靠或更有效的方案,以便在保持准确率的同时提高覆盖率。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种检测异常账号的方法、装置、服务器及存储介质。所述技术方案如下:

一方面,提供了一种检测异常账号的方法,所述方法包括:

获取各用户账号的基础数据信息,所述基础数据信息包括用户账号登录过的ip地址;

根据在同一ip地址上登录过的所有用户账号的基础数据信息生成所述ip地址的ip特征向量,所述ip特征向量包括多个维度的ip特征值;

基于所述ip特征向量和预设的判别规则确定异常ip地址;

从登录过所述异常ip地址的用户账号中确定异常账号。

另一方面,提供了一种检测异常账号的装置,所述装置包括:

第一获取模块,用于获取各用户账号的基础数据信息,所述基础数据信息包括用户账号登录过的ip地址;

第一生成模块,用于根据在同一ip地址上登录过的所有用户账号的基础数据信息生成所述ip地址的ip特征向量,所述ip特征向量包括多个维度的ip特征值;

第一确定模块,用于基于所述ip特征向量和预设的判别规则确定异常ip地址;

第二确定模块,用于从登录过所述异常ip地址的用户账号中确定异常账号。

另一方面,提供了一种服务器,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:

获取各用户账号的基础数据信息,所述基础数据信息包括用户账号登录过的ip地址;

根据在同一ip地址上登录过的所有用户账号的基础数据信息生成所述ip地址的ip特征向量,所述ip特征向量包括多个维度的ip特征值;

基于所述ip特征向量和预设的判别规则确定异常ip地址;

从登录过所述异常ip地址的用户账号中确定异常账号。

另一方面,提供了一种计算机存储介质,该计算机存储介质存储有计算机程序指令,该计算机程序指令被执行时,实现上述所述的检测异常账号的方法。

本发明实施例提供的技术方案带来的有益效果是:

本发明通过ip地址的ip特征向量所包含的多个维度的ip特征值能够准确而全面的识别出异常的ip地址,然后从异常的ip地址中检测出异常的用户账号,从而大大提高了检测出异常账号的准确率和覆盖率。

附图说明

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

图1是本发明实施例提供的实施环境的示意图;

图2是本发明实施例提供的一种检测异常账号的方法的流程示意图;

图3是本发明实施例提供的获取各用户账号的基础数据信息的方法流程示意图;

图4是本发明实施例提供的生成ip地址的ip特征向量的方法流程示意图;

图5是本实施例提供的确定异常ip地址的方法流程示意图;

图6是本发明实施例提供的根据异常ip地址确定异常账号的方法流程图;

图7是本发明实施例提供的一种检测异常账号的装置的结构示意图;

图8是本发明实施例提供的第一获取模块的结构示意图;

图9是本发明实施例提供的第一生成模块的结构示意图;

图10是本发明实施例提供的第一确定模块的结构示意图;

图11是本发明实施例提供的第二确定模块的结构示意图;

图12是本发明实施例提供的服务器的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

目前,用户账号被盗取事件时有发生,在盗取用户账号的过程中,非法用户账号盗取者首先通过各种渠道(如木马、病毒、钓鱼url、撞库等)获取大量的用户账号/密码,然后通过自动批量验证用户账号/密码是否正确的程序或系统挑选出密码正确的用户账号,以达到盗取用户账号的目的,而被盗取的用户账号即成为异常账号。其中,通过自动批量验证用户账号/密码是否正确的程序或系统以挑选出密码正确的用户账号的过程通常将其简称为“晒号”。

由盗取用户账号的过程可知,通过检测晒号的ip(internetprotocol,网络协议)地址即异常ip地址可以确定出被盗取的用户账号即异常账号,该方法不受特定业务体系(如病毒木马、钓鱼url、撞库)的限制,因此,相对于现有技术可以提高检测的覆盖率,而对于确定异常ip地址的过程参数的多维设置能够确保准确而全面的识别出异常ip地址,然后基于异常ip地址检测出异常的用户账号,进而可以大大提高检测出异常账号的准确率和覆盖率。

请参考图1,其所示为本发明实施例提供的实施环境的示意图,该实施环境包括:服务器01以及与该服务器连接的至少一个终端02。

终端01可以包括但不限于pc(personalcomputer,个人计算机)、pda(平板电脑)、智能手机、智能可穿戴设备等等。用户可以使用注册的用户账号登录终端01中的客户端或者互联网,该客户端可以包括但不限于各种即时通讯客户端如qq、微信,邮箱客户端,游戏客户端等等。

服务器01可以是一台服务器,也可以是由若干台服务器组成的服务器集群。

服务器01可以通过网络与终端02建立通信连接。该网络可以是无线网络,也可以是有线网络。

请参考图2,其所示为本发明实施例提供的一种检测异常账号的方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法包括:

步骤202:获取各用户账号的基础数据信息,该基础数据信息包括用户账号登录过的ip地址。

在本发明实施例中,基础数据信息包括原始登录数据信息和登录修饰数据信息。其中,原始登录数据信息是用户使用相应用户账号进行登录时产生的行为信息。登录修饰数据信息是根据原始登录数据信息进行修饰处理后获得的数据信息。

在本说明书实施例中,各用户账号的基础数据信息的获取可以采用图3所示的方法步骤,图3为本发明实施例提供的获取各用户账号的基础数据信息的方法流程示意图。如图3所示,该方法包括:

步骤302,收集各用户账号的原始登录数据信息。

用户使用用户账号进行登录时会产生相应的行为信息,每次登录产生的行为信息可以为用户账号登录时的公网ip地址以及用户账号(如qq号,微信号)、登录成功记录(如登录成功=1,登录失败=0)、当前登录城市id、上一次登录城市id、当前登录时间戳、上一次登录时间戳、登录设备唯一标识(如硬件的md5值)、登录平台标识、登录业务类型中的任意一种。当然,该行为信息还可以为其他类型的数据,本说明书对此不作限制。

其中,登录平台标识指的是承载应用程序运行的软件环境标识,比如对于即时通讯应用程序qq来说,其登录平台可以包括pc端、移动端和网页,那么相应的登录平台标识可以设置为pc端为0,移动端为1,网页为2。

登录业务类型指的是涉及到用户账号安全的登录业务,比如对于即时通讯应用程序qq来说,涉及到其用户账号安全的登录业务可以包括pc端qq、移动端qq、微信、qq空间、qq农场、qq音乐、王者荣耀等等。

众多用户账号的海量原始登录数据信息可以通过网络收集到服务器。

在本说明书实施例中,为了有效防止非法盗取用户账号者破坏登录协议,每个用户账号的原始登录数据信息均可以包括多个维度的行为信息,如该多个维度的行为信息可以包括用户账号,ip地址、登录成功记录、当前登录城市id、上一次登录城市id、当前登录时间戳、上一次登录时间戳、登录设备唯一标识、登录平台标识和登录业务类型。当然,原始登录数据信息并不限于上述维度的行为信息,还可以根据实际需求设置更多维度的行为信息,本说明书对此不作限制。

步骤304,对每个用户账号的原始登录数据信息进行处理以获得各用户账号的登录修饰数据信息。

登录修饰数据信息由行为标签构成,该行为标签为根据原始登录数据信息中的行为信息计算获得。在本说明书实施例中,登录修饰数据信息可以包括多个维度的行为标签,如行为标签可以为用户户口城市id、当前登录城市与用户户口城市的距离、当前登录城市与上一次登录城市的距离、当前登录与上一次登录之间的跳变速度、当前登录设备在预设时间段内的使用天数中的任意一种。

其中,用户户口城市id为每个用户账号在预设时间段内登录频次最高的城市id,如可以根据每个用户账号的原始登录数据信息统计该用户账号在近一个月登录过的城市id频次,取频次最高的一个登录过的城市id作为该用户账号的用户户口城市id。

当前登录城市与用户户口城市的距离为用户账号的当前登录城市id与其用户户口城市id之间的距离,该距离可以通过城市的经纬度进行计算。

利用经纬度计算距离具体为:假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为r。如果以0度经线为基准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误差)。设第一城市a的经纬度为(lona,lata),第二城市b的经纬度为(lonb,latb),按照0度经线的基准,东经取经度的正值(longitude),西经取经度负值(-longitude),北纬取90-纬度值(90-latitude),南纬取90+纬度值(90+latitude),则经过上述处理过后的两个城市被计为(mlona,mlata)和(mlonb,mlatb)。那么城市a和城市b间的距离计算公式如下:

distance=r*arccos(c)*pi/180,其中,

c=sin(mlata)*sin(mlatb)*cos(mlona-mlonb)+cos(mlata)*cos(mlatb)

当前登录城市与上一次登录城市的距离为用户账号的当前登录城市id与其上一次登录城市id的距离,该距离也可以采用城市经纬度进行计算。具体的计算方法可以参照前述描述,在此不再赘述。

需要说明的是,在本说明书实施例中,为了提高检测的准确率,还可以对上述当前登录城市与用户户口城市的距离和当前登录城市与上一次登录城市的距离进行去噪声处理,将去噪处理后的距离作为行为标签。具体的去噪处理为:若计算出的距离值小于预设的距离值,则将计算出的距离值置为0。例如,若计算出的距离值小于500千米,则将该计算出的距离置为0。

当前登录与上一次登录之间的跳变速度可以采用如下公式计算:

当前登录与上一次登录之间的跳变速度=当前登录城市与上一次登录城市的距离/(当前登录时间戳-上一次登录时间戳)。

当前登录设备在预设时间段内的使用天数可以根据用户账号的登录设备标识获取该登录设备在近一个月内的使用天数。

步骤204,根据在同一ip地址上登录过的所有用户账号的基础数据信息生成该ip地址的ip特征向量。

在本发明实施例中,ip特征值为根据每个用户账号具体的行为信息和行为标签计算得到。ip特征值可以为登录总次数login_cnt、登录总用户账号数量uin_num、异地率allopatry_rate、跳变速度中位数speed_median、新设备率new_guid_rate、网页登录率ptlogin_rate、登录成功率login_succ_rate、登录业务类型数量app_num、非热门业务类型登录率rare_app_rate、无效设备登录次数invalid_guid_cnt中的任意一种。当然,该ip特征值还可以为其他类型的数据,本说明书对此不作限制。

其中,登录总次数login_cnt为在同一ip地址上登录过的所有用户账号的登录次数的总和,该登录总次数包括登录成功和登录失败即只要用户账号在该ip地址上进行登录操作就将该次登录操作统计入登录总次数,而不论该次登录是成功还是失败。

登录总用户账号数量uin_num为在同一ip地址上登录过的所有用户账号的总个数,此处登录过的所有用户账号包括登录成功的用户账号也包括登录失败的用户账号即只要用户账号在该ip地址上进行登录操作就将该用户账号统计入登录总用户账号数量。需要说明的是,上述登录总用户账号数量是去重后的数量。

异地率allopatry_rate为在同一ip地址上,当前登录城市与用户户口城市的距离或当前登录城市与上一次登录城市的距离大于预设距离的用户账号数量与登录总用户账号数量的比值。例如,在某一ip地址上,当前登录城市与用户户口城市的距离大于500千米的用户账号数量为5万个,当前登录城市与上一次登录城市的距离大于500千米的用户账号数量为3万个,登录总用户账号数量为10万个,则该ip地址的异地率:(5+3)/10=0.8。

需要说明的是,在本说明书实施例中,上述统计的用户账号数量是去重之后的数量,即若某用户账号即满足当前登录城市与用户户口城市的距离大于预设距离,又满足当前登录城市与上一次登录城市的距离大于预设距离,则在统计的用户账号数量中该用户账号只计数一次。例如,在某一ip地址上,当前登录城市与用户户口城市的距离大于500千米的用户账号数量为5万个,当前登录城市与上一次登录城市的距离大于500千米的用户账号数量为3万个,其中有1万个用户账号是重叠的,登录总用户账号数量为10万个,则该ip地址的异地率:(5+3-1)/10=0.8。

跳变速度中位数speed_median为在同一ip地址上,所有用户账号的当前登录与上一次登录之间的跳变速度的中位数。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数,如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。在本说明书实施例中,可以先获取该ip地址上所有用户账号的当前登录与上一次登录之间的跳变速度,然后按照由大到小对该跳变速度进行排序,取位于正中间的跳变速度或者最中间两个跳变速度的平均值作为该ip地址的跳变速度中位数。

在本说明书实施例中,在预设时间段内的使用天数大于预设天数的登录设备可以认为是常用登录设备,如可以将近一个月内的使用天数大于3天的登录设备认为是常用登录设备。

新设备率new_guid_rate为在同一ip地址上,从未使用常用登录设备登录的用户账号的数量与登录总用户账号数量的比值。

网页登录率ptlogin_rate为在同一ip地址上,通过网页登录的次数与登录总次数的比值。由于每次登录收集的各个用户账号的原始登录数据信息中均包含登录平台标识行为信息,因此,可以根据登录平台标识判定该次登录是否为网页登录。

与登录总次数的统计方法一样,通过网页登录的次数即包括登录成功的次数也包括登录失败的次数,即只要通过网页进行登录操作,就将该登录操作统计入通过网络登录的次数。

登录成功率login_succ_rate为在同一ip地址上,登录成功的次数与登录总次数的比值。由于每次登录收集的各个用户账号的原始登录数据信息中均包含登录成功记录行为信息,因此,可以根据登录成功记录判定该次登录是否成功。需要说明的是,同一用户账号在该ip地址上的每次登录成功均需统计入该ip的登录成功的次数。

登录业务类型数量app_num为在同一ip地址上,所有用户账号的登录业务类型的总个数。需要说明的是,该登录业务类型数量是去重后的登录业务类型的总个数。比如,某一ip地址中,有1万个用户账号通过登录业务类型1(如pc端qq)登录,有4万个用户账号通过登录业务类型2(如qq音乐)登录,另有6万用户账号通过登录业务类型3(如微信)登录,则该ip地址的登录业务类型数量为3,即为登录业务类型1、登录业务类型2和登录业务类型3。

非热门业务类型登录率rare_app_rate为在同一ip地址上,登录业务类型不属于预设的登录业务类型的所有用户账号的登录次数与登录总次数的比值。例如,预设的登录业务类型为登录业务类型1(如pc端qq)、登录业务类型2(如qq音乐)和登录业务类型3(如微信),则在某一ip地址上,采用登录业务类型4登录的所有用户账号的登录次数与登录总次数的比值即为该ip地址的非热门业务类型登录率。

无效设备登录次数invalid_guid_cnt为在同一ip地址上,所有无效设备登录的总次数。比如,无效设备1在某一ip地址上登录的次数为2万次,无效设备2在该ip地址上登录的次数为3万次,则该ip地址的无效设备登录次数为5万次。

在本说明书实施例中,判断登录设备是否为无效设备可以通过以下两种方式:

方式一:通过登录平台标识和登录设备唯一标识判断,具体的,若登录平台为预设登录平台(如pc端应用程序软件、移动端应用程序软件)且登录设备唯一标识全部为预设标识,则判断该次登录的登录设备为无效设备。其中,考虑到非法盗取用户账号者破解登录协议时会导致登录设备的md5值置为0,因此,上述登录设备唯一标识可以设置为登录设备的md5值,而预设标识可以设置为登录设备的md5值为0。

方式二:通过登录平台标识判断,具体的,若登录平台不为预设的登录平台,则判断该次登录的登录设备为无效设备。比如,预设的登录平台为pc端应用程序软件和移动端应用程序软件,若登录平台为网页,则认为该次登录的登录设备为无效设备。

为了提高检测的准确率和覆盖率,在本发明实施例中,ip特征向量可以包括多个维度的ip特征值,如ip特征向量可以包括登录总次数、登录总用户账号数量、异地率、跳变速度中位数、新设备率、网页登录率、登录成功率、登录业务类型数量、非热门业务类型登录率、无效设备登录次数。当然,ip特征向量并不限于上述维度的ip特征值,还可以根据实际需求设置更多维度的ip特征值,本说明书对此不作限制。

在本说明书实施例中,步骤204可以采用图4的方法,图4所示为本发明实施例提供的生成ip地址的ip特征向量的方法流程示意图。如图4所示,该方法包括:

步骤402,将所有用户账号的基础数据信息按照预设的拆分策略拆分成不同批次。

在本说明书实施例中,服务器获取的所有用户账号的基础数据信息可以按照数据流的形式进行传输,那么预设的拆分策略可以为按照固定的时间间隔将上述数据流拆分成不同的批次。例如,可以将固定的时间间隔设置为5分钟,则可以将上述数据流拆分为第一个5分钟批次、第二个5分钟批次……。

步骤404,按照相同的ip地址为同一组,将每个批次所包含的基础数据信息分成不同组。

在本说明书实施例中,将海量的基础数据信息按照预设的拆分策略拆分成不同批次之后,对每一批次所包含的基础数据信息进行分组,具体的分组依据为相同的ip地址的基础数据信息分为一组,如此,每个批次所包含的基础数据信息可以分为ip地址1组、ip地址2组……。

步骤406,每个组根据所包含的基础数据信息分别计算相对应的ip特征值。

每个批次的基础数据信息分组之后,按照每个组所包含的基础数据信息计算该组的ip特征值。具体的ip特征值可以为登录总次数、登录总用户账号数量、异地率、跳变速度中位数、新设备率、网页登录率、登录成功率、登录业务类型数量、非热门业务类型登录率、无效设备登录次数。上述ip特征值的计算可以参见前述叙述,在此不再赘述。

步骤408,根据每个组的ip特征值,生成与该组的ip地址相对应的ip特征向量。

每个组的ip特征值计算完成后,将各个ip特征值转换成向量的形式,并将该组的所有ip特征值的向量按照一定的顺序集合成与该组的ip地址相对应的ip特征向量。

步骤206,基于ip特征向量和预设的判别规则确定异常ip地址。

在本说明书实施例中,预设的判别规则可以根据ip特征向量中的ip特征值进行调整。具体的,在判定时,若ip特征向量满足预设的判别规则则认为该ip特征向量所对应的ip地址为异常ip地址。

在本说明书实施例中,步骤206可以采用图5的方法,图5所示为本发明实施例提供的确定异常ip地址的方法流程示意图。如图5所示,该方法包括:

步骤502,根据预设的判别规则对每个批次内的各个ip地址的ip特征向量分别进行判定,并生成判定结果。

上述预设的判别规则可以为满足以下判别规则中的任意一个或者多个:

第一判别规则:登录总用户账号数量>=第一阈值且(异地率>=第二阈值或跳变速度中位数>=第三阈值)且(新设备率>=第二阈值或网页登录率>=第四阈值或登录成功率<=第五阈值)。

第二判别规则:登录总用户账号数量>=第六阈值且网页登录率>=第四阈值且登录业务类型数量<=第七阈值。

第三判别规则:登录总用户账号数量>=第八阈值且非热门业务类型登录率>=第九阈值且(登录业务类型数量<=第七阈值或登录总用户账号数量>=第十阈值)且异地率>=第十一阈值且新设备率>=第九阈值。

第四判别规则:登录总用户账号数量>=第八阈值且非热门业务类型登录率<=第十二阈值且无效设备登录次数>=第十三阈值。

第五判别规则:登录成功率>=第十四阈值且登录业务类型数量<=第六阈值且网页登录率>=第九阈值。

上述各判别规则也可以采用如下的公式表示:

第一判别规则:uin_num>=threshold1and(allopatry_rate>=threshold2orspeed_median>=threshold3)and(new_guid_rate>=threshold2orptlogin_rate>=threshold4orlogin_succ_rate<=threshold5)。

第二判别规则:uin_num>=threshold6andptlogin_rate>=threshold4andapp_num<=threshold7。

第三判别规则:uin_num>=threshold8andrare_app_rate>=threshold9and(app_num<=threshold7oruin_num>=threshold10)andallopatry_rate>=threshold11andnew_guid_rate>=threshold9。

第四判别规则:uin_num>=threshold8andrare_app_rate<=threshold12andinvalid_guid_rate>=threshold13。

第五判别规则:login_cnt>=threshold14andapp_num<=threshold6andptlogin_rate>=threshold9。

只要ip特征向量满足上述的任意一个判别规则,则认为该ip特征向量满足预设的判别规则,生成满足预设的判别规则的判定结果。

实际应用中,上述第一阈值即threshold1可以为7,第二阈值即threshold2可以为50%,第三阈值即threshold3可以为100米/秒,第四阈值即threshold4可以为60%,第五阈值即threshold5可以为40%,第六阈值即threshold6可以为3,第七阈值即threshold7可以为2,第八阈值即threshold8可以为5,第九阈值即threshold9可以为90%,第十阈值即threshold10可以为10,第十一阈值即threshold11可以为20%,第十二阈值即threshold12可以为10%,第十三阈值即threshold13可以为80%,第十四阈值即threshold14可以为50。此处,需要说明的是,上述各个阈值的设置还可以根据实际检测需要设置,本说明书实施例对此并不作限制。

步骤504,获取同一ip地址在不同批次的判定结果,若存在判定结果为满足预设的判别规则,则确定该ip地址为异常ip地址。

同一ip地址在不同批次的判定结果可能不相同,比如ip地址1在第一个5分钟批次中的判定结果为满足预设的判别规则,该ip地址1在第3个5分钟批注中的判定结果可能为不满足预设的判别规则。在本发明实施例中,只要该ip地址在任意一个批次中存在判定结果为满足预设的判别规则,则认为该ip地址为异常ip地址。

步骤208,从登录过上述异常ip地址的用户账号中确定异常账号。

在本说明书实施例中,可以将在异常ip地址上登录成功的用户账号认为是被非法盗取用户账号者已经盗取的账号,该用户账号已不安全为异常账号。但是简单的依据用户账号在异常ip地址上是否登录成功来判定其是否为异常账号存在判定准确率低的问题,可能会将非异常账号也一并封杀。

为了提高检测异常账号的准确率,在本说明书实施例中,可以采用图6所示的方法,图6所示为本发明实施例提供的根据异常ip地址确定异常账号的方法流程图。如图6所示,该方法包括:

步骤602,获取在异常ip地址上登录成功的所有用户账号。

具体的,可以根据登陆过异常ip地址的用户账号的原始登录数据信息获取每个用户账号每次登录的登录成功记录行为信息,若存在登录成功则获取该用户账号。

步骤604,从上述用户账号的基础数据信息中获取用户账号的检测信息。

检测信息用于后续判断该用户账号是否为异常账号的依据,该检测信息可以取自原始登录数据信息,也可以取自登录修饰数据信息。

在一个具体的实施方式中,上述检测信息可以包括当前登录城市与用户户口城市的距离、登录平台标识和登录设备唯一标识如md5值。

步骤606,根据上述检测信息和预设的检测规则确定异常账号。

在本说明书实施例中,预设的检测规则可以根据检测信息的具体内容进行设置。

在一个具体的实施方式中,上述预设的检测规则包括以下的一条或者几条:

第一检测规则:当前登录城市与用户户口城市的距离>=预设检测阈值,如该预设检测阈值可以为500千米。

第二检测规则:登录设备为无效登录设备。此处判断登录设备为无效登录设备采用下述方法:若登录平台为预设登录平台(如pc端、移动端)且登录设备唯一标识全部为预设标识,则判断该次登录的登录设备为无效设备。其中,考虑到非法盗取用户账号者破解登录协议时会导致登录设备的md5值置为0,因此,上述登录设备唯一标识可以设置为登录设备的md5值,而预设标识可以设置为登录设备的md5值为0。

其中,预设的检测规则包括上述的多条时,若检测信息满足其中的任意一条,则认为该检测信息满足预设的检测规则。若判定检测信息满足预设的检测规则,则认为该用户账号的异常账号。

综上,本发明提供的检测异常账号的方法通过ip地址的ip特征向量所包含的多个维度的ip特征值能够准确而全面的识别出异常ip地址即“晒号”ip,然后从异常ip地址中检测出异常的用户账号,从而大大提高了检测出异常账号的准确率和覆盖率。

此外,在从异常ip地址的登录用户账号中检测出异常账号时,采用了更为复杂的检测规则,可以进一步提高检测的准确率。

与上述几种实施例提供的检测异常账号的方法相对应,本发明实施例还提供一种检测异常账号的装置,由于本发明实施例提供的检测异常账号的装置与上述几种实施例提供的检测异常账号的方法相对应,因此在前述检测异常账号的方法的实施方式也适用于本实施例提供的检测异常账号的装置,在本实施例中不再详细描述。

请参阅图7,其所示为本发明实施例提供的一种检测异常账号的装置的结构示意图,该结构可以配置于图1所示的服务器中,当然其也可以独立于服务器集中式或者分布式地部署在网络中。

如图7所示,该检测异常账号的装置可以包括:第一获取模块710,第一生成模块720,第一确定模块730和第二确定模块740。

第一获取模块710,用于获取各用户账号的基础数据信息,该基础数据信息包括用户账号登录过的ip地址。

第一生成模块720,用于根据在同一ip地址上登录过的所有用户账号的基础数据信息生成该ip地址的ip特征向量,所述ip特征向量包括多个维度的ip特征值。

在一个示例中,上述多个维度的ip特征值至少包括登录总次数、登录总用户账号数量、异地率、跳变速度中位数、网页登录率、登录成功率、登录业务类型数量、非热门业务类型登录率、新设备率、无效设备登录次数。

第一确定模块730,用于基于上述ip特征向量和预设的判别规则确定异常ip地址。

在一个示例中,上述预设的判别规则可以为满足以下判别规则中的任意一个或者多个:

第一判别规则:登录总用户账号数量>=第一阈值且(异地率>=第二阈值或跳变速度中位数>=第三阈值)且(新设备率>=第二阈值或网页登录率>=第四阈值或登录成功率<=第五阈值)。

第二判别规则:登录总用户账号数量>=第六阈值且网页登录率>=第四阈值且登录业务类型数量<=第七阈值。

第三判别规则:登录总用户账号数量>=第八阈值且非热门业务类型登录率>=第九阈值且(登录业务类型数量<=第七阈值或登录总用户账号数量>=第十阈值)且异地率>=第十一阈值且新设备率>=第九阈值。

第四判别规则:登录总用户账号数量>=第八阈值且非热门业务类型登录率<=第十二阈值且无效设备登录次数>=第十三阈值。

第五判别规则:登录成功率>=第十四阈值且登录业务类型数量<=第六阈值且网页登录率>=第九阈值。

上述各判别规则也可以采用如下的公式表示:

第一判别规则:uin_num>=threshold1and(allopatry_rate>=threshold2orspeed_median>=threshold3)and(new_guid_rate>=threshold2orptlogin_rate>=threshold4orlogin_succ_rate<=threshold5)。

第二判别规则:uin_num>=threshold6andptlogin_rate>=threshold4andapp_num<=threshold7。

第三判别规则:uin_num>=threshold8andrare_app_rate>=threshold9and(app_num<=threshold7oruin_num>=threshold10)andallopatry_rate>=threshold11andnew_guid_rate>=threshold9。

第四判别规则:uin_num>=threshold8andrare_app_rate<=threshold12andinvalid_guid_rate>=threshold13。

第五判别规则:login_cnt>=threshold14andapp_num<=threshold6andptlogin_rate>=threshold9。

第二确定模块740,用于从登录过上述异常ip地址的用户账号中确定异常账号。

可选的,如图8所示,第一获取模块710可以包括:

收集模块7110,用于收集各用户账号的原始登录数据信息,该原始登录数据信息包括多个维度的行为信息。

处理模块7120,用于对每个用户账号的原始登录数据信息进行处理以获得各用户账号的登录修饰数据信息,该登录修饰数据信息包括多个维度的行为标签。

用户账号的基础数据信息包括上述的原始登录数据信息和登录修饰数据信息。

可选的,如图9所示,第一生成模块720可以包括:

拆分模块7210,用于将所有用户账号的基础数据信息按照预设的拆分策略拆分成不同批次。

分组模块7220,用于按照相同的ip地址为同一组,将每个批次所包含的基础数据信息分成不同组。

计算模块7230,用于每个组根据所包含的基础数据信息分别计算相对应的ip特征值。

生成子模块7240,用于根据每个组的ip特征值,生成与该组的ip地址相对应的ip特征向量。

可选的,如图10所示,第一确定模块730可以包括:

判定模块7310,用于根据预设的判别规则对每个批次内的各个ip地址的ip特征向量分别进行判定,并生成判定结果。

第二获取模块7320,用于获取同一ip地址在不同批次的判定结果。

第一确定子模块7330,用于当存在判定结果为满足预设的判别规则时,确定所述ip地址为异常ip地址。

可选的,如图11所示,第二确定模块740可以包括:

第三获取模块7410,用于获取在异常ip地址上登录成功的所有用户账号。

第四获取模块7420,用于从上述用户账号的基础数据信息中获取用户账号的检测信息。

第二确定子模块7430,用于根据上述检测信息和预设的检测规则确定异常账号。

综上,本发明实施例提供的检测异常账号的装置通过ip地址的ip特征向量所包含的多个维度的ip特征值能够准确而全面的识别出异常的ip地址,然后从异常的ip地址中检测出异常的用户账号,从而大大提高了检测出异常账号的准确率和覆盖率。

此外,在从异常ip地址的登录用户账号中检测出异常账号时,采用了更为复杂的检测规则,可以进一步提高检测的准确率。

需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

请参阅图12,其所示为本发明实施例提供的一种服务器的结构示意图,该服务器1200包括中央处理器(cpu)1201、包括随机存取存储器(ram)1202和只读存储器(rom)1203的系统存储器1204,以及连接系统存储器1204和中央处理器1201的系统总线1205。所述服务器1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。

所述基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中所述显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理器1201。所述基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理器1201。所述大容量存储设备1207及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,所述大容量存储设备1207可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。

根据本发明的各种实施例,所述服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在所述系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述检测异常账号的方法的指令。

在本发明实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端的处理器执行以完成上述方法实施例中终端侧的各个步骤,或者上述指令由服务器的处理器执行以完成上述方法实施例中服务器侧的各个步骤。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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