暴露有效用户名有多糟糕?

信息安全 验证
2021-08-19 12:24:14

今天和过去许多其他时间一样,签署了一项新服务并收到一条常见的错误消息:

您的用户名或密码无效

这次我想知道通知“无效密码或用户”与一个不太常见但更有用的两条消息模式与真正的问题相比有多大用处:“未知用户”,“无效密码”

我的想法是,不指定用户名是否有效的系统可能更安全,因为它不会公开有效的用户名。然而,这在现实生活中有多实用?虽然启用了挖掘用户名列表的可能性。那能有多大的威胁?是否真的值得稍微降低登录用户体验(模棱两可的错误)以换取隐藏用户列表?

现在,公开有效用户名列表的想法似乎是一件非常糟糕的事情。但是,我不确定这是否只是不切实际的不合理的安全偏执狂。即使攻击者可能会得到一个他可以尝试暴力攻击的好用户名列表,但如果用户名被公开(如在论坛中),是否只是偏执狂避免暴露有效用户名?

更新

例如,在论坛中,网络爬虫收集用户名的效率要比用户名生成器暴力记录器高得多。我想知道是否存在模棱两可的日志记录错误完全可行的有效案例。

3个回答

在缓慢的蛮力攻击中,使用大型僵尸网络,暴露此类信息可以显着帮助攻击者。

想象一下 10,000 台僵尸计算机每隔一段时间尝试登录一次,首先提取用户名,然后“检测到”用户列表去寻找密码。

假设僵尸每小时尝试一次,即每天尝试 240,000 次。互联网上充满了可供尝试的电子邮件地址和用户名的数据库转储。

这里有一些关于这个主题的帖子:

暴露有效用户名有多糟糕?如果您允许公众注册,这是不可避免的:想要检查用户名是否被盗用的攻击者可以简单地尝试注册。在这种情况下,不告诉用户他们的用户名或密码是否不正确的影响可以忽略不计(除了给健忘的用户带来不便),你应该继续说它是什么。

安全性是关于层的。采用这种方法是合理的,因为它不会泄露有效的用户名。也就是说,通过默默无闻的安全不应该是你唯一的安全手段。采取这种方法设置额外的路障(无论它有多小)是明智的。只是我的拙见。