每90天更改一次密码如何提高安全性? (2011年)

2020-11-25 16:38:43

在我工作的地方,我不得不每90天更改一次密码。据我所知,这种安全措施已在许多组织中实施。是否有专门针对此目的的特定安全漏洞或攻击,或者我们只是按照此过程进行操作,因为“这是一贯的做法”?

似乎只有在帐户中已有某人的情况下,更改密码才能使我更安全。

这个问题是本周的IT安全问题。阅读2011年7月15日的博客条目以了解更多详细信息,或提交自己的“本周问题”。

@Bill,感谢您提出这个好问题!我们喜欢摇摆船并质疑“公认的智慧”。 –AVID♦

当然,这可以确保办公室的一半在其显示器或键盘下都保留了密码。 – Peter DeWeese

一个更好的问题:如果有必要,那么多少同样的管理员正在轮换他们的服务帐户密码,这些密码通常具有太多的权限?我工作过的大多数地方都将其设置为永不过期。 –JohnFx

我讨厌这个规则,并且对此提出了很多反对意见。 blog.damianbrady.com.au/2008/07/02/…有关更多详细信息(在0 rep的注释中) –达莫维萨

我说服了IT部门在我的上一份工作中进行权衡。我们放弃了密码过期策略,转而使用更强的密码。每个人都喜欢这个决定,因为他们能够真正记住他们的新密码而无需将其发布到监视器上。另外,他们的新密码更安全。 –史蒂夫·沃瑟姆(Steve Wortham)

存在密码过期策略的原因是为了缓解攻击者获取您的系统密码哈希并将其破坏时可能发生的问题。这些策略还有助于最大程度地减少与较旧的备份丢失给攻击者有关的某些风险。

例如,如果攻击者闯入并获取了您的影子密码文件,那么他们可以开始强行强制使用密码,而无需进一步访问系统。一旦他们知道了您的密码,他们就可以访问系统并安装所需的任何后门,除非您在攻击者获取影子密码文件到他们能够暴力破解密码哈希之间碰巧更改了密码。如果密码散列算法足够安全,可以阻止攻击者使用90天,那么密码过期将确保攻击者不会从影子密码文件中获得任何进一步的价值,只有已获得的用户帐户列表除外。

尽管有能力的管理员将保护实际的影子密码文件,但作为一个整体,组织对于备份尤其是较旧的备份往往比较松懈。当然,理想情况下,当然,每个人对于6个月前备份的磁带和生产数据都应同样小心。但是,实际上,某些较旧的磁带不可避免地会在大型组织中放错位置,放错文件或丢失。密码过期策略可以限制因旧备份丢失而造成的损坏,其原因与减轻实时系统中密码哈希的危害的原因相同。如果您丢失了6个月的旧备份,则您正在加密敏感信息,并且自从进行备份以来,所有密码都已过期,除了用户帐户列表之外,您可能没有丢失任何东西。

问题在于,使用现代EC / GPU设置,可以以非常低廉的速度廉价地破解强密码。将原始的蛮力与千兆字节的单词列表,自定义字符集和您可以查找(免费或非常便宜)的预生成哈希结合起来,而90天是一个非常大的窗口,可用于离线破解密码。 –马辛

@Marcin-是的。蛮力哈希攻击变得越来越快,使用不安全哈希算法执行相对较少迭代的较旧系统不太可能维持90天。另一方面,如果您使用SHA-2并进行了数千次迭代,则哈希值应足够强,可以保留90天。 –贾斯汀·凯夫(Justin Cave)

如果您假设备份泄漏,并且攻击者具有对整个文件系统的读取访问权限,则与影子密码相比,ssh私钥文件应该是更大的关注点。 – Ben Voigt

因此,换句话说,它试图防止假想的攻击(如果发生这种情况,则意味着无论如何您都需要解决更大的问题),但会带来许多实际的严重漏洞(需要密码?只选择一个) ,他们到处都是灰泥。哦,他们也把公司丢进垃圾桶了,你说无效吗?好吧,这个人在2011年第二季度的密码为letmein22011,想知道他的密码是现在...)。 IMNSHO并不是一个很好的折衷方案。 – Piskvor离开了建筑物

尽管有能力的管理员将保护实际的影子密码文件,但作为一个整体,组织对于备份尤其是较旧的备份往往比较松懈。 。 。 。这就是主管管理员加密其备份的原因。 (令我难过的是,自发布此答案以来的18个月中,我是第一个发表此评论的人) – voretaq7

显然,攻击者无法事先知道您的密码,否则攻击就不会是蛮力的;因此猜测与您的密码无关。您不知道攻击者拥有,没有或将要进行下一步测试的所有知识–您所知道的是,攻击者将在足够的时间内用尽所有可能的猜测。因此,您的密码与猜测分布无关。

您的密码和攻击者猜测您的密码是独立的。即使您先更改密码,攻击者下一次猜测正确的可能性也相同。密码过期策略可能无法缓解暴力攻击。

那么,为什么我们要强制执行密码过期策略?其实,这是一个很好的问题。假设攻击者确实获得了您的密码。

利用此条件的机会之窗取决于密码有效的时间,对吗?错误:攻击者获得密码后,就可以安装后门,创建另一个帐户或采取其他步骤来确保继续访问。事后更改密码会击败一个不敢正直的攻击者,但最终应该采取更全面的应对措施。

我同意这一点,但非管理员用户除外。大多数人可能没有创建后门帐户等的权限。获得对系统的访问权限时,我的目标可能不是尝试接管系统,而是获取访问权限并窃取信息。只要有帐户密码,我就可以访问,但是我不想做任何看起来可疑的事情(例如创建帐户)。只要用户不更改密码,我就不必尝试再次破解该帐户。将密码更改为不可预测的内容会给我带来额外的工作。 – kemiller2002

这是完全错误的。我们知道,攻击者可能会有您的密码哈希(首先是采用此策略的原因)-本质上,这给了他足够的时间给您您的密码,无论他使用何种方式破解它。因此,替换密码将使攻击者拥有的信息无效。上面的答案总结了一下。 –迈克尔·桑德高(Michael Sondergaard)

大多数用户在密码末尾增加一个数字。我在一家银行工作过,常用的密码是城市名称,后跟当前月份的数字。另外,由于大多数系统天生就不安全,尤其是在Microsoft Windows环境中,用户是否受限制并不重要,而且无论如何也不受限制。 –德黑兰

@Kevin:Unix系统怎么样。您进入了一个用户帐户,然后编辑.profile,使其包含“ alias passwd = $ HOME / .tmp / passwd”,或者只是将$ HOME / .tmp附加到$ PATH,其中.tmp下的passwd是一个通过shell脚本发送电子邮件的密码到我的一次性Hotmail帐户并运行系统密码命令?不需要提升的特权,但是现在有了一个简单的后门,可以防止帐户受到损害。 –丹尼绍尔

@BenVoigt在更改密码期间,通常会提示您输入新旧密码。因此,您可以同时使用两者,并且可以检查相似性。 –德罗伯特

在回答它是否有帮助之前,先看一下特定的情况。 (在处理安全度量时,这通常是一个好主意。)

攻击者知道用户密码,但没有后门。他不想被发现,因此他不会自己更改密码。

受害人可能已经告诉过他(例如,一名新的实习生,他应该在自己设置帐户之前就开始工作,另一个人应该在在线游戏中为自己的帐户分级)

攻击者可能已经访问了另一个密码数据库,其中用户使用了相同的密码

有问题的服务可能无法为后门提供方法,例如电子邮件收件箱或常见的Web应用程序

攻击者可能会错过所需的知识(在在线游戏Stendhal中,大多数“骇客”由愤怒的同胞破坏,他们只是想破坏一些玩具)

攻击者可能还没有变得邪恶。 (例如,下个月将被解雇但目前不怀疑任何事情的员工)。

用户可能会很烦恼,导致他们只在最后添加一个计数器。这可能会降低密码的熵。根据我的经验,这会产生额外的支持费用,因为人们比平常更容易忘记新密码。我想这是由于更改密码提示导致他们在忙于思考其他事情时措手不及。

它远非万能药,它对可用性有负面影响,但在与上述类似情况的可能性和影响之间取得平衡确实有意义。

瞧,现在您已经完成了,我已经对其他答案进行了投票,但是您的答案更正确,所以我为无法两次投票给您而感到困扰:)。 –AVID♦

+1为“攻击者可能已经访问了另一个用户在其中使用相同密码的密码数据库”。这是一个非常现实的危险。如果我可以破解一个不安全的站点并在那里找到您的密码,那么我可以访问您使用相同密码的任何其他系统。杰夫·阿特伍德(Jeff Atwood)甚至曾经在他身上发生过这种情况:codinghorror.com/blog/2009/05/…。强制更改密码可能会降低这种情况的发生率。 –约书亚·卡莫迪(Joshua Carmody)

为什么不使用密码有效期?请参阅现代密码到期的安全性:算法框架和经验分析。底线:它几乎没有增加任何价值,但却给用户带来负担。 – TheGreatContini

@JoshuaCarmody-“强制更改密码可能会降低这种情况的发生。”您该如何发表声明?您对此有什么经验证据?杰夫·阿特伍德(Jeff Atwood)存在此问题的事实仅表示他在各处都使用相同的密码。我在线使用各种密码,而且我没有90天的轮换期限,感谢上帝。我确保它们是1.相当复杂,并且2.随站点而不同。通过执行90天的策略,您可以确保1.简单密码2.与可旋转部分共享同一基础。 – Mike S

还有什么可以阻止这种特定类型的攻击?监视异常登录尝试(例如,未知设备或IP),两因素身份验证,基于行为的更高级监视。因此,即使在这种攻击中,也不需要密码轮换。 –西蒙·伍德赛德

Microsoft进行的一项研究得出结论,认为密码过期策略不会增加现实生活中的安全性。

应该指出的是,研究论文是关于网站密码的。我认为这意味着受害者是用户本人。在合作环境中,公司可能遭受攻击者的侵害,而不是个人用户。 –亨德里克·布鲁默曼

此外,“规则6 [经常更改密码]仅在攻击者在使用密码之前等待数周时才有用”是错误的。它忽略了攻击可能持续进行数周而不会被发现的可能性。想像一下攻击者可以访问高层管理人员的电子邮件帐户。显然,如果攻击者继续阅读潜在的机密电子邮件,而不是滥用垃圾邮件帐户或通过更改密码来锁定所有者,则可能会给攻击者带来更大的好处。 –亨德里克·布鲁默曼

Kobi是正确的,但还有一个链接是最后一个难题:现代密码到期的安全性:算法框架和实证分析。这表明,一旦攻击者获得了用户的一个密码,他就很可能会获得另一个密码。因此,密码到期策略的负担远远超过其价值。 – TheGreatContini

我们都有自己的意见,但我们也应该寻求对该问题的实际研究。除了Microsoft的Cormac Herley在Suma的答案中提到的有关网站密码的论文之外,还有ACM CCS 2010的一篇论文:“现代密码到期的安全性:算法框架和实证分析”(pdf),由Fabian的Zhang Yinqian写Monrose和Michael Reiter。他们分析了一个很好的数据集,并对密码有效期策略的有效性进行了很好的分析。他们的结论?强制用户每六个月更改一次密码不是很有用:

至少41%的密码可以在几秒钟内从同一帐户的先前密码中脱机破解,而预期中的五个在线密码猜测足以破坏17%的帐户。

....我们的证据表明,最好完全放弃密码过期,这也许是一种让步,同时要求用户投入更多的精力来选择比其他方式要强得多的密码(例如更长的密码)。 ....

从长远来看,我们认为我们的研究支持以下结论:基于密码的简单身份验证应彻底放弃

有关如何帮助用户选择更强密码的研究,请参阅有关密码复杂性的建议策略-IT安全性

这是在与一些安全审核人员讨论ISO 270001的意义(尤其是密码更改策略)后得到的结果。他们认为频繁的密码更改会强制使用错误的密码。好的密码不必经常更改。 –尼尔

机会之窗-在在线攻击情况下,您尝试10次错误尝试后锁定帐户30分钟(Microsoft建议将其设置为高安全性环境)。在没有任何密码到期的情况下,可能有无限的时间窗来尝试字典,暴力破解,常见的密码攻击方法。密码到期限制了这一点。在离线情况下,您没有意识到密码被盗,再次过期的密码会为攻击者提供有限的时间来破解密码,使它们变得无用。当然,正如@ graham-lee指出的那样,您需要使用其他控件来检测后门之类的东西

合规性-几乎每个监管者和审核员都将寻找密码有效期。包括PCI-DSS,HIPAA,SOX,Basel II等。正确或错误是我们生活的世界。此外,“没有人因为购买IBM理论而被解雇”。如果您没有密码有效期,而您所在行业的其他人也没有,如果您被黑客入侵,那么您就没有遵循“行业标准做法”。更重要的是,高级管理人员不能对新闻界,监管机构,法院这样说。拥有状态全面检查防火墙,防病毒和IDS的相同原因,尽管它们现在的效率不如10年前。

话虽如此,正如大家都说过的那样,密码更改对于用户体验来说是很糟糕的,尤其是在没有单次登录或单次登录受限的情况下,这可能会导致“密码更改日”,在该日中,用户会经历一次更改并将30个系统的密码更改为相同的密码一个通常通过增加一个数字。这显然不是所希望的行为。如果可以在您的法规/审计环境中更改这种文化,我的建议是更改策略,以明确的理由删除密码到期(此处有很多)。得到适当的安全治理批准,并由审计/监管机构进行审查。然后继续并更换系统。或者,最好使用更多的单点登录和联合ID,最好有两个因素,以便至少用户只需要更改一个或几个密码。

“合规性”包括“遵守法规,这些法规将导致行业监管机构对您的公司处以巨额罚款,以弥补其不称职”。在IIRC中,密码轮换是PCI合规性的强制性部分。 –丹尼绍尔

las,“合规”本质上指的是“如今无精打采,备有清单的笨拙的猴子”。不幸的是,不合规还会产生其他影响,但这与安全性无关。 – Piskvor离开了建筑物

@Rakkhi:是的,是的,我并不是说这与一切无关,它绝对与底线有关,但是公司所做的其他一切也是如此。这是安全剧院,而不是实际的安全(尽管不确定这是否在此问题的范围内)。 – Piskvor离开了建筑物

@Rakkhi:当然,这是一个数十亿美元的业务;在整个人类历史上,销售蛇油和神奇的万能药都是有利可图的。盈利能力!=实用程序。 – Piskvor离开了建筑物

HIPAA至少不需要密码有效期。它要求“密码管理(可寻址)。创建,更改和保护密码的过程”。 law.cornell.edu/cfr/text/45/164.308(a.5.ii.D) –西蒙·伍德赛德

此处未提及的一个原因是,如果在其他地方发现了他们的密码,它可以防止使用相同密码进行所有操作的人破坏您的系统。在一些密码过期后,用户将开始需要输入原始密码,这意味着当他们最喜欢的密​​码被盗并且所有电子邮件,社交网站和个人帐户被黑客入侵时,您的系统仍将是安全的。

用户将开始需要提供原始密码。对我来说,这听起来像是一厢情愿的想法。大多数用户很可能会使用顺序增加的后缀或类似词,或者在两个密码之间进行旁通来“游戏”系统。 (请不要建议您存储用户曾经使用过的每个密码...) –罗迪

@Roddy:我使用了一个存储了最后十个密码的系统,但是不幸的是,可以使用顺序后缀。 –比尔蜥蜴

如何强迫您在系统A上更改密码,以防止您更改系统B上的密码以匹配系统A上的新密码?现在,用户每90天在两个系统上更改一次密码,但是密码保持同步。 – this.josh

哈哈,我想如果我的公司严格,那将是一个公式:1:从不注销; 2:每个人都方便使用自己的密码,并将当前密码粘贴在监视器上。超级安全! –阿兰

@Chad:那不是一个“好的算法”,那是一个安全漏洞。为了执行这些检查,必须使用可逆加密(如果甚至完全加密)来存储密码。谁了解安全性,没有人以允许恢复明文或什至密码中的字符列表的方式存储密码。 – Ben Voigt

该图显示了在某些情况下时间与概率之间的关系,即强行攻击一种类型的密码成功者

......