密码重用的问题为啥一直屡教不改?

简介: 密码重用的问题为啥一直屡教不改?

这些年来发生的重大用户隐私泄漏事件,就其根源,有一半的原因要归咎于用户本身,其中最常见的就是密码设置太简单。为此,很多供应商和机构都强制用户设置更复杂的密码。但即便如此,密码设置方面的漏洞还是攻击者最喜欢的攻击入口点,这其中最常见的问题就是密码重用。有用户觉得,对于不同的账户,我会将用过的密码进行一些细微的改变,这样是不是就安全了?经过实际测试,这些只经过细微更改的密码,都算是密码重用。

那问题就来了,既然密码管理器现在随手可用,那为什么密码重用问题还是如此突出呢?其原因在上面已经说了,对于不同的帐户,用户总爱用相似的密码,因为这样好记,另外就是很过用户觉得使用密码管理器太麻烦。但是在当今的网络世界中,密码重用的使用率非常惊人。所以,我们建议你使用密码管理器,这有助于减少密码重用,提高安全性。在本文中,我们将对一些最常见的密码管理器进行安全和实用性分析,说不定其中有你最喜欢的一个。

申请阿里云服务时,可以使用2000元阿里云代金券,阿里云官网领取网址:https://dashi.aliyun.com/site/yun/youhui

重用密码绝对不要再用
重大黑客和安全漏洞一直在发生,毫无疑问,黑客正在使用先前收集的密码数据库来尝试利用各种网络资源。密码重用是造成这些黑客能成功攻击的主要原因,收集了一个密码数据库后,黑客可以迅速尝试在其他资源上盗用帐户凭据。通过僵尸网络实施的这些攻击可能不会触发安全警告,即使帐户已被盗用也是如此。

多家机构的研究表明,几年前,使用不同服务的用户帐户之间的密码重用率至少为31%。如今,普通用户使用的网络帐户数量已大大增加,这导致重用密码的情况严重增加。最近的报告表明,大约59%的用户在许多不同的网络服务中都存在着重复使用密码的情况。如果结果是按着使用相似密码来计算,则该比例可能会更高。

这些数字实际上意味着什么,你知道吗?这意味着,如果一个用户拥有20个网络帐户,则仅他只使用了7个密码。在这7个密码中,有3个是独立的,而剩余的 “不同”密码看起来很相似。我们观察到的最常见的行为模式之一是将给定的网站或资源所需的数字和特殊字符的数量附加到密码的末尾。因此,“不同”的密码列表可能包括简单的变体,如password1、password123、password1 $等。在调查过程中,这些模式很容易被发现和利用。阿里云服务器1核2G低至82元/年,阿里云官活动网址:https://dashi.aliyun.com/site/yun/aliyun 可以用20代金券,即102-20=82。

密码重用和计算机取证
尽管密码重用不利于安全性,使黑客能够快速攻击多种服务,但对于计算机取证而言却是一大福音。通过获取密码列表,专家可以确定一个用来取证的通用模式,这种模式反过来又使他们能够构建所谓的基于掩码的攻击。基于掩码的攻击允许指定用户的所有或大部分密码都具有的共同点,从而减少了要尝试的密码数量。

例如,使用Elcomsoft Distributed Password Recovery工具可以大大缓解基于掩码的攻击。在在此之前,让我们看看这些密码有什么共同点:

password
Password$
password1
Password12
Password5678
Password123$
如上所示,所有这些密码都是基于一个关键字“password”,它可能以大写“P”开头,也可能以小写“P”开头。关键字后面可以跟或不跟最多包含4位数字的密码,后面可以跟也可以不跟一个特殊字符这是一个非常现实的场景,即用户尝试使用尽可能简单的密码。但是,如果安全策略强制使用一定数量的大写字母、数字和特殊字符,则用户只需将它们添加到密码的末尾即可。在EDPR 4.20(雷神分布式破解系统免费版)中,你可以使用一个简单的掩码,如下所示:

?0assword?1(0-4)?2(0-1)

character group ?0: Pp
character group ?1: digits
character group ?2: special symbols

1587290231129343

下面这些密码有什么共同之处呢?

andy1980
apple1$
mary1968
hopeful1
wardrobe
monitor$
所有这些密码均基于单个字典单词,该单词以小写字母开头,该字母可以或不可以跟一个包含最多4位数字的数字,该数字可以或可以不跟一个特殊字符。如果你使用的是较旧版本的Elcomsoft Distributed Password Recovery,则必须构建一种非常复杂的混合攻击来解决所有这些密码变体,而EDPR 4.20则可以使它变得非常简单:

?w[mydic.udic]?0(0-4)?1(0-1)

character group ?0: digits
character group ?1: special symbols
现在,如果用户拥有一套稍微复杂一些的密码,该怎么办?

Andy1980
Apple1$
mary1968
hopeful1
wardrobe
monitor$
这些密码与前一种情况类似,都是基于一个字典单词,这个单词后面可能有或没有一个包含最多4位数字的数字,后面可能有或没有一个特殊字符。然而,这次这个单词可能以大写字母开头,也可能不以大写字母开头。

密码管理器介绍
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或微软账户都必须经过双因素身份验证才保险。

相关文章
ly~
|
2月前
|
存储 安全 生物认证
如何防止密码重用?
本文介绍了防止密码重用的综合措施,包括用户教育与意识提升、技术手段支持和系统设计与策略引导。通过定期的安全培训、安全提示与宣传,增强用户的安全意识;推荐使用密码管理器和账户关联检测技术,帮助用户管理复杂密码;实施多因素身份验证和密码强度检查,确保系统的安全性。
ly~
38 5
|
5月前
|
存储 前端开发 Java
若依修改----数据字典,可以用于维护系统中常见的静态数据,为什么不写死,用字典维护?数据字典的好处是一个地方编写数据,在多个地方,复用他,静态选项这里填完,换其他,用户性别这里的男女,就转成而来字典
若依修改----数据字典,可以用于维护系统中常见的静态数据,为什么不写死,用字典维护?数据字典的好处是一个地方编写数据,在多个地方,复用他,静态选项这里填完,换其他,用户性别这里的男女,就转成而来字典
|
7月前
简便的方法开线程干活并且出现等待提示
简便的方法开线程干活并且出现等待提示
40 3
|
存储 小程序 算法
密码太多不知道怎么记录?不如自己写个密码箱小程序
密码太多不知道怎么记录?不如自己写个密码箱小程序
69 0
|
设计模式 消息中间件 JavaScript
干掉 “重复代码”,这三种方式绝了!
干掉 “重复代码”,这三种方式绝了!
36963 2
干掉 “重复代码”,这三种方式绝了!
|
JSON 前端开发 数据格式
#yyds干货盘点 【React工作记录十二】前端对接口参数错误如何解决
#yyds干货盘点 【React工作记录十二】前端对接口参数错误如何解决
171 0
|
JSON 算法 前端开发
你还在重复编写表单代码吗?封装一个组件不香吗?
🎈表单是我们平时在很多情况下都会用到的,那么重复的编写表单代码会不会让你感到厌烦呢?如果将其封装成一个可配置组件的话是不是会减少我们很多的工作量。
157 0
你还在重复编写表单代码吗?封装一个组件不香吗?
|
Java
线程池的7种创建方式,强烈推荐你用它...(7)
线程池的7种创建方式,强烈推荐你用它...(7)
88 0
线程池的7种创建方式,强烈推荐你用它...(7)
|
XML Java 数据库连接
变量命名冲突的解决思路(spring框架中使用${}动态引入用户名,想连接数据,结果访问被拒绝)
变量命名冲突的解决思路(spring框架中使用${}动态引入用户名,想连接数据,结果访问被拒绝)
171 0
变量命名冲突的解决思路(spring框架中使用${}动态引入用户名,想连接数据,结果访问被拒绝)
|
缓存 Java
线程池的7种创建方式,强烈推荐你用它...(2)
线程池的7种创建方式,强烈推荐你用它...(2)
109 0
线程池的7种创建方式,强烈推荐你用它...(2)