卡巴斯基:1 分钟破解 48% 的密码|世界密码日

原始链接在: 卡巴斯基:1 分钟破解 48% 的密码|世界密码日 - 小众软件

卡巴斯基说:绝大多数密码都弱爆了。

昨天是世界密码日卡巴斯基发布研究报告:在分析了2023 年至 2026 年期间从暗网泄露的 2.31 亿个唯一密码之后,得出结论:几乎一半的密码能在一分钟内破解,五分之三的密码撑不过一小时。

世界密码日

世界密码日(World Password Day)最早可以追溯到安全专家 Mark Burnett 在 2005 年出版的一本书:《Perfect Passwords》(ISBN-13:978-1597490412),他当时提出了一个概念:

每年应该专门留一天(Password Day),提醒大家更新重要密码、检查账户安全。

2013 年,Intel 联合安全行业开始正式推广 “World Password Day”,并固定在每年 5 月的第一个星期四。

卡巴斯基的研究报告

在卡巴斯基的报告中,分析了 2023 年至 2026 年期间,从暗网泄露的 2.31 亿个唯一密码,得出结论:绝大多数密码都弱爆了。

密码是如何破解的?

现代互联网服务在保存用户密码时,都不会使用明文。

比如你在小众软件论坛的密码为 Password123!,服务器保存的不是这个密码本身,而是经过算法,转换为 MD5:

2c103f2c4ed1e59c0b4e2e01821770fa

每当用户输入密码时,密码会先被转换成哈希值,拿去去服务器中保存的密码进行比较,如果匹配,则密码正确。

当攻击者拿到了哈希值(2c103f2c4ed1e59c0b4e2e01821770fa),它不能直接登录(服务器会把这个哈希值当成明文密码再转换一次哈希值),需要进行解密。一般需要 GPU 来进行计算:

  • 穷举法(蛮力):计算机会尝试每种可能的字符组合,计算每种组合的哈希值。
  • 彩虹表:从已破解的哈希值库中,反向找到密码(互联网上有很多)
  • 智能破解等等。

大概是这样的:

60% 的密码在一小时内被破解

不幸的是,全世界人类的密码仍然一如既往地薄弱,而破解密码却一年比一年更快、更容易。

测试使用单个 RTX 5090 GPU 对使用 MD5 算法散列的密码进行。

如今,60% 的密码可以在一小时内被破解;两年前,这个数字是 59%。但真正可怕的是另一件事:将近一半的密码(48%)在不到一分钟的时间内就能被破解!

破解所需时间 2024 年可在该时间内破解的密码占比 当前可在该时间内破解的密码占比
少于 1 分钟 45% 48%
少于 1 小时 59%(+14%) 60%(+12%)
少于 24 小时 67%(+8%) 68%(+8%)
少于 1 个月 73%(+6%) 74%(+6%)
少于 1 年 77%(+4%) 77%(+3%)
超过 1 年 23% 23%

速度的提升,源于算力的提升。2024 年的 RTX 4090 可以以每秒 164 千兆哈希(十亿哈希)的速度暴力破解 MD5 哈希值,而新的 RTX 5090 则将这一速度提高了 34%,达到了每秒 220 千兆哈希。

哪些密码容易被破解?

答案:密码长度

下表中,99.1%的 8 位密码,会在1天内被破解:

时间/密码位数 8 位 10 位 12 位 14 位 16 位 18 位 20 位 25 位
少于 1 分钟 81.9% 63.1% 37% 23.1% 13.3% 8.6% 4.2% 1.8%
少于 1 小时 91% 79.6% 56.5% 38.1% 23.4% 16.3% 8.1% 3.2%
少于 24 小时 99.1% 89.1% 69.7% 51.5% 33.5% 24.1% 12.4% 4.8%
少于 1 个月 100% 92.9% 79.1% 64.3% 46.3% 33.8% 18% 7.2%
少于 1 年 100% 97.8% 83.7% 72.3% 54.6% 41.7% 22.9% 9.8%

有趣的密码组合

在对 2 亿多个密码进行特征分析后:

年份组合

    • 53% 的密码以数字结尾
    • 17% 的密码以数字开头
    • 12% 的密码包含类似年份的数字序列(1950–2030)
    • 10% 的密码包含 1990–2026 之间的年份

    很多人会把出生年份、家人的出生年份加入密码中。从这些年份分布来看,目前最活跃的互联网用户,大多出生于 2000–2012 年之间

    一个密码的平均寿命:3~5年

    很多人喜欢在密码中添加当年的年份,然后在几年内忘掉它。根据分析,包含 2020 年至 2024 年的组合仍然很流行,这实际上可以估算出一个密码,从创建到泄漏的平均寿命:大约三到五年。

    数字 & 字母组合

    在所有数字组合中,最受欢迎的密码组合是”1234″

    另外,3% 的密码中出现了连续按键盘的模式(”qwerty”、”ytrewq “等)

    特殊字符

    在强制要求密码中增加1个特殊字符后,目前 @ 符号时候最受欢迎的:

    • 第一名:@,据 1/10
    • 第二名:是句号(.)
    • 第三名:是感叹号(!)

    爱主宰世界,马桶也是

    在这些密码中,还经常出现 “love/爱”, “angel/天使”, “team/团队”, “mate/伴侣”, “life/生命”, and “star/明星”,以及非常多的脏话。

    Skibidi Toilet 也入选其中,从 2023 年到 2026 年,密码中 “Skibidi “一词的使用量激增了 36 倍(自行搜索图片😂)

    用户真·懒得修改密码

    在多次密码泄漏时间中,有一半以上(54%)的密码以前出现过。其中不少是相同的数据从一个数据集到了另一个数据集,不过,还有一个很大的原因,许多用户多年未更改密码

    你要相信

    哪怕你的密码本身很强,只要一直不换,它迟早可能在某个地方泄露。

    如何保护你的密码

    1. 使用密码管理器
    2. 不要以纯文本方式存储密码
    3. 不要在浏览器中存储密码(微软 Edge 将密码明文加载到内存中
    4. 使用二次验证
    5. 使用 Passkeys 通行密钥
    6. 一个服务对应一个密码

    另外,密码本身正在失去安全性。过去各种服务都让用户设置复杂的密码,但近年来算力的提升,导致很多看起来安全的复杂密码,今天也不安全了。

    实际上,国内如此频繁的短信验证登录,就是在宣告:服务商本身也不信任用户的密码了。


    原文:https://www.appinn.com/world-password-day-26/

    我的天,我去试了下,`Password123!`经过MD5转换之后真的就是`2c103f2c4ed1e59c0b4e2e01821770fa`,这个论坛不给密码加盐的嘛??!

    我就举个例子啊。我也不知道算法…

    加盐解决90%问题

    但实际上,根据卡巴斯基的统计,加盐并没有解决90%的问题,只解决了 52% 的问题啊

    加盐,就是给用户的密码拼上点什么东西:盐 (密码学) - 维基百科,自由的百科全书

    因为,如果都是老老实实做哈希,那么相同的输入对应相同的输出。那么"2c103f2c4ed1e59c0b4e2e01821770fa"就是直接对应"Password123!"。

    这种情况,只要保存大量的常用密码,把他们使用不同的哈希处理之后得到加密后的东西,然后,在数据库里一个一个碰撞就行了。也就是"彩虹表"攻击方法

    但是,加了盐,就,会得到不同的密码,也就有了不同的哈希…

    但是,加了盐至少解决了52%的问题,不加盐那就解决0%的问题了啊

    这两点很关键。而且2fa方式也得多,避免把自己锁在门外

    1.很多密码就是防自己不防攻击者。
    2.国内啥啥都要注册、遍地实名制,造成处处要留密码。而很多网站的安全性很难让人信任,拖库撞库都是常事。可以说,密码泄露很大的责任并不在用户。
    3.很多网站明明可以用第三方登录,但是还要你设密码,不知所谓。

    所以我一直觉得把密码删掉, 只用短信验证会不会更好,但是这样想的话如果手机被人捡到就等于所有密码都被人捡了。。

    另外就是在互联网早期(其实现在也有)那种安全评分,真的跟安全性是正相关的吗? 要求什么安全问答/邮箱/手机 之类的, 每一种渠道都能重置密码,那岂不是只要泄漏一种渠道就等于泄漏密码了吗?

    1 个赞

    比起用户用弱密码,网站被拖库才是密码泄露的最大元凶吧

    也不一定都要密码的吧,不少好像就短信验证码就能登录了

    我就是这样觉得的, 只用验证码不是比用密码安全吗? 《重返未来:1999》这个手游我就是没有设置密码,但是每次登录都会问一下我要不要设置密码。。

    很多人根本不重视密码
    比如10年前的百度贴吧里,留QQ邮箱求资源的人中,有起码2%的人,他百度账号密码就是他QQ号。等于这些人经常直接将自己的密码发到网上……

    而且最近这几年密码泄露的,推特一家就贡献了两次


    1 个赞

    微软:没有密码就是最好的密码(

    短信验证码不是为了实名吗?

    通过二次验证证明本次登录者就是账号注册者,这本质上就是一种“实名”嘛

    你这个说法吧,有点逻辑混淆

    短信验证码主要是为了确认操作者是当前可支配手机号的人,本质上只是安全验证环节,只是恰好因为国内手机号本身被要求实名,所以:自然也就能通过手机号确认操作者是谁。属于一种弱实名的措施,毕竟这时候验证的其实不是操作者是手机号实名者,而是当前可支配手机号的人(不一定要用自己实名的手机号啊)

    要求输入身份证号做人脸识别的才是真正意义上的“为了实名”。

    现在我在很多网站都没有密码了. 都是手机验证码登录.

    让人记住密码这件事本来就挺反人类的,
    如果密码有实际含义,那密码字段的可选范围就坍缩了,破解难度就大幅下降,但一个16位的乱序字符串怎么可能记得住嘛

    还行,我目前都是用的bitwarden生成的强密码