在 Intranet 上,通常会在极少数登录失败后禁用登录。
但是像 Gmail 这样的公共电子邮件服务不能这样做,否则恶作剧者只会不断地将人们拒之门外。
与暴力破解您在本地拥有的密码文件不同,在 Gmail 等远程服务上点击特定帐户会涉及显着的网络延迟 - 因此严重限制了暴力破解方法的速度。
并且该服务可能会引入人为的延迟,例如在拒绝或接受登录之前无论如何都要等待几秒钟。
并且它可以增加每个 IP 地址的延迟,从该地址发生了失败的登录尝试。
但是您只能在他们自己促成 DoS 攻击之前进行延迟 - 如果有效用户通过代理访问,则通过同一代理访问的其他任何人都可以在登录尝试失败的情况下延长该用户的登录延迟。所以延迟只能增加到目前为止。
但即使是 5 秒的延迟,只会轻微地惹恼人类,也会阻止单台机器的暴力破解。
但是僵尸网络呢?最大的有几十万台机器。
如果所有人都尝试了几次,这意味着受害者的密码只需在最常见的 10000 以内。
我看到2011 年的旧分析表明 30% 的用户密码属于最常见的 1 万个。
所以你有三分之一的机会破解给定的帐户。
但也许:
- 僵尸网络的时间太宝贵了,即使是很短的时间也不能用来破解个人账户。
- 双重身份验证和密码管理系统的兴起使高价值目标更难命中。
- Gmail 等服务可能会主动寻找经常遭受黑客攻击的用户(例如名人),并确保他们使用双重身份验证。
- 可能成为此类协同攻击受害者的高价值用户可能已经被黑客入侵过一次,并且已经吸取了教训——因此僵尸网络攻击的成功机会太低,无法保证。
- 密码复杂性规则的执行改变了我引用的百分比。
抱歉,如果您觉得这是对现有问题的重复。@woliveirajr 在此答案中建议您应该在几次尝试失败后引入验证码。
如果您不对每个 IP 地址执行此操作,那么某些用户(名人等)必须一直在填写验证码!如果您在每个 IP 地址上执行此操作,那么您仍然会获得很多尝试(见上文),其中涵盖了大部分最常见的密码。
Gmail 或其他任何人是否会这样做,即在几次失败的登录尝试后需要验证码?
这个热门问题的许多答案都提到在多次尝试失败后将人们锁定在外,但如上所述,我认为您只能在公司内联网上真正做到这一点 - 而不是在 Gmail 之类的东西上,它会立即用于 DoS .