CSDN 及人人网的用户密码分析

2011-12-24IT IT.信息安全

  本周,互联网上的一大新闻就是:多个知名网站被脱库,上千万用户资料侧漏。对俺这种长期在安全圈混的人,自然最关心泄漏出来的用户口令啦。这可是活生生的第一手材料啊。今天正好周末,俺就抽空分析了一下 CSDN 和 RenRen 的用户密码。毕竟这两个网站名气大,CSDN 可以代表技术人员的圈子,人人网的用户据说高校学生居多。考虑到俺博客的读者不少,或许有些人热衷于网络安全,没准也对密码分析感兴趣,干脆就把分析结果分享到博客上。

  对于 CSDN 被泄露的600多万用户数据,俺多罗嗦几句:
  据 CSDN 官方的说法,这仅仅是2009年的数据。不过,据圈内的小道消息,其实黑客拿到了所有用户数据,这次只是公布了其中一部分。俺查了一下公布的数据,里面没有俺的帐号——可是俺 program_think 这个帐号在2009年1月份就在 CSDN 注册了。另外,里面也没有刘未鹏同学的帐号(pongba)——他更加是 CSDN 的老用户了。而有些网友是2010年注册的帐号,却出现在公布的数据中。所以,CSDN 官方的说法很可疑。


★样本的说明


  CSDN 的样本,总共是3列数据,分别是用户名、口令、邮箱。格式比较严谨,所有数据都可用。数据量大约是642万8千。
  RenRen 的样本,总共2列,分别是用户名(同时也是邮箱)和口令。此样本的格式不太严谨。俺去掉了大约3万无效数据(比如用户名不是合法的邮箱地址),还剩大约473万5千。


★密码长度分布


长度范围CSDN (%)RenRen (%)
[1,6]1.9231.89
[7,12]90.8065.86
[13,18]7.171.70
[19, ]0.210.55

长度CSDN (%)RenRen (%)
50.513.10
61.2925.28
70.2618.11
836.3820.17
924.1412.01
1014.487.34
119.786.79

  点评:
  (从平均水平看)CSDN用户的密码长度显然大于人人网用户。


★密码类型分布


类型CSDN (%)RenRen (%)
纯数字45.0152.97
纯小写字母11.6419.96

  点评:
  纯数字的口令,比例太高,不是好现象。
  对于同样长度的口令,纯小写字母相比纯数字,其组合的可能性更多,更难暴力破解。


★使用手机作密码



CSDN (%)RenRen (%)
手机号2.18(约14万)2.91(约13万8)

  点评:
  作为口令的手机号,多半就是本人的手机号。
  手机的稳定性远高于电子邮箱。因此,这个信息的价值还是挺大滴。如果有人想搜罗手机号的话,这下可有福了。


★使用生日作密码


日期格式CSDN (%)RenRen (%)
YYMMDD0.143.59
YYYYMMDD5.92(38万)2.67
MMDDYYYY0.060.11
YYYY-MM-DD小于0.01小于0.01
YYYY.MM.DD小于0.01小于0.01
YYYY/MM/DD小于0.010

  点评:
  用生日做口令,表面上看,位数还挺多(少的有6位,多的有8位,加分隔符的话甚至有10位)。
  但其实这种口令很弱。因为可能的生日个数是很有限的——生日通常分布在1940年以来——大约是365×70=25550。即便算上不同的格式,也就十多万种。如果是程序来穷举,用不了一柱香的功夫。


★密码和用户名相关


类型CSDN (%)RenRen (%)
直接拿用户名做密码4.55(约29万2)0.04
密码包含用户名0.25小于0.01
密码是用户名的一部分2.04(约13万1)1.57

  点评:
  很奇怪,CSDN 居然有这么多人拿用户名作口令,比例远远高于人人网用户。这有点不合逻辑啊。
  本文发出后,不少 CSDN 的用户留言,解释此原因:因为网友经常需要上 CSDN 下载东西(比如电子书)。但是 CSDN 不提供匿名下载。所以就临时注册一个用户。为了省事,口令就设置成跟用户名一样了。


★用英文单词作密码


俺拿四级词汇作为字典,测试了一番。比例如下:
CSDN (%)RenRen (%)
0.110.19

点评:
两个网站的比例都不算高,表扬一下。
顺便说一下,在作密码的单词里,排名第一的是 password。这个习惯跟老外是一致的。


★用数字作密码


前面给出的按类型统计中,纯数字的比例是很高的。纯数字密码,常见的组合有如下。

类型CSDN (%)RenRen (%)
1234567893.91(约25万1)0.72(约3万4)
123456783.31(约21万2)0.25(约1万2)
1234567小于0.010.11(约5千)
1234560.03(约2千)3.73(约17万7)
12345小于0.010.31(约1万5)
全是00.65(约4万2)0.61(约2万9)
全是11.41(约9万1)0.91(约4万3)
全是20.040.05
全是30.030.04
全是40.010.02
全是50.030.05
全是60.09(约6千)0.11(约5千)
全是70.030.05
全是80.25(约1万6)0.13(约6千)
全是90.060.05

  点评:
  上述这些组合,都属于弱爆了的口令——极易被入侵者攻破。
  使用这些组合的用户比例还挺高。这下,口令攻击者可就爽了。
  另外,全8的口令明显要高一些,而全4的比例明显低。貌似迷信的因素也体现到口令设置了。


★名人的口令


  CSDN 上有不少知名博客(也叫专家博客)。本来,俺以为:既然号称专家,那安全意识应该不会太差吧。所以,俺今天抱着偷窥明星隐私的丑恶心态,查了几个名人的密码。
  结果,看下来很令人失望啊——很多知名人士的密码,貌似也很弱啊!为了避免让某些人难堪,俺就不举例说明了。
  说到专家博客,顺便插一句:俺也曾经也是 CSDN 的专家博客之一。今年8月份,CSDN 要搞专家实名制。但是俺死活不肯公开真实身份。所以,俺的专家资格已经被取消啦 :-(


★俺的忠告


  经过这次脱库事件,希望诸位能意识到密码的重要性。强烈建议看一下俺去年写的帖子——《如何防止黑客入侵[2] - 如何构造安全的口令/密码》。
  还有,无论如何也不要在多个重要帐号共用相同或相似的密码。