弱密码是如何在 github 中强制使用的?

信息安全 网络 bcrypt
2021-08-23 02:18:53

Github 最近面临暴力破解密码猜测攻击,涉及“近 4 万个唯一 IP 地址”。

密码也使用 bcrypt(盐 + 散列)“正确存储”。

鉴于 bcrypt 为每个密码生成一个随机盐,并且 Github 数据库没有受到破坏,那么“远程”暴力攻击是如何可能的?这个过程需要多长时间*?

“这些地址被用来慢慢暴力破解弱密码或多个站点上使用的密码。”

2个回答

鉴于 bcrypt 为每个密码生成一个随机盐,并且 Github 数据库没有受到破坏,那么“远程”暴力攻击是如何可能的?这个过程需要多长时间*?

这里混淆了两种不同的攻击。暴力破解密码哈希意味着攻击者已经掌握了包含密码哈希的数据库表,如果它们被正确地加盐和哈希,那么暴力破解非常耗时。

在这种情况下,github 受到了在登录页面上猜测密码的攻击,因此无论密码如何加盐或散列或其他方式都无关紧要。如果有问题的用户使用了简单的密码,这很重要。Github 说“我们积极地限制登录尝试”,这意味着它会在 x 尝试一定时间后锁定一个帐户。攻击者有资源(40,000 个唯一 IP 可供猜测)许多帐户可供选择,并且有很长一段时间,因此他们可以懒惰地继续猜测并等待锁定到期。即使拥有所有这些资源,他们的机器人也无法以足够快的速度猜出除了简单的密码之外的任何东西都可以侵入帐户。

github 在https://github.com/settings/security上为您的帐户发布安全历史记录以查看帐户活动(登录失败、登录等)真是太好了

如果您基于字符进行暴力破解,那么如果仅使用字母和数字作为 8 个字符长度的密码,您将需要进行大约 219 万亿次猜测。好多啊。

对于弱密码,人们通常指的是常用密码,如“azerty123”、“a1234567”、...或字典中的单词。如果您使用字典,您可以将可能的密码数量减少到大约 100 万个,这意味着您只需要 100 万次猜测。

最大的问题是人们倾向于在网站上重复使用密码,所以当 Adob​​e 被黑客入侵时,他们的数据库就被泄露了。由于他们对密码的加密(不是散列)方式不好,攻击者可以生成常用密码的列表。例如,他们可以使用关联的电子邮件地址尝试使用相同的密码登录 Github(因为如上所述,人们经常在任何地方使用相同的密码)。