加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 教程 > 正文

密码危机:深度学习正在加速密码破解!

发布时间:2018-07-06 16:42:32 所属栏目:教程 来源:Jasmine
导读:【资讯】信息安全专家们一直在探索“生成式对抗网络”(GAN)如何提高我们的在线安全性,并取得了令人鼓舞的结果。近日,新泽西州史蒂文斯理工学院和纽约理工学院的研究人员开发了使用GAN猜测密码的方法。 该小组开发了一个实验,通过其被称为“PassGan”的
副标题[/!--empirenews.page--]

  【资讯】信息安全专家们一直在探索“生成式对抗网络”(GAN)如何提高我们的在线安全性,并取得了令人鼓舞的结果。近日,新泽西州史蒂文斯理工学院和纽约理工学院的研究人员开发了使用GAN猜测密码的方法。

  该小组开发了一个实验,通过其被称为“PassGan”的密码猜测技术来查看泄露密码的数据,并发现该软件能够从这些帐户中猜出47%的密码,比HashCat和Ripper这样的竞争算法要高得多。在这篇文章中,我们将详细介绍下述内容:

  这项技术所处的历史背景

  犯罪分子可以利用这项技术的哪些功能

  这项技术如何运作

  如果你是红队(攻击方),如何运用该技术

  作为用户如何保护自身安全

  作为蓝队(防守方)如何保护自身和企业安全

  进入正题前,让我们先来了解一下什么是“密码猜测”?这是一个相当模糊的术语,在本文语境中,它表示破解密码散列。那么问题又来了,什么是“密码散列”(password hashes)呢?

  密码危机:深度学习正在加速密码破解!

  什么是密码散列?

  当发生诸如Dropbox、LinkedIn以及Ashley Madison等大型数据泄露时,其发布的就是(通常情况下)电子邮件和密码散列列表。所谓Hash——一般翻译为“散列”,也可直接音译为“哈希”——就是把任意长度的输入(叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。

  例如,假设我将明文密码“12345”使用MD5算法处理成一个类似“5f4dcc3b5aa765d61d8327deb882cf99”的字符串,这就称之为“哈希值”。其具有不可逆的特点,也就是说,不能从这个哈希值反推出明文密码(也就是之前的123456)。

  这一点在安全方面十分有用,因为这就意味着,像Adobe、LinkedIn或Google这样的网站可以拥有数亿个用户帐户,但不会存储任何人的实际密码。即使如此,他们仍然有能力在不知道密码的情况下,检查用户是否知晓密码。这一过程仅仅是通过存储的密码“哈希值”而不是密码本身来实现的。当用户想要登录这些网站时,他们会发送自己的密码,系统随后会对这些密码进行hash处理,并检查得到的哈希值是否与数据库中和该电子邮件地址相关联的哈希值相匹配。

  如此一来,就可以有效地放缓攻击者破解密码的速度,但是并不能完全阻止他们。通过利用现代工具,攻击者每秒可以猜测出数十万至数亿个密码,具体取决于攻击者试图破解的哈希算法类型。这就使得攻击者具有更多的时间和精力来检查潜在的密码,而不是耗费过多时间来猜测密码。

  PassGAN加入对抗战斗

  攻击者和安全专家正在进行一场永无休止的竞赛,力图找到更好、更快的方式来破解密码列表。目前,PassGAN技术就是实现这一过程最有力的“武器”。

  PassGAN使用了一种称为“生成对抗网络”(Generative Adversarial Network,简称GAN)的相对较新的技术,其生成的正确密码猜测能够比传统方法多出18%-24%。所谓“生成对抗网络”是一类神经网络,通过轮流训练判别器(Discriminator)和生成器(Generator),令其相互对抗,来从复杂概率分布中采样,例如生成图片、文字、语音等。

  先来说说第一个程序——“判别器”(Discriminator),它是一个深度卷积神经网络,简言之就是一个可以在越来越抽象的层次上学习模式的系统,其作用是用于判别“生成器”所生成的数据是否接近于真实。它最终会返回一个介于0和1之间的数字,其中0表示不是密码,1表示与密码非常相似。

  下一个程序是“生成器”,主要用于生成可以迷惑“判别器”的数据。它以随机的文本串开始,通过“判别器”测试得到相应的分数。这第一次得到的分数一般会非常低,因为它只是一串随机字符。

  接下来,“生成器”就会对该字符串进行修改,然后再去“判别器”处查看修改后的字符串得到的分数。如果分数升高,则保持该修改结果;如果不是,则撤销该修改并继续进行新的修改操作;不断重复该过程,使得分达到给定的数值,以便提升自身计算能力。

  简单来说,“GAN”的基本思想是,生成器和判别器玩一场“道高一尺,魔高一丈”的游戏:判别器要练就“火眼金睛”,尽量区分出真实的样本(如真实的图片)和由生成器生成的假样本;生成器要学着“以假乱真”,生成出使判别器判别为真实的“假样本”。竞争的理想状态是双方都不断进步——判别器的眼睛越发“雪亮”,生成器的欺骗能力也不断提高。

  善意和恶意行为者如何使用PassGan

  正如其他任何安全创新技术一样,PassGan也可能会被恶意行为者滥用于攻击存在密码重用现象的系统,危害企业和系统安全。当然,密码重用(Password reuse)对于普通用户也会造成异常严重的危害。因此,为了保护自身免受安全威胁,用户不能仅寄希望于密码这一层防护上,还需要启用多因子身份认证(MFA)。许多网站都已经提供了此项功能,希望大家能够及时启用。

  当然,对于旨在加强组织安全性的“红色团队”而言,PassGAN也可以很好地帮助他们破解本地密码,例如Windows SAM哈希或linux / etc / shadow密码哈希等。

  如果你是“红队”成员,并且对PassGAN工具感兴趣,你可以前往https://github.com/brannondorsey/PassGAN寻找有关Brannon Dorsey发布的PassGAN开源实现资源。

  在PassGAN实验中,研究人员探索了不同的神经网络配置、参数和训练流程,以确定学习和过度拟合之间的适当平衡。具体来说,研究者的主要贡献如下:

  1. 显示GAN可以生成高质量的密码猜测。在实验中,对于RockYou数据集来说,研究者能够匹配真实用户密码组成的测试集5,919,936个密码中的2,774,269(46.86%),而匹配LinkedIn数据集43,454,871个密码中的4,996,980个(11.53%)。

  2. 研究显示,该技术可以与之前最先进的密码生成规则一较高下。尽管这些规则是针对评估中使用的数据集进行了专门调整的,但是PassGAN的输出质量与密码生成规则相当(在HashCat中),或者比密码生成规则更好(在John Ripper中)。

  3. PassGAN可以用来补充密码生成规则。在实验中,研究人员成功地使用PassGAN生成了任何密码规则都未能生成的密码匹配。

  4. 研究人员还指出,表现最好的密码破解结果来自于PassGAN和HashCat的组合。通过将PassGAN和HashCat的输出结合起来之后,发现比 HashCat自己匹配的密码多出18%-24%。

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读