前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Science】破解密码“AlphaGo”诞生,训练Gan破解27%LinkedIn测试集密码

【Science】破解密码“AlphaGo”诞生,训练Gan破解27%LinkedIn测试集密码

作者头像
新智元
发布2018-03-22 11:55:27
1.1K0
发布2018-03-22 11:55:27
举报
文章被收录于专栏:新智元

【新智元导读】一项新的研究旨在使用生成对抗网络(GAN) 来加快密码破解的速度。斯蒂文斯理工学院的研究人员用类似“AlphaGo”的方法,利用超过 4300 万的LinkedIn 个人资料来训练模型,辅助 hashCat 这一目前最强大的密码猜测程序,破解了 LinkedIn 密码测试组中 27% 的密码。研究者确信,尽管在这次演示中,是PassGAN 在辅助hashCat ,但经过迭代的PassGan会超过HashCat。HashCat 使用了固定的规则,无法自己生成超过6.5 亿个密码。而自行产生规则的PassGan可以创建无限的密码。PassGAN 将在神经网络中增加更多层,并利用更多泄露的密码进行训练。“AlphaGo生成了一些专家从未见过的新策略,” 论文的合著者、斯蒂文斯理工学院的计算机科学家Giuseppe Ateniese 说,“我认为,如果你给PassGAN足够的数据,它就能提出人类无法理解的密码生成规则。”

此前 GAN 多用于图像任务,应用于文本还很少见

上周,信用报告机构 Equifax 宣布,有黑客恶意泄漏了其系统中1.43 亿人的个人信息。这很让人担心,如果黑客想要通过简单地猜测你的密码来访问你的在线数据,那么可能一个小时内就能搞定。现在更多的坏消息来了:研究人员创建了一个 GAN,结合现有工具,利用超过 4300 万的LinkedIn 个人资料来训练模型,猜对了其中四分之一的密码。

John Ripper 和 hashCat 是目前最强大的密码猜测程序,它们使用了几种技术。一种是暴力解码,随机尝试各种字符的组合,直到得到正确的那个。而其他方法则需要此前存在泄露的密码信息,然后通过概率方法,基于以前的密码来推测出现在密码中的每个字符。在一些网站上,这些程序能猜对90%以上的密码。但它们需要多年的人工编码来构建攻击计划。

新的研究旨在通过应用深度学习技术来加快这一进程。斯蒂文斯理工学院的研究人员构建了一个生成对抗网络(GAN),由生成器和鉴别器这两个人工神经网络组成。此前对于 GAN 的应用多集中于图像识别。生成器产生模仿实例(实际照片)的人工输出(如图像),而“鉴别器”努力剔除模仿者,检测出真实的照片。它们彼此完善,直到生成器和鉴别器都变得更好。

“GAN 已经被用于制作逼真的图像,但在文本上的应用还不多。”论文的合著者、斯蒂文斯理工学院的计算机科学家Giuseppe Ateniese 表示。从这一角度上说,将 GAN 应用于密码生成也是一项突破。

PassGan和hashCat结合,能够破解LinkedIn 密码组中27%的密码

斯蒂文斯研究团队创建了一个名为PassGAN 的GAN,并将其与hashCat 的两个版本和John Ripper 的一个版本进行了比较。科学家们为每个工具投喂了一个称作 RockYou 的游戏网站上泄露的上千万条密码,并要求它们自己生成数亿个新密码。然后,他们计算了这些新密码中有多少与LinkedIn 中一组泄露的密码相匹配,以衡量它们的破解成功率。

PassGAN 自行生成了LinkedIn 密码组中12%的密码,而其三个竞争对手的成绩则是6%至23%。但是最好的性能来自于PassGAN 和hashCat 的组合。它们结合在一起,能够破解LinkedIn 密码组中27%的密码。本月在arXiv 上发布的一份研究报告甚至指出, PassGan 生成的“失败”密码看上去都很真实,比如saddracula,santazone,coolarse18。

Gan 生成的唯一密码的数量,以及匹配 RockYou 测试集中密码的数量

“使用GAN来帮助猜测密码是一项新研究,”纽约大学研究这项技术的计算机科学家Martin Arjovsky表示,他这篇论文“证实了简单的机器学习解决方案能够带来关键的优势,但也存在着一些明显的问题。”

使用PassGan、HashCat 和 JTR生成密码的唯一性和创新性比较

纽约市 Cornell Tech 研究计算机安全的计算机科学家Thomas Ristenpart (他并未参与此项研究)说:“我不确定,是否有必要用GAN这样的‘重武器’来实现这样的效果。也许更简单的机器学习技术也可以帮助HashCat(Arjovsky同意)。他还表示,这项工作可以帮助用户和企业衡量密码的安全性。“这种新技术也可能用于生成假密码,以帮助检测违规行为。”

技术解读:PassGan 的输出质量相当于或超越密码生成规则

使用 PassGan、HashCat 和 JTR 在 RockYou 测试集上生成的密码数量比较

在PassGAN 中,研究人员探索了不同的神经网络配置、参数和训练流程,以确定学习和过度拟合之间的适当平衡。具体来说,研究者的贡献如下:(1)显示GAN 可以生成高质量的密码猜测。在实验中,对于RockYou 数据集来说,研究者能够匹配真实用户密码组成的测试集5,919,936个密码中的2,774,269个(46.86%),而匹配LinkedIn数据集43,454,871个密码中的4,996,980个(11.53%)。Pass-GAN生成的与测试集不符的绝大多数密码仍然“看起来像”人为密码;(2)研究展示出其技术与此前最先进的密码生成规则可以一较高下。尽管这些规则是针对评估中使用的数据集进行了专门调整的,但PassGAN的输出质量与密码生成规则相当(在HashCat 中),或者比密码生成规则更好(在John Ripper中);(3)研究结果还表明,PassGAN可用于补充密码生成规则。在实验中,研究者成功地使用了PassGAN 来生成匹配任何密码规则都无法生成的密码。当研究者将PassGAN 的输出与HashCat 的输出相结合时,与单纯使用HashCat 相比,能够匹配从18%到24%的额外唯一密码(4)与密码生成规则相反,PassGAN可以生成几乎无限数量的密码猜测。实验表明,新的(唯一)密码猜中的数量随GAN 生成的密码总数稳步增加。这很重要,因为目前使用规则生成的唯一密码的数量会受到这些规则的密码数据集大小的限制。

使用 PassGan、HashCat 和 JTR 在 LinkedIn 测试集上生成的密码数量比较

PassGan模型使用了下列超参数:

BatchSize ,表示在优化器的每个步骤中在GAN 中传播的训练集中的密码数。

•迭代次数,表示GAN 调用其 forward step 及其反向传播步骤的次数。在每次迭代中,GAN运行一次生成器迭代和一次或多次鉴别器迭代。

每次生成器迭代时鉴别器的迭代次数,表示生成器在每个GAN 迭代中执行的迭代次数。

•模型维数,表示每个卷积层的维数(权重)。

• Gradientpenalty coefficient(λ),其规定了针对其输入,对鉴别器梯度范数(the norm of thegradient of the discriminator)施加的 penalty。增加这个参数可以使得GAN训练的更稳定。

•输出序列长度,表示生成器生成的字符串的最大长度。

•输入噪声向量(seed)的大小,用于确定为了生成样本而将多少个随机 bits 作为输入馈送到G。

• 样本的最大数量,表示要加载的训练项目的最大数量(在PassGAN 中,指密码数量)。

•Adam优化器的超参数:

o学习率,即调整模型权重的频率

o系数β1,规定了梯度的运行平均值的衰减率。

o系数β2,表示梯度的平方的运行平均值的衰减率。

类似于密码破解任务中的“AlphaGo”,能够提出人类无法理解的规则

事实上,CMU 构建的高效神经网络此前已经引发了关注(关于这项研究我们稍后会介绍),而 Ateniese 准备在提交论文进行同行评议之前,先把它和 PassGAN 进行比较。

Ateniese 说,尽管在这次演示中,是PassGAN 在辅助hashCat ,但他“确信” 经过迭代的PassGan会超过HashCat。部分原因在于,HashCat使用了固定的规则,无法自己生成超过6.5 亿个密码。

而自行产生规则的PassGan可以创建无限的密码。Ateniese 说:“此时它正在生成数百万个密码。”Ateniese 还表示,PassGAN 将在神经网络中增加更多层,并利用更多泄露的密码进行训练。

他将PassGAN 与 DeepMind 的AlphaGo 进行了比较。“AlphaGo生成了一些专家从未见过的新策略,”Ateniese 说,“所以我个人认为,如果你给PassGAN足够的数据,它就能提出人类无法理解的规则。

CMU研究简介:用人工神经网络来模拟文本密码对猜测攻击的抵抗能力

现今最主要的验证方式,即人为设定文本格式的密码,面对密码猜测攻击变得处境岌岌可危。然而,现有的通过建模对抗性密码猜测来评估密码强度的方法要么不准确,要么数量级太大且速度太慢,无法进行实时的客户端密码检查。我们在此提出用人工神经网络来模拟文本密码对猜测攻击的抵抗能力,并探索不同的架构和训练方法对神经网络猜测效果的影响。我们证明,神经网络能够比时兴的密码破解方法,如概率上下文无关文法和马尔科夫模型等,更有效地猜测密码。该神经网络还可以被高度压缩到只有几百KB而不影响猜测效果。基于这些结果,我们在 JavaScript 中设置了首个包含原则的密码猜测客户端模型,该模型分析了密码对次秒级延时的任意时段猜测攻击的抵抗能力。总之,我们得到的结果使得密码检查比以前更准确和实用。

使用神经网络预测密码中下一个字符的示例

原文地址:http://www.sciencemag.org/news/2017/09/artificial-intelligence-just-made-guessing-your-password-whole-lot-easier

论文地址:1.https://arxiv.org/pdf/1709.00440.pdf

2.https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_melicher.pdf

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档