PassGAN:一种用于密码破译的深层学习方法(一)

本文是论文中的摘要以及第一部分

摘要:很多殿堂级的密码破译工具,如HashCat John the Ripper,能够让用户通过核对密码的哈希值每秒破译数百万密码。除了简单字典攻击,这些工具使用密码生成规则能够扩大字典。

这些规则定义了转换规则,比如单词的连接(例如:password123456)和leet speaking(比如:”password”变成”p4s5w0rd”)。尽管这些规则在当前的数据集中表现良好,创造一个为新的数据集优化的新规则是一项费力的任务,要完成这项文物需要具备特定的专业知识。

在这篇文章中,我们设计如何用基于机器学习理论的密码生成方法替代人工产生的密码规则。这一成就的结果就是PassGAN,一种利用生成对抗网络(GANs)来增强密码破译的新方法。PassGAN通过在泄露密码列表中训练GAN来实现密码破译。因为GAN的输出与训练集密切相关,通过PassGAN生成的密码很可能会匹配到那些还没有泄露密码。PassGAN的出现表明基于规则的密码生成工具产生了实质性的改进,因为它是通过密码数据而不是利用手动分析,自动推断密码分布信息。因此,PassGAN能够毫不费力的利用新的密码泄露生成一个更丰富的密码分布。

我们的实验表明,这种方式非常有前途。当我们在两个大的密码数据集中评估PassGAN时,我们平均超过John the RipperSpyderLab规则两倍,而且我们和HashCatbest64gen2规则竞争——我们的结果在HashCat规则的两倍以内。更重要的是,当我们把PassGAN的输出和HashCat的输出结合起来时,我们大约比单独使用HashCat多匹配18%~24%的密码。这是非常引人注目的,因为它表明PassGAN能够产生相当数量的密码,远超过了当前的工具

 

1 .介绍

密码是最受欢迎的认证方式,主要是因为它很容易的实施,不需要其他的硬件或软件,用户和开发者都对密码非常熟悉。不幸的是,多个密码数据库泄露表明用户倾向于选择容易猜到的密码,主要由常见字符串和常见字符串的变种组成(比如:password,1234546,iloveyou)。

密码破译工具为识别弱密码提供了有价值的工具,特别是当它们以散列形式存储时。密码破译软件针对每一个密码的哈希值做测试,密码破译软件的有效性取决于快速测试大量密码的能力。取代尝试所有可能的字符组合,密码破译工具采用了新的方法,即使用字典中的单词和之前泄露的密码作为候选人密码。很多殿堂级的密码破译工具,例如:John the RipperHashCat,通过定义密码转换的试探方法,进一步理解这种方法。这种方法包含多种单词组合(比如:iloveyou123456,混合字母(比如:iLoVeyOu,leet peak(比如:il0v3you).这些探索法,结合Markov模型,允许John the RipperHashCat产生大量新的具有极高可能性的密码。

尽管这个探索法在实践中极有可能成功,他们是点对点并且基于用户如何选择密码的直觉,而不是从大型密码数据库的连贯性和原则性分析出来。之后,发展和测试新的探索法是一个耗时的任务.为了解决这一短板,在这篇文章中我们提出PassGAN,一个新的生成密码评估的方式,基于深度学习和生成对抗性网络(GANs)。GANs是最近介绍的机器学习工具,被设计用来执行高维空间的密度估计。一个GANs是由两个深度神经网络组成:一个生成的深度神经网络(G)和一个判别式深度神经网络(D)。D的设计目的是区分由G生成的“真实样本”和“伪样本”。这两个深度神经网络通过多次迭代,互相影响。在每一次迭代,把来自G的伪样本为DD的输出会提供给GGD的输出作为反馈生成与实际样本越来越接近的伪样本。经过做够数量的重复,G的输出成为了GAN的输出。PassGAN促使这一技术成为新的密码猜测。我们的核心观点是使用泄露的密码列表(真实样本)训练D。因此,每一次迭代,PassGAN的输出(伪样本)变得接近原始泄露中的密码的分布,而且因此更加匹配真正的用户的密码。据我们所知,这个工作是第一次为这个目的使用GANs

PassGAN表示原则性强的和扎根理论呈现这一代密码猜测。我们探索不同的神经网络配置,参数和培训程序,为了确定适当的平衡在学习和过拟合之间,和报告我们的结果。特别是,我们的贡献遵循:(1)我们表明GANs能够生成高质量的密码猜测。在我们的实验中,我们能够匹配5,919,936个密码当中的2774269个(46.86%)从RockYou数据集中一个由真实用户密码组成的测试集,以及LinkedIn数据集当中43,354,871个密码当中的4,996,980个(11.53%)。更进一步,具有压倒性优势的数量的由PassGAN生成的密码不匹配我们的测试集仍然“看起来像”人类生成的密码;(2)我们发现我们的技术能够跟蛋汤记得密码生成规则竞争。即使这些规则都是真闷针对在我们的评估中使用的数据集,PassGAN的输出的质量可以和这些殿堂级的密码规则媲美(在hashCat情况下),或者比那些殿堂级的密码规则更好(在John the Ripper的情况下);(3)我们的结果同样也表明PassGAN能够用来补充密码生成规则。在我们的实验中,我们成功地使用PassGAN生成不由密码规则生成的密码匹配。当我们吧PassGAN的产出和HashCat的产出结合在一起,和HashCat相比,我们能够额外匹配18%24% 独特代码;(4)与密码生成规则相比,PassGAN能够生成几乎无限大的密码猜想。我们的实验表明,新的密码猜想的数量随着GAN生成的密码的总数量稳固增长。这是非常重要的,因为当前用规则生成的密码的数量,最终取决于实例化这些规则的密码数据集的规模。

 

我们认为这个工作是实现自动化生成高质量密码猜测的第一步。当我们用足够大的密码数据集训练,或者当我们把一个足够复杂的神经网体系结构实例化时,我们的结果构成GANs能够超越基于规则的密码猜测的证据。此外,PassGAN实现这一结果,当要求没有用户成就通常与密码猜测规则

 

我们认为这个工作是有重要意义的,具有重要性的,而且及时的。之所以说有重要意义,是因为尽管有无数的选择,我们几乎看不到密码将会很快被取代的可能性。之所以说具有重要性,是因为建立密码破译的限制能够有助于使基于密码的系统更安全。至于及时性,则是因为近期的密码泄露包含数亿密码,为攻击者破坏系统提供一个强大的数据源,而且系统管理员也会重新评估密码策略。

*参考来源:PassGAN: A Deep Learning Approach for Password Guessing,丁牛网安实验室小编eva编辑,如需转载请标明出处

取消
Loading...

相关推荐

填写个人信息

姓名
电话
邮箱
公司
行业
职位
css.php