返回列表 发帖

关于密码的事情

嗯今天用自己新搜集的一堆网站泄露密码重新测试了这边和隔壁论坛的密码表

结果很可怕,仅10分钟内691个账户中的200个密码被破解,这意味着啥大家都清楚。
考虑到很多人喜欢一堆网站(甚至是支付宝之类的)都用一个密码,我还是稍微提醒一下,最好赶紧把重要账户的密码换掉。
万一发生数据泄露,后果都清楚的(虽然咱觉得服务器上的超长的密码不太可能被破解,毕竟有2*1063种组合)

这次测试使用的数据库是4月25日早上8点01分的备份
工具为HD 7750(1GB显存),oclHashcat-plus 0.14,Catalyst催化剂驱动程序13.2 Beta
使用的密码字典大小为1.57GB,包含了1.4亿条各种网站泄露的密码,包括QQ
是的,包括QQ

而且QQ泄露的密码字典是最大的,863.13MB,6800万条密码


以下为各字典命中统计:
  1.     106 password-test/cnpassword.txt(2011年国内多个网站密码泄露事件)
  2.      97 password-test/qqpw.txt(使用钓鱼邮件获取的QQ密码表)
  3.      71 password-test/md5decrypter.txt(MD5Decrypter密码工具自带字典)
  4.      70 password-test/rockyou.txt(2009年Rockyou密码泄露事件)
  5.      46 password-test/linkedin_masked.txt(LinkedIn已破解密码)
  6.      34 password-test/phpbb.txt(phpBB已破解密码)
  7.      19 password-test/tuscl.txt(2010年TUSCL.net密码泄露事件)
  8.      13 password-test/singles.org.txt(2010年Singles.org密码泄露事件)
  9.      13 password-test/cain.txt(Cain & Able密码破解工具自带字典)
  10.      12 password-test/hotmail.txt(来源未知,据称为Hotmail密码)
  11.      11 password-test/john.txt(John the ripper密码破解工具自带字典)
  12.      11 password-test/honeynet.txt(蜜罐网络收集的常见破解密码)
  13.      10 password-test/myspace.txt(钓鱼获取的MySpace密码)
  14.      10 password-test/faithwriters.txt(常见的与宗教相关的密码)
  15.       9 password-test/porn-unknown.txt(色情网站泄露密码)
  16.       8 password-test/facebook-phished.txt(钓鱼获取的facebook密码)
  17.       7 password-test/conficker.txt(Conficker蠕虫病毒自带攻击密码)
  18.       6 password-test/twitter-banned.txt(Twitter禁止使用的密码)
  19.       6 password-test/hak5.txt(常用字典)
  20.       6 password-test/elitehacker.txt(常用字典)
  21.       6 password-test/500-worst-passwords.txt(500个最常被使用的密码)
  22.       1 password-test/facebook-pastebay.txt(不明来源的Facebook密码)
复制代码
各字典的大小与密码条数:
  1. 字典文件                 大小(B)    密码条数
  2. 500-worst-passwords.txt 3493        500
  3. cain.txt                3149586     306706
  4. cnpassword.txt          370834150   34792249
  5. conficker.txt           1411        182
  6. elitehacker.txt         6516        895
  7. facebook-pastebay.txt   500         55
  8. facebook-phished.txt    25688       2442
  9. faithwriters.txt        72695       8347
  10. hak5.txt                24714       2351
  11. honeynet.txt            2906298     226928
  12. hotmail.txt             87383       8931
  13. john.txt                21935       3107
  14. linkedin_masked.txt     25172642    2802100
  15. md5decrypter.txt        174331516   15619083
  16. myspace.txt             356352      37144
  17. phpbb.txt               1574395     184389
  18. porn-unknown.txt        57836       8089
  19. qqpw.txt                837070967   67986128
  20. rockyou.txt             139921497   14344391
  21. singles.org.txt         94691       12234
  22. tuscl.txt               324743      38820
  23. twitter-banned.txt      2780        370
复制代码
下面是这次测试的最终输出:
  1. Session.Name...: oclHashcat-plus
  2. Status.........: Exhausted
  3. Input.Mode.....: File (dictionary.txt)
  4. Hash.Target....: File (J:\hashes.txt)
  5. Hash.Type......: vBulletin < v3.8.5
  6. Time.Started...: Mon Apr 29 23:25:10 2013 (10 mins, 7 secs)
  7. Time.Estimated.: 0 secs
  8. Speed.GPU.#1...:   246.7k/s
  9. Recovered......: 200/691 (28.94%) Digests, 199/689 (28.88%) Salts
  10. Progress.......: 88285013622/88285013622 (100.00%)
  11. Rejected.......: 13223194542/88285013622 (14.98%)
  12. HWMon.GPU.#1...: 50% Util, 38c Temp, 20% Fan
复制代码
翻译一下,就是
  1. 本次运行607秒
  2. 共尝试了1.4亿个密码
  3. 运行速度为25万个密码/秒
  4. 攻击类型为Discuz!密码散列
  5. 攻击方式为纯字典攻击
  6. 共读取691个密码散列
  7. 成功恢复200个密码散列(28.94%)
复制代码
多长的密码才安全?

嗯首先这里有一个假设,就是你的密码不在任何公开字典里,只能用暴力破解的方式攻击。
这次被破解出来的密码不乏“MYQ888*OTEN”(不是真的,只是举例)这样的一般认为比较复杂的密码,能被迅速破解的原因就是因为这东西在字典里。

另外,现在的密码破解软件(比如我这次测试用的oclHashcat-plus)可以使用显卡的大规模并行计算能力加速
首先作为性能对比参考,我测试了自己的HD 7750显卡的计算能力,以下是纯MD5运算的速度,每秒18.4亿个密码
  1. Session.Name...: oclHashcat-lite
  2. Status.........: Running
  3. Hash.Target....: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  4. Hash.Type......: MD5
  5. Time.Started...: Mon Apr 29 23:45:52 2013 (4 secs)
  6. Time.Estimated.: Mon Jun 10 17:58:08 2013 (41 days, 18 hours)
  7. Plain.Mask.....: ?1?1?1?1?1?1?1?1
  8. Plain.Text.....: ***cy452
  9. Plain.Length...: 8
  10. Progress.......: 8545894400/6634204312890625 (0.00%)
  11. Speed.GPU.#1...:  1838.8M/s
  12. HWMon.GPU.#1...: 20% Util, 36c Temp, 20% Fan
复制代码
作为最高性能参考,我选择了HD 7970单卡,速度是每秒81.6亿个密码
  1. Status.......: Running
  2. Hash.Target..: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  3. Hash.Type....: MD5
  4. Time.Running.: 20 secs
  5. Time.Left....: 9 days, 9 hours
  6. Plain.Mask...: ?1?1?1?1?1?1?1?1
  7. Plain.Text...: ***aaaaa
  8. Plain.Length.: 8
  9. Progress.....: 163158425600/6634204312890625 (0.00%)
  10. Speed.GPU.#1.: 8156.5M/s
复制代码
然后测试了自己的HD 7750针对单个Discuz!密码散列的破解速度,为每秒5.33亿个密码
  1. Session.Name...: oclHashcat-lite
  2. Status.........: Running
  3. Hash.Target....: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:123456
  4. Hash.Type......: vBulletin < v3.8.5
  5. Time.Started...: Mon Apr 29 23:49:32 2013 (9 secs)
  6. Time.Estimated.: Sat Sep 21 01:34:51 2013 (144 days, 1 hour)
  7. Plain.Mask.....: ?1?1?1?1?1?1?1?1
  8. Plain.Text.....: ***<tman
  9. Plain.Length...: 8
  10. Progress.......: 4833935360/6634204312890625 (0.00%)
  11. Speed.GPU.#1...:   533.0M/s
  12. HWMon.GPU.#1...: 96% Util, 36c Temp, 20% Fan
复制代码
那么类比一下,HD 7970应该可以上23.65亿/秒

对一个n位长的密码,假设攻击者并不知道其长度,必须从1位开始逐个试过去的话,那么最坏情况需要试:(等比数列求和)
95 * (95^n - 1) / 94
这么多次,一个8位长的密码最坏情况要试6704780954517120(670.5万亿)次,稍作计算就可得出需要多久破解,答案是33天
明显8位并不够用,特别是对敏感信息(比如你的支付宝)
但如果加一位,变成9位的话,这个数字一下就会变得很大(指数爆炸知道么),需要636954190679126495(63.7京)次,需要3118天才能解出
不过别忘了,这个计算是建立在“整个密码内所有字符都是随机产生的”这么一个前提条件下的,所以嘛,只能呵呵了不是么(

新的论坛系统

嗯咱考虑是完全抛弃MD5,改用PBKDF2或者scrypr或者bcrypt这样的高运算强度的密钥导出算法
关于PBKDF2有多吃硬件资源…………
差不多,大概7970上一秒也就只能试15万个密码
scrypt和bcrypt,不说啥了,反正比PBKDF2还可怕

不过由于算法不兼容,现在的用户数据不会保留,新系统内不会存在任何现有的数据,就酱
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
Any time you have "one overriding idea", and push your idea as a superior ideology,
you're going to be wrong. ... The fact is, reality is complicated.

-- Linus Torvalds <http://hexm.de/mc>






哇,原来还这么恐怖,我都是一个名字天下走,回去改改……
谢谢Sion大人告知!
一双玉臂千人枕,半点朱唇万人尝。

TOP

真吓人,还好我的密码基本上能达到32位的就用32位的密码,达不到的就用最长的字符位数的密码。

TOP

不是太在乎
yukikase,我与你同在

TOP

就是说又要从新注册一次?
生活偶尔会有惊喜……
生活偶尔会非常开心……

TOP

回复 5# 路易斯


    应该不要……吧……

TOP

回复 5# 路易斯


重设密码而已

TOP

回复 7# Sion


    密码太长的话记不住的

TOP

回复 7# Sion


    又重设。。。我已经不知道该设啥了。。。。。。。

TOP

原来Sion是一个黑客,求教

TOP

返回列表