csdn

CSDN 这个杯具带倒了整个茶几

最近几天要是哪个 IT 民工没有关注 csdn 密码这个事情, 估计要么是被抓去封闭开发了, 要么是死了. 如果还需要回顾下, 具体的事情经过可以参考 http://csdn.aspx2.com/, 按我能统计到的资料, wooyun 的 http://www.wooyun.org/bugs/wooyun-2010-03523 应该是最早的公开信息源, 具体的下载链接我还是不发了, 自己找吧.

csdn 那个库的真实性还是挺高的, 至少周围有不少人能验证上, ACRush 和 Matrix67 都被爆了, 而且被爆的很难看. 但根据网络消息和 scat 等人的人肉分析, 那个库的泄漏时间应该在 09 年. 其他库的真实性存疑, 至少传闻的人人库应该也是 08 或 09 年的数据, 那时候人人还叫校内吧? (刚查了下, 改名是 09 年 8 月的事) 而且密码有效率比较低, 很多能登陆的帐号也都是僵尸号, 没什么内容, 倒是有可能就是以前恶意注册的一堆水号资料被注册的人不小心弄丢了. 而且今天继续流出的新浪微博那个文件 (weibo.com_12160.dbh) 和人人库 (xh-2.txt) 几乎是一样的.

问了人人安全组的人, 以及和人人网黄晶的一些状态互动, 我还是相信人人应该不至于干明文存密码这么弱的事情. 不过从 wooyun 上 http://www.wooyun.org/bugs/wooyun-2010-03337 这个漏洞的回复, 和今天人人上某好友用 HttpFox 检查的结果来看, 这个漏洞很可能是真实存在的, 但是我把这个 bug @黄晶 的时候被否定了, 求有时间的人去验证下. 这种浏览器明文传输密码的事情在 KO 和 littleken 他们做 WOJ 第一版 (Noah) 的时候就被人搞过, 后来通过 SHA1+salt 加密密码, 并在浏览器提交数据前就加密, 才搞定这事.

更多的跟进消息可以见 aspx2 的那个页面, 分析上我个人比较赞同 http://www.36kr.com/p/71020.html 里面的说法, 主要的问题是 1) 新人不懂; 2) 脑残需求; 3) 历史遗留; 4) 政府要求; 5) 站点私心. 问题一个比一个严重, 而且越来越难修复. 一般来说新人不懂还是可以很快学习到, 脑残的需求还是可以被有理想的程序员拍回去, 这两个还算简单, 解决起来也容易. 历史遗留的问题一般大家都不敢动, 能用的系统你没事去改什么改? 又不算 KPI, 再说了, 改挂了谁负责? 而且很多程序员对公司并没有那么大的认同感, 都抱着 “反正过多久我就不在这了, 只要不在我手上出事” 的念头干活, 也难怪现在的很多产品烂成那样. 政府要求这种真的是一朵奇葩, 不过我倒是觉得与其明文存密码, 还不如给政府提供超级通道, 让他可以直接进来, 这样虽然都是被强奸, 好歹也算戴了个套, 痛是必然的, 好歹不会得病和怀孕啊. 站点私心这种完全就是流氓行径了, 小站还有这样可能, 做大了的站应该就不用靠这个赚钱了吧, 还是说这样来钱还是要快很多, 大家还是想赚快钱? 话说开个色情网站用来收密码好像是个挺不错的想法?

目前我看到对此事件的阴谋论包括: 1) robbinfan (csdn 那个头) 得罪了人; 2) csdn 和黑帽价格没谈拢; 3) 反抗政府实名制. 前两个都是就是论事, 听起来也很有道理, 09 年的库现在才爆发, 中间应该在黑市上已经流通很久了, 事实上这么一想, 很可能还有别的新库正在黑帽们手里流通着呢, 而我们还傻乎乎的说还好这次没被爆掉. 反抗政府实名制, 其实也有道理, 让大家看看网络到底多不安全, 还实名个腿, 下次漏的可能就是身份证号和家庭住址了, 再愚昧的民众也会起来反对的. 我个人对反抗实名制这个阴谋论还是挺满意的, 让民众开化最好的方式就是革命, 而革命必然会很痛, 这次痛的人多了点.

一些趣闻八卦

  • CSDN 杯我最喜欢的密码, CSDN 杯程序员最喜欢的邮箱等活动真是大大锻炼了大家的脚本处理能力, 挺好的技术普及活动. (话说为什么我的角度总这么奇怪?) 今天上午面别人就顺手拿这中间的活动所需技术当面试题给出去了, 不过结果不太让我满意 :(
  • 很多爱情段子, 算是本次惨痛的茶几颠覆 (一地杯具) 事件为数不多让人感到温暖的地方.
  • csdn 有两个比较难理解的高频密码, 一个是 dearbook, 这个我猜到都是 “第二书店”, 就是 csdn 的一个业务; 另一个 xiazhili, http://www.guokr.com/ask/item/81227/ 的 12 楼真的太牛逼了…  (正解答案: xiazhili 是 csdn 下载频道 09 年上传比较多的一 MM 会员, 众多程序员意淫的对象, 故 xiazhili 作为密码不足为奇)
  • 类似 “ppnn13%dkstFeb.1st” (娉娉袅袅十三余,豆蔻梢头二月初) 的密码, 果然是文艺到家, 其实我猜这是某百度员工的杰作? 因为百度的很多密码就是唐诗宋词中的某一段变换而来, 连内网给的好密码样例都是 “Hhzstsla!” (黄河之水天上来啊!), 而用过的类似密码更是不计其数. 话说 MySQL 好像也是个好密码? (明月三千里, 好冷…)

有关密码安全机制, 我自己的密码一直是分级的, 目前来看还算安全. 数字密码有一个纯 6 位数字应对脑残的只能用数字做密码的场合 (比如某些电信业务), 有一个好点的 6 位数字密码拿来给银行卡用. 网络密码有一个 6 位弱密码用来注册那些我不甚信任或无所谓的网站, 丢就丢吧, 反正也不是多大个事, 有一个 8 位的大小写字母加数字做一般强密码 (有些地方不然用特殊字符), 最后有 8-12 位的强密码来把关最后的核心业务 (gmail, 网银, 支付等, 且跟钱有关的都分开设定).

设定密码的方式其实用中文拼音转换就挺好的, 很多字符做下变化就模糊掉了, 比如 {数字 1, 大写字母 I, 小写字母 l, 特殊字符 !} 就是个很好的互换集合, 类似的还有 {数字 0, 大写字母 O, 小写字母 o} 等等. 做个样例: “不怕猪一样的对手” -> “bpzyydds” -> “bPz!yDd5”, 这样就又安全又好记了.

我个人建议密码还是学我那么去保存, 或用一个开源的密码管理器来管理, 开源的意思是至少自己信得过这个东西, 不然这一丢更惨, 所有的都没了.