最隐私—CSDN密码泄漏事件

如果要问,当前你最大的隐私是什么,那最直接的答案就应该是密码了。无论是手机、银行卡,甚至于门锁都是有着密码保护的,更别说你的电邮、网银、论坛、QQ或MSN及各种的博客帐号了。

然而时至今日,无论个人还是从公司都没有做出足够的努力。从这次CSDN泄漏出6,428,632个帐户的明文密码来看,安全意识还是普遍缺乏。

(一) 先从CSDN说起:

年初时SourceForge (http://www.sourceforge.net/) 曾发生黑客攻击事件,之后网站在最快的时间便向所有用户发邮件通知并在其首面显著位置公布了攻击事件及初步分析结果,并要求所有用户重置密码。虽然此举广为大家所诟病,但这是最安全的方式。

反观CSDN,直至现在我还未收到CSDN官方的邮件,在其主页上并没有明显看到相关通告,找了找才在news.csdn.net上不明显位置找到了公司通告。

        http://news.csdn.net/a/20111221/309505.html

至于相关分析更是难觅踪影,倒是金山发布了一个替员工解脱责任的申明:

        金山网络官方回应“员工涉嫌CSDN黑客事件”:  http://www.cnbeta.com/articles/166675.htm

在研究泄漏的密码数据库时,也发现了我的帐号及密码:
        cfy_matt # pop.smtp # mattwu@163.com

让我很奇怪的是,密码确是我很早以前的密码,但帐号却多了个 “cfy_”前辍。查了一下,共有10,657个用户都是有这种前辍的,但一直没能找到合理的解释。

让我很感庆幸的是,我的另外一个真正常用帐号并不在泄漏数据之中,不过二者用得是相同的邮箱,权且认为这就是为什么没收到CSDN的通知邮件的原因吧。

值得称赞的是网易在第一时间就向所有网易用户发出了警告信息。

(二)再来说说密码本身:

我是21号上午于cnbeta上得知的此事,旋即去emule上将此密码库拉了下来,很想第一时间做个分析的,但只因时间紧张才拖至今日。今天发现,和我持有相同兴趣的人已做了不少分析了,呵呵:

        CSDN泄漏数据完整分析: http://www.cnbeta.com/articles/166576.htm
        分析CSDN泄漏数据信息的一些数据: http://www.cnbeta.com/articles/166529.htm
        统计CSDN用户都喜欢哪些密码: http://www.cnbeta.com/articles/166527.htm

1,先看看大家最喜欢什么密码:

D:\>gawk -F# '{print $2}'  www.csdn.net.sql | sort -r | uniq -c |  sort -r –n > passwds
D:\>head -n 10 passwds
235012  123456789
212749  12345678
  76346  11111111
  46053  dearbook
  34952  00000000
  19986  123123123
  17790  1234567890
  15033  88888888
   6995  111111111
   5965  147258369

再次证明,越是简单越有生命力的道理!数字、重复字母还是大家的最爱。让我最意外的是4.6万的人用了 "dearbook”。

2,看看都是谁在 “loveyou” 或 “爱你”

D:\>grep -i loveyou passwds | more
   3080  iloveyou
    119  ILOVEYOU
     93  iloveyou1314
     63  Iloveyou
     55  iloveyou123
     40  loveyou1314

D:\>grep -i aini passwds | more
   1003  woaini1314
    708  woaini123
    649  woainima
    561  woaini520
    321  woaini521
    278  aini1314
    211  woainiwoaini

  1314 == 一生一世 !

3,又是谁在说赃话:

D:\>grep -i fuck passwds | more
     65  fuckfuck
     56  fuckyou123
     34  fuckyou1
     28  fuckcsdn
     26  ifuckyou
     23  fuckyou
     21  fuckshit
     21  fuck1234
     20  fuckyoufuckyou
     16  fuck2007
     14  fuckyouall
     10  shitfuck
    10  fuckyouyou
          …… 
     5  fuckfuckyou
     2 fuckyoudead

         2 fuckyouverymuch

D:\>grep -i caonima passwds
    565  wocaonima
    137  caonima123
    128  caonimabi

哈哈,从"fuckyou” "fuckfuckyou” 或 "fuckyoufuckyou” 到 "fuckyouverymuch”,直至 "fuckyoudead”,其仇恨程度各有高低。

另外呢,28位使用 "fuckcsdn”的先知用户还是有正当理由的。

4,用 ”password”当密码的人有多少呢”

D:\>grep -i pass passwds
   3501  password
    264  passw0rd
     97  Passw0rd
     91  PASSWORD
     87  password888
     82  password123
     76  passpass

5,密码与用户名一样的呢?密码用email帐号的?

D:\>gawk -F# '{ if (sprintf(" %s", $1) == $2) {print $1}}' www.csdn.net.sql | wc
 292661 292662 3589154

如果忽略大小写地话:

D:\>gawk -F# '{ if (tolower(sprintf(" %s", $1)) == tolower($2)) {print $1}}' www
.csdn.net.sql | wc
 307465  307466 3769498

D:\>gawk -F# '{ if (sprintf("%s ", $3) == $2) {print $1}}' www.csdn.net.sql | wc
   2854    2854   31678

CSDN上注册的用户多是计算机从业者或开发者,竟然还有30万人会犯如些低级的错误,实在是不应该。CSDN官方应该在用户注册时就否决此类弱智密码,包括第一部分的简单密码之内应该全部拒绝。

由此推想,中国的几亿网民的安全意识又将如何呢?

6,密码长度统计:

D:\>gawk -F# '{print $2}' www.csdn.net.sql | gawk -F' ' '{print length($1)}' | sort -r | uniq -c | sort -r -n
2337404 8
1550353 9
929647 10
627512 11
368342 12
167143 13
154356 14
  84444 6
  74784 15
  49014 16
  34060 5
  19042 7
   7657 4
   6949 17
   5841 18
   4974 20
   2262 19
   1594 3
   1485 2
   1060 0
    709 1

前7名都是8位及8位以上的,毕竟大部分都是开发人员。

7,CSDN用户都喜欢用什么邮箱 ?

D:\>gawk -F@ '{print tolower($2)}' www.csdn.net.sql | sort -r | uniq -c | sort -
r –n  | more
1960507 qq.com
1753036 163.com
800807 126.com
349357 sina.com
204019 yahoo.com.cn
200858 hotmail.com
184076 gmail.com
104189 sohu.com
  85930 yahoo.cn
  71946 tom.com
  52632 yeah.net
  50396 21cn.com
  34869 vip.qq.com
  28789 139.com
  24712 263.net
  19039 sina.com.cn
  18647 live.cn
  18441 sina.cn
  18244 yahoo.com
  16208 foxmail.com
  15140 163.net
  14083 msn.com

本以为会是网易163.com,没想到竟是用qq的最多,从数量上来看二者在仲伯之间。但如果综合网易其它的邮箱(如126,yeah.net等),网易还是绝对的老大。

8,怎样才是好的密码 ?

好的密码要具备以下几点:

  • 足够长:至少8位字符
  • 足够杂:最好同时包含大小写字母、数字、特殊符号(!@#$%^()*…)
  • 足够不相关:和你的信息及网站信息尽量不相关,或者由外人看来绝对是没意义的一串天文字符。所有字典里能查到的词或此次所泄漏的密码都不再是好密码了
  • 一个密码只专用在一个地方:这很重要。难保你注册的网站不是用明文存储密码的。还有,不小心地话,keyboard logger或sniffer等黑客工具也能嗅探到你的密码。

拿出几分钟时间来检查一下你的密码安全吗?不然,就再多花几分钟改一改吧。