定时炸弹密码的攻击模式

信息安全 密码 电子邮件
2021-08-29 13:35:01

我是plaintextoffenders.com的联合创始人之一。我们最近收到了一份我不确定是否有攻击手段的提交。有问题的网站是托管/VPS/等。公司。

一旦有人点击忘记密码,就会向用户的电子邮件地址发送一封电子邮件。它指定了一个密码重置地址(好),它的时间限制为 15 分钟(非常好),但还包含用户在这 15 分钟内的临时密码(嗯?)。

虽然这显然并不表明他们以纯文本形式存储密码,但它让我思考发送临时密码以及限时重置链接是否有任何安全隐患。

更新:在阅读了您的回答并仔细阅读了电子邮件的措辞后,我发现提供的密码不是重置后的临时密码,而是点击重置链接后将永久使用的密码。这符合我们的职责,该帖子将被发布。谢谢大家的答案!

4个回答

“密码重置地址”一个临时密码,可以用作永久密码。“密码”是用户可以出示以被授予访问权限的一条信息。“密码重置地址”符合该定义。

所以我想说“密码通过电子邮件”的特殊桥梁已经被跨越了。通过及时限制地址适用性来减轻这种发送的固有风险——就像“临时密码”一样。

有人可能会争辩说,“临时密码”在以下意义上风险更大:如果攻击者窃听电子邮件,他可以同时使用密码重置地址和临时密码,但使用临时密码留下的痕迹更少,而实际上重置密码很容易被合法所有者发现,因为他无法再登录。不过,差异很小。我会说“临时密码”功能非常无用,但并不比密码重置地址本身的风险大得多。

(我认为“临时密码”适用于需要快速访问但又不想破坏自己的、繁琐、缓慢的密码更新策略的人。帮助碰巧自掘坟墓的人的边缘案例。)

我的直觉是,可能几乎没有风险。假设应用程序正确验证特定密码仅在 15 分钟内有效。

由于大多数黑客攻击没有针对性,因此如果密码以某种方式落入攻击者手中,他不太可能在非常小的机会窗口内利用它

但是,将密码与密码重置 URL 一起发送仍然没有意义。最好还是去掉它。

这一切都归结为网站的个人资料。如果它是银行或高度机密的 Web 应用程序,请不要这样做。可能有攻击者计划对您的用户进行有针对性的攻击。不过,对于大多数 Web 应用程序,我认为风险不大。

我在这里可以看到的主要优势是它(有点)有助于防止对重置链接的攻击。如果使用短链接令牌,理论上有人可以继续猜测链接。

将其分解为需要用户名、通过电子邮件发送的密码和通过电子邮件发送的链接的多个部分比简单的相同长度的链接更安全,因为它可以进一步防止人们试图猜测密码重置链接,但只需在密码重置链接中使用更长的令牌即可获得同样多的安全性。可能是系统的一些技术限制,但会阻止更长的令牌。您需要用户名 + 重置链接令牌 + 临时密码,或者您需要用户名 + 更长的重置链接令牌。总熵是最重要的,因为电子邮件泄漏对任何一个都同样成问题。

澄清一下,从该站点请求 PW 重置将立即这样做(因此是临时密码;重置链接应该绕过登录凭据,因为这就是重点),但随后有一个限时重置链接,允许他们指定新的一个?

那么如果定时炸弹的链接和密码过期了怎么办?用户帐户是否被锁定,直到用户及时回复随后的重置电子邮件?我可以看到,作为一个脚本小子的游乐场,他可以找到尽可能多的电子邮件地址(对于迎合企业客户的网站,使用表单的企业电子邮件地址first.last@corpdomain.com,您所需要的只是 e - 邮件域和公司电话列表,以关闭整个公司对该第三方站点的访问)。

显然,通过电子邮件重置密码系统提供了两因素身份验证,这通常是一件好事。临时密码或多或少以纯文本传输的事实令人担忧,但在这种情况下,您的攻击媒介是有人嗅探电子邮件服务器的网络流量,这比普通脚本小子或垃圾邮件程序要复杂几个级别。

当然,整个方案对于能够破解电子邮件帐户密码的攻击者来说是很弱的。如果他可以访问您用于在该站点注册的 GMail 帐户,他可以重置两个密码并且您是 SOL,但对于任何通过电子邮件重置的方案都是如此,并且仍然比使用公开可用的“秘密”更好“比如你母亲的娘家姓、你的高中或其他易于研究的安全问题。