对于错误的密码策略要坚决进行揭露-- ZDNET安全频道

来源:百度文库 编辑:神马文学网 时间:2024/04/27 05:18:54

ZDNet安全频道原创翻译 转载请注明作者以及出处

  让人们选择使用强密码是一件非常困难的事情。特别是人们开始怀疑使用强密码是否有效的时间,我们就真的有麻烦了;不过,也还是有办法进行揭露的。

-------------------------------------------------------------------------------------------

  关于如何提供有效密码最简单也是最常见的建议大概就是使用强密码了。从理论上来说,一个真正强大的密码应该尽可能多得使用键盘上的字符,至少应该包括下面三个不同的方面:

  1、密码的字符串长度,需要尽可能多的按键

  2、密码中应该包含很多不同类型的字符(小写、大写、数字键特殊字符、空白字符等),需要遍布键盘的各个区域。

  3、密码中应该随意选取尽量多的不同字符,而不是按照可预测的重复模式选择。

  如果密码足够强大的话,依靠目前的技术水平恶意黑客应该永远无法破解。当然,技术也是处于不断发展的状态中,因此你也应该作好在未来对密码策略进行升级必要的准备。

  不幸的是,在我们选择使用强密码的安全之路上,有相当的人会遭到阻碍,就象密码安全最坏的敌人。一些机构在密码安全策略方面,进行了令人难以置信的限制,这导致我们在提高安全方面,陷入了无事可做的状态。实际上,关于这种行为最近的一个例子就是美国运通客户服务电子邮件的说明。类似这样的例子荒到简直令人难以置信,我们所能做的一切就是惊叹这是洋葱网站编造的,而不是事实。但这确实就是令人害怕的现实。

  根据探客网专栏作者斯特林·卡姆登在文章中提出的一种理论,出现这一问题的原因是人们害怕SQL注入攻击带来的结果。由于不了解攻击的实际原理,他们就采取避免密码导致任何问题的方式来回避这一问题,但却并不知道这样做可能造成更严重的漏洞和问题。当然,如果密码只是在经过哈希加密处理后以纯文本格式保存在数据库中的话,特殊字符甚至不会为SQL注入攻击提供帮助,因为经过哈希加密处理的一般是十六进制字符串,也就意味着不是其它的字符,仅仅是字母和数字而已。

  一般来说,一个优秀的密码验证系统无论如何都应该通过哈希加密处理来进行对比。有人可能会问,为什么密码要以纯文本的方式存储在数据库中,这是从安全角度来考虑的,包含特殊字符的密码是被严格禁止的。

  因此我们仅仅宣传应该使用强密码可以说是远远不足够的,因为无论说了多少次,总是有人没有听到。很明显,了解强密码重要性的人总是宽容不知道这一点的其它人,但在我们使用一些人编写的软件时,却出现了与强密码发生了冲突的情况。

  WeakPasswords.org就是一个利用大众力量来反对薄弱的密码策略,以达到改善密码安全的网站。WeakPasswords.org上列出了采用薄弱密码策略的网站,并鼓励访问者添加更多类似的网站,关注它们直到作出更正为止。在某种意义上,它是一个要求网站管理员更改密码策略的请援。网站的维护者,杰里·杰伊是这么描述的:

  我每月都会向这些网站发送电子邮件,让它们了解到有多少人希望更改密码策略。在邮件中,我还会附上说明目前做法是如何不安全的有关文章的连接。

  特别字符不能在密码中使用的限制说明了管理者的无知或者怀有其它不可告人的目的,没有任何理由能够说明这样做会给网站的维护在安全或者其它方面带来好处。在这里,杰里·杰伊是这么描述的:

  谷歌、微软、Facebook、Twitter——他们都已经允许你使用任何想要的密码。没有任何理由可以限制一个密码使用哪些字符。如果一个网站称,它不能让某个字符出现在密码中,这说明他们的软件可能是不安全的。

  他的行为是高尚的,也值得我们来支持。请帮助传播WeakPasswords.org网站。象美国运通和英格网上银行之类的公司应该知道已经有人了解带他们策略的薄弱之处并且也不赞成这一点。

  如果这样还没有让公司作出改变的话,你或许就应该考虑业务将转移到理解安全的竞争对手那里了。