写点什么

恶意 JavaScript 注入导致英国航空公司发生重大数据泄露

  • 2018-11-15
  • 本文字数:1259 字

    阅读完需:约 4 分钟

恶意JavaScript注入导致英国航空公司发生重大数据泄露

今年,英国航空公司报吿了两次重大的数据泄露,初次报吿是在 9 月,涉及 8 月和 9 月的 24.4 万笔信用卡交易,进一步披露是在 10 月,涉及从 4 月到 7 月的另外 18.5 万笔交易。


位于旧金山的网络安全公司 RiskIQ 提供了一个详细的分析,英国航空公司安全漏洞的出现是通过恶意注入 JavaScript 源代码,并配置服务器基础设施,使其看上去和英国航空公司有关。


据 RiskIQ 报道,遭到破坏的源代码是英国航空公司使用的 Modernizr 和 jQuery,其中被注入了 22 行 JavaScript 源代码。不管是 Modernizr,还是 jQuery,并不是它们本身不安全,但是,添加到英国航空公司网站所用版本中的脚本,会在支付时从信用卡表单读取数据,除了会向英国航空公司的后端正确地发送数据外,它还会发送该数据的副本到“baways.com”,一个被认为是属于攻击者的网站。这种攻击得以完成的罪魁祸首是修改了英国航空公司网站的生产源代码。


RiskIQ 把安全入侵归罪于 Magecart,该团队还要为 Ticketmaster 和新蛋网的数据泄露负责:


自 2016 年以来,RiskIQ 就报道了由威胁集团 Magecart 运营的基于网络的“盗卡器(card skimmer)”的使用。传统上,犯罪分子使用被称为盗卡器的设备——隐藏在 ATM 机、油泵和其他供人们每天用信用卡支付的机器上的信用卡读卡器中——窃取信用卡数据,供犯罪分子后续收集,或者自己使用,或者卖给其他人。Magecart 使用了这些设备的数字变体。

Magecart 注入的脚本旨在窃取消费者输入的在线支付表单的敏感数据,这些数据可能是直接在电商网站上输入的,也可能是通过这些网站使用的遭到入侵的第三方供应商输入的。最近,Magecart 作业人员通过对第三方功能的入侵,在 Ticketmaster 网站上放置了一个这样的数字盗卡器,导致了引人注目的 Ticketmaster 客户数据泄露。基于最近的证据,Magecart 现在将目光投向了英国最大的航空公司——英国航空公司。


数据泄露影响了 Web 浏览器和移动应用的信用卡交易,因为它们利用了相同的遭到破坏的源代码。对于第一次报吿的数据泄露事件,最初报吿的 38 万笔被泄露交易后来被英国航空公司减少到 24.4 万笔。


目前还不清楚第二次数据泄露的机制。据报道,数据泄露是在奖励机票预订时发生的,而在进行交易前是需要用户身份验证的。如此说来,在数据泄露期间查看源代码的公共存档并不是那么简单。


针对这种攻击的第一道防线是检测对基础设施的入侵。然而据报道,在这起事件中,英国航空公司并不知道有人入侵。下一道防线是验证生产 JavaScript 源代码没有被意外修改。一种解决方案是实现一个外部监控系统,该系统可以检测到对公开源代码的任何更改,并验证任何报告的更改是否是有意更改。此验证可以通过验证校验和自动实现。


最近,最终定稿的W3C子资源完整性标准(由 Edge、Chrome、Firefox 和 Safari 支持)也可能有助于防止此类攻击,特别是针对第三方脚本。然而,在英国航空公司被黑客攻击的情况下,攻击者可能还会更改加载了遭到破坏的 JavaScript 源代码的脚本标签中的完整性散列。


查看英文原文:British Airways Data Breach Conducted via Malicious JavaScript Injection


2018-11-15 07:101603
用户头像

发布了 1008 篇内容, 共 422.2 次阅读, 收获喜欢 346 次。

关注

评论 1 条评论

发布
用户头像
这种攻击得以完成的罪魁祸首是修改了英国航空公司网站的生产源代码。
---
想知道这是怎么做到的
2018-11-19 17:03
回复
没有更多了
发现更多内容

ubuntu安装kernel-debuginfo

linux大本营

20道mysql数据库笔试题及答案

linux大本营

MySQL 数据库

在Ubuntu的Vscode中怎么添加第三方库文件sqlite3.h

linux大本营

sqlite Linux ubuntu vscode

我的Gopher成长之路

闫同学

三周年连更

在OpenHarmony 开发者大会2023,听见百业同鸣

脑极体

鸿蒙

什么是前端开发领域的 Cumulative Layout Shift 问题

汪子熙

前端开发 angular web开发 web开发基础 三周年连更

stl中,cbegin,cend,crbegin,crend区别以及用途

linux大本营

容器 stl C++ STL

linux脚本执行可变参数任务

linux大本营

Linux 脚本

企业微信接入系列-上传临时素材

六月的雨在InfoQ

企业微信 三周年连更 企业微信接入 上传临时素材

Django笔记十四之统计总数、最新纪录和空值判断等功能

Hunter熊

Python django like contains startwith

请详述c++中 lambda表达式使用

linux大本营

Lambda vector Function C++

C语言sqlit3创建表格怎么写

linux大本营

sqlite 数据库 C语言

linux脚本定义一个二维数组

linux大本营

Linux 脚本 二维数组

一文带你看通透,MySQL事务ACID四大特性实现原理

架构精进之路

MySQL 数据库 后端 事务 三周年连更

挑战 30 天学完 Python:Day12 模块Module

MegaQi

挑战30天学完Python 三周年连更

linux crash怎么分析

linux大本营

Crash Linux内核

改变this指向的方法

linux大本营

指针 C语言 this指针

怎么查看 .crash文件

linux大本营

Linux gdb Crash 内核 perf

如何在lua中设置计时器

linux大本营

lua 协程 Coroutine 计时器

dpdk l2fwd需要配置哪些参数

linux大本营

DPDK

Android WebView使用与JS交互

松柏不怕雪

webview js java; Android; JS Bridge

dbtemplate 是什么

weigeonlyyou

mybatis ORM 嵌入式应用 API Gateway 嵌入式设备

fmt库c++

linux大本营

C++ fmt

ubuntu安装x11 forword,并做好配置

linux大本营

Linux ubuntu

我的开源项目与开源经历分享

秦少卫

GitHub 开源 前端 Fabric.js 图片编辑器

时间管理:不要让时间偷走你的饼干

蔡农曰

程序员 生活 时间管理

Java 把 Map 的值(Value)转换为 Array, List 或 Set

HoneyMoose

Apache derby 和sqlite进行对比

linux大本营

sqlite 数据库

C++11引入了std::atomic模板类无锁栈的实现如何判断栈空

linux大本营

多线程 线程安全 C++11

设计一个大规模搜索引擎,大概有1000台服务器

linux大本营

搜索引擎 负载均衡 存储 分布式,

Reactive响应式编程系列:解密Lettuce如何实现响应式

大步流星

Reactive lettuce 响应式编程系列 Lettuce如何实现响应式 Redis响应式

恶意JavaScript注入导致英国航空公司发生重大数据泄露_安全_Dylan Schiemann_InfoQ精选文章