一文看懂令京东栽了跟头的Struts是什么?

Posted 腾讯财经

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文看懂令京东栽了跟头的Struts是什么?相关的知识,希望对你有一定的参考价值。


文/张琴

 

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

 

 

京东对此回应称,经信息安全部门初步判断,该数据源于此前“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官方起初曾就框架可能存在的安全漏洞进行了声明。开发人员在运用该框架编写代码时,需要进行必要的安全处理。

 

一文看懂令京东栽了跟头的Struts是什么?
Struts2官方提示安全漏洞

 

例如,当出现漏洞是,Struts会提示用户升级,但若暂时无法升级,系统会发布最高安全等级为“重要”或是“极其重要”不等的提示,并会附上相应的解决措施。

一文看懂令京东栽了跟头的Struts是什么?
最高安全等级为重要

一文看懂令京东栽了跟头的Struts是什么?
相应的解决措施

一文看懂令京东栽了跟头的Struts是什么?

所有Struts2开发人员必读,最高安全等级为“极为重要”的安全提示


“这就像是已经告诉你,冬天很容易感冒,要多穿点衣服。但若是你还是少穿衣服,没有应用这个安全处理措施,那感冒就怪不了别人了。”上述开发人员说。

 

据了解此前2013年7月,Struts 2 曾存在2个高危漏洞,这些漏洞可使黑客取得网站服务器的“最高权限”,从而使企业服务器变成黑客手中的“肉鸡”。据媒体报道,当时有7成大型互联网公司及政府机关受到该漏洞影响。

 

金融银行类网站此前是重灾区

 

对于目前Struts框架的应用状况,前文所述蚂蚁金服方面开发人士对腾讯财经表示,目前仍使用Struts的公司不在少数,其中大多数都因为技术惰性,不愿意改进原本可用的技术方案。

 

“Struts在早期是Java后端开发很成熟的解决方案,被大量采用,后来陆续爆发了不少问题和漏洞,但是企业要重新更换整体框架,不管是在技术层面,还是运营层面,都有不少阻力。”他说。

 

据乌云平台漏洞报告,2013年Struts2出现高危漏洞之后,淘宝、京东等大型互联网厂商均受此影响,而且漏洞利用代码已经被强化,可直接通过浏览器的提交对服务器进行任意操作并获取敏感内容。

 

同时Struts漏洞影响巨大,受影响站点以电商、银行、门户、政府居多。其中,金融银行类网站更是成为此次漏洞的重灾区。

 

对此上述人士认为,在Struts框架曝出大量漏洞,逐渐被新技术取代后,仍有不少银行机构由于技术反应较慢沿用此技术。“早期的网银优盾等手段,都是通过设置更多的人为障碍来减小安全风险。银行之外,像京东这样让用户修改密码,其实不能避免用户信息泄露,只能说是加强对于密码的保护。”

 

据“一本财经”此前援引业内人士说法,京东此次泄露的数据已被销售多次,“至少有上百个黑产者手里掌握了数据”。

 

一位互联网企业旗下电商平台的技术人员对腾讯财经表示,已流传出去的信息,或存在着撬动其他数据的可能性。这是因为黑产者可借此进行进一步的“撞库”操作。

 

撞库是指,黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户信息。

 

据其介绍,一般情况下系统在数据库中存储用户密码时,并非存储密码原文,而是存储经MD5、Sha1等加密处理之后的数据。若获取了密码的加密串,则可通过反编译的形式获取密码的原文。

 

“经过加密处理后,破解密码往往需要较长时间。但是若密码已经在数据库中被解密,相较于新密码,黑客往往可以瞬间就破解掉。”该人士说。

 

据了解。很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户,从而尝试登录B网址。

 


来源:腾讯财经·棱镜(id:lengjing_qqfinance)


觉得不错,欢迎扫描二维码关注并点赞鼓励↓↓↓别忘记置顶公号哦!

腾讯财经多档精品栏目:

棱镜 | Miss Money | ME战士  | 地产一哥

 藏宝图 | 枕头财经 | 原子智库 | MF侈度


以上是关于一文看懂令京东栽了跟头的Struts是什么?的主要内容,如果未能解决你的问题,请参考以下文章

一文看懂阿里京东滴滴大数据架构变迁

搞定了数学,拿下了代码,没想到在这件事上栽了跟头……

所谓京东数据泄露其实是Struts惹的祸,更危险的是个别用户还浑然不觉!

京东安全团队获Struts2官方致谢

Java分享客栈一文搞定京东零售开源的AsyncTool,彻底解决异步编排问题。

绝绝子!京东大牛用一文将Python 接口自动化测试解析透彻的不行~