上接第3页

6. 安全错觉

当用户使用浏览器的密码管理系统时,他们既不了解也没有被告知相应的风险。危险在于轻易地保存任何用户名和密码,而不管它是用于访问新闻组还是网上银行。用户认为浏览器或许能和操作系统配合一起保护他们的信息,并且有深奥的安全机制。事实上,这些攻击的实施要比用户想象的更简单,网络浏览器的危险在于它们安装在大多数的计算机系统上,被每个人使用,并且存储用户输入的所有的用户名和密码。综合这些因素使得网页浏览器成了恶意行为的首选目标。

7. 适用性

Internet Explorer与Firefox密码管理器的可用功能在表2中大致列出,包括了一些关键的差异,比如在Firefox下能明文查看密码,而在Internet Explorer下不能,这既可以定义为安全漏洞,也可以定义为功能——取决于是否设置了主密码。另外Firefox有一个非常有用的功能,允许指定拒绝保存用户名和密码的网站(比如,高度敏感、无法承受安全风险的站点)。在自动完成中,这种选择只能有一次并且不能轻易地修改,除非找到隐藏的注册表键值。自动完成在密码管理方面有一个优势是用户可以选择是否保存URL、用户名和密码,而不是像Firefox那样三个一起保存。

功能 Internet Explorer 7 Firefox 2.0
提示保存密码
为每一个网站轻松设置“保存”或“不保存”  
设置不保存任何表单信息
明文显示密码  
选择保存URL、用户名和密码  

表2. 可用功能对比 (IE与Firefox).

8. 防御策略

8.1 基于用户的防范措施

8.1.1 弃之不用

一种保护密码的方法是舍弃IE或者Firefox的密码管理功能,用户往往会为不同的站点选择相同的密码,这是一种危险的安全习惯。因此如果没有更好的办法,就只能弃之不用。用户也有可能再常规浏览中无意地保存了密码。

8.1.2 关闭密码管理器

关闭密码管理器与不使用密码管理器类似,但与8.2节中讨论的基于网页的方法不同。

8.1.3 选择“核实的”密码管理器

一种常见的存储用户密码的方法是使用一种叫做密码安全[注释 31]的通用程序,最初由Bruce Schneier [注释 32]设计,其开放源代码的Windows工具集是当前流行的访问、存储密码的工具,使用Schneier的Blowfish加密算法并受安全组合(主密码)保护。

在使用任何新程序之前都应当谨慎小心,不管怎么样,一个只专注于隐私信息存储的程序要比带有密码保存功能的网页浏览器更专业。这个开源的密码管理器更专业,并且由知名的密码学专家设计,这些理由使得它更具价值。相当糟糕的是,不管是自动完成还是密码管理器,对用户的规定都很简单方便,完全不需要切换程序就能访问用户名和密码。

8.1.4 密码复杂度

在前面几节中提到过,一个强壮的主密码能在一定程度上抵御攻击。

正如之前所提到的那样,Internet Explorer不允许你为自动完成选择主密码,存储信息的安全取决于Windows帐户密码。选择一个强壮的Windows密码能提供一些最低限度的额外保护。然而,对于那些使用RainbowCrack的人,破解Windows密码只需要几分钟。在Firefox中为密码管理器创建一个强壮的密码能有效地降低安全威胁。一个好的密码长度应当大于8,带有随机的特殊字符,并且很好地混合了文字数字字符,这些都能提供有效的保护。分布式密码破解攻击可能发生再Firefox密码管理器上,但是不会成为主流,使用复杂的密码能减小成为攻击目标的可能性。不管怎么样,Firefox用户相对于IE用户而言在密码使用方面增加了额外的保护层。

8.2 基于网站开发者的防范措施

在网页开发的范围内,商业网站与金融机构能用一些确定的操作来保护用户的密码,不管是Firefox还是Internet Explorer,它们都能通过HTML正确配置的<INPUT>标签避免密码保存[注释 33]。比如,下面的例子就是被MSDN网站采用的代码,再任何网站上作出类似的更改都很简单。使用这一方法,需要高度安全的机构可以保护他们的浏览者免受攻击。

此文本值为保存:

    <INPUT TYPE="text" NAME="password" AUTOCOMPLETE="ON">

次文本值为不保存:

    <INPUT TYPE="text" NAME="password" AUTOCOMPLETE="OFF">

包括Washington Mutual、Chase Manhattan、Fidelity、 E*Trade、 Vanguard、 Schwab在内的一些银行都使用了这一功能,一些机构像是PNC Bank Oppenheimer funds则不使用这一功能。如果每一个网站都遵循了这一策略的话,结果会抵消在浏览器中使用密码管理器的好处,因此这一解决方案应当独立地进行考虑。使用这一方法不能完全保证客户端的安全,就像5.1节中所指出的那样,HTML与JavaScript能在客户端被修改,将“OFF”转换为“ON”。

8.3 Windows企业安全策略

为了企业安全,也许可以关闭Internet Explorer的自动完成功能,组策略对象(GPO)是一种管理大量计算机系统的简单方法,通过编辑独立的策略控制用户和机器设置。在活动目录环境下使用Windows Server 2003,能在整个企业或公司范围内关闭自动完成设置[注释 34]。

9. 结束语

网页浏览器(Internet Explorer 和 Firefox)的密码存储机制需要得到重视,任何控制密码领域的系统都应当仔细查看。用户需要更了解使用密码管理器的好处和威胁。当前的一些解决方案,比如不使用、关闭、选择性存储和使用复杂的密码都只是临时的。用户希望安全策略清晰、可用、安全,因此下一代的密码管理系统应当在设计方案中考虑所有这些建议。

10. 感谢

感谢Sasha Romanosky, Adrian Perrig, Alessandro Acquisti, Timothy Summers, Eric Doversberger和Michael Cole 改善此文档的回馈。



[注释 31] Password Safe. http://passwordsafe.sourceforge.net/
[注释 32] Bruce Schneier, Password Safe, http://www.schneier.com/passsafe.html
[注释 33] Mozilla Development Center, "How to Turn Off the Autocompletion Feature", 2002, developer.mozilla.org
[注释 34] TechNET, "Internet Explorer Maintenance Extension Technical Reference", technet.microsoft.com, (Accessed April 2006)