为什么将您的密码重置为他们选择的一个网站会被视为纯文本违规者?

信息安全 密码管理
2021-08-20 16:23:54

为您生成密码而不存储密码有什么问题?

比如为什么万事达卡在纯文本罪犯名单上

4个回答

因为大多数用户在此类重置后不会更改密码,并且会盲目地指示他们的浏览器保存新密码和/或网站不会强制用户在首次登录后更改密码。

因此,他们有效地以纯文本形式发送新密码,因此他们是罪犯。

更好的方法可能是用于密码重置的一次性令牌,最好通过普通邮件或 SMS 发送。

电子邮件 (SMTP/POP3/IMAP) 是明文,因此密码可能会在网络上被截获或被第三方存储。

他们页面的“关于”部分的描述给我的印象是纯文本犯罪者的定义完全取决于数据的存储:

以纯文本形式存储密码的网站意味着您的密码在那里,等待有人来取走它。即使您创建了最强大的密码也没关系。它就在那里。

无论是有人入侵了他们的服务器、使用了他们网站中的一个简单漏洞,甚至窃取了他们的备份,超过 30% 的网站都存储了纯文本密码。

我们厌倦了网站滥用我们的信任并以纯文本形式存储我们的密码,从而使我们面临危险。在这里,我们让我们认为正在实践这一点的网站感到羞耻。

(强调我的)

读到这里,听起来确实像通过电子邮件将新生成的密码通过电子邮件发送给您并不一定会使公司根据他们的定义成为纯文本违规者。那是假设他们仍然存储散列的密码(并希望加盐)。

但是,出于 SmokeDispenser 和 wireghoul 所述的原因,无论如何,我会说通过电子邮件向用户发送他们的密码并不理想。

关于违规的严重程度,可能有 50 个灰色区域。这是一个从最严重的进攻开始的建议顺序:

  1. 用户创建自己的密码。用户忘记密码,系统通过电子邮件将他们最初创建的密码发送给他们。这是纯文本攻击者的祖父,因为它容易受到多种攻击。可用的攻击向量:即时截获电子邮件、将来访问电子邮件帐户、使用纯文本或可逆加密存储密码的数据库转储。此外,一旦知道密码,用户就有可能在其他网站上使用该密码或类似密码,从而可能导致其他地方的用户帐户受到攻击。
  2. 用户创建自己的密码,系统立即向他们发送密码副本(供他们记录)。可用的攻击向量:即时截获电子邮件,将来访问电子邮件帐户,可能的数据库转储(在这种情况下,我们不知道系统是否以可逆方式存储密码,它们可能在发送电子邮件后进行散列) . 在别处共享密码。
  3. 用户创建自己的密码。用户忘记密码,系统会重新生成一个新的随机密码并将新密码通过电子邮件发送给用户。可用的攻击向量:即时拦截电子邮件,将来访问电子邮件帐户。注意:系统可能会建议用户更改密码,但用户可能不会这样做。
  4. 用户创建自己的密码。用户忘记密码,系统重新生成一个新的临时密码并将新密码通过电子邮件发送给用户。可用的攻击向量:即时截获电子邮件,如果用户尚未登录更改密码,则将来访问电子邮件帐户。注意:通常临时密码在第一次登录后才会过期。
  5. 用户创建自己的密码。用户忘记密码,系统通过电子邮件将密码重置链接发送给用户。可用的攻击向量:即时截获电子邮件,如果用户尚未登录更改密码,则将来访问电子邮件帐户。注意:这与临时密码基本相同。
  6. 用户创建自己的密码。用户忘记密码,系统通过电子邮件向用户发送密码重置链接,该链接在一定时间后过期。可用的攻击向量:动态拦截电子邮件,如果用户尚未登录更改密码,则在重置期间访问电子邮件帐户。

笔记:

  • 以上列表基于您作为用户可以观察到的内容。在幕后,我们希望除了 #1 之外的所有密码都以安全的方式散列密码,以防数据库遭到破坏,但显然您无法确定这一点。
  • 使临时密码或重置链接过期对于用户请求重置然后走开并且很长时间或永远不会回来的情况很有用。
  • #2 和#3 之间应该有一条大线。前 2 个选项被认为是不好的,这些是纯文本罪犯试图保护您免受的罪犯类型。#3 是不确定的,但如果该网站不存储任何个人信息,它可能没什么大不了的。如果银行做了#3(听起来 MC 正在使用这个选项),那么我个人会声明它应该尽快修复,因为如果用户没有更改他们的密码,并且有人泄露了他们的电子邮件帐户未来,他们的个人财务可能会面临风险。理想情况下,对于所有新站点和升级,#6 应该是要走的路。

最后提示:如果攻击者对您的电子邮件帐户具有开放式访问权限,您可能会争辩说,即使 #6 也不能保护您,因为攻击者可以在银行网站上重置您的密码,接收重置链接并更改您的密码,然后登录网站。这是绝对正确的。但是,下次您尝试登录该站点时,您将无法登录,希望您会得出有问题的结论,这将导致再次更改密码,并可能更改您的电子邮件帐户的密码. 有些网站甚至会告诉您上次更改密码的时间,以帮助您自行得出结论。