2018 年的用户名枚举 - 这有多严重

信息安全 Web应用程序 安全编码
2021-08-29 22:33:58

我正在考虑重新设计应用程序,我们的一项业务团队研究表明,我们没有获得或失去客户,因为他们无法登录。虽然我并不真正关心统计数据,但我的目标是确保应用程序是安全的。

当前消息是在古代世界中写的“您的用户名或密码无效”,并且计划更改为“您的用户名无效”。请注意,这只是为了获取用户名,我们有一个紧密的密码恢复流程。

我了解有关此更改的滥用案例,但是,我总是得到 Google、eBay、Facebook 等的参考资料,它们确实允许用户枚举。

需要关于你们如何解决这个问题、策略、设计更改的评论——任何对我有帮助的东西。

1个回答

作为一名渗透测试人员,我通常将用户名枚举称为非常低或信息性问题,但这可能会因我正在查看的应用程序而异。影响用户名枚举真正有多大问题的因素:

  • 在 IP 级别强制执行身份验证锁定。如果您在被锁定之前只能尝试几个密码,那么即使使用有效用户名列表,密码猜测也会变得不那么实用。大多数攻击者无法访问足够的 IP 地址来绕过 IP 地址锁定。

  • 密码策略。如果您不在网站上强制使用强密码,则用户名枚举可能会降低已经很差的密码卫生。如果他们都使用像样的密码,那么拥有一个用户名列表就没有那么有用了。

  • 除了密码猜测之外,枚举用户有什么价值吗?用户名是否透露了有关用户的任何信息?这会帮助攻击者猜测管理帐户的名称吗?

  • 最后一点要记住——几乎每个站点在注册流程中都有用户名枚举(你不能用现有的电子邮件注册 gmail,站点会告诉你)。对此的一种缓解方法是使用验证码,但这是几乎每个网站都必须在某种程度上承受的风险。

在您有关登录时错误消息的示例中,我将始终提倡更安全的“无效用户名/密码组合”消息。但是,我知道修复安全漏洞可能需要大量资源,我宁愿将这些资源用于解决更重要的问题。如果您有时间和资源来修复它,请务必这样做。如果您的密码卫生状况不佳,则可能会比其他情况优先考虑这一点。