本文讲的是破解密码“AlphaGo”诞生,训练Gan破解27%LinkedIn测试集密码,一项新的研究旨在使用生成对抗网络(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 中设置了首个包含原则的密码猜测客户端模型,该模型分析了密码对次秒级延时的任意时段猜测攻击的抵抗能力。总之,我们得到的结果使得密码检查比以前更准确和实用。


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

原文发布时间为:2017-09-20
编辑:熊笑
本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号
原文链接

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

  1. 训练数据集如何划分验证测试集?train/test(val/dev) set和交叉验证(cross validation)

    普通train/test set 直接将训练数据划分为两部分,一部分用来做训练train set,一部分用来固定作为测试集test set.然后反复更换超参在训练集上进行训练,使用测试集依次测试,进行 ...

  2. matlab pca 测试样本,matlab_PCA,训练集与测试集分开,原理和用法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 PCA基本流程: 1.训练集矩阵算协方差矩阵A; 2.算协方差矩阵特征值与特征向量; 3.按特征值的大小排列特征矩阵,得B,对应的特征值(按从大到小排列) ...

  3. 1.1 训练/开发/测试集-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 4.9 总结习题 (第一课) 回到目录 1.2 偏差/方差 训练/开发/测试集 (Train/Dev/Test Sets) 大家可能已经了解了,那么本周,我们将继续学习如何有 ...

  4. matlab pca和逆pca函数,matlab_PCA,训练集与测试集分开,原理和用法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 PCA基本流程: 1.训练集矩阵算协方差矩阵A; 2.算协方差矩阵特征值与特征向量; 3.按特征值的大小排列特征矩阵,得B,对应的特征值(按从大到小排列) ...

  5. 一文弄懂:训练集、测试集、验证集

    训练集:训练集的数据来训练模型 测试集:用测试集的数据来测试模型,通过测试集来评估你的模型,就可以得到对这个误差的评估 验证集:当使用正则化等算法防止过拟合时,需要用验证集得到最佳的超参数和模型 了解 ...

  6. matlab pca coeff,matlab_PCA,训练集与测试集分开,原理和用法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 PCA基本流程: 1.训练集矩阵算协方差矩阵A; 2.算协方差矩阵特征值与特征向量; 3.按特征值的大小排列特征矩阵,得B,对应的特征值(按从大到小排列) ...

  7. 标准化,归一化与训练-测试集数据处理

    标准化,归一化与训练-测试集数据处理 1. 标准化,归一化的区别 数据预处理的归一化手段应该如何应用到训练集,测试集和验证集中? 问题: 回答1: 回答2 问题3 回答1 回答2 问题4 回答1 1. ...

  8. 【转载】如何理解数据集中【训练集】、【验证集】和【测试集】

    转自<吴恩达深度学习笔记(28)-网络训练验证测试数据集的组成介绍> 训练,验证,测试集(Train / Dev / Test sets) 在配置训练.验证和测试数据集的过程中做出正确决策 ...

  9. 攻击 | 破解windows7密码(利用PE系统破解XP密码)

    攻击 | 破解windows7密码(利用PE系统破解XP密码) 引子-破解win7密码 背景-虚拟环境 原理 实现过程 引子-破解win7密码 在学校安排的网络空间安全实训过程中,了解到破解windo ...

最新文章

  1. 对字符串数组排序,使所有变位词都相邻(C++)
  2. JZOJ 5397. 【NOIP2017提高A组模拟10.6】Biology
  3. uva 10723——Cyborg Genes
  4. 分区裁剪 oracle,[讨论]分区表并行和剪裁的困惑
  5. SAP License:合理的机制才能让系统效率最大
  6. 添加class值_Java 虚拟机(二) - Class 文件结构
  7. 如何花式计算20的阶乘?
  8. 浪潮 服务器数据安全管理系统,浪潮SSC运维安全管控系统
  9. mysql自制食物_近2千条日常食物营养表ACCESS数据库Mysql数据库
  10. GHGL项目-其他问题锦集
  11. 如何钓鱼(如何钓鱼的方法)
  12. XDP技术——linux网络处理的高速公路
  13. Conflux v2.2.0 网络 Hardfork 升级公告
  14. overleaf下载word版本
  15. 清洁机器人--音频方案之基于国民MCU IO控制的唯创WT588 语音播放方案
  16. Linux内核(2)——子系统
  17. 骨传导耳机能保护听力吗?骨传导耳机是怎么传声的
  18. 《2017中国智慧停车行业大数据报告》
  19. xcode9 symbolicatecrash文件位置
  20. 分布式服务架构的设计方案上—分布式基础理论知识

热门文章

  1. Win10离线安装.NET Framework 3.5 sp1 提示提示“你的电脑上的应用需要使用以下Windows功能:.NET Framework 3.5(包括.NET 2.0和3.0)”
  2. 3d地图智慧城市电子三维地图应用
  3. 2021年危险化学品经营单位主要负责人考试题库及危险化学品经营单位主要负责人报名考试
  4. 论文解读《Structured Pruning for Deep Neural Networks with Adaptive Pruning Rate Derivation Based on Con》
  5. 抽奖大转盘-React-移动端
  6. SSM框架 (一) SpringMVC
  7. cpuburn_CPU测试工具cpuburn-in使用方法解析
  8. 软考高项—第二章立项管理
  9. 【转】webpack是什么?有什么用?怎么用?
  10. 02 A33 Android系统源码编译