汝不应依赖我:Web 上过时 JavaScript 库使用分析
密码学与安全
2020-02-17 v2
摘要
Web 开发者通常依赖 jQuery 等第三方 JavaScript 库来增强其站点功能。然而,若维护不当,此类依赖会创造可被利用的攻击向量,导致站点被攻陷。本文对客户端 JavaScript 库的使用及其在整个 Web 上带来的安全影响进行了首次全面研究。利用来自超过 133k 个网站的数据,我们发现其中 37% 至少包含一个存在已知漏洞的库;其落后于库最新版本的时差以年计。为更好理解网站为何使用如此多易受攻击或过时的库,我们追踪因果包含关系并量化不同场景。我们观察到站点以临时且常为传递性的方式包含库,这可能导致同一库的多个版本同时被加载到同一文档中。此外,我们发现通过传递方式或广告与追踪代码包含的库更可能存在漏洞。这表明不仅是网站管理员,动态架构与第三方服务的开发者也应对 Web 糟糕的库管理状况负责。我们的工作结果凸显了在 Web 上需要更彻底的依赖管理、代码维护与第三方代码包含方法。
引用
@article{arxiv.1811.00918,
title = {Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Libraries on the Web},
author = {Tobias Lauinger and Abdelberi Chaabane and Sajjad Arshad and William Robertson and Christo Wilson and Engin Kirda},
journal= {arXiv preprint arXiv:1811.00918},
year = {2020}
}
备注
Network and Distributed System Security Symposium (NDSS), San Diego, CA, USA, February 2017