这些年来发生的重大用户隐私泄漏事件,就其根源,有一半的原因要归咎于用户本身,其中最常见的就是密码设置太简单。为此,很多供应商和机构都强制用户设置更复杂的密码。但即便如此,密码设置方面的漏洞还是攻击者最喜欢的攻击入口点,这其中最常见的问题就是密码重用。有用户觉得,对于不同的账户,我会将用过的密码进行一些细微的改变,这样是不是就安全了?经过实际测试,这些只经过细微更改的密码,都算是密码重用。
那问题就来了,既然密码管理器现在随手可用,那为什么密码重用问题还是如此突出呢?其原因在上面已经说了,对于不同的帐户,用户总爱用相似的密码,因为这样好记,另外就是很过用户觉得使用密码管理器太麻烦。但是在当今的网络世界中,密码重用的使用率非常惊人。所以,我们建议你使用密码管理器,这有助于减少密码重用,提高安全性。在本文中,我们将对一些最常见的密码管理器进行安全和实用性分析,说不定其中有你最喜欢的一个。
重用密码绝对不要再用
重大黑客和安全漏洞一直在发生,毫无疑问,黑客正在使用先前收集的密码数据库来尝试利用各种网络资源。密码重用是造成这些黑客能成功攻击的主要原因,收集了一个密码数据库后,黑客可以迅速尝试在其他资源上盗用帐户凭据。通过僵尸网络实施的这些攻击可能不会触发安全警告,即使帐户已被盗用也是如此。
多家机构的研究表明,几年前,使用不同服务的用户帐户之间的密码重用率至少为31%。如今,普通用户使用的网络帐户数量已大大增加,这导致重用密码的情况严重增加。最近的报告表明,大约59%的用户在许多不同的网络服务中都存在着重复使用密码的情况。如果结果是按着使用相似密码来计算,则该比例可能会更高。
这些数字实际上意味着什么,你知道吗?这意味着,如果一个用户拥有20个网络帐户,则仅他只使用了7个密码。在这7个密码中,有3个是独立的,而剩余的 “不同”密码看起来很相似。我们观察到的最常见的行为模式之一是将给定的网站或资源所需的数字和特殊字符的数量附加到密码的末尾。因此,“不同”的密码列表可能包括简单的变体,如password1、password123、password1 $等。在调查过程中,这些模式很容易被发现和利用。
密码重用和计算机取证
尽管密码重用不利于安全性,使黑客能够快速攻击多种服务,但对于计算机取证而言却是一大福音。通过获取密码列表,专家可以确定一个用来取证的通用模式,这种模式反过来又使他们能够构建所谓的基于掩码的攻击。基于掩码的攻击允许指定用户的所有或大部分密码都具有的共同点,从而减少了要尝试的密码数量。
例如,使用Elcomsoft Distributed Password Recovery工具可以大大缓解基于掩码的攻击。在在此之前,让我们看看这些密码有什么共同点:
- password
- Password$
- password1
- Password12
- Password5678
- Password123$
下面这些密码有什么共同之处呢?
- andy1980
- apple1$
- mary1968
- hopeful1
- wardrobe
- monitor$
现在,如果用户拥有一套稍微复杂一些的密码,该怎么办?
- Andy1980
- Apple1$
- mary1968
- hopeful1
- wardrobe
- monitor$
密码管理器介绍
1Password,Dashlane,KeePass和LastPass是四个最受欢迎的密码管理器。密码管理器存储、管理和同步用户密码以及其他敏感数据。密码管理器经过明确设计,旨在减轻密码重用问题,提供生成、存储和使用真正唯一且不可重用的密码的功能。
典型的密码管理器会将所有密码保存在数据库中,数据库使用主密码进行加密保护,并存储在本地或云中。密码管理器同时支持台式机和移动设备,并采用强加密技术来保护对密码数据库的访问。
值得注意的是,整个密码数据库通常受一个主密码保护,该密码将解密并打开所有存储的密码。
由于大多数用户只使用他们的移动设备来访问帐户和打开文档,因此密码管理器也可以在移动平台上使用。由于触摸屏没有物理键盘,并且不能使用“学习进程”来输入复杂的密码,这会导致经常选择在移动设备上解锁其密码库的用户选择更简单的主密码。Touch ID或Face ID确实有助于避免输入主密码,但仍然需要不时使用主密码进行身份验证。
1Password是由AgileBits于2006年开发的,此密码管理器支持Windows、macOS、iOS和Android平台。该数据库可以存储在本地,Dropbox或iCloud中,该数据库包含在iTunes备份和iCloud备份中。
LastPass是2008年由Marvasol公司(后来被LogMeIn收购)推出的,LastPass还支持Windows、macOS、iOS和Android平台。此外,LastPass可以作为浏览器扩展安装在许多流行的浏览器中。密码通过LastPass服务器同步。除了桌面版本,密码数据库还可以从浏览器扩展和Android设备中获得。
Dashlane是Dashlane在2012年开发的,它还支持Windows、macOS、iOS和Android。密码通过Dashlane服务器同步,密码数据库只能通过文件系统提取从计算机或移动设备获取。
KeePass是一个开源应用程序,它的本地构建只适用于Windows,所有主要的台式机和移动平台都有大量的第三方端口。KeePass不提供备份或同步选项,数据库可以从本地台式机或通过移动设备的文件系统提取来获取。
正如我前面提到的,密码管理器将密码存储在本地数据库中。这些数据库可以使用一个主密码进行加密。由于信息的敏感性,这种保护通常非常强大,可以承受高性能的暴利攻击。但是,许多密码管理器针对其应用程序和插件中的不同数据库采用不同的保护设置。 Windows桌面应用程序通常会提供最强的保护,而Android应用程序将使用最弱的保护。一些密码管理器使用自适应保护强度,该强度取决于特定设备的运行性能。
无论哪种方式,在攻击密码管理器数据库时都必须使用GPU辅助攻击,最新版本的 Elcomsoft Distributed Password Recovery 可以利用GPU加速来加快对用主密码加密的1Password,Dashlane,KeePass和LastPass数据库的攻击。以下基准测试演示了对从1Password,Dashlane,KeePass和LastPass的相应Windows桌面应用程序提取的本地数据库的攻击性能:
如果你对不同密码管理器的基准值感到困惑,那是因为它们令人困惑。不过,密码管理器在不同环境中确实采用了不同的保护设置。例如,如果我们使用了1Password,则恢复速度取决于哈希算法(SHA-1,SHA-256或SHA-512)和迭代次数。桌面Windows应用程序支持SHA-512,它的散列轮数似乎是随机的,散列轮数是根据特定计算机的性能和其他一些特性单独计算的,这是为了确保没有延迟地打开密码数据库。这意味着,攻击的速度随着迭代次数的增加而下降。出于这个原因,1Password的基准看起来可能非常混乱。
使用唯一的密码是不够的
即使每个网络帐户都使用唯一的随机密码,这也不足以确保网络的安全。 如果用户使用一个“通用”电子邮件帐户,如攻击者使用被攻击的雅虎邮件不仅能够访问存储在该帐户中的历史电子邮件消息,而且还可以请求用该电子邮件地址注册的其他帐户的密码重置。至于是哪个帐户? 通过分析用户的电子邮件历史记录,则很容易猜到。 攻击者使用一个遭到入侵的Google帐户就可以得到存储的密码,从而访问用户的整个数字世界的生活轨迹。 同样,受攻击的Apple和Microsoft帐户也会导致类似的后果。 因此,我们再怎么强调双因素身份验证的重要性也不为过。我们认为,任何苹果ID、谷歌账户、Facebook或微软账户都必须经过双因素身份验证才保险。