一种蜜罐口令系统及其生成方法与流程

文档序号:18466285发布日期:2019-08-17 02:29阅读:461来源:国知局
一种蜜罐口令系统及其生成方法与流程

本发明属于信息安全领域,尤其涉及一种蜜罐口令系统及其生成方法。



背景技术:

口令认证是保证网络安全的第一道屏障。但是口令数据库的泄漏是口令认证的最主要的安全问题。很多网站的口令数据库被泄漏后多年来都未被发觉,这给用户带来了财产和隐私信息等损失。为了防止这种攻击,就需要有一个能够检测口令数据库泄漏的机制。目前一些研究者提出了一种名为“蜜罐口令”的方法,用于检测口令数据库泄露。其基本思路是为每个用户多个假口令(一般选取20个假口令),这些假口令称为蜜罐口令。

在口令数据库中将蜜罐口令与用户真实口令一起存储。任何使用蜜罐口令登陆就可以被认为存在口令数据库泄漏现象。这里的一个关键问题是,蜜罐口令与用户真实口令是不能区分的,如果能够区分,攻击者就能够避开蜜罐口令,从中识别出真实口令。因此,一个蜜罐口令系统应该生成的蜜罐口令与该用户的真实口令是不能区分的。

但是,用户选择的口令具有许多特征,为了能够记住自己选中的口令,用户常常选择与个人信息有关,并且存在一定语义的口令。如果蜜罐系统产生的蜜罐口令不具备这些特征,聪明的攻击者很容易从这些口令中找出真实口令。目前常见的蜜罐口令生成方法包括:调整真实口令中某个字符的位置并代换该字符后的口令作为蜜罐口令;随机口令作为蜜罐口令;用真实口令概率模型生成蜜罐口令;或者用其他用户的真实口令作为该用户的蜜罐口令。这些方法实际上没有考虑用户的个人信息和口令语义特征,攻击者根据个人信息和口令的语义能够区分真实口令和蜜罐口令;而且现有技术没有通过分析用户名和口令的语义特征,以及这些特征出现的频率,来生成蜜罐口令,造成生成的蜜罐口令不具有真实口令的语义和个人信息,并且蜜罐口令强度也与真实口令强度不相近,最终易使攻击者根获取用户个人信息,能够区分蜜罐口令和真实口令。

综上所述,现有技术存在的问题是:

攻击者根据用户的个人信息和用户选择口令的特征,容易区分真实口令和蜜罐口令。

解决上述技术问题的难度:

用户选择的真实口令常常蕴含某种含义,并具有个性化特征,这需要蜜罐口令产生系统充分理解用户口令的特征,在此基础上产生具有类似特征的蜜罐口令,以便于与用户真实口令具有不可区分性。

解决上述技术问题的意义:

如果蜜罐口令与真实口令具有不可区分性,就能够更准确地检测到一个口令数据库是否被偷盗。其原因是:当攻击者破解了口令数据库,知道每个用户对应多个口令,其中一个是真实口令,其余是蜜罐口令。如果蜜罐口令与真实口令不可区分,攻击者只能一个一个地在线尝试登陆,当攻击者使用蜜罐口令登陆时,系统就知道可能存在口令数据库泄漏事件。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种蜜罐口令系统及其生成方法。使蜜罐口令与用户真实口令不能区分。当用户注册时,选择了用户名和口令,蜜罐口令系统就分析口令的各种特征,根据这些特征就生成同样特征的蜜罐口令。本发明的系统为每个用户生成多个蜜罐口令(假口令);这样,每个用户名对应多个口令,其中只有一个是真实口令,其余是蜜罐口令。本发明是通过分析用户名和口令的语义特征,以及这些特征出现的频率,来生成蜜罐口令。首先分析用户名是否包含用户名的部分字符串,也就是判断是否存在一定的联系。其次,将用户选择的口令模块化分段,每段是一组同类型字符串;分析真实口令中每个模块的语义特征;用已经泄漏的口令作为训练数据,采用口令猜测算法pcfg生成真实口令中每个模块出现的频率。本发明生成的蜜罐口令与真实口令具有与用户名相近的联系、相同的模块、并有相似的语义以及相近的模块频率,并且蜜罐口令强度也与真实口令强度相近。

具体的,本发明是这样实现的:一种蜜罐口令生成方法,所述蜜罐口令生成方法包括以下步骤:

第一步,分析真实口令是否包含用户名或者用户名的一部分,如果包含,蜜罐口令也包含用户名中一些信息。如果不包含,蜜罐口令包含用户名的部分信息,或不包含用户名的信息。

第二步,将用户口令模块化分段,每段是一组同类型字符串。

第三步,分析真实口令中每个模块的语义特征。

第四步,用已经泄漏的口令作为训练数据,采用口令猜测算法pcfg计算真实口令中每个模块出现的频率。

第五步,生成与真实口令具有相同的模块的蜜罐口令,并与真实口令具有相似的语义以及相近的模块频率。

进一步,第二步中,将口令按照三个模块进行划分,分别是数字模块,字母模块和特殊字符模。

进一步,第三步中,常见口令的数字模块的特征为单一数字、顺序数字、重复数字、某个日期、幸运数字或电话号码。

口令的字母模块的特征为某个单词,汉语拼音、键盘模式、常见的电视和电影名称、一句话的首写字母组成或键盘模式。

若检测到口令中的特殊字符在口令中间位置,则用相对应形状的字母来替换,如果不能用某个形状的字母来替换,则保留。若特殊字符在口令末尾,则不需要用字母来替换。

进一步,第五步中,如果真实口令末尾使用特殊字符,蜜罐口令的末尾也采用一个特殊字符,该特殊字符出现的概率与真实口令中特殊字符出现的概率相近。

本发明的另一目的在于提供一种蜜罐口令系统,包括用户、主服务器和辅助服务器。主服务器与辅助服务器通过安全通道相连,用户与主服务器通过网络连接。

进一步,主服务器包括蜜罐口令产生单元和口令文件。蜜罐口令产生单元通过分析用户名和口令的语义特征,以及这些特征出现的频率,生成蜜罐口令。在口令文件中,每个用户名对应多个口令哈希。

辅助服务器中存储真实口令哈希所对应的索引号。

进一步,蜜罐口令产生单元首先分析用户名是否包含用户名的部分字符串,判断是否存在一定的联系。其次,将用户选择的口令模块化分段,每段是一组同类型字符串。

进一步,蜜罐口令产生单元接着分析真实口令中每个模块的语义特征。用已经泄漏的口令作为训练数据,采用口令猜测算法pcfg生成真实口令中每个模块出现的频率。

综上所述,本发明的优点及积极效果为:

本发明通过分析用户名和口令的语义特征,以及这些特征出现的频率,来生成蜜罐口令,这样生成的蜜罐口令具有真实口令的语义和个人信息,并且蜜罐口令强度也与真实口令强度相近。当攻击者偷盗了主服务器中的口令文件,即使攻击者用最先进的方法离线猜出了所有口令哈希,但由于本发明提出的蜜罐口令生成方法能够生成与真实口令最接近的语义、结构和强度,攻击者没有任何优势来区分真实口令和蜜罐口令,攻击者只能使用其中一个口令尝试登陆,当使用的是蜜罐口令,马上触发报警,并通知系统管理员可能存在口令数据库泄漏。

附图说明

图1是本发明实施例提供的蜜罐口令系统结构图。

图中:1、用户;2、主服务器;3、辅助服务器。

图2是本发明实施例提供的蜜罐口令生成方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明涉及的蜜罐是一种假的攻击目标,其目的是引诱攻击者来攻击,从而通过监测与分析,就可以知道攻击者是如何入侵的,随时了解针对服务器发动的攻击和服务器是否存在漏洞。蜜罐口令是一些假口令,与用户的真实口令一起存储在数据库中,当攻击者破解了一些口令,试图用破解的口令登陆,当登陆的口令是蜜罐口令,系统就会发出警报,通知系统管理可能存在口令数据库泄漏现象。

目前常见的蜜罐口令生成方法包括:调整真实口令中某个字符的位置并代换该字符后的口令作为蜜罐口令。随机口令作为蜜罐口令。用真实口令概率模型生成蜜罐口令。或者用其他用户的真实口令作为该用户的真实口令。这些方法实际上没有考虑用户的个人信息和口令语义特征,攻击者根据个人信息和口令的语义能够区分真实口令和蜜罐口令。而且现有技术没有通过分析用户名和口令的语义特征,以及这些特征出现的频率,来生成蜜罐口令,造成生成的蜜罐口令不具有真实口令的语义和个人信息,并且蜜罐口令强度也与真实口令强度不相近,最终易使攻击者根获取用户个人信息,能够辨别哪些是蜜罐口令。

针对现有技术存在的问题,本发明提供了一种蜜罐口令系统及其生成方法,下面结合附图对本发明作详细的描述。

如图1所示,本发明实施例提供的蜜罐口令系统,包括用户1、主服务器2和辅助服务器3。主服务器与辅助服务器通过安全通道相连,用户与主服务器通过网络连接。

主服务器2包括蜜罐口令产生单元和口令文件。蜜罐口令产生单元通过分析用户名和口令的语义特征,以及这些特征出现的频率,生成蜜罐口令。在口令文件中,每个用户名对应多个口令哈希。

辅助服务器3中存储真实口令哈希所对应的索引号。

主服务器2中的蜜罐口令产生单元首先分析用户名是否包含用户名的部分字符串,判断是否存在一定的联系。其次,将用户选择的口令模块化分段,每段是一组同类型字符串。

主服务器2中的蜜罐口令产生单元接着分析真实口令中每个模块的语义特征。用已经泄漏的口令作为训练数据,采用口令猜测算法pcfg生成真实口令中每个模块出现的频率。

如图2所示,本发明实施例提供的蜜罐口令生成方法通过分析用户名和口令的语义特征,以及这些特征出现的频率,来生成蜜罐口令。首先分析用户名是否包含用户名的部分字符串,也就是判断是否存在一定的联系。其次,将用户选择的口令模块化分段,每段是一组同类型字符串。分析真实口令中每个模块的语义特征。用已经泄漏的口令作为训练数据,采用口令猜测算法pcfg生成真实口令中每个模块出现的频率。

具体包括:

(1)分析真实口令是否包含用户名或者用户名的一部分,如果包含,蜜罐口令也包含用户名中一些信息,如果不包含,蜜罐口令可以包含用户名的部分信息,也可以不包含用户名的信息。

(2)将用户口令模块化分段,每段是一组字符串。用户为了容易记忆,口令常常是模块化,如数字模块,字母模块和特殊字符模块。

(3)分析真实口令中每个模块的语义特征。数字模块的特征可能是单一数字,顺序数字,重复数字,某个日期,幸运数字,电话号码等等。字母模块的特征常常某个单词,拼音,一句话的首写字母组成,键盘模式等等。如果检测到特殊字符在口令中间位置,则用相对应形状的字母来替换,如@用a来替换。如果特殊字符在口令末尾,则不需要用字母来替换。这是由于用户在选择口令时,为了能够达到网站提出的口令组成要求。常常在口令末尾使用某个特殊字符或者标点符号。

(4)用已经泄漏的口令作为训练数据,采用口令猜测算法pcfg生成真实口令中每个模块出现的频率。

(5)生成的蜜罐口令与真实口令具有相同的模块,相似的语义以及相近的模块频率。如果真实口令末尾使用了特殊字符,蜜罐口令的末尾按照一定概率选择与真实口令中特殊字符一样,其他的蜜罐口令选择同等概率的特殊字符。

下面结合一个具体例子来说明蜜罐口令的生成过程。

实施例

假设一个用户注册了用户名为“zhang_taobao”,选择的口令为“zhang6666!”。

1)检查口令中是否包含用户名的一个字符串,本例中口令和用户名中有相同的字符串“zhang”,蜜罐口令中也应该包括字符串“zhang”。

2)将口令模块化,假设用a表示字母串,d表示数字串,s表示特殊字符串。口令“zhang6666!”模块化为a5d4s1,这表示5个字母,4个数字和1个特殊字符。

3)分析口令模块中的语义。“zhang6666!”中字母模块是汉语拼音“张”,数字模块是4个重复数字6,特殊字符为感叹号。

4)使用已经泄漏的口令作为训练数据,训练数据量至少为10万以上,最好为几千万。用口令猜测算法pcfg计算口令模块a5d4s1和每个字符类型模块的频率,即是计算“zhang6666!”,“zhang”,“6666”,“!”的频率。

按照口令模块a5d4s1结构生成蜜罐口令,选择与用户名相同的字母子模块代替a5,选择与真实口令子数字模块d4相似的语义,并且相近的频率,例如1234,1111,8888等与真实口令的“6666”具有相似的语义和相近的频率,真实口令末尾是感叹号,蜜罐口令的末尾可以是感叹号,也可以是与感叹号相近频率的“%”,因此,生成的蜜罐口令可以是“zhang1234!”,也可以是“zhang8888%”。

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

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