强制用户更改密码有用吗?

信息安全 密码 密码管理 密码策略
2021-08-25 01:34:23

在许多地方,有一项政策强制用户在几个月内更改一次密码。这里的逻辑是,即使密码以某种方式泄露,也只会在相对较短的时间内被滥用。这样一来,您现在扔进垃圾箱的密码便条,五年后就不会来找您了。

但是,恕我直言,这项政策缺少的是人的因素。许多人在被迫更改密码时通常会选择一个与原始密码相距不远的新密码。因为每个月都很难记住新密码。例如

foo1bar
foo2bar
foo3bar

或者。因此,具有最小感知能力的攻击者会激活 john-the-ripper 或等效项,并立即找出您的密码。哎呀,给定旧密码的新密码的熵通常非常低,因此您甚至可以绕过密码系统,如果您连续输入 3 次错误密码,该系统会提醒管理员。您可能会在 10 次试验中找到新的,并且鉴于用户每天登录一次,攻击将能够在一个月内找到它。

所以我在问,强制用户偶尔更改密码的策略是否会比成本提供更多的安全性?

3个回答

正如您所注意到的,当您强迫用户做某事时,他们不喜欢它,因为这使他们的事情变得更加困难。用户很少关注安全性;这不是他们的工作,相反,他们的工作意味着要经历安全部门提出的难题。因此,他们通过采取使他们的生活更轻松的措施来做出合乎逻辑的反应。

用户采用的经典对策包括:

  • 从前一个密码简单推导新密码(但有密码管理界面试图防止:“新密码与旧密码太相似”);

  • 循环浏览密码列表,通常减少到两个密码;每当请求更改密码时,用户只需交换他的“正常”和“备用”密码(为防止这种情况,密码管理系统必须记住以前的密码,这本身就是一个安全隐患);

  • 一直以来最喜欢将密码写在便签上(巧妙地隐藏在键盘下);

  • 从“自然列表”中获取密码,例如足球队中的当前球员(进行自动测试来检测这一点并不容易,但是具有半个神经元的人类攻击者会很容易地处理)。

因此,通过定期更改密码来提高安全性充其量是值得怀疑的。它的主要优点是避免建立一个本地的“传统密码”,员工相互交流多年,以前的员工不断记住。

从理论上讲,定期更改密码可能会给用户一种“值得保护的事情正在发生”的感觉,并促使他们对密码更加谨慎;在实践中,我从未目睹过。

尚未提及的方面之一是我认为最重要的方面 - 用户意识。我可以根据经验告诉您,只要您可以向用户演示错误密码的影响并让他们意识到这一点,他们就会开始重视并理解它。意识正是我们安全人员理解问题的原因。我们知道影响,普通用户不知道。

在他们亲眼目睹的情况下闯入,在研讨会上向他们展示,以便他们了解密码策略的根本原因。

除了上述一些原因之外,更改密码还有助于防止黑客破解被盗的加密凭据并使用它们。如果重置之间的时间小于破解哈希所需的时间,则攻击者无法使用密码。

例如,假设一家银行丢失了整个加密的密码数据库,但没有意识到这一点。银行要求使用性质复杂、长度至少为 10 个字符的密码,并且要求每 90 天重置一次。黑客拥有一个系统,可以在 120 天内破解平均 10 个字符的复杂哈希。

因此,如果用户每 90 天更改一次密码,被盗的加密凭证将在黑客有时间破解它们之前“过期”。

显然,现代破解系统可以比 120 天做得更好,但它仍然是一个很好的例子,因为有一件事:黑客想要在做坏事之前破解多少用户帐户?一个人可能会为他们带来 200 美元的净收入,但 20,000 人可能会为他们带来 200 万美元的净收入。隐藏在这些数字中也是一种很好的风险管理方法,因为获得 20,000 个用户名/密码组合很容易需要几个月的时间。

*注:我给出的所有时间都是猜测。破解密码有很多变数,并非所有变数都是可预测的。

麦克风