正在加载图片...
·890· 智能系统学报 第13卷 让人担忧的是,密码的使用者总是倾向于设置一 络能够很好地学习到文本数据特征,并且生成一 些强度低、易猜测的弱密码,例如:abcdefg, 些之前从未出现过的新字符组合。这表明,递归 1234567等。实际上,密码的安全性和方便性之 神经网络并不仅仅只是简单的复刻、重现训练数 间,总是存在某种程度上的折中:即强密码不容 据,而是通过内部的特征表示不同的训练样本, 易被攻击破解,但是对于用户来说,很难记忆;而 在高维度中综合重构出新的数据。我们的PG 弱密码虽然方便记忆和使用,但却容易被猜到。 RNN模型很大程度上是基于之前的这些方法,旨 现阶段大部分网站在用户设定密码时,都会加入 在通过小规模泄露密码样本数据,生成更多符合 密码强度测试机制(一般分为“弱、中等、强”3个 真实用户密码样本分布空间特征的密码,提高密 级别)这样的预防措施能够在一定程度上提醒用 码猜测算法效率;同时,通过端到端的小模型生 户避免设定过于简单的密码。这些机制通常都是 成方式,能够有效地扩充密码攻击字典,缩小密 基于规则的,比如:要求密码必须包含一个数字、 码猜测空间。 一个小写字母或者一个特殊字符山,密码长度在 预测是一个概率问题,对于一个训练好的RN 6-18位之间等。 网络,给定一串输入字符序列,然后计算出下一 如何更快、更有效地找到有效的用户密码, 个字符的概率分布并且根据概率生成下一个出现 一直以来都是一个活跃的研究领域。目前流行的 的字符,并将当前时刻的字符作为下一步网络的 基于规则的密码猜测工具hash-cat,John the ripper 输人。由于密码本身就是一串字符串,因此,密 TR)P,主要通过原有的密码字典或泄露的密码 码的生成和文本生成之间有着非常相似的特点。 数据集,加上密码规则的模糊化和变形来生成新 最早尝试使用递归神经网络来做密码猜测攻击的 的大量近似的密码。文献[4]开发了一种基于模 是一篇博客,它的想法是通过一大堆已经被破 板结构的密码模型PCFGs.,采用了上下文无关法, 解的密码,产生新的、有效的密码,来预测那些还 这种方法背后的思想是将密码切分成不同的模板 没有被破解的密码。但是遗憾的是,作者只是简 结构(e.g,5个小写字母加3个数字),让终端产生 单地搭建了个RNN模型,并没有对模型进行调整 的密码符合这样的密码结构。每个生成的密码 和修改,每个模型只生成了很少的密码数量,而 P概率等于该密码结构类型的概率P,与各子结 且匹配上的密码数量也非常有限,以至于作者对 构的概率乘积,例如,如果一个密码由两部分组 这种方法可行性表示怀疑。最近,文献[11第1次尝试 成:字母+数字,那么该密码的生成概率则为P= 了使用生成对抗网络2l(generative adversarial Pleter PigiPT,值得一提的是,PCFGs模型在针对长 networks,GAN)来进行密码猜测攻击。在生成对 密码时有着较好的效果。文献[1]采用一种基于 抗网络PassGAN中,生成网络G和对抗网络D采 马尔可夫的模型,该模型通过评估n元概率的原 用的都是卷积神经网络,生成网络G接受输入作 理,在衡量密码强度上性能要优于基于规则的方 为噪声向量,前向传播经过卷积层后输出一个长 法。文献[6]系统地比较和实现了目前流行的几 度为l0的one-hot编码的字符序列。这些字符序 种密码猜测的技术来评估密码强度,发现字典攻 列经过Softmax非线性函数之后,进入对抗网络 击在发现弱密码时最有效,它们能够快速地以哈 D中进行判别。在测试中,文献[11]通过两个网 希校验的方法快速检验大量规则相似的密码,而 站公开泄露的密码数据集来训练PassGAN 马尔可夫链模型则在强密码时表现更加突出。所 模型,然后生成不同数量级别的密码数量,结果 有的这些攻击方法随着搜索空间的不断扩大,有 显示他们的模型能够在测试密码数据中匹配上一 效性会出现指数型的下降刀。 定数量的密码。Melicher等提出了一种快速的 尽管上述的这些方法,都能够在一定程度上 密码猜测方法,他们采用了复杂的3层长短时记 弥补人为设定密码规则的一些不足,但是这些方 忆(long-short term memory,.LSTM)递归层和两层 法往往也包含大量非真实用户设置密码;此外, 全连接层的网络来产生新的密码字符序列。在测 密码规则的确立和启发式探索依然需要大量密码 评中,文献[13]基于蒙特卡罗仿真的方法:在一个 专家的参与。对于人为设定的密码,在一定程度 非常大的数量范围内(10°~10),对模型在5组密 上,可以将其看成语言的延伸,因此,明文密码的 码长度、字符类型都不同的测试数据上进行测 设置习惯依然符合人类的表达习惯;在本文中我 试,结果表明他们的方法性能要优于基于字典和 们希望能够直接、有效地挖掘出密码的一些内在 规则的Hash-cat与JTR,以及基于概率的PCFGs 的规律或特征。文献[8-9]中,展示了递归神经网 Markov模型。让人担忧的是,密码的使用者总是倾向于设置一 些强度低、易猜测的弱密码,例如: abcdefg, 1234567 等。实际上,密码的安全性和方便性之 间,总是存在某种程度上的折中:即强密码不容 易被攻击破解,但是对于用户来说,很难记忆;而 弱密码虽然方便记忆和使用,但却容易被猜到。 现阶段大部分网站在用户设定密码时,都会加入 密码强度测试机制 (一般分为“弱、中等、强”3 个 级别) 这样的预防措施能够在一定程度上提醒用 户避免设定过于简单的密码。这些机制通常都是 基于规则的,比如:要求密码必须包含一个数字、 一个小写字母或者一个特殊字符[1] ,密码长度在 6~18 位之间等。 如何更快、更有效地找到有效的用户密码, 一直以来都是一个活跃的研究领域。目前流行的 基于规则的密码猜测工具 hash-cat,John the ripper (JTR)[2-3] , 主要通过原有的密码字典或泄露的密码 数据集,加上密码规则的模糊化和变形来生成新 的大量近似的密码。文献[4]开发了一种基于模 板结构的密码模型 PCFGs,采用了上下文无关法, 这种方法背后的思想是将密码切分成不同的模板 结构 (e.g.,5 个小写字母加 3 个数字),让终端产生 的密码符合这样的密码结构。每个生成的密码 P 概率等于该密码结构类型的概率 PT 与各子结 构的概率乘积,例如,如果一个密码由两部分组 成:字母+数字,那么该密码的生成概率则为 P= PletterPdigitPT,值得一提的是,PCFGs 模型在针对长 密码时有着较好的效果。文献[1]采用一种基于 马尔可夫的模型,该模型通过评估 n 元概率的原 理,在衡量密码强度上性能要优于基于规则的方 法。文献[6]系统地比较和实现了目前流行的几 种密码猜测的技术来评估密码强度,发现字典攻 击在发现弱密码时最有效,它们能够快速地以哈 希校验的方法快速检验大量规则相似的密码,而 马尔可夫链模型则在强密码时表现更加突出。所 有的这些攻击方法随着搜索空间的不断扩大,有 效性会出现指数型的下降[7]。 尽管上述的这些方法,都能够在一定程度上 弥补人为设定密码规则的一些不足,但是这些方 法往往也包含大量非真实用户设置密码[5] ;此外, 密码规则的确立和启发式探索依然需要大量密码 专家的参与。对于人为设定的密码,在一定程度 上,可以将其看成语言的延伸,因此,明文密码的 设置习惯依然符合人类的表达习惯;在本文中我 们希望能够直接、有效地挖掘出密码的一些内在 的规律或特征。文献[8-9]中,展示了递归神经网 络能够很好地学习到文本数据特征,并且生成一 些之前从未出现过的新字符组合。这表明,递归 神经网络并不仅仅只是简单的复刻、重现训练数 据,而是通过内部的特征表示不同的训练样本, 在高维度中综合重构出新的数据。我们的 PG￾RNN 模型很大程度上是基于之前的这些方法,旨 在通过小规模泄露密码样本数据,生成更多符合 真实用户密码样本分布空间特征的密码,提高密 码猜测算法效率;同时,通过端到端的小模型生 成方式,能够有效地扩充密码攻击字典,缩小密 码猜测空间。 预测是一个概率问题,对于一个训练好的 RNN 网络,给定一串输入字符序列,然后计算出下一 个字符的概率分布并且根据概率生成下一个出现 的字符,并将当前时刻的字符作为下一步网络的 输入。由于密码本身就是一串字符串,因此,密 码的生成和文本生成之间有着非常相似的特点。 最早尝试使用递归神经网络来做密码猜测攻击的 是一篇博客[10] ,它的想法是通过一大堆已经被破 解的密码,产生新的、有效的密码,来预测那些还 没有被破解的密码。但是遗憾的是,作者只是简 单地搭建了个 RNN 模型,并没有对模型进行调整 和修改,每个模型只生成了很少的密码数量,而 且匹配上的密码数量也非常有限,以至于作者对 这种方法可行性表示怀疑。最近,文献[11]第 1 次尝试 了使用生成对抗网络[12] (generative adversarial networks, GAN) 来进行密码猜测攻击。在生成对 抗网络 PassGAN 中,生成网络 G 和对抗网络 D 采 用的都是卷积神经网络,生成网络 G 接受输入作 为噪声向量,前向传播经过卷积层后输出一个长 度为 10 的 one-hot 编码的字符序列。这些字符序 列经过 Softmax 非线性函数之后,进入对抗网络 D 中进行判别。在测试中,文献[11]通过两个网 站公开泄露的密码数据集来训 练 PassGAN 模型,然后生成不同数量级别的密码数量,结果 显示他们的模型能够在测试密码数据中匹配上一 定数量的密码。Melicher 等 [13]提出了一种快速的 密码猜测方法,他们采用了复杂的 3 层长短时记 忆 (long-short term memory, LSTM) 递归层和两层 全连接层的网络来产生新的密码字符序列。在测 评中,文献[13]基于蒙特卡罗仿真的方法:在一个 非常大的数量范围内 (1010~1025),对模型在 5 组密 码长度、字符类型都不同的测试数据上进行测 试,结果表明他们的方法性能要优于基于字典和 规则的 Hash-cat 与 JTR,以及基于概率的 PCFGs、 Markov 模型。 ·890· 智 能 系 统 学 报 第 13 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有