发明内容
本申请提供了一种网络虚拟用户的风险控制方法及系统,以解决现有的方法不能准确地分析出网络虚拟用户的真实关联,进而不能准确地识别出恶意用户的问题。
为了解决上述问题,本申请公开了一种网络虚拟用户的风险控制方法,包括:
分别获取第一虚拟用户的原始关联数据和第二虚拟用户的原始关联数据,所述原始关联数据包括多维度的数据,每个维度的数据都能标识用户身份,每个维度的数据作为一个关联维度;
基于所述第一虚拟用户和第二虚拟用户的原始关联数据,分别计算每个关联维度下第一虚拟用户与第二虚拟用户间的关联值;
将各个关联维度下的关联值进行汇总,得到第一虚拟用户与第二虚拟用户间的真实关联度;
判定所述第一虚拟用户与第二虚拟用户间的真实关联度是否超过预设阈值,如果超过,则当其中一个用户为恶意用户时,确定出与其关联的另一个用户也为恶意用户。
优选地,所述分别计算每个关联维度下第一虚拟用户与第二虚拟用户间的关联值,包括:在每个关联维度下,都基于数量因素、时间因素和级联因素,计算第一虚拟用户和第二虚拟用户间的关联值。
优选地,所述数量因素采用求和函数。
优选地,所述时间因素和级联因素都采用倒数函数。
优选地,通过以下公式计算每个关联维度下第一虚拟用户和第二虚拟用户间的关联值:
∑x∑level∑t(1/t)*(1/level);
其中,∑表示求和函数,x表示某个关联维度下的关联数量,level表示级联层次,t表示时间。
优选地,所述多维度的原始关联数据包括:IP,和/或cookie,和/或机器指纹,和/或手机号码,和/或电话号码,和/或传真,和/或电子邮箱,和/或地址,和/或登录账号。
优选地,所述分别获取第一虚拟用户的原始关联数据和第二虚拟用户的原始关联数据,包括:获取第一虚拟用户的原始关联数据;基于所述第一虚拟用户的原始关联数据,查找与第一虚拟用户关联的第二虚拟用户,以及所述第二虚拟用户的原始关联数据。
优选地,所述查找与第一虚拟用户关联的第二虚拟用户,包括:对每个关联维度,根据第一虚拟用户的标识查找该用户使用的维度数据;利用所述查找到的维度数据,继续查找其中每个维度数据对应的用户列表;将每个关联维度下查找到的用户列表进行去重整理,最后得到的用户列表中标识的所有用户即为与所述第一虚拟用户关联的第二虚拟用户。
优选地,所述将各个关联维度下的关联值进行汇总,包括:将各个关联维度下的关联值进行求和。
本申请还提供了一种网络虚拟用户的风险控制系统,包括:
数据获取模块,用于分别获取第一虚拟用户的原始关联数据和第二虚拟用户的原始关联数据,所述原始关联数据包括多维度的数据,每个维度的数据都能标识用户身份,每个维度的数据作为一个关联维度;
关联计算模块,用于基于所述第一虚拟用户和第二虚拟用户的原始关联数据,分别计算每个关联维度下第一虚拟用户与第二虚拟用户间的关联值;
关联汇总模块,用于将各个关联维度下的关联值进行汇总,得到第一虚拟用户与第二虚拟用户间的真实关联度;
风险判定模块,用于判定所述第一虚拟用户与第二虚拟用户间的真实关联度是否超过预设阈值,如果超过,则当其中一个用户为恶意用户时,确定出与其关联的另一个用户也为恶意用户。
优选地,所述关联计算模块在每个关联维度下,都基于数量因素、时间因素和级联因素,计算第一虚拟用户和第二虚拟用户间的关联值。
优选地,所述数量因素采用求和函数;所述时间因素和级联因素都采用倒数函数;所述关联计算模块通过以下公式计算每个关联维度下第一虚拟用户和第二虚拟用户间的关联值:
∑x∑level∑t(1/t)*(1/level);
其中,∑表示求和函数,x表示某个关联维度下的关联数量,level表示级联层次,t表示时间。
优选地,所述多维度的原始关联数据包括:IP,和/或cookie,和/或机器指纹,和/或手机号码,和/或电话号码,和/或传真,和/或电子邮箱,和/或地址,和/或登录账号。
优选地,所述数据获取模块包括:
第一获取子模块,用于获取第一虚拟用户的原始关联数据;
第二获取子模块,用于基于所述第一虚拟用户的原始关联数据,查找与第一虚拟用户关联的第二虚拟用户,以及所述第二虚拟用户的原始关联数据。
优选地,所述第二获取子模块包括:
第一查询子单元,用于对每个关联维度,根据第一虚拟用户的标识查找该用户使用的维度数据;
第二查询子单元,用于利用所述查找到的维度数据,继续查找其中每个维度数据对应的用户列表;
去重整理子单元,用于将每个关联维度下查找到的用户列表进行去重整理,最后得到的用户列表中标识的所有用户即为与所述第一虚拟用户关联的第二虚拟用户。
优选地,所述关联汇总模块包括:
求和子模块,用于将各个关联维度下的关联值进行求和。
与现有技术相比,本申请包括以下优点:
首先,本申请对虚拟用户间的关联维度进行了多维度的扩展,IP、cookie、机器指纹、手机号码、电话号码、传真、电子邮箱、地址、登录账号,等等能够标识用户身份的信息,都可以作为一个关联维度来分析用户间的真实关联情况。基于此,本申请在分析两个虚拟用户时,可以同时使用多个维度进行分析,即针对每个维度计算关联值,最后将多个维度的关联值进行汇总,得出这两个虚拟用户间最终的关联度。这种关联维度的扩展,在虚拟用户不使用同一台物理机器的时候,也能利用其它维度的信息分析出用户间的真实关联,因此打破了传统分析方法的限制,能够更加准确地分析出网络虚拟用户的真实关联。进而,通过这种准确的分析方法,可以准确地识别出与恶意用户关联度高的其他用户也可能为恶意用户,大大提供了网络风险控制的力度,尽可能地避免了网络欺诈行为的发生。
其次,本申请还对关联的同一维度的分析因素进行了扩展。在对每一个维度进行关联分析时,不仅仅考虑一个因素,而是同时结合了多个因素(数量因素、时间因素和级联因素)综合分析,并汇总了同维度下各个因素对关联的影响。这种同一维度下多因素的扩展,相比现有技术中的单一因素分析,能够使分析结果更加准确。
当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请提出的网络虚拟用户的风险控制方法,在分析用户真实关联时,对关联的维度和同一维度下的分析因素都进行了扩展。
其中,关联的维度不局限于机器指纹,IP、cookie、手机号码、电话号码、传真、电子邮箱、地址、登录账号,等等能够标识用户身份的信息,都可以作为一个关联维度来分析用户间的真实关联情况。
而且,同一维度下的分析因素扩展出数量因素、时间因素和级联因素。
参照图2所示,是本申请实施例中数量因素的示意图。
数量因素是指:如果虚拟用户A和虚拟用户B都有共同的一批好友C,D,E...,那么A和B为好友的可能将会大大增加。
参照图3.1至3.3所示,是本申请实施例中时间因素的示意图。
时间因素是指:如果虚拟用户A和虚拟用户B都有共同的一个好友C,且都在最近一年内成为好友,那A和B是好友的可能极大,如图3.1所示;同样的,若虚拟用户A和虚拟用户C在十年前是好友,虚拟用户B和虚拟用户C在十年前也是好友,那么A和B是好友的可能也极大,如图3.2所示;反之,若虚拟用户A和虚拟用户C在十年前是好友,而虚拟用户B和虚拟用户C最近一年才是好友,那么A和B为好友的可能性就会小一些。
参照图4所示,是本申请实施例中级联因素的示意图。
级联因素是指:朋友的朋友的朋友...也可能是朋友,当然级联导数越多,可能性就会降低。例如虚拟用户A和虚拟用户B是好友,虚拟用户B和虚拟用户C是好友,那么A和C是好友的可能极大;进一步地,虚拟用户C和虚拟用户D是好友,那么A和D是好友的可能下降;再进一步,虚拟用户D和虚拟用户E是好友,那么A和E是好友的可能再下降。其中,称A和B一层关联,A和C二层关联,A和D三层关联,A和E四层关联。
基于以上内容,下面通过实施例对本申请所述的方法进行详细说明。
参照图5所示,是本申请实施例所述一种网络虚拟用户的风险控制方法的流程图。
下面以分析两个虚拟用户之间真实关联的过程为例,步骤如下:
步骤501,分别获取第一虚拟用户的原始关联数据和第二虚拟用户的原始关联数据,所述原始关联数据包括多维度的数据,每个维度的数据都能标识用户身份,每个维度的数据作为一个关联维度;
如前所述,所述多维度的原始关联数据可以包括:IP,cookie,机器指纹,手机号码,电话号码,传真,电子邮箱,地址,登录账号,等等信息。其中每个维度的数据都能够标识虚拟用户的身份,因此每个维度的数据都可以用来分析关联度。此外,其他能够标识虚拟用户身份的信息也可以作为原始关联数据使用,在此不一一列举。
步骤502,基于所述第一虚拟用户和第二虚拟用户的原始关联数据,分别计算每个关联维度下第一虚拟用户与第二虚拟用户间的关联值;
例如,第一虚拟用户和第二虚拟用户的原始关联数据都包含IP和cookie,先利用IP计算这两个虚拟用户间的关联值1,然后再利用cookie计算这两个虚拟用户间的关联值2。
优选地,如前所述,同一维度下的分析因素扩展出数量因素、时间因素和级联因素。因此,在每个关联维度下,都可基于数量因素、时间因素和级联因素,计算第一虚拟用户和第二虚拟用户间的关联值。
具体的基于每个分析因素计算关联值的方法,将在下面的实施例中详细介绍。
步骤503,将各个关联维度下的关联值进行汇总,得到第一虚拟用户与第二虚拟用户间的真实关联度;
所述汇总的方法有很多,可以根据实际应用情况而定,下面仅列举一种汇总方法,但本申请的保护范围不应限定于此。
例如,可以将各个关联维度下的关联值进行求和,求和得到的结果即表示第一虚拟用户与第二虚拟用户间的真实关联度。其中,所述求和可以是简单的求和函数,也可以是平方求和或加权求和等函数。
例如:
求和=x1+x2+x3;
平方求和=x1^2+x2^2+x3^2;
加权求和=a*x1+b*x2+c*x3;
注x1^2=x1*x1,a、b、c均为加权系数。
步骤504,判定所述第一虚拟用户与第二虚拟用户间的真实关联度是否超过预设阈值,如果超过,则当其中一个用户为恶意用户时,确定出与其关联的另一个用户也为恶意用户。
在网络风险控制中,经过步骤501至503的处理,可以得到两个虚拟用户间的真实关联度,基于此,如果这两个用户的真实关联度超过预设的阈值,表明这两个用户在真实世界中的关联度很高,因此,如果其中一个用户已经确定为恶意用户,那么与其关联的关联度高的用户是恶意用户的可能性也非常大,所以将关联度超过预设阈值的关联用户也确定为恶意用户。
综上所述,在分析两个虚拟用户时,可以同时使用多个关联维度的数据(如IP、cookie、机器指纹等等)进行分析。这种关联维度的扩展,在虚拟用户不使用同一台物理机器的时候,也能利用其它维度的信息分析出用户间的真实关联,因此打破了传统分析方法的限制,能够更加准确地分析出网络虚拟用户的真实关联。进而,通过这种准确的分析方法,可以准确地识别出与恶意用户关联度高的其他用户也可能为恶意用户,大大提供了网络风险控制的力度,尽可能地避免了网络欺诈行为的发生。
基于图5实施例,在本申请的另一优选实施例中,上述步骤501可通过图6所示的步骤实现,具体如下。
参照图6所示,是本申请另一优选实施例中获取第一虚拟用户和第二虚拟用户的原始关联数据的流程图。
步骤601,获取第一虚拟用户的原始关联数据;
假设第一虚拟用户为用户A,用户A的原始关联数据包括IP和cookie。
步骤602,基于所述第一虚拟用户的原始关联数据,查找与第一虚拟用户关联的第二虚拟用户,以及所述第二虚拟用户的原始关联数据。
以IP关联维度为例,为了找出虚拟用户A和其他所有用户共同使用过的IP的情况,去除时间因素,数据存储格式如下表1和表2:
用户 |
IP列表 |
A |
IP1,IP2,IP3 |
B |
IP2 |
C |
IP4 |
表1
IP值 |
用户列表 |
IP1 |
A |
IP2 |
B,C |
IP3 |
A,C |
IP4 |
C |
表2
上述这种key-value的存储格式可以快速查询出所有与虚拟用户A共同使用过IP的其他虚拟用户。因此,找出和A的关联用户就很简单了,步骤602包含的子步骤如下:
子步骤6021,对每个关联维度,根据第一虚拟用户的标识查找该用户使用的维度数据;
仍以IP关联维度为例,查询上述表1,可以得到表3的查询结果,如下:
表3
由表3可知,用户A使用过的IP为IP1、IP2和IP3。
子步骤6022,利用所述查找到的维度数据,继续查找其中每个维度数据对应的用户列表;
仍以IP关联维度为例,根据表3中的IP1、IP2和IP3,查询表2,可以得到表4的查询结果,如下:
表4
子步骤6023,将每个关联维度下查找到的用户列表进行去重整理,最后得到的用户列表中标识的所有用户即为与所述第一虚拟用户关联的第二虚拟用户。
如表4所示,使用IP1的用户为A,使用IP2的用户为B和C,使用IP3的用户为A和C。经过去重整理,最后得到的用户列表中包含用户A、B和C。
由此可知,一层关联就是A、B和C。去掉A自身后,就是B和C,即与用户A一层关联的用户为B和C。
继续查找与用户A二层关联的用户,查询表1,得到表5的查询结果,如下:
表5
查询表2,得到表6的查询结果,如下:
表6
去重后,二层关联仍是B和C。
类似的,其他原始关联数据,如cookie、机器指纹、手机号码、...,都可以采用上述的数据存储格式。
综上所述,由图6可以看出,为了节省计算量,可以先确定一个虚拟用户,然后再查询与该用户关联的其他用户,再进行真实关联度的计算。当然,根据实际应用的需要,也可以将任意两个用户进行组合,计算他们的关联度,但可能存在关联度为0的组合情况。
基于以上内容,在查找到用户A及其关联用户B和C之后,下面通过另一实施例详细说明如何计算用户A与其关联用户的真实关联度。
仍以IP关联维度为例,如果用户A和B都使用过相同的IP:IP1,那么A和B就很有可能“有关联”。在这种关联上考虑数量因素、时间因素、级联因素,如下:
数量因素:如果A和B都用过相同的一批IP:IP1,IP2,IP3...,那么A和B“有关联”的可能将会大大增加。
时间因素:如果A和B都使用过相同的IP:IP1,且都在最近一年内使用过,那A和B“有关联”的可能极大;反之,若A在十年前使用过IP1,而B在最近一年才使用过IP1,那么A和B“有关联”的可能性就会小一些。
级联因素:如果A和B使用过相同的IP:IP1,B和C使用过相同的IP:IP2。那么A和C也有可能“有关联”。可以定义:称A和B通过IP一层关联;A和C通过IP二层关联。
综合以上三个因素,考虑“时间”和“级联层次”对“关联”的衰减效应,可以采用衰减函数进行计算;考虑“数量”对“关联”的累积效应,可以采用累积函数进行计算。对于具体的衰减函数和累积函数,本申请不进行限定。
一种函数方案如下:对“数量”的累积函数使用求和函数,对“时间”和“级联层次”的衰减函数使用倒数函数。
仍然以IP为例,说明如下:
将时间(t)按月为单位分类:
t=1代表本月,t=2代表上个月...定义关联度函数为1/t。
级联层次(level):
level=1代表通过IP一层关联,level=2代表通过IP二层关联...定义关联度函数为1/level。
举例如下:若时间间隔为t,级联层次为level,则关联度为(1/t)*(1/level)。
如果A和B在本月(t=1),有通过IP一层关联(level=1)(使用过相同IP1),那么关联度为(1/1)*(1/1)=1;
如果A和B在上个月(t=2),有通过IP一层关联(level=1),那么关联度为(1/2)*(1/1)=0.5;
如果A和B在上个月(t=2),有通过IP二层关联(level=2),那么关联度为(1/2)*(1/2)=0.25。
综上所述,假设限制时间为半年,级联层数为3层,那么针对某个IP1,某二人A和B的关联度为:
∑level(level=1~3)∑t(t=1~6)(1/t)*(1/level)。
对数量进行汇总:对数量的累积函数使用求和函数。即求和每个IP的关联度。假设我们限制时间为半年,级联层数为3层,那么针对所有IP,某二人A和B的关联度为:
∑ip∑level(level=1~3)∑t(t=1~6)(1/t)*(1/level)。
需要说明的是,以上是以IP为例,即只考虑了一个维度(IP)。实际上,可以有更多的维度:IP,cookie,机器指纹,手机号码,电话号码,传真,电子邮箱,地址,登录账号,...,如图7所示。
对每个维度都进行类似于IP关联的计算,如图8所示,每个维度的计算都考虑时间因素、数量因素和级联因素。最后将每个维度的计算结果汇总(如求和)后,即可以得到网络虚拟用户之间的真实的关联性。
例如,用户A和B之间通过IP、cookie、机器指纹、电话号码关联,计算时每个维度都考虑时间因素、数量因素和级联因素,分别计算出A和B之间的IP关联值、cookie关联值、机器指纹关联值、电话号码关联值,然后将这些关联值求和汇总,得到A和B最终的真实关联度。
再例如,用户A和B之间通过IP关联,B和C之间通过cookie关联,最后汇总时就可以将A和B之间的IP关联值与B和C之间的cookie关联值相加求和,得到A和C之间的真实关联度。
此外,还需要说明的是,对“数量”的累积函数包括但不限定于上述列举的求和函数,还可以是加权求和函数或平方求和函数,或者是其他的求和方式,这些都可统称为求和函数。同样,对“时间”和“级联层次”的衰减函数包括但不限定于上述列举的倒数函数,还可以是加权倒数函数或平方倒数函数,或者是其他的求和方式,这些都可统称为倒数函数。
其中,加权求和与加权倒数的举例如下:
比如求和=x1+x2+x3;
加权求和=a*x1+b*x2+c*x3;
倒数=1/x1+1/x2+1/x3;
加权倒数=a/x1+b/x2+c/x3;
注:a、b、c均为加权系数。
平方求和与平方倒数的举例如下:
比如求和=x1+x2+x3;
平方求和=x1^2+x2^2+x3^2;
倒数=1/x1+1/x2+1/x3;
平方倒数=1/(x1^2)+1/(x2^2)+1/(x3^2);
注:x1^2=x1*x1。
综上所述,这种对关联维度和同一维度下分析因素的扩展,在虚拟用户不使用同一台物理机器的时候,也能利用其它维度的信息分析出用户间的真实关联,因此打破了传统分析方法的限制,能够更加准确地分析出网络虚拟用户的真实关联。而且,相比现有技术中的单一因素分析,进一步使分析结果更加准确。
上述这种分析网络虚拟用户真实关联的方法,可以应用到多种场景中。例如,在网络风险控制的场景中,如果获知某个用户具有欺诈行为不可靠,那么与该用户有真实关联的其他用户也可能存在这种欺诈的风险。再例如,在智能推荐的场景中,如果获知某个用户喜好购买户外用品,那么也可以向与该用户真实关联的其他用户自动推荐户外用品,以提高购买度。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必需的。
基于上述方法实施例的说明,本申请还提供了相应的系统实施例。
参照图9所示,是本申请实施例所述一种网络虚拟用户的风险控制系统结构图。
所述系统可以包括以下模块:
数据获取模块10,用于分别获取第一虚拟用户的原始关联数据和第二虚拟用户的原始关联数据,所述原始关联数据包括多维度的数据,每个维度的数据都能标识用户身份,每个维度的数据作为一个关联维度;
关联计算模块20,用于基于所述第一虚拟用户和第二虚拟用户的原始关联数据,分别计算每个关联维度下第一虚拟用户与第二虚拟用户间的关联值;
关联汇总模块30,用于将各个关联维度下的关联值进行汇总,得到第一虚拟用户与第二虚拟用户间的真实关联度;
风险判定模块40,用于判定所述第一虚拟用户与第二虚拟用户间的真实关联度是否超过预设阈值,如果超过,则当其中一个用户为恶意用户时,确定出与其关联的另一个用户也为恶意用户。
在另一优选实施例中,所述关联计算模块20可以在每个关联维度下,都基于数量因素、时间因素和级联因素,计算第一虚拟用户和第二虚拟用户间的关联值。
在另一优选实施例中,所述数量因素可采用求和函数。
在另一优选实施例中,所述时间因素和级联因素都可采用倒数函数。
在另一优选实施例中,所述关联计算模块20可以通过以下公式计算每个关联维度下第一虚拟用户和第二虚拟用户间的关联值:
∑x∑level∑t(1/t)*(1/level);
其中,∑表示求和函数,x表示某个关联维度下的关联数量,level表示级联层次,t表示时间。
在另一优选实施例中,所述多维度的原始关联数据可以包括:IP,和/或cookie,和/或机器指纹,和/或手机号码,和/或电话号码,和/或传真,和/或电子邮箱,和/或地址,和/或登录账号。
在另一优选实施例中,所述数据获取模块10可以包括以下子模块:
第一获取子模块,用于获取第一虚拟用户的原始关联数据;
第二获取子模块,用于基于所述第一虚拟用户的原始关联数据,查找与第一虚拟用户关联的第二虚拟用户,以及所述第二虚拟用户的原始关联数据。
在另一优选实施例中,所述第二获取子模块可以包括以下子单元:
第一查询子单元,用于对每个关联维度,根据第一虚拟用户的标识查找该用户使用的维度数据;
第二查询子单元,用于利用所述查找到的维度数据,继续查找其中每个维度数据对应的用户列表;
去重整理子单元,用于将每个关联维度下查找到的用户列表进行去重整理,最后得到的用户列表中标识的所有用户即为与所述第一虚拟用户关联的第二虚拟用户。
在另一优选实施例中,所述关联汇总模块30可以包括以下子模块:
求和子模块,用于将各个关联维度下的关联值进行求和。
对于上述系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述风险控制系统可以准确地分析出网络虚拟用户间的真实关联情况,进而可以准确地识别出与恶意用户关联度高的其他用户也可能为恶意用户,大大提供了网络风险控制的力度,尽可能地避免了网络欺诈行为的发生。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
而且,上文中的“和/或”表示本文既包含了“和”的关系,也包含了“或”的关系,其中:如果方案A与方案B是“和”的关系,则表示某实施例中可以同时包括方案A和方案B;如果方案A与方案B是“或”的关系,则表示某实施例中可以单独包括方案A,或者单独包括方案B。
以上对本申请所提供的一种网络虚拟用户的风险控制方法及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。