22行代码的JS脚本导致英国航空公司38万乘客数据泄露
字数 1484 2025-08-18 11:37:37
英国航空公司数据泄露事件深度分析教学文档
事件概述
2018年9月6日,英国航空公司(British Airways)发布声明称因遭黑客攻击导致38万乘客数据被盗。泄露的数据包括个人基本信息和付款记录,但不包括护照信息。
受影响范围
- 受影响渠道:
- 英航官网进行付款操作的乘客
- 英航手机APP进行付款操作的乘客
- 时间范围:2018年8月21日晚22:58至2018年9月5日晚21:45
攻击者分析:Magecart组织
Magecart是一个臭名昭著的网络犯罪集团,自2016年以来活跃于网络信用卡窃取领域。与传统信用卡窃取方式不同,Magecart使用在线电子窃取方式:
- 对在线支付网站注入恶意脚本
- 入侵支付相关的第三方供应商网站
- 植入在线信用卡读取脚本
攻击技术分析
网站用户信息窃取
-
攻击载体:修改了Modernizr JavaScript库文件(
modernizr-2.6.2.min.js) -
文件特征:
- 原始文件最后修改时间:2012年12月18日
- 恶意文件最后修改时间:2018年8月21日
- 仅22行JavaScript代码
-
恶意代码功能:
- 将
mouseup和touchend事件绑定到提交按钮 - 序列化
paymentForm和personPaying表单数据 - 将数据以JSON格式发送到攻击者服务器
baways.com
- 将
-
服务器信息:
- IP地址:89.47.162.248(罗马尼亚)
- 实际属于立陶宛VPS供应商Time4VPS
- 使用付费Comodo SSL证书(8月15日颁发)
移动APP用户数据窃取
-
攻击原理:
- 移动APP大部分功能从官网加载
- 调用了被植入恶意脚本的官网页面
- 同样利用
touchend回调事件窃取数据
-
API调用:
www.britishairways.com(官网)api4-prl.baplc.com(API服务端)api4.baplc.com(另一个API服务端)
攻击特点
-
高度针对性:
- 恶意代码完全适配英航付款页面
- 与网站功能完美融合,难以被发现
-
持久性:
- 攻击者可能在8月21日前就已入侵网站
- 使用付费SSL证书增加可信度
-
多平台攻击:
- 同时针对网站和移动APP用户
防御建议
-
资产识别与管理:
- 建立完整的网络资产清单
- 定期审计所有脚本文件
-
代码完整性检查:
- 实施文件完整性监控
- 对比已知库文件的哈希值
-
第三方依赖管理:
- 严格审查第三方脚本
- 使用子资源完整性(SRI)检查
-
监控与响应:
- 实施实时网络流量监控
- 建立异常外联检测机制
-
移动APP安全:
- 减少对网页内容的依赖
- 实施APP内安全控制
事件响应建议
- 立即撤销并重新发行受影响信用卡
- 全面审计所有网站脚本和第三方依赖
- 重置所有相关系统的访问凭证
- 加强日志记录和监控能力
技术细节总结
| 项目 | 详情 |
|---|---|
| 攻击组织 | Magecart |
| 攻击方式 | JavaScript注入 |
| 恶意文件 | modernizr-2.6.2.min.js |
| 代码行数 | 22行 |
| 数据收集 | 通过mouseup和touchend事件 |
| 数据传输 | 序列化为JSON发送到baways.com |
| 服务器IP | 89.47.162.248 |
| SSL证书 | 付费Comodo证书 |
| 攻击持续时间 | 15天 |
此文档可作为企业安全培训和支付系统安全设计的参考材料,特别强调了第三方脚本管理和文件完整性验证的重要性。