一种非法用户名的识别方法和系统与流程

文档序号:11156566阅读:390来源:国知局
一种非法用户名的识别方法和系统与制造工艺

本发明涉及信息安全领域,特别是涉及一种非法用户名的识别方法和系统。



背景技术:

随着信息技术的发展,互联网已经成为一种不可或缺的重要工具,在人们日常的工作、生活中发挥着越来越重要的作用。人们通过互联网进行游戏、收发信息、网上交易、获得服务等,以上这些活动的一个最基本要求是具有一个确认用户身份的用户名。广义上的用户名包括网银账号、邮箱号码、游戏账号、微信账号、论坛账号等。为了使用方便,人们一般会利用或长或短的字符串作为用户名,以便于记忆和输入。

随着人们对互联网的依赖,网络安全也成为互联网服务者必须予以重视的重要方面,必须能够防止非法用户的侵入,从而避免用户的信息发生泄漏。目前,一些不法分子会利用机器生成众多的用户名进行恶意注册,意图侵入网络窃取信息或进行其他的违法活动,因此防止恶意注册成为保证互联网安全的一项重要措施。



技术实现要素:

有鉴于此,本发明提供了一种非法用户名的识别方法和系统,以便网络服务器在识别出非法用户名的基础上能够阻止其恶意注册,从而保证网络的安全性。

为了解决上述问题,本发明实施例公开了一种非法用户名的识别方法,应用于网络服务器,包括如下步骤:

获取用户输入的用户名,所述用户名中包括字符串;

利用预设的基于逻辑斯特回归模型的字符串识别模型对所述用户名进行处理,得到所述用户名的置信度指标;

当所述置信度指标低于预设的置信度阈值时,将所述用户名判定为非法用户名。

可选的,字符串识别模型通过如下步骤获取:

获取多个字符串样本;

提取所述字符串样本的字符串特征;

利用所述字符串特征对预设的逻辑斯特回归模型进行训练,得到所述字符串识别模型。

可选的,所述字符串特征包括:

所述字符串样本的熵;

预选的特征字符在所述字符串样本中出现的次数和概率;

所述特征字符最大连续长度;

任意两种所述特征字符在所述字符串样本中出现次数的比率;

任意两种所述特征字符在所述字符串样本中相互切换的次数和比例;

和/或,任意所述特征字符在所述字符串样本中相互切换的次数和比例。

可选的,所述特征字符为所述字符串样本中的小写字母、大写字母、数字和特殊字符中的部分或全部。

可选的,所述利用所述字符串特征对预设的逻辑斯特回归模型进行训练,得到所述字符串识别模型,包括:

利用所述字符串特征对所述逻辑斯特回归模型进行训练;

在训练过程中对所述逻辑斯特回归模型进行交叉验证和参数调优,得到所述字符串识别模型。

相应的,为了保证上述方法的实施,本发明还提供了一种非法用户名的识别系统,应用于网络服务器,包括:

用户名获取模块,用于获取用户输入的用户名,所述用户名中包括字符串;

置信度计算模块,用于利用预设的基于逻辑斯特回归模型的字符串识别模型对所述用户名进行处理,得到所述用户名的置信度指标;

用户名判定模块,用于当所述置信度指标低于预设的置信度阈值时,将所述用户名判定为非法用户名。

可选的,还包括模型训练模块,所述模型训练模块包括:

样本获取单元,用于获取多个字符串样本;

特征提取单元,用于提取所述字符串样本的字符串特征;

模型训练单元,用于利用所述字符串特征对预设的逻辑斯特回归模型进行训练,得到所述字符串识别模型。

可选的,所述字符串特征包括:

所述字符串样本的熵;

预选的特征字符在所述字符串样本中出现的次数和概率;

所述特征字符最大连续长度;

任意两种所述特征字符在所述字符串样本中出现次数的比率;

任意两种所述特征字符在所述字符串样本中相互切换的次数和比例;

和/或,任意所述特征字符在所述字符串样本中相互切换的次数和比例。

可选的,所述特征字符为所述字符串样本中的小写字母、大写字母、数字和特殊字符中的部分或全部。

可选的,所述模型训练单元包括:

第一训练子单元,用于利用所述字符串特征对所述逻辑斯特回归模型进行训练;

第二训练子单元,用于在训练过程中对所述逻辑斯特回归模型进行交叉验证和参数调优,得到所述字符串识别模型。

从上述技术方案可以看出,本发明实施例提供了一种非法用户名的识别方法和系统,该识别方法和系统应用于网络服务器,具体为当某个用户输入用户名时,获取该用户名,该用户名中包括字符串;利用预设的基于逻辑斯特回归模型的字符串识别模型对用户名进行识别,得到用户名的置信度指标;当置信度指标低于预设的置信度阈值时,将该用户名判定为非法用户名。在确定输入的用户名是非法用户后,即可阻止其恶意注册,从而保证了网络的安全性。

本发明着重于解决对用户名中字符串的识别问题,即对用户名字符串进行合法性识别,以此避免非法用户的恶意注册。

附图说明

图1为本发明实施例的一种非法用户名的识别方法的步骤流程图;

图2为本发明实施例的一种字符串识别模型的获取方法的步骤流程图;

图3为本发明实施例的一种非法用户名的识别系统的结构框图;

图4为本发明实施例的另一种非法用户名的识别系统的结构框图。

具体实施方式

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

一般来说,合法用户在设置相应用户名时,其所使用的字符串会有一定的实际意义,例如真实名字、公司名称、生日或其他日期、动植物名称或地名等,而非法用户名由于是利用机器随机生成,因此一般不会具有上述特征,本发明就是基于以上原理对非法用户名进行识别,具体的实施例如下。

实施例一

图1为本发明实施例的一种非法用户名的识别方法的步骤流程图。

参照图1所示,本实施例提供的非法用户名的识别方法应用于网络服务器,用于使网络服务免于有人采用无意义的非法用户名恶意注册导致网络安全问题,具体的识别方法包括如下步骤:

S101:获取用户输入的用户名。

在网络服务器接收到用户意图进行注册而输入的用户名和对应的密码后,获取该用户名,一般来说,该用户名中会包含有字符串。该用户名为网银账号、邮箱号码、游戏账号、微信账号、论坛账号等,以分别用于登录网上银行、邮箱、游戏、微信和论坛。

S102:对用户名进行处理,得到该用户名的置信度指标。

在对用户名进行识别时,本实施例是利用预设的基于逻辑斯特回归模型的字符串识别模型对该用户名进行识别,即利用该字符串识别模型对用户名中的字符串进行识别,识别其中的字符串是否包含相应的含义,通过这种方法识别该用户名的置信度指标。置信度是指用户名可以被信任的程度,因此该置信度指标反映当前被识别的用户名的量化的置信度。

以一定的判断指标对置信度指标进行判断即可确定该用户名是否为合法用户名。所谓合法用户名是指上述的用户名中的字符串具有一定的实际意义,而并不是随机伪造的。

该字符串识别模型来自于逻辑斯特回归模型,是利用提前获取到的多个字符串样本对该逻辑斯特回归模型进行训练后得到的。逻辑斯特回归模型是机器学习中的一种分类模型,由于算法简单和高效,在实际中应用非常广泛。逻辑斯特回归模型本身和求解相对都比较简洁,实现也相对简单。

通过对特征做离散化和其他映射,逻辑斯特回归模型也可以处理非线性问题,是一个非常强大的分类器。因此在实际应用中,能够利用拿到的多个低层次的特征解决相应的问题。

S103:判断用户名是否为非法用户名。

在得到用户名的置信度指标后,即可对于该置信度指标按一定的判断标识进行判断,例如可以预设一个置信度阈值,为了处理方便,可以将置信度指标进行归一化处理,即该置信度指标为一个0~1.0之间的数值。而置信度阈值可以根据经验或者实际的判断效果进行确定和进一步的调整,例如可以选择该置信度阈值为0.6~1.0之间的任意值。当置信度指标超出该置信度阈值时,则可以判定该用户名为合法用户,如果置信度指标低于该置信度阈值,则判定该用户名为非法用户。

在判定用户名为非法用户或合法用户后,即可根据该判断结果确定是否接受该用户名的注册,如果该用户名为非法用户名,则拒绝接受注册,从而可以避免恶意注册导致出现网络安全问题。

从上述技术方案可以看出,本实施例提供了一种非法用户名的识别方法,该识别方法应用于网络服务器,具体为当某个用户输入用户名时,获取该用户名,该用户名中包括字符串;利用预设的基于逻辑斯特回归模型的字符串识别模型对用户名进行识别,得到用户名的置信度指标;当置信度指标低于预设的置信度阈值时,将该用户名判定为非法用户名。在确定输入的用户名是非法用户后,即可阻止其恶意注册,从而保证了网络的安全性。

在本实施例中,上述的字符串识别模型是通过利用字符串样本对预设的逻辑斯特回归模型进行训练得到的,这里的具体训练过程参照图2所示:

S2001:获取多个字符串样本。

字符串样本中包含体现合法用户名的带有一定实际意义的字符串样本,还包括体现非法用户名的不带有实际意义的随机字符串样本。

S2002:提取字符串样本的字符串特征。

字符串特征是指体现字符串样本的预设的具体特征的字符、数字或数值,其意义是对相应的数学模型进行训练,以得到字符串识别模型。

本实施例中的字符串特征包括以下项目中的部分或全部:预先选定的特征字符在该字符串中出现的次数和概率,以及该字符串对应的熵;特征字符在该字符串中出现的最大连续长度值以及与字符串总长度进行归一化得到的比例;特征字符中任意两种字符在该字符串中出现次数的比率;特征字符中任意两种字符在该字符串中相互切换出现的次数和归一化比例;特征字符在该字符串中相互切换出现的总次数和总的归一化比例。其中,通过将最大连续长度值与字符串总长度进行比例运算得到相应的归一化的比例值,可以得到较为标准的数值,从而方便对该数值进行进一步的比较和运算。

其中预先选定的特征字符是指字符串样本中的小写字母、大写字母、数字和特殊字符中的部分或全部,特殊字符是指非拉丁字母、数学运算符、格式符等。

S2003:利用字符串特征对逻辑斯特回归模型进行训练。

通过利用上述得到的字符串特征对预设的逻辑斯特回归模型进行训练,从而得到该字符串识别模型。

另外,在对逻辑斯特回归模型进行训练的同时,还进行相应的交叉验证和参数调优,从而最终得到上述的字符串识别模型。交叉验证用于防止模型过于复杂而引起的过拟合,有时亦称循环估计,是一种统计学上将数据样本切割成较小子集的实用方法。可以先在一个子集上做分析,而其它子集则用来做后续对此分析的确认及验证。

本发明实施例采用的具体的交叉验证的方法包括Holdout验证、K折交叉验证或者留一验证。

严格来说,Holdout验证并非一种交叉验证,因为数据并没有交叉使用。随机从最初的样本中选出部分,形成交叉验证数据,而剩余的就当做训练数据。一般来说,少于原本样本三分之一的数据被选做验证数据。

K折交叉验证中,初始采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用来训练。交叉验证重复K次,每个子样本验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10折交叉验证是最常用的。

留一验证(LOOCV)意指只使用原本样本中的一项来当做验证资料,而剩余的则留下来当做训练资料。这个步骤一直持续到每个样本都被当做一次验证资料。事实上,这等同于和K折交叉验证是一样的,其中K为原本样本个数。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例二

图3为本发明实施例的一种非法用户名的识别系统的结构框图。

参照图3所示,本实施例提供的非法用户名的识别系统应用于网络服务器,用于使网络服务免于有人采用无意义的非法用户名恶意注册导致网络安全问题,具体的识别系统包括用户名获取模块10、置信度计算模块20和用户名判定模块30。

用户名获取模块10用于获取用户输入的用户名。

在网络服务器接收到用户意图进行注册而输入的用户名和对应的密码后,获取该用户名,一般来说,该用户名中会包含有字符串。该用户名为网银账号、邮箱号码、游戏账号、微信账号、论坛账号等,以分别用于登录网上银行、邮箱、游戏、微信和论坛。

置信度计算模块20用于对用户名进行处理,得到该用户名的置信度指标。

在对用户名进行识别时,本实施例是利用预设的基于逻辑斯特回归模型的字符串识别模型对该用户名进行识别,即利用该字符串识别模型对用户名中的字符串进行识别,识别其中的字符串是否包含相应的含义,通过这种方法识别该用户名的置信度指标。置信度是指用户名可以被信任的程度,因此该置信度指标反映当前被识别的用户名的量化的置信度。

以一定的判断指标对置信度指标进行判断即可确定该用户名是否为合法用户名。所谓合法用户名是指上述的用户名中的字符串具有一定的实际意义,而不是随机伪造生成的。

该字符串识别模型来自于逻辑斯特回归模型,是利用提前获取到的多个字符串样本对该逻辑斯特回归模型进行训练后得到的。逻辑斯特回归模型是机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛。逻辑斯特回归模型本身和求解相对都比较简洁,实现也相对简单。

通过对特征做离散化和其他映射,逻辑斯特回归模型也可以处理非线性问题,是一个非常强大的分类器。因此在实际应用中,能够利用拿到的多个低层次的特征解决相应的问题。

用户名判定模块30用于判断用户名是否为非法用户名。

在得到用户名的置信度指标后,即可对于该置信度指标按一定的判断标识进行判断,例如可以预设一个置信度阈值,为了处理方便,可以将置信度指标进行归一化处理,即该置信度指标为一个0~1.0之间的数值。二置信度阈值可以根据经验或者实际的判断效果进行确定和进一步的调整,例如可以选择该置信度阈值为0.6~1.0之间的任意值。当置信度指标超出该置信度阈值时,则可以判定该用户名为合法用户,如果置信度指标低于该置信度阈值,则判定该用户名为非法用户。

在判定用户名为非法用户或合法用户后,即可根据该判断结果确定是否接受该用户名的注册,如果该用户名为非法用户名,则拒绝接受注册,从而可以避免恶意注册导致出现网络安全问题。

从上述技术方案可以看出,本实施例提供了一种非法用户名的识别系统,该识别系统应用于网络服务器,具体为当某个用户输入用户名时,获取该用户名,该用户名中包括字符串;利用预设的基于逻辑斯特回归模型的字符串识别模型对用户名进行识别,得到用户名的置信度指标;当置信度指标低于预设的置信度阈值时,将该用户名判定为非法用户名。在确定输入的用户名是非法用户后,即可阻止其恶意注册,从而保证了网络的安全性。

实施例三

图4为本发明实施例的另一种非法用户名的识别系统的结构框图。

参照图4所示,本实施例提供的非法用户名的识别系统应用于网络服务器,是在上一实施例的基础上增设了模型训练模块40,该模型训练模块用于利用字符串样本对预设的逻辑斯特回归模型进行训练,得到上述的字符串识别模型,该模块具体包括样本获取单元41、特征提取单元42和模型训练单元43。

样本获取单元41用于获取多个字符串样本。

字符串样本中包含体现合法用户名的带有一定实际意义的字符串样本,还包括体现非法用户名的不带有实际意义的字符串样本。

特征提取单元42用于提取字符串样本的字符串特征。

字符串特征是指体现字符串样本的预设的具体特征的字符、数字或数值,其意义是对相应的数学模型进行训练,以得到字符串识别模型。

本实施例中的字符串特征包括以下项目中的部分或全部:预先选定的特征字符在该字符串中出现的次数和概率,以及该字符串对应的熵;特征字符在该字符串中出现的最大连续长度值以及与字符串总长度进行归一化得到的比例;特征字符中任意两种字符在该字符串中出现次数的比率;特征字符中任意两种字符在该字符串中相互切换出现的次数和归一化比例;特征字符在该字符串中相互切换出现的总次数和总的归一化比例。

其中预先选定的特征字符是指字符串样本中的小写字母、大写字母、数字和特殊字符中的部分或全部,特殊字符是指非拉丁字母、数学运输费、格式符等。

模型训练单元43用于利用字符串特征对逻辑斯特回归模型进行训练。该单元包括第一训练子单元431和第二训练子单元432。

第一训练子单元431用于利用上述得到的字符串特征对预设的逻辑斯特回归模型进行训练;第二训练子单元432用于在第一训练子单元431对逻辑斯特回归模型进行训练的同时,进行相应的交叉验证和参数调优,从而最终得到上述的字符串识别模型。

交叉验证用于防止模型过于复杂而引起的过拟合,有时亦称循环估计,是一种统计学上将数据样本切割成较小子集的实用方法。可以先在一个子集上做分析,而其它子集则用来做后续对此分析的确认及验证。

本发明实施例采用的具体的较差验证的方法包括Holdout验证、K折交叉验证或者留一验证。

严格来说,Holdout验证并非一种交叉验证,因为数据并没有交叉使用。随机从最初的样本中选出部分,形成交叉验证数据,而剩余的就当做训练数据。一般来说,少于原本样本三分之一的数据被选做验证数据。

K折交叉验证中,初始采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用来训练。交叉验证重复K次,每个子样本验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10折交叉验证是最常用的。

留一验证LOOCV意指只使用原本样本中的一项来当做验证资料,而剩余的则留下来当做训练资料。这个步骤一直持续到每个样本都被当做一次验证资料。事实上,这等同于和K折交叉验证是一样的,其中K为原本样本个数。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

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

以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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