为了您的方便,Facebook伪造了您的密码

如果你认为你的密码的唯一正确版本是你使用的准确的大写字母和字母/符号序列,你可能会大吃一惊。为了您的方便,Facebook将接受对您的密码进行细微的更改。而且非常安全。

密码很容易输入错误

Facebook和其他类似的网站有一个问题。他们希望你使用又长又复杂的密码,但这些密码很难打字。您应该使用密码管理器来为您解决这个问题,但大多数人不会这样做。由于这两个因素,经常会输入错误的密码。

在这一点上,Facebook应该做些什么呢?

他们是否应该仅仅因为你的密码稍有偏差就拒绝你进入,并在第二次尝试时让你感到沮丧?或者他们是否应该意识到提供的密码可能是正确的,但有一个打字错误,并通过忽略错误来顺利地访问猫gif和婴儿照片呢?

Facebook评估密码错误

正如伦敦Facebook工程公司安全基础设施团队的前软件工程师亚历克·穆菲特(Alec Muffet)解释的那样,Facebook选择了后者。如果您的密码非常接近正确,他们可能会认为它是正确的。这方面的规则很简单。如果Facebook满足以下任一条件,它将接受不正确的密码:

您启用了Caps Lock,并且大小写颠倒了。 您可以在密码的开头或末尾输入额外的字符。 密码的第一个字符应该是小写,但您键入的密码是大写的

正如您所看到的,这些变体都围绕着键入时略有遗漏密码这一基本概念。在某些情况下,这可能是自动更正的问题,例如单词的第一个字母大写。如果输入错误的密码符合这些特定规则,您将不会知道有问题-您只会发现自己已登录。

例如,假设您的密码是“letmein”。Facebook还将接受“letmein”(因为这是直接的大写反转)和“letmein”(因为第一个字母的大写不正确)。它还将接受像“1letMeIn”和“letMeIn2”这样的变体,因为除了开头或结尾有一个额外的字符外,这些变体都是正确的。但是,它根本不接受“letmein”、“letmein”或“12letmein”。

这个过程仍然是安全的

乍一看,Facebook的密码宽松听起来并不安全。但在这种情况下,真相要复杂得多。虽然很容易想到古老的黑客犯罪剧,展示了在短短几分钟内快速、粗暴地猜测密码,但黑客根本不是这样工作的。暴力破解未知密码确实存在,但与电视暗示的截然不同。正如xkcd著名的演示,随着密码长度的增加,破解密码的时间也呈指数增长。增加复杂性会有所帮助,但不会像您想象的那样多。

因此,Facebook允许的情况之一,在密码的开头或结尾增加一个字符,将更难暴力破解。黑客需要有正确的密码,然后才能到达密码加上一个额外的字符。

特别令人感兴趣的是Caps锁定场景。我对此进行了测试,首先在记事本中手动输入密码,颠倒大小写,然后将结果粘贴到Facebook中。它拒绝了该密码。然后我打开了大写锁定并输入了密码,就好像大写锁定是关闭的一样,这样就颠倒了大小写。那次尝试成功了,我已经登录了。Facebook不仅会检查密码是什么,还会检查你是如何输入密码的。暴力在这种情况下不会有什么帮助,除非模拟大写锁定,这将比仅仅瞄准实际密码更困难。

更新:正如信息安全顾问保罗·摩尔(Paul Moore)在Twitter上指出的那样,Facebook很可能只存储了你的原始密码(经过适当的散列和加盐处理),而不是你的密码变体。当您提交密码进行登录时,系统会对照您的原始密码进行检查。如果不匹配,Facebook会通过这些变体检查您提交的密码。例如,如果您的Caps Lock处于打开状态,Facebook会接受您提交的密码,颠倒字母的大小写,然后重试。如果这不起作用,Facebook将再次尝试下一种方案。从本质上说,Facebook正在做你在收到“错误密码”消息时会做的事情-检查键入的密码中是否有意外错误,并进行更正。这使得整个过程对您来说不那么令人沮丧。这不会降低安全性,因为仍然需要一些正确密码的概念,而且可接受的变化范围很小。

更重要的是,暴力手段并不是进入社交网络和其他账户的主要方法。社交工程和密码转储使用起来要简单得多。如果你有密码重置的问题,那么至少有一些答案是可以公开访问的信息的可能性是相当大的。如果你的重置问题是关于你的出生地、母亲的婚前姓氏或高中吉祥物,那么就有可能找到答案。在这一点上,一个坏的演员可以重置您的密码,使任何需要猜测或确定密码本身完全没有意义。

不幸的是,许多人仍然在每个需要登录凭据的站点使用相同的电子邮件和密码组合。您不必找很远的地方就能找到一个接一个的数据泄露事件。如果你在多个地方使用相同的电子邮件和密码组合,并且已经使用了多年,那么漏洞就是你的密码,而不是Facebook的政策。

如果你不确定自己是否是入侵的受害者,去haveibeenpwned.com网站查看你的密码是否被盗了。很有可能你至少有一些账户在某个地方被泄露了。

你应该始终保护你的账户安全

如果你仍然担心这项政策会让你变得脆弱,你可以采取一些措施。第一步是停止对每个站点使用相同的密码。取而代之的是,获得一个密码管理器,让它为您使用的每个不同的站点生成唯一的长密码。然后,当您下次看到您使用的网站已被攻破时,您可以只更改一个密码,并且知道这个已知的密码对黑客没有任何好处,您就会感到安全。

加强密码后,请在任何提供双因素身份验证的站点启用双因素身份验证。Facebook确实提供双因素身份验证,因此您也应该在那里设置它。最好的双因素身份验证依赖于智能手机上的应用程序,该应用程序会频繁生成新代码或您随身携带的物理密钥。虽然基于短信的双因素身份验证技术总比没有好,但它仍然容易受到社会工程技术的影响。因此,如果您可以依赖验证器应用程序或物理密钥,您应该这样做。并准备好备份,以防你的手机或钥匙出现问题。

有了这种组合,无论Facebook的密码策略如何,您的帐户都会更加安全。您至少应该使用密码管理器和唯一密码,但是将它们与双因素身份验证结合使用会更好。

不要惊慌,尽情享受便利吧

至于Facebook的密码政策,人们很容易担心它不那么安全,但现实是好处大于风险。安全是一种平衡行为。系统锁定得越多,访问就越不方便。但是,当您添加更方便的访问时,您会失去安全性。诀窍是获得适量的这两种药物,以保护您的用户而不会让他们感到沮丧。在这一点上,Facebook在用户易用性方面犯了错误,这可能是一个可以接受的决定。

相关文章