首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >野蛮人不能用某种方式强行破解密码吗?

野蛮人不能用某种方式强行破解密码吗?
EN

Security用户
提问于 2013-12-16 20:33:27
回答 4查看 1.3K关注 0票数 6

在线文章提到了强大密码的重要性,并建议黑客工具允许坏人每秒尝试数百万个密码。我想知道为什么OSes和网站等没有节流尝试。也就是说,如果发生了3次糟糕的尝试,为什么不至少在接下来的10分钟内拒绝更多的尝试?难道没有低水平的方法可以安全地关闭“每秒数百万次”的闸门吗?

EN

回答 4

Security用户

回答已采纳

发布于 2013-12-16 20:50:52

设计良好的操作系统和网站确实会抑制登录尝试,正如您在示例中所描述的那样。

然而,每秒也有数以百万/数十亿计的猜测是可能的--但只能针对离线的密码“简单散列”。Ars有你可能读过的丹·古丁写的一篇很好的文章。虽然它没有关注,但是很明显,这些都是针对MD5哈希列表的“离线”攻击。当然,MD5不是为保护密码而设计的。

实际上,有许多方法可以降低尝试猜测的速度:

  • 而不是通用散列(MD5,SHA1),而是使用一个适当的密钥派生函数,比如PBKDF2,并尽可能多地对您的环境进行迭代。这将大大增加每次猜测的计算时间,可能高达每猜十分之一秒。
  • 保存每个密码,防止用户选择弱密码(例如字典单词)。

简而言之,如果来自设计良好的登录系统的密码数据库被破坏,并且获得了咸散列,则与未加盐的MD5密码数据库相比,使用蛮力的风险要低得多。

票数 3
EN

Security用户

发布于 2013-12-16 20:54:32

你说的是网络攻击,有人通过网站输入密码。你可以用你描述的方法来减缓速度,尽管这并不像你想的那么简单。

当你读到破解密码的时候,通常你说的是离线攻击,这就是你计算哈希的原因。想想有人可以读取您所有的密码哈希(例如SQL-注入,或从丢弃的备份.)。然后攻击者可以像他的硬件一样快速地用力,例如使用GPU来计算散列。即使这样,您也可以减缓攻击速度,这就是为什么现在您使用像BCrypt或PBKDF2这样的慢密钥派生函数。该算法允许定义一个成本因子,它定义了所执行的迭代次数,因此您可以控制计算单个散列所用的时间。

例如:如果您可以计算每秒8个千兆 MD5散列,则可以在2秒内计算多达6位的密码组合。如果你甚至需要1毫秒每散列,你已经需要8个月。

票数 6
EN

Security用户

发布于 2013-12-16 20:44:36

是的,这个控件在许多系统中都是可用的--只是在您阅读的文章中没有提到它。许多系统完全按照您的建议执行。标准办法包括:

  • 锁定一段时间-大约10分钟。不是完美的,它会减缓破译的尝试。
  • 监控--如果一个系统显示的攻击超出了一个忘记密码的正常人可能做的事情,它就会触发警报,开始追踪活动的源头--这并不完美,因为有方法可以混淆攻击的源头,但至少有人知道问题正在发生。
  • 半永久锁定-使用备份问题,通过带外方式传输重置密码(消息到电话,电子邮件到电子邮件地址),或“请与管理员联系”。

控件的形式与以下内容有很大关系:

  • 产品的类型- OSes的工作方式不同于网络系统。
  • 与任何自解锁功能相比,成功的完全锁定对环境的风险(有时)更安全,但管理起来也更费时。
  • 用户基础的本质--例如,谷歌将不得不使用一些极其手软的东西,谷歌帐户的用户数是巨大的。一个有100名员工的IT商店的操作系统,每个人都在现场,可以做一种更亲密的形式的锁定和恢复。
票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/47103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档