为什么禁止重复密码猜测没有成为常态?

信息安全 验证 密码
2021-08-26 17:40:12

每个人都知道强密码的约定/需要。鉴于人们可以在密码中使用的各种线索的数量,加上大写字母和数字字母替换的各种排列,黑客平均需要多次尝试才能获得成功的密码。

此链接: 减慢重复密码攻击 讨论了阻止所有猜测的一些努力,尽管这与我的问题不同:为什么干扰重复猜测没有成为常态?每次错误猜测后增加退避时间是一种方法,其他方法已经讨论过了。

我看到很少有人尝试在 Linux 系统或任何基于 Web 的身份验证上禁止这种猜测。当我错了 3 次时,我已被锁定在一个系统之外。

IT 人员施加了越来越多的限制,例如字符数、字母、数字、大写字母以及从密码中排除用户名。但这只会在数量没有真正受到限制的情况下增加所需尝试的次数。

4个回答

我想挑战你认为这没有完成的假设

[警告:要遵循疯狂的近似值]

请记住,成功的蛮力攻击将需要每秒数百万或数十亿次猜测才能在合理的时间内完成破解(例如,几个小时到一个月,具体取决于您的密码强度)。即使是每秒 100 次密码尝试的速率限制也会将破解时间从一个月增加到数十万年。也许我的标准很低,但这对我来说已经足够了,没有任何人类用户合法地试图进入他们的帐户会注意到它。如果速率限制是通过 IP 而不是通过用户名来防止某些类型的拒绝服务攻击,那就更好了。

另外,我不知道您使用的是哪个 Linux 发行版,但在我的 Ubuntu 和 CentOS 系统上,当我在 GUI 或终端登录屏幕上输入错误密码时,它会锁定 1 秒钟,然后重新提示我。


即使服务器没有主动限制登录尝试的速率(它们确实应该如此),仅 ping 时间本身就足以让你慢到数百万年。您可能会在接近 10 亿次猜测/秒之前对服务器进行 DDOS。真正的钱是获取哈希密码数据库的副本,并将其输入到 GPU 设备中,每秒可能进行数十亿次猜测。

TL;DR:如果您要努力强化您的登录服务器,那么通过改进您的密码散列和使您的数据库难以窃取,而不是在您的登录屏幕上实施速率限制,您将获得更多收益。


更新:由于这病毒传播开来,我将从评论中提取一些内容:

此逻辑仅适用于登录服务器。对于手机或笔记本电脑等物理设备,“3 次尝试并锁定”或“10 次尝试后设备擦除”类型的东西仍然有意义,因为在您输入密码时有人可能会在肩上冲浪,或者看到污迹图案在你的屏幕上,或者知道一个 4 位数的 PIN 无论如何只有 10,000 种组合,所以他们需要做的猜测数量非常非常少。

在重复无效尝试后将人员锁定在外面有一个重大问题 - 它实际上成为一种拒绝服务攻击的攻击媒介。想想如果几十万个帐户最终都被试图破坏服务的人锁定,那么支持台或客户服务站点可能会发生什么。

甚至有一个我使用的网站,每次我更改密码时都会向我发送一封物理邮件——特别讨厌的人可能会通过查找帐户列表并反复暂停它们来制造问题。

在安全性和可用性之间肯定有一个判断电话,我个人不相信有一个固定的或轻拍的答案。

足够的复杂性使得暴力破解在技术上是不切实际的,放慢它的速度也不会做得更多。

“但这只会增加所需尝试的次数”如果说要再延长数十亿年,那是一种奇怪的方式。

您假设只能通过使用登录来检查密码。但是经常会发生数据泄漏/黑客攻击,让我们得到密码的哈希表。如果他有这些,他可以对哈希进行暴力破解,这比使用登录快几倍。这就是你真正需要好的密码的地方。