- A+
起因
今年的3月30日晚上,微博网友@ringzero 爆出了一条消息,大意是网易邮箱的数据库泄露了,内容大概有52G之多。消息出来后不久52G数据就出现在了百度的云盘上,不过没过多久就失效了。就这么个简单的事情。
如果你不是对网络安全比较关注,可能现在都不知道这件事儿。因为时隔一天,大家的目光又被另一件事情给带走了:根据知名微博网友@英式没品笑话百科 曝光,百度云涉嫌错误引导用户打开共享,并且进行自动分享,导致所有通过百度云客户端备份到云端的内容,都可以被搜索引擎抓取,并被他人任意查看。
暂且不论百度是否无辜,反正这件事儿一出,大家的目光是没有放在网易的52G上面了,当然这和网易PR团队的辛苦工作有一定关系,但不可否认是,在这个春意盎然的季节,一场狼猪恋爱悄然而至。
52G
作为一名潜伏在信息安全领域的文学青年,我一直在关注网易这件事儿。清明三天假没出去玩,硬是把这52G数据用300KB的针管网速下载下来了。数据主要是163邮箱和126邮箱的,文件结构如下图:
52G数据的文件组织
可以随便打开一个文件看看,就找个小一点的163com.zip压缩包吧,虽然小,也有3.6G了。
压缩包内的文本文件
打开一个文件,可以看的出来,里面的数据都是明文存放的,并不像我们理所当然认为的MD5哈希或者SHA系哈希。
数据内容截图
数据都是邮箱数据,即邮箱的账号密码,涉及到的邮箱主要是 @163,@126,@yeah.net(网易系),间杂的有@vip.qq.com,@hotmail.com,@soho.com等。后面的非网易系列邮箱,我猜想应该是用户将其作为网易邮箱的别名添加到网易账户上的。
在计算机领域,存储敏感数据(如密码)的时候,一般是需要将其做一个随机化处理,产生一个字符串存储的,如选取一个伪随机函数,常用的有MD5,RC4,SHA256等,这样可以避免攻击者直接拿到敏感数据,即便数据库被攻破,拿到的也是类似乱码的字符串。如2011年的CSDN数据泄露事件,就是因为CSDN将密码直接以明文形式存储了起来,然后导致的泄密。对安全更加苛刻的厂商,还会给数据加盐(salt)存储,此处不表。废话说了这么多,我想表达的是:网易内部对数据是怎么存储的呢?
52G的数据给人的感觉很生硬,我们来形象化一点。51.7G=55,293,910,324 Byte, 一个邮箱的账号和它对应的密码,加在一起大概是20~60个字节左右。最后估计的结果是,这52G大概包含了约1,600,000,000条数据,16亿的量。而网易的实际用户有多少呢?
网易邮箱作为网易公司的核心战略产品,在该季度通过持续产品创新,用户数继续增长,截至Q3网易邮箱总有效用户数超过7.1亿,环比2013年Q2的6.8亿,净增加了3000万,增长率为4.41%;同比2013年Q3的5.9亿用户,净增加1.2亿,增长率为20.34%
ref:http://digi.163.com/14/1113/17/AAURM8MC001618JV.html
按照增长速度,至今为止,网易邮箱大概用户量在8亿以上。那这16亿的结果是怎么回事?数据中有些邮箱(如 wang@163.com)是有多个密码值的,这些是历史密码还是其他不得而知。但这个现象也许能解释16亿数据多出来的部分。
测试
随机选取了50条数据进行登陆测试,后缀@163计30条,@126计20条。测试结果是:
50条邮箱数据,有38个邮箱可以成功登陆,12个邮箱登陆失败。
其实在测试之前,我还是比较怀疑这些数据的真实性的,因为网易邮箱泄露事件去年就已经在乌云上被爆出来了,当时网易极力否认,我当时也认为只是一次漏洞被放大而已。4月1号朋友分享的网易泄露事件新闻报道,我甚至没花时间看。直到测试完毕,才知道这次数据库的泄露是真的。
再次回到去年10月份的泄露,当时的数据估计没有这么多,但还是有用户反应邮箱绑定的手机无故被锁定,存在异地登陆等情况。网易否认的也是比较理直气壮,其实还是有补救措施的:
网易2015年11月邮箱加固提醒
今年的这次事件后,网易的补救措施是....连提示都没有了,不过是在登陆的时候加上验证码,估计是为了避免黑产批量的测试吧。
验证码界面
从数据的格式可以看出,这批邮箱数据其实是比较老的,密码基本上都是好几年前的了。这也是50个数据中12个邮箱验证失败的原因之一。
本想用BurpSuit再撞一下库的,但是觉得没意思就放弃了。数据就测试了这么多,至于结论相信大家心中都有数。
深入
其实仔细相信,这件事还是挺有意思的。这52G数据其实早就泄露了,在黑产手中经过了好几次手才被放出来,证据如下:
邮件列表
从时间可以看出,早在2月份,邮箱就有异常了。
这里普及一下一点小常识:邮箱数据到在黑色产业链中该怎么用?(中国互联网中的黑色产业链:https://www.zhihu.com/question/21180320)
通常来讲有这么几个用途:1,利用邮箱群发广告,违法,色情的内容;2,通过撞库清洗邮箱与之关联的其他账户中的财产,如QQ中的Q币,游戏中的装备等;3,利用邮箱原主人身份进行诈骗;4,利用绑定邮箱的某些设备,如手机,平板等。
例如上图中的Apple ID的密码更改,在我测试的大部分邮箱中都出现了。更改了密码有什么用呢?已经有新闻报道,不法分子更改了原主人的Apple ID账户密码后锁定手机,然后联系手机主人索要财物,否则不予解锁。此外,百度账号也被黑产所青睐,大部分测试的邮箱都在2月份均出现了百度账号相关信息变动。
提醒一下,如果你的网易邮件中出现了这么一条信息,那么说明有人试图验证你的邮箱密码:
POP3验证
POP3协议是一个邮件接收协议,用来提供网络用户简单的下载邮件做离线邮件浏览,但因为其本身没有体提供完善的身份验证功能,经常被用作账号的批量验证。
反响
个人觉得网易这次事件比2011年的CSDN事件严重的多(CSDN一次又一次躺枪,被无数信息安全专业的学生在论文中引用,O__O")。CSDN的明文泄露暴露了用户的网站密码,但这些密码和与邮箱本身的密码可能是不一样的,攻击者拿到数据后,只能去撞库测试验证账号的有效性。但网易这次不一样,攻击者可以直接接触到邮箱本身,验证码,个人信息等在进入邮箱后一目了然,铺垫工作就是需要写个批量验证的程序。
但遗憾的是,在我周围,知道这件事的人并不多,甚至是一些从事安全行业的小伙伴也并不了解事情的来龙去脉。
看看关键词"52g"的变化趋势:
52G in Google Trends
可以看出,大家的关注点在31号新闻刚出来达到顶峰,然后迅速下落,至今只有一半的流量。
结论
写这些本意是纪念一下这次事件,毕竟捣鼓了好几天数据了,再者提醒一下大家。本想10分钟搞定的,哪想写了一个多小时了,要睡觉了,就迅速收工。
1,52G邮箱数据中,大部分数据还是有效的,对用户存在着较大的威胁。
2,数据基本上都是老数据,但鉴于我国网民偏好数字,很多人十几年都用诸如19780305,888888这种简单数字组合的密码,因此安全隐患不容小觑。
3,网易作为一个老牌的互联网厂商,在业内口碑还是不错的,做出了很多比较有诚意的产品,如网易云音乐,网易云课堂,Lofter等。但在数据泄露这件事情上,私以为网易这样捂着舆论,把风险全部扔给用户,实在是一件挺遗憾的事。
4,如果你使用了网易邮箱,请自查其安全性。检测网址:https://163password.download/,如果结果是“不存在”,恭喜你,你的数据没有被泄露。如果你不幸中招,那就赶快修改邮箱密码,并把使用邮箱密码(包括历史密码)的其他账户的密码也一一修改了,防止撞库的风险。监测网站的开发人员也是业内良心,要处理这么多格式不统一的数据,然后放出来让大家使用,精神真是没得说....没准是Qmail干的~
好困,睡了。
ps:裤子=数据库
原文地址:http://www.jianshu.com/p/e86e480e26e8