京东 12G 用户数据泄露被证实,源自 2013 年的 Struts 2 安全漏洞
昨晚, 金融新媒体一本财经曝出了一条信息:一个 12G 的数据包开始在地下渠道流通,其中包括用户名、密码、邮箱、QQ号、电话号码、身份证等多个维度,数据多达数千万条。
而黑市买卖双方皆称,这些数据来自京东。
一本财经的记者获取了这个数据包,尝试根据部分用户名和破解的密码登陆,确实大部分可登陆京东账户。通过在数据库中搜索自己的名字,一本财经的记者甚至发现自己的信息也早已泄露。
今天凌晨,京东就通过其官方微信公众号“京东黑板报”进行了回应:“经京东信息安全部门依据报道内容初步判断,该数据源于 2013 年 Struts 2 的安全漏洞问题。当时国内几乎所有互联网公司及大量银行、政府机构都受到了影响,导致大量数据泄露。”
也就是说,这些数据是真的。
另外,京东表示:
京东在 Struts 2 的安全问题发生后,就迅速完成了系统修复,同时针对可能存在信息安全风险的用户进行了安全升级提示,当时受此影响的绝大部分用户都对自己的账号进行了安全升级。但确实仍有极少部分用户并未及时升级账号安全,依然存在一定风险。
那 2013 年的 Struts 2 安全漏洞到底是怎么回事?
软件里的所谓框架,是基于现有技术设计的一个可复用的设计构件,它把原技术变得更加简单易用,同时功能和扩展性更强大。
Struts2 就是一个多用于企业级 Web 应用的框架,而且,它被认为是 Web 开发的宝典级框架之一。国内几乎所有的互联网公司、银行、政府机构等网站都或多或少使用了 Struts2 框架。
2013 年 7 月 17 日,Struts2 的开发者 Apache 基金会发布了该框架的新版本,但非常奇葩的是,在版本更新记录里,Apache 基金会透露了上一版本的一个远程执行漏洞,更加奇葩的是,它们直接公布了一段利用这个漏洞的示例代码。这个漏洞可以被黑客利用,获取网站用户的用户名、密码等各种敏感信息。
使用 Struts2 框架的开发者们,只有通过手动更新的方式,才能修复这个漏洞。也就是说, Apache 基金会在发布新版本的同时,把一个非常危险的漏洞,以及漏洞利用方法直接公诸于众。
Struts 2 安全漏洞的危害有多大?
首先,因为用于企业级应用的底层框架,Struts 2 的远程执行漏洞被恶意利用后,电商网站、视频网站、银行的用户都有泄露的危险。实际上,在 7 月 17 日漏洞被公布当天,国内的白帽子平台乌云上就收到了 100+ 各种漏洞报告,其中不乏国内各大互联网公司,甚至连苹果开发者网站都受到影响。
乌云当时曝出的部分漏洞
这个漏洞还有更严重的一面。由于 Apache 基金会直接公布了利用漏洞的代码,于是,各种傻瓜式窃取网站数据的工具一下涌现出来。 安全圈的知名人士道哥还透露,黑客们把越来越多的存在漏洞的网站公布在第三方平台上,更引发了类似杀人比赛一样恶性循环;同时,以前不关注这个漏洞的人也被吸引而来,进一步让局面失控。
道哥当时提醒,“可以不夸张的说,整个中国互联网应该被狠狠的捋了一遍。”
2014 年 9 月, 《法制晚报》报道过一个案例,某公司安全测试工程师王某,在看到 Apache 基金会公布的漏洞之后,利用该漏洞入侵了 263 邮箱的服务器,将该邮箱的 1.6 万多家企业用户的数据全部拿下。
这个案例中,263 邮箱属于迟迟未修复漏洞的。其实,很多小网站开发水平有限,他们可能根本就不知道 Struts 2 漏洞的存在,对于黑客来说,这些网站基本就是囊中之物。
在漏洞被官方曝出后, 国内各大互联网公司都宣称“第一时间修复了漏洞”, 京东当时的回复也是,第一时间就修复了漏洞,业务和用户数据都没有受到该漏洞的任何影响 。
如果京东“第一时间修复漏洞”的回复属实,那就有另一种可能,在 Struts 2 的漏洞被官方公布前,就已经有黑客发现了该漏洞,并入侵了相关网站。
2013 年 7 月 21 日, 道哥在他的微信公众号写到,“先爆个小道消息,据某地下黑客组织成员透露,Struts 这个漏洞在 12 号就有人在批量利用了。”
为什么 3 年以后,才有京东的用户数据被贩卖?
这个问句可能不太准确,因为这些用户数据很可能已经被多次转手。最早曝出该消息的一本财经也在报道中表示,据业内人士称,数据已被销售多次,“至少有上百个黑产者手里掌握了数据”。而为什么现在再次流通,“原因不明”。
有一种可能是,数据泄露后,黑客们会先进行“洗库”,即将有价值的账户先洗劫一遍,之后,才会把数据拿到黑市上销售。这个过程中,黑客还要对加密过的密码进行破解,以及去别的网站“撞库”,即使用相同的帐号、密码,尝试登录其他网站。
所以,现在流通的这份数据,很可能已经是价值已经被压榨到极致的“渣”。
可以肯定的是,Struts 2 的漏洞早已被京东修复,而京东也确实提醒用户修改密码,如果你在 2013 年 7 月之后修改过京东密码,那这次对你不会有什么影响。
但是,从一本财经记者的实验中可以看到,可能还是有很多用户没有修改密码,导致帐号依然处于“裸奔”的状态。
除了让我们更小心,互联网公司们在安全上要承担什么责任?
每一次出现用户数据大规模泄露事件,我们总会被严厉教育一次:要使用复杂密码,不同网站要使用不同密码,密码要勤于更换……
但其实稍微总结一下,就会发现,大规模泄露事件一般是因为网站漏洞,使用复杂密码、频繁更换密码只是增加了黑客破解密码的难度;不同网站使用不同密码,只是能防止黑客“撞库”。
除了让我们更小心,互联网公司要为安全承担怎样的责任呢?
2014 年 12 月,13 万条 12306 网站的用户数据在网上被疯狂贩售,据瑞星透露,在对 12306 网站安全监测时,发现 6 个子网站存在 Struts2 远程监控漏洞。
对于劣迹斑斑的 Struts2,在涉及到用户信息的部分,开发人员或许该下定决心换个框架。
另外,国内的大部分网站,包括京东,还没有推出或强制用户使用两步验证。对于已经出现问题的帐号,建议其修改密码,并不是一个一劳永逸的解决方案。
安全无小事,不应该只是对用户说。
相关阅读: