巴克莱银行用网页时光机当作某些JS代码的“CDN”

2020 年 7 月 10 日

巴克莱银行用网页时光机当作某些JS代码的“CDN”

巴克莱银行似乎一直在使用互联网档案馆的网页时光机(Wayback Machine)作为一个“内容分发网络”来获取一个 Javascript 文件。


Twitter 用户 @immunda 发现了这个奇妙的事实,他在上周四发现这家英国金融机构正在从互联网档案馆调用 JS。



他与巴克莱 Twitter 账号的聊天机器人就此事白费了一番口舌,但随后他说自己已经找到了一位真人员工,后者承诺解决这个可笑的错误。


据 The Register 的调查,这个奇妙错误的具体内容,应该是巴克莱在从互联网档案馆中的这个 URL 提取一个文件:


web.archive.org/web/20200601165625/https://www.barclays.co.uk/content/dam/javascript/dtm/target.js
复制代码


如果 web.archive.org 出现故障,可能也会拖垮巴克莱的网站。更大的风险是,如果有人设法更改这个 URL 上的 JS 文件,他们可以注入……拜托,他们想注入什么不是随意吗。


JS 是互联网上以金融机构为目标的犯罪团伙最喜欢用的攻击媒介之一。


萨里大学的 Alan Woodward 教授说:“受黑客利用的潜在风险只是问题的一个方面。归根结底,在网站上集成所有这些资产的是组织自己,决定从其他网站引用哪些资产的也不是别人,但想要确保自家网站安全性的话,起码你得搞清楚自己的网页都放了什么内容吧。”


他还说:“谁会使用互联网档案馆来获取重要资产呢,比如本案中的 JS 文件或类似的重要数据?”


信息安全研究员 Scott Helme 也在 Twitter 上讨论了这个话题,他做了一番研究,试图弄清为什么巴克莱要做这么愚蠢的事情。



他认为巴克莱的网站没有内容安全策略,所以开发人员可以随意添加第三方 JS 内容。另外他们也没有子资源完整性检查,所以如果互联网档案馆想在这个 JS 文件上做手脚,放一个键盘记录器、密码窃取程序、恶意重定向之类的黑客工具,那巴克莱会遭殃也是活该。


这种做法以前也有人咨询过,但那时就有人说这个想法太糟糕了,而且互联网档案馆并不想支持这种行径。


信息安全公司 Eset 的 Jake Moore 认为这可能是某种测试,但后果失控了。他说:“这件事又一次提醒我们,测试流程应该完整而全面,尤其金融机构更应如此。”


媒体已要求巴克莱银行提供解释,但想来他们只会说:“我们有责任非常认真地保护客户的数据,这是我们最重视的工作。我们想告诉客户,这个错误并不会给他们的数据带来威胁。”


互联网档案馆的网页时光机功能主管 Mark Graham 也回应了此事:网页时光机的任务是帮助打造更好用,更可靠的互联网。


人们在使用这一功能时探索出了众多创造性的用法来帮助实现上述目标,我们经常为他们的新奇想法而赞叹不已。特别是记者、学生、研究人员、学者、事实检查人员、活动家和公众,他们总能想出一些新点子。但银行一般并不会搞出什么花样来。


显然,巴克莱的某个人犯了一个错误(我们谁又没犯过错呢!)如果这一事件可以帮助更多的人了解网页时光机提供的免费服务,那这也未尝不是好事嘛!


英文原文


Barclays Bank appeared to be using the Wayback Machine as a ‘CDN’ for some Javascript


2020 年 7 月 10 日 09:422117
用户头像
小智 InfoQ 主编

发布了 395 篇内容, 共 306.8 次阅读, 收获喜欢 1709 次。

关注

评论

发布
暂无评论
发现更多内容

虚拟化Pod性能比物理机还要好,原因竟然是这样!

亨利笔记

Kubernetes 容器 k8s vSphere pod

游戏夜读 | 做游戏选什么专业?

game1night

Web3极客日报#135

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

花更多的时间在自己的优势上

Neco.W

创业 自我管理 重新理解创业

源码浅析 - CocoaLumberjack 3.6 之 DDLog

Edmond

ios log4j CocoaLumberjack SourceCode DDLog

python oop 指南

志学Python

Python python 爬虫 oop

聊天机器人为什么这么难?

青菜年糕汤

人工智能 自然语言处理 搜索引擎 chatbot 聊天机器人

企业如何选择物联网中台

老任物联网杂谈

物联网中台 IOT Platform 物联网平台

思维偏差与产品设计的关联思考

石君

产品设计 思维方式 安全产品设计

轻轻一扫,立刻扣款,付款码背后的原理你不想知道吗?

楼下小黑哥

支付宝 微信支付 支付系统 付款码

File类的文件操作

Howe

Java File 文件 io

五十年前的一桩公案:数据库关系模型的流行史(上)

青菜年糕汤

数据库 分布式数据库 数据库规范 关系型数据库 数据库设计

笔记:《如何系统思考》之因果回路图

wiflish

思维方式

人人都要有经营意识

Neco.W

创业 重新理解创业 公司管理

实战营第一战:FizzBuzz

escray

学习 CSD 认证实战营

我在极客大学算法训练营的收获

熊斌

极客时间 极客大学

我看拼多多黄峥:旧世界瓦解冰消

池建强

拼多多 黄峥

缘起:很久很久以前

escray

学习 测试驱动开发实战营

写在2020年五四青年节

耿老的竹林

个人成长

中台是为了复用?未必!浅谈产业中台建设的特点与误区

孤岛旭日

架构 中台 企业中台 企业架构 产业互联网

NIO看破也说破(一)—— Linux/IO基础

小眼睛聊技术

Linux 架构 后端 Netty nio

我的关注清单

lmymirror

知识管理 关注清单 RSS

如何成为一个高效的问题解决者?

汪锋

一文带你搞懂RPC核心原理

松花皮蛋me

微服务 微服务架构 微服务冶理 RPC 远程调用

五十年前的一桩公案:数据库关系模型的流行史(下)

青菜年糕汤

数据库 分布式数据库 数据库规范 关系型数据库 数据库设计

哲少荐书:这才是心理学

Jackey

心理学 读书

python中的GIL锁和互斥锁问题

半面人

Python

Web3极客日报#134

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

Golang杂谈 - graceful shutdown为何离奇失效?

星语

golang 后端 平滑重启 服务端

Netty 源码解析(五): Netty 的线程池分析

猿灯塔

leetcode20.有效的括号

Damien

算法 LeetCode

巴克莱银行用网页时光机当作某些JS代码的“CDN”-InfoQ