分享

Apache Struts漏洞导致1.43亿美国公民信息被泄

 E安全 2020-09-01

E安全9月11日讯 美国征信企业Equifax在9月7号发表声明称被黑客窃取了1.43亿美国用户的个人信息记录,并表示该黑客是利用美国网站应用的漏洞获取了这些文件。

据William Baird&Co.一份关于数据泄露的报告透露,该漏洞存在于名为Apache Struts的开源软件包中,是用Java编写的创建Web应用的框架。截至2017年,Struts中已发现多个高危漏洞,最近的一个高危漏洞则是在9月4号被公布。现在,还不清楚Baird的报告中所指的漏洞是哪一个。

财富500强中有65%的企业受影响

9月4号发现的漏洞从2008年开始就一直存在于Struts中,该漏洞由lgtm.com的安全研究员汇报,编号为CVE-2017-9805,漏洞危害程度为高危(Critical)。当用户使用带有XStream程序的Struts REST插件来处理XML payloads时,可能会遭到远程代码执行攻击。

在lgtm.com网站的报告中,发现该漏洞的安全研究员就警告称许多可公开访问的Web应用程序都在使用Struts,例如航班订票系统和网上银行系统,这种情况下,黑客通过Web浏览器就能加以利用。

报告中说:“财富100强公司中,至少有65的公司在使用这种用Struts框架搭建的Web应用,比如Lockheed Martin, IRS,花旗银行,沃达丰,维珍航空,读者文摘,Office Depot和SHOWTIME等都在用这一框架研发了应用。这足以说明风险分布的范围之广。”

该漏洞对REST插件的影响最大,REST是开发者用来控制Web请求的插件,比如将数据从用户填写的表单发送到服务器。该漏洞关系到Struts如何解析这类数据并将其转换成Java编程语言能读取的信息。一旦漏洞被成功利用,黑客就可能在数据后隐藏恶意代码,使Struts转换数据时执行这些恶意代码。

这意味着入侵者可以轻松地把恶意软件植入Web服务器中,甚至在不被检测到的情况下就窃取或删除敏感数据,或是用勒索软件感染电脑,亦或是更糟。

Lgtm.com网站的一名研究人员Man Yue Mo认为,使用Struts的企业应该立刻升级组件。受影响用户可将软件升级到修复了漏洞的最新版本。研究人员表示暂未发现该对漏洞的利用在互联网,黑市或其他地方有扩散。

Redmonk行业分析师芬坦·瑞恩表示,Struts通常用于维护或加强现有应用程序,根据企业使用Struts的情况统计得出,财富500强中有65%的企业潜在受该漏洞影响。

Equifax在9月7日的声明中还表示,泄露从5月中旬持续到7月29日,公司7月29日发现数据泄露。被访问的大多数客户信息包含姓名,社会保险号,生日,地址,有些还有驾照号信息,还有20.9万客户的信用卡号。另有18.2万包含个人信息的信贷纠纷文件也被盗。

Apache Struts关于Equifax被入侵的官方声明

9月9日,Apache Struts发布了一份关于Equifax被入侵的官方声明,以下是E安全(微信公众号:E安全)编译的声明全文:

Apache Struts 项目管理委员会愿意就Equifax数据泄露做出声明,因为这与Apache Struts Web框架有关,而且我们在知晓Equifax遭受了数据泄露,且盗取数据者是利用Apache Struts Web框架后,感到非常遗憾。目前,尚不清楚被利用的是哪一个Struts漏洞。Quartz.com网站上曾发表一篇文章,称与CVE-2017-9805漏洞有关,而这个漏洞是在9月4号公布的,随后Apache便发布了可修复漏洞的Struts框架新升级。然而,该安全漏洞早在7月就以被检测到,这意味着要么是Equifax服务器上存在未被及时修复的补丁,要么是攻击者利用了零日漏洞。如果漏洞确由CVE-2017-9805引起,那可能是黑客在利用该漏洞时,它还只是个零日漏洞。因为这篇文章称CVE-2017-9805已经存在九年时间。

作为Apache Struts的项目管理委员会想表明的是,我们的研发团队为了保障我们产品的安全付出了巨大努力,而且会在第一时间解决问题。按照Apache 安全政策的要求,一旦我们发现可能存在的安全问题,我们就会先私下与报告方合作解决问题,并升级产品以修复漏洞。然后才会将漏洞以及修复的方式告知大众。即便漏洞是我们已经知道的,我们也会将信息拦截若干周,以便泄露事件在全球爆发前他们有足够的时间修复自己的软件。然而,由于漏洞检测和漏洞的利用已经成了专门的产业,通过对补丁做逆向工程或是扫描未知漏洞,是很有可能在我们完全曝光攻击向量之前就出现攻击事件的。

考虑这篇文章中说CVE-2017-9805是一个存在9年的漏洞,读者就必须理解检测一个存在9年的漏洞和了解一个存在若干年的漏洞并非同一个概念。如果是后者,安全团队就不得不花大量精力向公众解释为何没能早一点提供补丁。但这并非现在的情况——我们也只是最近才被告知某段代码可能存在什么问题,而后我们便尽快做了修复。我们所见到的是一起常见的软件工程案例——写代码的人是为了实现某种功能,可能无法面面俱到,难免留下漏洞。一旦理解了这一层,我们就希望所有其他的库和框架持有者也尽快修复漏洞。在CVE-2017-9805的案例中,我们就实现了这一目标。

我们对使用Apache Struts以及其他在其软件产品和服务中存在任何开源或封闭式库的企业和个人给出如下几点建议:

1.了解你的软件中使用的是哪个框架和库,分别是什么版本。随时关注该产品和版本的安全公告。

2.创建快速修复进程,一旦出于安全原因需要更新框架或库,可确保及时更新。最好是在几小时或几天之内,而不是几周或几个月的时间。我们所知的大多数泄露事故都是由于软件的漏洞已经公开数月,但未及时更新补丁而造成的。

3.任何复杂的软件都包含漏洞。不要在假定软件无漏洞的基础上设置安全策略。

4.设置安全分层。在面向公众层(如Apache Struts框架)之后再额外设置安全层是可取之策。这样即便是在面向公众的层级发生入侵,也不足以让黑客有能力进入所有后端信息资源。

5.对非常规进入公共Web资源的访问设置非常规访问模式监控,目前,有多种开源和收费产品可以检测这种访问模式并发出警告。对于特别倚重Web服务的企业,我们推荐这种监控。

以上几点有助于阻止类似Equifax所经历的入侵事件。

René Gielen
Apache Struts副总裁

相关解决方案

CVE-2017-9805解决方案:

  • 在不使用时删除Struts REST插件,或仅限于服务器普通页面和JSONs:

  • 限制服务器端扩展类型,删除XML支持。

  • 建议升级到Struts 2.5.13

注:本文由E安全编译报道,转载请注明原文地址

https://www./news/642051193.shtml

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多