仅有22行的JavaScript代码——让38万英国航空客户成为了受害者

Change 新闻 2018年9月16日发布
Favorite收藏

导语:9月6日,英国航空公司(British Airways)宣布,其客户数据遭黑客入侵。在接受BBC采访时,该公司指出,大约38万名顾客可能受到了影响,被盗信息包括个人信息和支付信息,但不包括护照信息。

9月6日,英国航空公司(British Airways)宣布,其客户数据遭黑客入侵。在接受BBC采访时,该公司指出,大约38万名顾客可能受到了影响,被盗信息包括个人信息和支付信息,但不包括护照信息。

英国航空公司在其网站上发布了一篇文章,解释了事故的细节,尽可能多的回答了客户的问题。虽然技术细节很少,但包括了以下信息:

1、通过其主要网站进行的支付受到了影响

2、通过其移动应用程序进行的支付受到了影响

3、付款从2018年8月21日英国夏令时22:58开始,到2018年9月5日英国夏令时21:45结束

该报告还非常清楚的表明,信息是从英国航空公司网站和移动应用程序中窃取的,但是服务器或数据库都没有受到影响。由于这些报告只涉及直接从付款表中窃取的客户数据,所以他们立即怀疑Magecart组织是罪魁祸首。

类似的攻击最近也发生在英国Ticketmaster公司。他们报告了一个漏洞后,RiskIQ研究人员发现了整个事件的线索。由于我们在互联网上搜索并获取每个页面的详细信息,我们的团队能够扩展时间轴,发现更多受影响的网站,而不仅仅是公开报道的网站。在这篇博客中,我们将调查9月6日英国航空公司公布的客户数据被泄露期间发生了什么。

Magecart:一个熟悉的对手

自2016年以来,RiskIQ报道了一个基于网络的刷卡器的使用方式,这种方式是由网络犯罪集团Magecart运营的。传统上,犯罪分子使用被称为“卡片撇取器”的设备,这个设备被藏在atm机、燃油泵和其他人们每天用信用卡支付的信用卡读卡器中的设备,它能够窃取信用卡数据,然后提供给犯罪分子,或者自己使用,或者卖给其他人。Magecart使用这种设备的数字模式。

Magecart注入了22 行的JavaScript代码,当消费者在电子商务网站上直接或通过第三方供应商进入在线支付表单时,他们便能窃取消费者的敏感数据。最近,Magecart操作人员通过对第三方功能的漏洞,在Ticketmaster网站上放置了一个这样的数字略读器,导致Ticketmaster的客户数据被高度泄露。基于最近的证据,Magecart现在将目光投向了英国最大的航空公司British Airways。

发现英国航空公司的违规行为

我们将Magecart与英国航空公司的攻击联系起来的第一步就是通过我们的Magecart检测命中。对于我们来说,看到Magecart的实例是很常见的,我们至少每小时都会收到关于网站被skimmeri -code攻击的警告。但是我们的研究团队手工搜索这些工作区之外的实例,并将它们添加到我们的全球黑名单中。在英国航空公司的事件中,我们在黑名单事件或嫌疑犯中没有受到攻击,因为Magecart在这个案件中定制了他们的撇取器。

手动爬网数据挖掘的一个挑战是RiskIQ收集的数据规模。随着时间的推移积累, 我们每天抓取超过20亿页的数据。另一个原因是现代网站倾向于使用JavaScript构建的许多功能。只需加载主要的英国航空公司网站即可运行大约20个不同的脚本,并将预订子页面加载到30个。虽然30个脚本可能听起来不多,但其中许多是缩小的脚本,跨越数千行脚本。

在这项研究中,我们决定集中我们的努力,识别在英国航空公司网站单个脚本,并检查他们的表现随着时间的推移有什么变化。我们将验证网站上的所有独特脚本,只有在抓取中它们的外观发生变化时才会再次查看它们。最后,我们记录了其中一个脚本的变化。打开抓取的数据,我们看到这个脚本是一个现代化的JavaScript库,版本是2.62,并且被修改过了。该脚本是从英国航空公司网站上的行李认领信息页中载入的:

1.png

图1修改过的脚本

我们所提到的变化位于脚本的底部,这是我们经常看到的攻击者修改JavaScript文件以破坏功能的技术。底部的小脚本标签立即引起了我们的怀疑:

2.png

图2 Magecart添加的可疑脚本标签

我们在英国航空公司服务器发送的服务器标头中发现了更多的证据。服务器发送了一个“Last-Modified”标头,表示上次修改静态内容的时间。Modernizr脚本的洁净版有一个2012年12月的时间戳:

3.png

图3受损脚本的洁净版

我们可以看到,在经过修改的、恶意的Modernizr版本上,时间戳与英国航空公司所给出的时间戳的匹配程度非常接近,因为这意味着人们开始受到攻击:

4.png

图4撇取开始的时间戳

下面是经过清理的脚本版本,只有22行JavaScript:

5.png

图5仅22行脚本就伤害了38万人

从本质上讲,这个脚本非常简单,非常有效。下面是它的分类:

一旦页面上的每个元素完成加载,它将将mouseup和touchend事件绑定到名为submitButton的按钮上,使用以下回调代码:

Serialize the data in a form with id paymentForm into a dictionary
Serialize an item on the page with id personPaying into the same dictionary as the paymentForminformation
Make a text-string out of this serialized data
Send the data in the form of JSON to a server hosted on baways.com

在网站上,mouseup和touchend是指某人在点击按钮后松开鼠标,或者某人在触屏(移动)设备上按下按钮后松开屏幕。这意味着,一旦用户在英国航空公司(British Airways)网站上点击提交付款的按钮,支付表单中的信息就会连同姓名一起被提取出来,并发送到攻击者的服务器。

这与我们过去看到的Magecart skimmer不分青红皂白的攫取形态相比,这次攻击是一种简单但目标明确的攻击方式。这个特殊的撇取器非常符合英国航空公司支付页面的设置,它告诉我们攻击者仔细考虑了如何瞄准这个站点,而不是盲目的注入常规的Magecart撇取器。

在这次攻击中使用的基础设施仅仅是在考虑英国航空公司的情况下建立的,而且为了避免被发现,这还是专门针对那些与正常支付处理相融合的脚本。我们在域名baways.com和drop服务器路径上看到了这方面的证明。该域名位于罗马尼亚的89.47.162.248上,但实际上是位于立陶宛的一个名为Time4VPS的VPS提供商的一部分。参与者还用SSL证书加载服务器。有趣的是,他们决定使用Comodo的付费证书而不是免费的LetsEncrypt证书,因为这样看起来更像合法的服务器:

6.png

图6攻击者利用的证书

来源:https://community.riskiq.com/search/certificate/sha1/e1a181db8f8366660840e0b490ad2da43c78205a

Magecart使用的证书中值得注意的是,该证书是在8月15日发布的,这表明他们可能在8月21日攻击的报道开始日期之前就已经访问了英国航空公司的网站。由于无法了解其面向互联网的网络资产,英国航空公司未能及时发现这一问题。

移动浏览

在英国航空的安全咨询中,该公司指出,网络应用程序和移动应用程序用户都受到了影响。我们在英国航空公司的网页上找到了撇取器,但这是如何转换成移动电话的呢?为了弄清楚这一点,我们来看看英国航空公司的Android应用程序:

7.png

图7英国航空公司的移动应用程序

通常,当开发人员构建一个移动应用程序时,他们会创建一个空壳并从其他地方加载内容。以英国航空公司为例,该应用程序的一部分是本地的,但其大部分功能是从英国航空公司官方网站的网页加载的。

该移动应用程序使用一组不同的主机与英国航空公司的服务器通信:

www.britishairways.com(主要网站)

api4-prl.baplc.com(英国航空公司的API终端)

api4.baplc.com(英国航空公司的另一个API终端)

我们的想法是,为了在UI上快速更新数据,应用程序使用API端点,但是为了搜索、预订和管理航班,应用程序加载一个主网站的移动版本。这些路径之一是:

www.britishairways.com/travel/ba_vsg17.jsp/seccharge/public/en_gb

当客户请求不同国家和机场的收费信息时,将加载此页面。它看起来是这样的:

8.png

图8 Magecart受损的移动网页

现在,如果我们看看这个网页的源代码,我们会发现一些有趣的东西。这个网页是用与真实网站相同的CSS和JavaScript组件构建的,这意味着从设计和功能方面来说,它是完全匹配的。从上面我们检查的内容来看,我们知道这意味着我们也会发现我们的违规脚本,也就是从网络应用程序上窃取名字和支付信息的脚本:

9.png

图9移动网页的来源

我们的抓取工具捕获了移动应用中使用的页面加载的子资源; 它加载了与当时相同的受损Modernizr JavaScript库!

有一点需要注意的是,magecart在撇取器中进行了触控回调,以使其适用于移动访问者,这再次向我们展示了这种简单但极其有效的高水平规划和对细节的攻击细节关注。

结论

正如我们在这次攻击中看到的那样,Magecart建立了定制的、有针对性的基础工具,以专门融入英国航空公司的网站,并且尽可能拉长战线,避免被发现。虽然我们永远无法知道有多少袭击者已经在英国航空公司的服务器上,但有一个事实是:他们能够修改网站,并且可以访问的巨大的资源。事实上他们访问之前的攻击,可能只是提醒我们网站过于脆弱。

RiskIQ公司自2015年以来就一直在警告市场有关此类Magecart攻击的消息,并将继续跟踪并报告该集团的发展。虽然针对英国航空公司的Magecart攻击不是针对Ticketmaster这样的第三方供应商的漏洞,但它确实提出了支付形式安全性的问题。公司,尤其是那些收集敏感财务数据的公司,必须意识到他们应该考虑表单的安全性,同时还要考虑一旦客户提交了付款信息,会对其产生何种影响的控制。

我们建议英国航空公司的客户从他们的银行获得一张新卡。一些银行已经开始主动为客户发行新卡,Monzo就是一个例子:

10.png

图10一些银行的反应

来源:https://twitter.com/monzo/status/1038042015286607872

Magecart是一个积极的威胁,其规模和广度可以与家得宝(Home Depot)和塔吉特(Target)等零售巨头最近达成的销售点系统妥协相提并论,甚至可能超过后者。Magecart从2015年就开始活跃起来,并且从未从他们选择的犯罪活动中撤退。相反,他们不断改进他们的策略和目标,以最大限度的回报他们的努力。

随着时间的推移,它们优化了自己的策略,最终成功的侵入了Inbenta等第三方供应商,导致Ticketmaster客户数据被盗。我们现在看到他们瞄准特定的品牌,策划他们的攻击以匹配特定网站的功能,我们在英国航空公司(British Airways)被入侵时就看到了这一点。未来还会有更多的Magecart攻击,而riskq将追踪这些攻击,并让网络安全行业了解我们的研究。

如果你想深入了解Magecart,从它的创立到它对Ticketmaster的黑客攻击,再到它对英国航空公司的最新黑客攻击,一定要注册RiskIQ首席研究员和报告作者Yonathan Klijnsma举办的网络研讨会。

本文翻译自:https://www.riskiq.com/blog/labs/magecart-british-airways-breach/如若转载,请注明原文地址: http://www.4hou.com/info/13586.html
点赞 14
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论