美征信巨头 Equifax 因 Struts 漏洞导致数据大规模泄露

  • Charles Humble
  • Tim Hodkinson
  • 盖磊

2017 年 9 月 17 日

话题:JavaApache语言 & 开发架构

各新闻机构和在线新闻网站都报道了黑客从征信企业 Equifax 窃取了 1.43 亿美国人的详细个人信息,这一事件表明 Apache Struts 框架存在安全缺陷。Struts 是一种开源的 MVC 框架,用于创建基于 Java 的 Web 应用。作为这一框架管理者,Apache 软件基金会发布声明对此指责做出了回应。

据媒体最初报道表明,漏洞可能是由 Struts 的一个未公开漏洞所导致。但是,Equifax已经确认在攻击中所使用的 Structs 漏洞是CVE-2017-5638,而且继 Equifax 首次声明之后,Apache 基金会也对此做了确认。该漏洞位于 Jakarta Multipart 解析器中,对于 Apache Struts 2 的 2.3 版本,在 2.3.32 之前的版本中存在;对于 Struts 2 的 2.5 版本,在 2.5.10.1 之前的版本中存在。这一漏洞已于今年三月被 Apache Struts 团队打补丁,并关闭了该问题。但是 Equifax 在五月中旬出现了泄漏,直到七月底才被发现。在此期间,攻击者已经访问了不少客户的个人数据,其中包括社会保障码、出生日期和住址等。有 20.9 万名客户的信用卡号被访问,未知数量的英国和加拿大居民的个人数据也被泄露了。

Struts 几乎曾是 Java Web 应用开发的普遍选择,其应用遍布业界并依然被大量使用,尤其是在企业的一些历史遗留应用范围内。Apache 软件基金会的项目管理委员会(Project Management Committee) 在媒体上对 Equifax 的声明做出了回应,其中提出了多点意见。首先,依然不能确定泄漏的源头的确是由于 Struts 的漏洞所导致。其次,如果的确是源于 Struts 的漏洞,那么“或是 Equifax 服务器未打补丁,使得一些更早期公布的漏洞被攻击者利用,或者是攻击者利用了一个到目前为止尚未被发现的漏洞”。根据推测,该声明提出黑客所使用的软件漏洞可能就是CVE-2017-9805 漏洞,该漏洞是在九月四日公布的,这是在 Equifax 发现出现泄漏后的一个月。声明中还继续列出了一些软件工程上的原则。如果这些原则得到了所有使用开源或不公开软件库的开发人员的遵守,将“有助于防止 Equifax 所经历的不幸泄露事件重现”。

Equifax 的股价在华尔街下跌了近 14%,据BBC 报道,两个美国国会委员会将对此次数据泄漏事件举行听证会。此外,纽约、伊利诺伊州、马赛诸塞州、康涅提格洲和宾夕法尼亚州的州检察长将在本州内对此次事件开展调查。

查看英文原文: Struts Flaw Behind Equifax Breach Disclosed and Patched in March

JavaApache语言 & 开发架构