Rainbow Tables攻击甚至是威胁吗?

时间:2011-05-12 19:25:00

标签: security rainbowtable rainbowattack

让我们假设一个简单的非盐渍哈希函数,只是一个普通的$hash = md5($pass)

物业:

  1. 密码哈希全部发生在服务器端,哈希值存储在数据库中。客户无法看到这些。
  2. 彩虹表攻击必须知道哈希才能检索密码。
  3. 鉴于前提2,这意味着黑客已经拥有了对数据库的控制权,此时你手上有更大的问题。

    因此,试图阻止彩虹表攻击只是为了保护从已经受损的数据库/系统中检索密码。它是那么简单还是我还缺少其他东西。

    我已经熟悉密码散列技术,但我只是想知道为什么有关于彩虹表的炒作很多。谢谢!

4 个答案:

答案 0 :(得分:10)

许多人对所有内容使用相同的密码。妥协原始密码(而不是简单地将其更改为您知道的密码)通常可以让攻击者访问某人在其他服务上的帐户。

与字典攻击(需要散列)或暴力(需要更多散列)相比,彩虹表的计算密集程度(简单查找)要少得多。

使用强大的唯一密码!

答案 1 :(得分:8)

  1. 密码泄露不需要控制数据库。如果我闯入你的车并偷走一堆带有数据库转储的DVD,该怎么办?您执行备份数据库,对吗?
  2. 如上所述,人们对多个站点使用相同的密码。 HBGary最近遭到匿名者的攻击,成为受害者。一台具有SQL注入漏洞的服务器变成了一个更大的妥协。
  3. 如果我可以访问您的数据库五分钟并获得哈希值,那么我现在可以访问您的帐户,直到您更改密码。
  4. 盐很便宜。
  5. 无论如何你应该使用密钥派生函数,而不是盐。

答案 2 :(得分:3)

大多数情况下,数据库中的数据被盗通过注入成功;有时甚至盲目注射。

在您的某个脚本中发现数据库注入漏洞利用的攻击者无法控制系统的其余部分,直到他能够检索某种更高级别的凭据 - 这可能是管理员的密码。

如果您(作为管理员)将您的密码与其他用户一起存储为简单的md5()哈希,并且攻击者设法检索它 - 他最终可能会使用彩虹表来查看您的系统它了。

答案 3 :(得分:0)

如果我理解正确的话,彩虹表会消除计算散列的计算负担(故意高),因此攻击速度更快。