⑴我们当然会想方设法来保护密码的安全,比如增加密码长度、使用复杂的语法以及特殊字符等等,这确实有助于增强密码的安全性,这些方法往往要求你每天更改一次密码,但奇怪的是看不到什么明显的好处。坏家伙们通常会用四种基本的方法得到你的密码:
⑵(A)直接询问,所谓的“钓鱼”和“社会工程学”的攻击仍然在进行,并且一直有效
⑶(B)试着用字库来匹配提示框,希望碰到好运气
⑷(C)获取加密之后的密码或哈希码,反过来进行解密
⑸(D)使用keylogger等恶意软件在你在电脑中输入时获取密码
⑹这四种情况不会因为你每隔天更改了一次密码就从你身边走开。如果坏人们无法在几天内攻破哈希码(C),他很可能去寻找更容易的攻击目标。 攻击(B)也是速战速决型,坏人们通常只使用前几百个单词,如果无效的话马上就会转向其他更容易的猎物。如果(B)或(C)攻击成功,或者攻击者通过更简 单的(A)或(D)获知密码,那么他们平均只需要天就足以把你的银行帐户弄得一干二净,或者把你的电子邮件地址变成发送垃圾邮件的据点。
⑺在过去年左右的时间里,密码过期的概念没有什么变化。信息安全技术人员、审计人员、PCI、ISO和COBIT等等的要求都保 持不变,但威胁已经改变了不少。通常,密码脆弱的用户只会用另一个脆弱的密码来替代。而强迫一个密码强度已经很高的用户更改密码最终反而会惹恼他而使用简 单的密码。
⑻那么天的密码更改周期到底有什么意义呢?有一个实际的好处。那就是如果有人有你的密码而他们想做的一切只是偷偷的阅读你的电子邮件,那么 你改变密码可以阻止他们永远这样做下去。定期更改密码并不能抵御那些想要窃取你的机密的恶意攻击者,但它确实能让你摆脱那些偷偷摸摸的潜入者或窥探者。没 错,这是好的。但是,这点好处是否值得去强迫用户去不嫌麻烦的每天更改一次密码呢,我有些怀疑。
⑼信息安全风险管理的主要工作应该是识别威胁和漏洞,然后选择对策。但是,如果选择的对策实际上并不太可能降低所识别的威胁的话,那么它在安全工作中也是于事无补的。
⑽当然,各方提供的“最佳实践标准”和审计部门的专员们会迫使我们用它。
⑾我为一家财富强企业引入了“每天改变你的密码”的规则,我来做个解释。许多人在多个系统上使用相同的密码。我发现其中有一台系统允许用户查看名称目录中隐藏在文本域中的哈希密码,这是产品本身的弱点,我们发现这个哈希算法很容易破解,于是立即改变了哈希算法并且做出了天的规则, 这样能够确保密码哈希的持续清洁,并且鼓励员工在外部网站使用与企业内部不同的密码。
⑿缓解攻击不会改变它的发生概率,但能改变攻击成功的可能性。你所做的假设中所有的密码窃贼都会在试上几次强力攻击后放弃,一般来说是这样,但 并不总是。你暗示我们(审计部门)看不到不断变化的威胁是不对的,每天的周期仍然太长,考虑到今天的处理能力。你必须采取长度、复杂性、历史以及各种 各样的帐户锁定策略。
⒀我一直认为密码更改间隔应该与当前的处理能力挂钩。随着计算能力提高,破解哈希生成彩虹表所花费的时间越来越短。想一想摩尔定律就明白了。我认为应该使用破解工具作为基准,算出一个现实的破解哈希密码所需要的时间,然后来确定到底需要多长时间来改变一次密码。
⒁我不明白的是更改密码的要求变得越来越短。年前,每年更改一次密码在许多系统上已经足够了。最近天是标准。现在我相信很快会看到天、天。
⒂用户有时会共享密码。这是很让人头疼的,而周期性更改密码的要求会有助于解决这个问题。我赞同强制更改密码,即使这有可能导致用户采取低强度 的密码,但要教给他们良好的密码生成方法,还要给他们提供工具。你可以每年自己破解密码哈希几次,这会迫使那些密码强度弱的用户转变态度。许多用户使用默认密码,如果你有个用户,其中至少有人使用相同的密码。破解密码总是很容易,但重要的是培训好重要的用户,或者给他们工具。