6

当我们说字典攻击时,我们并不是指真正的字典,对吗?我的猜测是我们的意思是黑客字典,即彩虹表,对吧?

我的意思是,我们不是在谈论有人在登录框中输入不同的密码,而是在谈论对您的数据库具有完全访问权限的人(具有散列密码,而不是普通密码),而这个人正在反转散列,对?

4

4 回答 4

9

由于密码通常是密码学中最容易攻击的部分,因此它实际上是一本真正的字典。假设是人们很懒惰并选择适当的单词作为密码或从中构造密码短语。但是,字典可以包含其他内容,例如常用的非单词或字母/数字组合。基本上所有可能是错误选择的密码。

有一些程序会占用整个硬盘驱动器并根据其上的每个可键入字符串构建一个字典,假设用户的密码在某个时间点以纯文本形式放入内存(然后放入页面文件)或如果文本存储在驱动器1上,则它仅存在于语料库中:

即便如此,这一切都可能并不重要。AccessData 出售另一个程序 Forensic Toolkit,除其他外,它会扫描硬盘驱动器中的每个可打印字符串。它查看文档、注册表、电子邮件、交换文件、硬盘驱动器上已删除的空间……无处不在。它会从中创建一个字典,并将其输入 PRTK。

PRTK 仅从这本字典中就破解了超过 50% 的密码。

实际上,即使您包含有关人们通常如何构建密码的知识,也可以使字典更有效。Schneier 长篇大论1

  • 常用词词典:5,000 个条目
  • 名称词典:10,000 个条目
  • 综合词典:100,000 个词条
  • 拼音模式字典:详尽字符搜索的 1/10,000

语音模式字典很有趣。它不是真正的字典。这是一个马尔可夫链例程,可以生成给定长度的可发音的英语字符串。例如,PRTK 可以生成和测试一个非常发音的六字符字符串字典,或者只是勉强发音的七字符字符串。他们正在研究其他语言的生成例程。

PRTK 还运行四字符串穷举搜索。它使用小写(最常见)、初始大写(第二常见)、全部大写和最终大写来运行字典。它运行具有常见替换的字典:“$”代表“s”,“@”代表“a”,“1”代表“l”等等。此处包含“leet speak”的任何内容,例如“e”的“3”。

附录字典包括以下内容:

  • 所有两位数组合
  • 所有日期从 1900 年到 2006 年
  • 所有三位数组合
  • 所有单个符号
  • 所有单个数字,加上单个符号
  • 所有两个符号组合

1 Bruce Schneier:选择安全密码。在:施奈尔安全。(网址)

于 2009-10-10T10:36:44.817 回答
4

好吧,如果我把字典扔给你,会很痛吧?

但是,是的,字典攻击使用单词列表。它们可能来自字典或常用短语或密码列表(例如“123456”)。

彩虹表与字典不同 - 它是对给定哈希函数的反向查找,因此如果您知道哈希,则可以识别会生成该哈希的字符串。例如,如果我知道您的密码具有 e10adc3949ba59abbe56e057f20f883e 的未加盐 MD5 哈希值,我可以使用彩虹表来确定该值的 123456 哈希值。

于 2009-10-10T10:40:53.980 回答
3

“字典攻击”通常是指尝试使用“字典”来猜测密码;即一长串常用密码,通常对应于人们可能懒惰地设置为密码的单词或单词组合。如果不是通过指定实际的明文密码来尝试猜测密码,而是使用密码哈希,并且想要猜测密码,则将使用彩虹表。您将指定常用密码的哈希值并尝试将它们与您拥有的密码哈希值进行匹配,以便尝试获得匹配以确定密码是什么。

于 2009-10-10T10:38:23.227 回答
2

字典攻击是攻击者从相当普通的字典中尝试单词的攻击,因为许多人会使用可以在字典中找到的简单密码。

维基百科:字典攻击

于 2009-10-10T10:36:53.930 回答