人工智能为什么能做的事情这么多?密码猜测在它面前也能行得通

密码猜测之所以有效是因为… 人类是可预测的

如果你要求小明设置一个密码。他可能只是简单地把密码设置为“xiaoming”。现在,系统告诉他密码必须包含数字。他或许会尝试“xiaoming123”这样的密码。虽然你很聪明,不会把这种不安全的密码放在各种网站里,但实际上还是有很多像小明这样只会设置简单、好猜测的密码的人。

从Rootkit上泄露密码

你可以在上图泄漏的密码中看到一种固定模式。它们中的大多数密码可能是一个或多个名字、姓氏、出生日期或喜欢的实体(汽车、自行车、男女演员等)的组合。

密码猜测工具,如HashCat或John the Ripper通常使用字典式攻击(dictionary attack)密码生成规则来猜测密码。 字典式攻击只是简单地将字典中的单词作为密码输入,以查看哪个单词是有效的。

使用密码生成规则的字典式攻击是通过手动检查泄漏密码的列表,并为密码生成制定规则。例如:如果泄露的密码被发现是一个实体加上123的组合,如“福特123”,然后将数字123与字典上的单词相连接就是一个生成规则。

在密码猜测工具中,这些工具是手动定义的,或者换句话说,它们是人类定义的规则。这些规则的问题在于人类的行为和兴趣会随着时间的推移而改变。因此,随着更多的泄漏发生,这些规则必须经常更新。此外,当泄露的密码列表非常庞大时,手动查找模式将是一个十分困难的过程。因为有些模式很有可能被忽视。

研究人员利用生成的敌对神经网络(GANs)来实现这一功能。GANs由两个神经网络组成。一个神经网络用来生成,另一个用来提供反馈。你可以把它当作教师和学生。当一名学生试图做一些事情时,老师会给出反馈,说“你需要尝试更多”或者“你很接近正确的答案了”等等。这些神经网络正是如此,它们运行多次迭代,直到得到令人满意的结果。

这使得整个过程完全自动化。研究人员还发现,虽然在某些情况下,神经网络无法匹配准确的密码,但生成的密码看起来就像给定的密码。例如:如果密码是“AEF@123”,生成的却是“AEF@123”。

从好的方面来说,我们可以通过可预测的密码使基于密码的系统更加安全。如果你想了解技术细节,可以看一下这篇“一种深入学习密码的方法”的论文。

论文地址:https://arxiv.org/abs/1709.00440

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-12-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量子位

MIT研究人员发明漏洞修复系统,可自动给代码打补丁 | 附论文

安妮 编译自 MIT News 量子位 出品 | 公众号 QbitAI 点开许久不用的“XX旅行”,你想买张回家的车票。页面上弹出的升级提示写着: 本次升级将修...

33270
来自专栏机器之心

业界 | 谷歌发布机器学习工具库Kubeflow:可提供最佳OSS解决方案

选自GitHub 机器之心编译 Kubeflow 是谷歌发布的一个机器学习工具库,致力于使运行在 Kubernetes 上的机器学习变的更轻松、便捷和可扩展;K...

29540
来自专栏机器之心

教程 | Docker Compose + GPU + TensorFlow 所产生的奇妙火花

选自 hackernoon 机器之心编译 参与:黄小天、路雪 Docker 有很多优势,但是在数据科学和深度学习方面,使用 Docker 也存在一些阻碍。本文介...

371130
来自专栏云时之间

Tensorflow简述和初步上手

AI这个概念好像突然就火起来了,年初大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动...

32460
来自专栏HBStream流媒体与音视频技术

MP4文件格式的解析,以及MP4文件的分割算法

1.4K130
来自专栏杨建荣的学习笔记

通过图表分析oracle的parallel性能(r2第37天)

并行特性在数据库里对于性能的提升很有帮助,尤其是大批量的数据处理。今天对于并行的性能情况进行了简单的图表分析。 为了能够比较合理的比较数据,对数据库里的2张大...

31250
来自专栏机器之心

我的深度学习开发环境详解:TensorFlow + Docker + PyCharm等,你的呢(附问卷)

选自Upflow.co 作者:Killian 机器之心编译 参与:Nurhachu Null、李亚洲 在这篇文章中,研究员 Killian 介绍了自己的深度学习...

69760
来自专栏人工智能

第三课:把tensorflow,模型和测试数据导入Android工程

关于Android项目的创建这里就不做赘述了,我们直接进入主题,看下如何把机器学习库和训练的模型导入一个安卓应用中。 导入 Inference Interfac...

28580
来自专栏量子位

神经网络模型的可执行软件包,可以压缩到多小?

昨天,有一个Facebook研究人员Nadav Rotem在Reddit上放出了极简版的教程Compile neural networks into small...

14240
来自专栏desperate633

comsol快速入门教程

我自己参照官网的教程,写了个比较通俗易懂的入门教程,字多图多慎看(大三的时候写的)。

18950

扫码关注云+社区

领取腾讯云代金券