CSDN明文口令泄露的启示

CSDN明文口令泄露的启示

2011年12月21日晚,某计算机专业的大学生寝室,某同学大叫到:“兄弟们,最新的日本XX女星的AV片已经下好,大家快过来看啊,相当精彩啊~~~”,然而,这个寝室里的其它同学似乎没有听到这哥们的呼喊,于是,这哥们又叫了三次,没有人理他,因为大家都在眉飞色舞地谈论着CSDN的明文密码和用户帐号泄露的事情,并在网上查找着下载CSDN那600万的用户数据……上面这个故事是我编的,只是想描述一下昨晚的情形。

其实,CSDN明文密码并不是什么稀奇的事情,我是2000年注册CSDN的吧,当时找回口令的机制就是把口令直接传回来了,这一定是明文了。去年去CSDN参加移动互联网沙龙的时候,范凯和蒋涛说过明文密码的事,不过他们说的是很早以前的事了,而且一笔带过了。1年后的今天,事情又暴了,可见,“出来混的,迟早是要还的”这句话是几近真理的。

我在以前的BLOG里就提到过CSDN的明文密码(在“如何设计用户登录功能”一文)和 帐号泄露(“如何设计自己的口令”) 的事(由此可见,酷壳里的很多文章里的事都应验了,因为我知道“出来混的,迟早是要还的”)

可悲吧?还是程序员的网站呢,明文口令和用户信息泄露有悖于一个程序员网站的称号

泄露的密码分析

我昨晚下载了www.csdn.net.sql文件,并分析了一下这个文件,经过各种awk, grep, sort, uniq, sed后,下面是我看到的东西:

  • 有近45万的用户使用 123456789 和 12345678 做口令。
  • 有近40万的用户使用自己的生日做口令。
  • 有近15万的用户使用自己的手机号做口令。
  • 有近25万的用户使用自己的QQ号做口令。
  • 设置成弱口令的用户占了590万,也就是那种就算你用MD5或是SHA散列的也能很快就被暴力破解出来的口令。
  • 只有8000多个用户的口令里在8个长度以上,并有大写字母,小写字母,数字,并不在字典表里。

(很好,这回泄露的还不单单只是明文用户密码和用户邮件,还有用户的手机号,生日和QQ号。挺好的)

下面,我们来看一下top 100的口令是什么?(第一列是采用这个密码个数,第二列是密码,我擦 dearbook是什么啊)简单地看了一下,top 一万的口令都很SB。比如什么woshishui, 123abc, aaa123456,01010101,haohaoxuexi,msconfig 相当的2B,还有[email protected],q1w2e3r4t5,看似文艺,实际很2的口令…. (可悲吧?还是程序员的网站呢,自己设的口令有悖于一个程序员的称号

235033 123456789
212751 12345678
76346 11111111
45902 dearbook
34953 00000000
19986 123123123
17791 1234567890
15033 88888888
6995 111111111
5966 147258369
5553 987654321
5459 aaaaaaaa
5145 1111111111
5025 66666666
4435 a123456789
4096 11223344
3667 1qaz2wsx
3649 xiazhili
3610 789456123
3497 password
3281 87654321
3277 qqqqqqqq
3175 000000000
3143 qwertyuiop
3094 qq123456
3077 iloveyou
3061 31415926
2985 12344321
2886 0000000000
2826 asdfghjkl
2797 1q2w3e4r
2580 123456abc
2578 0123456789
2573 123654789
2540 12121212
2515 qazwsxedc
2396 abcd1234
2380 12341234
2348 110110110
2298 asdasdasd
2243 22222222
2166 123321123
2160 abc123456
2145 123456
2138 a12345678
2113 123456123
2106 a1234567
2100 1234qwer
1989 qwertyui
1986 123456789a
1971 aa123456
1918 asdfasdf
1891 99999999
1859 999999999
1859 123456aa
1854 123456123456
1699 520520520
1656 963852741
1652 741852963
1652 55555555
1589 33333333
1480 qwer1234
1384 asd123456
1339 77777777
1316 qweasdzxc
1285 code8925
1273 11112222
1268 ms0083jxj
1245 zzzzzzzz
1214 111222333
1206 qweqweqwe
1200 3.1415926
1183 123456qq
1148 147852369
1136 521521521
1121 asdf1234
1111 123698745
1109 1123581321
1058 asdfghjk
1054 q1w2e3r4
1038 12345678a
1003 woaini1314
991 1234abcd
988 123qweasd
975 1qazxsw2
967 woaiwojia
920 321321321
910 05962514787
894 123456987
892 kingcom5
882 zxcvbnm123
882 5845201314
853 0987654321
847 wwwwwwww
835 11111111111111111111
805 12345600
783 11235813
777 1q2w3e4r5t
772 10101010
770 123456asd

老生长谈安全问题

从酷壳出现开始我就在老生长谈用户安全的东西了,今天借着这个事,大家再去重温一下酷壳的文章吧:

  • Twitter禁用的口令。看看去吧,一个好的网站应该如何引导用户设置强口令。Apple ID也是这样,需要你输入的口令有大小写,数字,非数字和字母,等等。今天CSDN的这个列表应该成为各大网站“口令禁用列表”。
  • 有朋友说,明文口令是巨2的一件事,是的。我可以告诉你,这个明文口令有可能存在于所有国内的网站上,比如:QQ,新浪,人人,开心,天涯……。对于安全问题,你要做最坏的假设,鲁迅先生说过:“不惮以最坏的恶意来推测中国人”,所以,对于中国的网站你要做如下最坏假设:1)其以明文存我的口令,2)其内部不良员工会把我的信息泄露出去。不信你可以看看下面的某QQ群里的截图:(看看多玩网明文口令的消息吧再看看这个消息吧 QQ邮箱和QQ号的)
  • 你可能会说用MD5和SHA散列口令就好了,这个只比明文好一点点,因为有rainbow table,国外的号称达到99%覆盖,国内的达到93%覆盖。你加salt也没有用。就算我只能拿得到你的被散列的密码,没有rainbow和salt,我一样可以使用暴力破解,甚至就是尝试一下字典里的密码就可以了。这会非常快的,你可以看看本站的这篇文章“破解你的口令”,现在暴力破解MD5和SHA的口令很快的,因为MD5和SHA性能太好了。所以,你需要看看“如何防范密码被破解”,其会告诉你加密口令要用一个性能差的算法——bcrypt。(也可以参看Web开发中需要了解的东西中的如何安全保存口令一文
  • 所以,你有必要地读一读我的这篇“如何管理和设计自己的口令”,不要在同一网站上使用相同的口令,把口令的级别分好的组。自己管理好自己的口令。
  • 当你看过 如何设计用户登录功能 一文后,你一定会头晕的,所以,我想告诉你,这种事情最好不要自己干,使用OpenID 和 OAuth吧,人家把这事干到了极致了。而且这样会带来两个好处:
    • 用户不需要自己维护和管理一套新的帐号
    • 用户的资料放在国外,从政治上来说是安全的。(八卦一下:Google总部要求中国谷歌所有开发团队不得在本地保存用户的信息)
  • 再说一点,再说说如何让自己内部的用户数据不会被不良员工外泄。所有的开发团队都不允许直接操作用户的数据库,只允许通过安全的接口来验证用户,用户信息的数据库中需要对操作者有审计功能,永远不允许不受信的人或操作进行全库扫描。当然,我相信,国内的开发团队绝对达不到这一步(包括某些银行)。
  • 再说一下,真正的安全系统是协同整个社会的安全系统做出来的一道安全长城,而不是什么都要自己搞比如:通过很多方法“耦合”和银行和电信其是别的第三方的安全策略,比如,让用户绑定邮箱,绑定手机,绑定信用卡等。

最后说一下,CSDN在这次事件的表现看上去还是很不错的,道歉也很诚恳,但是,我还是希望CSDN反思一下为什么数据库会泄露了?内部有不良员工?还是系统不安全被黑?不要只是诚恳道歉,还要找自己的原因。其它的网站可能就很恶劣了。包括新浪,人人,开心等,最恶心的就是腾讯,你说他的安全有问题,他还找一堆人来骂你。

祝大家新年快乐!

(全文完)


关注CoolShell微信公众账号和微信小程序

(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)

——=== 访问 酷壳404页面 寻找遗失儿童。 ===——
好烂啊有点差凑合看看还不错很精彩 (43 人打了分,平均分: 4.14 )
Loading...

CSDN明文口令泄露的启示》的相关评论

  1. 只有8000多个用户的口令里在8个长度以上,并有大写字母,小写字母,数字,并不在字典表里
    ——8000分之一路过,可怜了我的高强度密码啊….还好我还有另一个高强密码,两者交替使用

  2. dearbook似乎是和csdn有关的一个网上书店。当时在dearbook注册完。。就是一个csdn账号。。

  3. 明文口令 这个在门户网站很难说不存在 今后也将一直存在小网站,尽管你很难想象他们的目的是什么。建议 还是用手机验证。

  4. 同属八千分之一,而且还是俺高频使用的密码。昨天就忙这个事情了,速度绑定手机+改另一个强密码。苍天啊

  5. noname :
    亮点总是在最后,哈哈。。。

    博主始终都改不了这种习性,总是把自己假定为道德高点,摆出正义者的形象,把技术争论、变成道德批判。可悲,,,

  6. larry :

    noname :
    亮点总是在最后,哈哈。。。

    博主始终都改不了这种习性,总是把自己假定为道德高点,摆出正义者的形象,把技术争论、变成道德批判。可悲,,,

    在批判别人技术的同时,总忘了加上一些,阴谋论、水军、流氓、恶心、等等字眼,这都成了所谓正义者的水枪了。。。

  7. 这样的网站, 一般大家都用的是普通密码. 我八千分之一的密码都用在了最重要的地方. 博主思考的很全. 值得参考.

  8. larry :

    noname :
    亮点总是在最后,哈哈。。。

    博主始终都改不了这种习性,总是把自己假定为道德高点,摆出正义者的形象,把技术争论、变成道德批判。可悲,,,

    在批判别人技术的同时,总不忘了加上一些,阴谋论、水军、流氓、恶心、等等字眼,这都成了所谓正义者的水枪了。在说别人的同时,应该也同时检点自己的言辞、与流氓到底有多少不同。。。
    正义是何?义者宜也,适宜的意思。做正确、适宜的事,才是正义。

  9. 正因为很多程序员明白CSDN是个2B的地方,纯粹是下点资料去的,所以QQ邮箱和弱密码才占了多数

  10. 说实话,这次暴露出来的问题最严重的不是用户密码,而是明文保存。如果国内网站都是这样的,我真的只能用SX密码。

    @mite grep过了,一个人的MJ

  11. 事实的情况是,亚马逊中国上确实有卖苹果硬盘,这款硬盘名字叫做Mini iBox,包括20G、80G、160G等不同容量型号,1.8英寸,白色外壳正中是苹果的logo。
    这款苹果硬盘产品一个月前在亚马逊中国网站上由亚马逊中国直接销售和发货,北京一位庄姓用户花费1185元购买了160G容量的Mini iBox后,对其是否正品产生了怀疑,因为苹果官网和零售店里都没有这款产品。他致电亚马逊中国查询,对方肯定这款产品为正品,但是两周后这款产品被亚马逊中国悄然下架。亚马逊咋还搞这种事。

  12. 错了,在CSDN这种连下载一个文件都需要注册的网站,注册时用123456之类的这种密码是最保险的了。

  13. @larry
    这本来就是道德问题,csdn这一次泄露,对用户伤害非常大,很多人强密码,而且很多网络帐户用给一个强密码,
    这一次一泄露,可能把很多人设计的很好的强密码给暴漏了,这意味着这人需要把所以网络帐户的密码修改一个遍。
    拿用户资料不当回事,不是道德问题是什么???

    1. 可能不严谨,我的做法是是在纯数字密码中,去除时间,手机号这样的pattern,剩下的大多数是QQ号了。

  14. larry :

    larry :

    noname :
    亮点总是在最后,哈哈。。。

    博主始终都改不了这种习性,总是把自己假定为道德高点,摆出正义者的形象,把技术争论、变成道德批判。可悲,,,

    在批判别人技术的同时,总不忘了加上一些,阴谋论、水军、流氓、恶心、等等字眼,这都成了所谓正义者的水枪了。在说别人的同时,应该也同时检点自己的言辞、与流氓到底有多少不同。。。
    正义是何?义者宜也,适宜的意思。做正确、适宜的事,才是正义。

    我觉得你这种态度也很傻,你就不想想,别人看到你在几篇文章下面,反反复复唠叨这些一样的东西,难道不是只给自己的形象抹黑,拉低了疼迅的整体智商水平么?不怕神一样的对手,就怕啥一样的队友,说的就是你这种人。你还满口正义?你觉得你自己在酷壳做的事情是正确,适宜的么?你反省过你自己的言辞和流氓有多少不同么?

  15. 个人也觉得这个统计不能说明安全意识的问题,因为有些人只是为了下载资料去注册的,密码用123456不足为奇。

  16. 你不要闲这些人用密码简单,就不符合程序员的身份.你错了,像这种网站就应该使用越简单越好的密码.因为就算泄漏或者被盗,这个密码得影响是零.只要在关键网站中分别使用不同的复杂密码即可.其它无利益相关的密码,就没心思较真了.

  17. @omycle
    莫非我的口吻看起来很像疼迅高管?哈哈哈哈哈……开个玩笑,我不是疼迅的人,那位larry是疼迅的。我只是个路人,噗。

  18. 腾讯的人来冒泡了,明显看出不怀好意啊,不好好解决自己的问题,给别人扣帽子,真差。

  19. 如此高的简单密码比例说明一个问题,大部分人(至少包括我自己)已经意识到CSDN是一个不安全的地方,早在注册之初,就把密码设置得相对简单,与邮箱网银等密码也完全不同,丢了也不心疼。

  20. @SErHo 有点道理 ,我一个同事懒得去攒下载分,就注册了几百个XXX_序号 这样的账号,密码当然也很简单了
    分数用完了就注册

  21. “现在暴力破解MD5和SHA的口令很快的,因为MD5和SHA性能太好了。”
    MD5欲哭无泪呀 …… 他辛辛苦苦做到那么好的性能,你们竟然欺负他 ……

  22. Yinkan :
    “现在暴力破解MD5和SHA的口令很快的,因为MD5和SHA性能太好了。”
    MD5欲哭无泪呀 …… 他辛辛苦苦做到那么好的性能,你们竟然欺负他 ……

    其实md5基本都被做成字典了,就是有人先利用高性能把所有组合全部算了一遍,然后把结果和源文本做了个表格,直接一句sql就可以根据加密结果查源文本; 然后这个字典很多地方都有了,所以简单md5的话基本没意义

  23. 实际上很多用弱密码的都是不太重视这个帐号的,把自己不重视地方的密码设得和其他自己有用的一样反而不好啊。。
    我的密码也曝光了。但是我的QQ,注册邮箱的真正密码,网银等,会用这个吗?显然不会。

    所以我有几个密码。
    一个是一次性注册的那种,可能就是为了下载点什么东西或什么的,才不得不注册的。
    二是常用论坛等。
    三是重要邮箱等用,用来恢复密码啊什么的
    四是网银等涉及财产的了

    所以看完这篇文章,我突然觉得你瞬间降了一个级别,变得有点2了。
    大家都是成年人,有衡量自己行为得失的能力。
    如果每个密码都是强密码,对自己来说会混乱,且不易输入。
    所以csdn的密码被公布了对我其实没有任何影响。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注