令京东栽了跟头的struts是什么?一文看懂数据泄露根源

  12月11日,针对12G用户数据泄漏事件,京东回应称,该数据源于2013年Struts 2的安全漏洞问题。该问题因框架自身的安全性问题使系统极易被攻击而产生。然而目前使用Struts的公司不在少数,并且大多数都因为技术惰性,不愿意改进原本可用的技术方案。

  注意:现在公众号有置顶功能了,大家把微信更新到最新版本,点开“棱镜”公众号,点“置顶公众号”键,就可以将我们置顶了。这样,您就可以第一时间发现我们。

  文:张琴

  针对网传的京东12G用户数据泄露事件,12月11日,京东方面对腾讯财经独家回应称,该数据源于此前2013年Struts 2的安全漏洞,目前京东还有“极个别”系统使用Struts2框架,但已经过妥善升级,“暂不会出现安全问题”。

12月11日,自媒体“一本财经”报道称,一个京东的12G 数据包近期在黑市上流通,其中包括用户名、密码、邮箱、QQ号、电话号码、身份证等多个维度,数据多达数千万条。随后也有京东用户反映,自己的京东白条近期被盗刷。

 
  12月11日,自媒体“一本财经”报道称,一个京东的12G 数据包近期在黑市上流通,其中包括用户名、密码、邮箱、QQ号、电话号码、身份证等多个维度,数据多达数千万条。随后也有京东用户反映,自己的京东白条近期被盗刷。

  京东对此回应称,经信息安全部门初步判断,该数据源于此前“2013年Struts 2的安全漏洞问题”,并表示,当时国内几乎所有互联网公司及大量银行、政府机构都受到了影响,导致大量数据泄露。

  12月11日,京东方面对腾讯财经表示,在Struts 2的安全问题发生后,京东就完成了系统修复,并分析出可能受到安全威胁的用户账户,升级安全系统,同时提示风险用户升级安全措施。目前京东仍有少数系统应用此框架,但使用范围主要在公司内部。

  但对于为何2013年的系统漏洞,在近期被发现有用户信息被泄露的情况,京东方面并未正面回应。京东称,在没有拿到自媒体所报道的数据库前,无法给出更加详细的信息。

  Struts2是什么?

  Struts是Apache基金会的一个开源项目,广泛应用于大型互联网企业、政府、金融机构等网站建设,并作为网站开发的底层模板使用。

  Struts 2是Struts的下一代产品,是在Struts 和WebWork的技术基础上进行合并,形成的全新框架。

  2013年7月17日,Struts2曾出现高危漏洞。包括国内很多知名网站在内的大量网站,受到此漏洞不同程度的影响。攻击者可以利用该漏洞执行恶意java代码,最终导致网站数据被窃取、网页被篡改等严重后果,使网站及网民安全受到了极大的威胁。

  国内一家大型互联网企业的技术开发人员对腾讯财经表示,Struts是基于Java语言的一款开源框架,类似基于PHP语言的Yii和Laravel。

  “前人在利用基础语言进行操作时发现了共性,便将基础性的内容提取,于是就有了框架。而开源框架指的是,不仅给你框架,还将这个框架的搭建方法,以及源码一并给你。”上述开发人员对腾讯财经表示,在此基础上,任何人都可以根据需要更改框架,甚至还可以在此过程中发现框架的不足与漏洞。

  该人士提到,Java语言的开发效率低于PHP,但是运行速度优于后者,相对来说更适合项目较大的系统。国内的电商平台一般都使用 Java语言, 例如淘宝、京东。

  腾讯财经从蚂蚁金服一位负责开发的人士处了解到,虽然蚂蚁金服方面以及阿里巴巴集团业务团队的开发语言基本以JAVA为主,但很早就不再使用Struts框架。原因主要是Struts框架本身存在安全漏洞,前后端分离,且该技术早就过时。

  上述人士对腾讯财经表示,目前Java开发主流的框架是spring mvc,包括各家在spring的基础上自己研发的定制框架。

  风险何在?

  针对“框架风险对于系统安全性威胁”的话题,一家上市互联网企业的程序开发人员对腾讯财经表示:“框架就像是一个柜子,轮廓已经在那里了,怎么隔层,放哪些东西都是由你自己决定。隔层、放置的东西都是小问题,但是若框架出现问题,那影响就是根本性的了。”

  他提到,类似Struts2在2013年出现的高危漏洞,若是框架自身安全性存在问题,系统就极容易被攻击,所以有财力、能力的人往往都自造框架。

  “但是许多程序员面临的问题是,公司要求快速迭代,产品明天要上线,你今天还要写框架,费时费力,索性就直接借助开源框架。”他说。

  据其介绍,Struts 2官方起初曾就框架可能存在的安全漏洞进行了声明。开发人员在运用该框架编写代码时,需要进行必要的安全处理。

Struts2官方提示安全漏洞

 

Struts2官方提示安全漏洞