http://blog.itpub.net/28285180/viewspace-2157266/

信息安全专家们一直在探索“生成式对抗网络”(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%。

5. 与密码生成规则相反,PassGAN可以生成几乎无限数量的密码猜测。实验表明,新的(唯一的)密码猜测数量会随着GAN产生的密码总数稳步增加。这一点很重要,因为目前使用规则生成的唯一密码的数量,最终会受到密码数据集(用于实例化这些规则)大小的限制。

6. 通过标准的、基于变异的密码规则集运行PassGAN的输出,以获得更大的覆盖范围也可能是有用的。

企业密码最佳实践

如果您负责管理企业,那么建议您执行强密码策略,用passphrase代替passwords。根据维基百科指出,两者的区别在于Passphrase比普通的passwords更长。

近年来,很多专家开始倾向于认为,使用足够长的Passphrase,可以摆脱以前密码要求大小写字母、数字、特殊符号等导致密码难以记忆的情况。比如,使用“恰似一江春水向东流”首字母组成的密码不仅十分好记,而且会比Password这种满足各种要求,却没有卵用的密码更好。

下面就以“*dJoeo30(#JS)3%$”密码为例进行分析。

从熵的角度来看,这是一个非常好的密码。因为它包含一切,具备16个字符,有大写字母、小写字母、符号和数字。以每个字符都存在95种可能性来计算,那么这组密码的就有95^16(即95的16次方)种可能,即便是每秒可以猜测1万亿次,可能也需要一万亿年的时间才能猜到。

就密码强度而言,它确实是个好密码,但是可惜没人能记住它。因为我们的大脑很难记住对我们没有任何意义的随机字符串。这也正是PassGAN能够轻易破解如此多密码的原因所在,因为人类可以很容易记住的密码(如P@a$$word),一定也很容易猜测得出。

这就是我们主张使用passphrase的原因所在。我们可以使用具有很多熵的东西,但这样产生的密码并不是任意或随机字符,而是有迹可循且便于记忆的内容。例如“这张专辑很好、天气很冷”等很容易记住的东西。如果,我们假设攻击者知道用户正在使用一个英文单词的密码组合,那么以人均20000个词汇量来计算,我们就有20000^8(20000的8次方)种可能的组合,想要成功破解也非易事。

接下来,您就需要考虑用户如何在企业中拥有给定的密码。您是否应该期待前台人员了解如何创建安全密码?您是否应该期待企业中的每个人都配置强大的密码?你给定用户的密码是否便于他们记忆,或者他们会不会写在便签纸上?这些问题都是值得关注和思考的!

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

  1. CUDA和cuDNN到底是啥关系?(cuDNN是基于CUDA的深度学习GPU加速库)

    1.什么是CUDA CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台. CUDA是一种由NVIDIA推出的通用并行计算架构,该架构 ...

  2. 浪潮科大讯飞Altera用OpenCL实现FPGA深度学习语音识别加速方案

    11月17日,在正在举行的2015全球超级计算大会(SC15)上,浪潮联合全球可编程逻辑芯片巨头Altera,以及中国最大的智能语音技术提供商科大讯飞,共同发布了一套面向深度学习.基于AlteraAr ...

  3. fpga深度学习gpu加速_TornadoVM:使用GPU和FPGA加速Java

    fpga深度学习gpu加速 重要要点 TornadoVM是一个编程和执行框架,用于在异构硬件(多核CPU,GPU和FPGA)上卸载和运行JVM应用程序 TornadoVM通过OpenCL的新后端扩展了 ...

  4. [置顶]人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)...

    这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...

  5. 基于FPGA的深度学习算法加速

    学习总结--基于FPGA的深度学习算法加速 1.深度学习算法加速的方法 2.为什么用FPGA来加速YOLOV2 3.FPGA简介 4.PYNQ框架与HLS加速理论 5.实验结果 1.深度学习算法加速的 ...

  6. tensorflow打印模型图_[深度学习]TensorRT加速tensorflow实例

    使用TensorRT加速tensorflow模型的推理应该是很有市场的一种应用了,但是使用Python的.易懂的例子并不多,官方的文档在这方面也是很不友好. 所以,本文旨在提供一个能把原理讲明白,代码 ...

  7. 树莓派4B与Intel Movidius计算棒2代实现深度学习应用加速

    树莓派4B与Intel Movidius计算棒2代实现人脸识别加速实例 树莓派 树莓派介绍 教程 操作 换源部分: 安装cmake Intel 神经计算棒环境配置 Intel 神经计算棒简介 Open ...

  8. Nat. Commun. | 序列到功能的深度学习框架加速工程核糖调节剂设计和优化

    今天给大家介绍由哈佛大学和剑桥大学的研究人员联合发表在Nature Communications的一篇文章.由于对设计规则的理解有限,设计全新的生物回路组件仍然是一项具有挑战性的工作,支点开关(Toe ...

  9. tensorrt安装_利用TensorRT对深度学习进行加速

    前言 TensorRT是什么,TensorRT是英伟达公司出品的高性能的推断C++库,专门应用于边缘设备的推断,TensorRT可以将我们训练好的模型分解再进行融合,融合后的模型具有高度的集合度.例如 ...

最新文章

  1. 程序员学习网站备份(小众+不定时更新ing...)建议收藏
  2. GDCM:gdcm::SurfaceReader的测试程序
  3. 算法太多挑花眼?教你如何选择正确的机器学习算法
  4. 马化腾最崇拜的作家吴晓波《历代经济变革得失》读书笔记
  5. android 6.0 ios9谁快,没安卓6.0流畅?iOS 9突飞猛进终于不卡
  6. Verilog HDL语言设计实现过程赋值+译码器
  7. Exchange server 2007搭建私有邮件系统测试备忘
  8. 为什么程序员互相之间不能透露薪水?是怕“凡尔赛”吗?
  9. Win11的文件资源管理器如何显示预览窗格?
  10. HUGO复制咪蒙(含死法)
  11. 2019-2020年数学建模竞赛心得体会
  12. Https Tomcat CSR生成 以及相关操作
  13. 计算机应用于设计,计算机工程与设计期刊_计算机工程与设计_计算机工程与应用...
  14. mui开发项目流程_mui项目开发环境搭建
  15. 布署LAMP环境(分离部署)
  16. 北京理工大学本科毕业论文答辩和论文选题PPT模板
  17. 1. Resnet网络详解
  18. 苹果/Mac Fn功能键的作用是什么?Fn键使用小技巧有哪些
  19. React 基础案例 | 支持左右按钮点击查看信息的卡片组件(二)
  20. Tomcat 解决Several ports (8005, 8080, 8009) required的方法:

热门文章

  1. 生活总有烦心事? 可能是你数学不好
  2. Linux/Unix好书推荐
  3. Flex 3权威指南
  4. 第二届清华大学iCenter量化策略挑战赛开幕!
  5. TensorFlow教程:快速入门深度学习五步法(附Keras实例)
  6. 院长齐聚,答疑解惑 | 清华-青岛数据科学研究院“院长接待日”成功举办
  7. LeetCode: 38. Count and Say
  8. 50+篇《神经架构搜索NAS》2020论文合集
  9. 机器也学会如何做「阅读理解」了? 云从科技上交大提出的DCMN+ 模型为你解答!!!...
  10. 从“几何深度学习”看深度学习江湖的统一