具体实施方式
每个用户在同一网络平台上往往只需要注册一个或几个用户账号,甚至在多个网络平台上注册的用户账号,都存在很多公用信息,比如相同的账号名称、邮箱地址等,因为对于正常用户而言,只需要登录后能够实现相应的操作功能即可,过多的用户账号反而难以记忆和管理。因此,若同一网络地址下注册的用户账号均为正常注册行为时,这些用户账号应当由多个用户分别注册,则由于每个用户的注册习惯不同,相应的用户账号也显然会存在很大差异;换言之,这些用户账号的信息之间具有更强的离散性。
如图1(1)所示,多个用户A、用户B和用户C分别使用相同的网络地址进行账号注册,该网络地址可以为IP地址、注册用的电子设备的MAC(MediaAccessControl,访问媒介控制)地址或端口号等。比如表1所示,以“邮箱地址”的信息为例,用户A注册的用户账号a的邮箱地址a123aaa.com,其前缀长度为4且对应于“字母1+数字3(即1个字母和3个数字)”的组合特征,用户B注册的用户账号b的邮箱地址black_yyss.com,其前缀长度为8且对应于“字母7+下连接线1”的组合特征,用户C注册的用户账号c的邮箱地址cc-2014ss.com,其前缀长度为7且对应于“字母2+数字4+中连接线1”的组合特征。
可见,对于诸如用户A、用户B和用户C的正常用户,注册得到的用户行号的信息之间,具有很大的特征差异。
表1
而如图1(2)所示,当用户D采用批量注册用户账号时,虽然能够得到数量众多的用户账号,但这些用户账号之间往往具有极为相似或相关联的特征。比如表1所示,当用户D通过“自动注册软件”批量注册得到用户账号d1、用户账号d2和用户账号d3,则仍以“邮箱地址”的信息为例,用户账号d1、用户账号d2和用户账号d3对应的邮箱地址,其前缀长度均为7且均对应于“字母3+数字4”的组合特征,具有极大的相似性。
因此,本申请正是利用了正常注册的用户账号信息之间的离散性强(即相似性弱)、批量注册的用户账号信息之间的离散性弱(即相似性强)的特点,能够对网络地址是否存在批量注册用户账号的异常状况,实现准确的识别和判断。
为对本申请进行进一步说明,提供下列实施例:
图2示出了根据本申请一示例性实施例的一种网络地址的异常识别方法的流程图,如图2所示,该方法应用于服务器,可以包括以下步骤:
步骤202,获取与待识别网络地址相对应的用户账号;
在本实施例中,待识别网络地址可以为任意网络地址信息,比如IP地址、MAC地址、端口号等,本申请并不对此进行限制。
在本实施例中,用户在终端设备上执行用户账号注册时,终端设备在于服务器进行数据交互时,必然会在相应的报文中添加自身的IP地址等网络地址,则服务器可以对此进行记录或事后查询,以确定每个用户账号对应的网络地址,或者任一网络地址对应注册的所有用户账号。
步骤204,根据对所述用户账号的特征分析,得到预设指标参数的数值信息;
在本实施例中,预设指标参数包括以下至少之一:用户账号的长度、邮箱类用户账号的前缀长度、用户账号或邮箱类用户账号的前缀中的各类字符组合特征(比如对于“M个字母+N个数字”,其中的M和N的每种数值组合,均为一种字符组合特征;或者对于“M个字母+N个数字+S个特殊字符”,其中的M、N和S的每种数值组合,也均为一种字符组合特征)的出现次数、用户账号的注册时间间隔、邮箱类用户账号的后缀种类数、登录的用户账号数量、用户账号的最大单日注册量;当然,其他任意可以表现出用户账号特征的信息,均可以应用于本申请的技术方案中,本申请并不对此进行限制。
在本实施例中,为了便于计算,还可以对指标参数的数值信息进行统一的标准化计算,有助于提升后续数据处理的计算效率。
步骤206,根据所述预设指标参数的数值信息,计算对应于所述待识别网络地址的信息熵;
在本实施例中,若仅提取了一个指标参数的数值信息,则可以直接计算得到对应的信息熵;若提取了多个指标参数的数值信息,则可以分别生成对应于每个指标参数的信息熵,以综合判断待识别网络地址的批量注册嫌疑。
步骤208,当所述信息熵的数值小于预设数值时,判定所述待识别网络地址存在批量注册用户账号的异常状况。
在本实施例中,当信息熵的数值小时,说明用于描述相应的指标参数的信息量小,也就是说生成这些指标参数的数值信息的用户账号之间的差别小,即这些用户账号之间存在较大的相似度,也就存在较大的批量注册嫌疑;反之则说明信息量大,用户账号之间的相似度小,批量注册嫌疑也小。
在本实施例中,若仅计算了一个信息熵,则可以直接根据该信息熵的数值大小,判断相应的异常状况;若计算了多个信息熵,则需要综合相应的数据判断结果,比如:作为一示例性实施方式,可以在统计出的数量大于或等于预设数量时,判定所述待识别网络地址存在批量注册用户账号的异常状况;作为另一示例性实施方式,可以当所述信息熵的数值小于预设数值,且数值差大于或等于预设差值时,判定所述待识别网络地址存在批量注册用户账号的异常状况。
在本实施例中,对于每种预设指标参数对应的信息熵的预设数值,即用于判断是否存在批量注册嫌疑的“标准数值”,可以根据待识别网络地址所属地区的语种类型来确定,从而能够兼顾不同国家和地区的用户在执行用户账号注册时的习惯。
请参考图3,图3示出了根据本申请一示例性实施例的一种网络地址的异常识别方法的流程图,可以包括以下步骤:
步骤302,获取待识别IP地址的各预设指标参数的数值信息。
在本实施例中,以单一的“IP地址”为例,而MAC地址、端口号等其他类型的网络地址,或者多种网络地址的组合,显然也可以应用本申请的技术方案中。
可选的,对于待识别IP地址(或其他类型的网络地址),还可以预先(比如在步骤302之前)判断其是否为预设的无效IP地址,比如127.0.0.1、0.0.0.0、255.255.255.255等,并通过提前剔除这些无效网络地址,以避免无效的数据处理。
步骤304,可选的,可以对各预设指标参数的数值信息进行标准化处理。
在本实施例中,对每种预设指标参数的数值信息分别进行标准化处理,具体可以采用下述公式(或其他任意计算方式):
其中,xij为第i种预设指标参数中的第j个参数的数值信息,xmin为第i种预设指标参数中的最小数值信息,xmax为第i种预设指标参数中的最大数值信息,x′ij为第i种预设指标参数中的第j个参数的标准化处理后的数值信息。
步骤306,将各预设指标参数的数值信息(若执行了标准化处理,则应当为标准化处理后的数值信息),生成为初始数据矩阵。
在本实施例中,为了便于计算机的计算和处理,可以将当前采用的各预设指标参数的数值信息生成为矩阵形式,比如:
其中,x′ij为第i个样本(即用户账号)的第j项预设指标参数的标准化处理后的数值信息。
步骤308,判断是否存在未计算对应的信息熵的预设指标参数,若存在则转入步骤310,否则转入步骤316。
步骤310,计算每种预设指标参数对应的信息熵。
在本实施例中,针对任一项预设指标参数,均可以采用下述方式或相关技术中的任意方式来计算信息熵:
其中,e为信息熵,Pi为第i个在当前预设指标参数下的数值信息的样本概率,且1≤i≤m。
步骤312,获取标准信息熵。
在本实施例中,标准信息熵的数值即图2所示的“预设数值”,用于通过与步骤310中计算出的信息熵进行数值大小的比较,以确定是否存在账号批量注册的异常状况。
在本实施例中,可以根据待识别IP地址所属地区的语种类型,选取恰当的标准信息熵,以提升判断的准确性。
步骤314,将计算出的信息熵与标准信息熵进行比较,并统计所有的比较结果,然后返回步骤308。
步骤316,当所有预设指标参数均完成了信息熵计算和数值比较后,判断出现异常的指标数量是否满足大于或等于预设数量,若满足,则转入步骤318,否则转入步骤320。
在本实施例中,作为一示例性实施方式,可以设置固定的预设数量,即无论当前选取了多少预设指标参数进行计算,均采用该预设数量进行比较;作为另一示例性实施方式,可以使得预设数量与当前选取的预设指标参数的数量相关联,比如当前选取了5个预设指标参数时,预设数量可以为3个,换言之,相当于满足一定的数值比例,比如60%。
步骤318,判定为IP地址异常,存在批量注册用户账号的嫌疑。
步骤320,判定为IP地址正常。
图4示出了根据本申请的一示例性实施例的电子设备的示意结构图。请参考图4,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成网络地址的异常识别装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图5,在软件实施方式中,该网络地址的异常识别装置可以包括获取单元、分析单元、计算单元和判定单元。其中:
获取单元,获取与待识别网络地址相对应的用户账号;
分析单元,根据对所述用户账号的特征分析,得到预设指标参数的数值信息;
计算单元,根据所述预设指标参数的数值信息,计算对应于所述待识别网络地址的信息熵;
判定单元,当所述信息熵的数值小于预设数值时,判定所述待识别网络地址存在批量注册用户账号的异常状况。
可选的,所述预设指标参数包括以下至少之一:
用户账号的长度、邮箱类用户账号的前缀长度、用户账号或邮箱类用户账号的前缀中的各类字符组合特征的出现次数、用户账号的注册时间间隔、邮箱类用户账号的后缀种类数、登录的用户账号数量、用户账号的最大单日注册量。
可选的,还包括:
确定单元,确定所述待识别网络地址所属地区的语种类型;
选取单元,根据所述语种类型,选取所述预设数值。
可选的,还包括:
标准化处理单元,对所述预设指标参数的数值信息进行标准化处理,并将处理后的数值信息用于所述计算单元计算所述信息熵。
可选的,所述判定单元具体用于:
统计满足相应的信息熵的数值小于预设数值的预设指标参数的数量;
当统计出的数量大于或等于预设数量时,判定所述待识别网络地址存在批量注册用户账号的异常状况。
可选的,所述判定单元具体用于:
当所述信息熵的数值小于预设数值,且数值差大于或等于预设差值时,判定所述待识别网络地址存在批量注册用户账号的异常状况。
因此,本申请通过获取同一网络地址在注册用户账号时的预设指标参数,并根据该预设指标参数的数值信息计算对应的信息熵,可以对该网络地址下的多个用户账号的信息离散度进行数值化,得到这些用户账号之间的描述信息量,从而准确识别出相应的网络地址是否存在批量注册用户账号的异常状况。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。