写点什么

研究表明 Web 充斥着存在漏洞的过期 JavaScript 库

  • 2017-03-15
  • 本文字数:1092 字

    阅读完需:约 4 分钟

虽然使用第三方软件库通常会降低开发的时间,但同时也会增加网站暴露出的攻击表面,对此我们应有充分的认识。因此需要保持第三方软件库的最新版本依赖,以便从安全更新中获益。即便如此,一份近期研究表明,在Alexa 排名前7.5 万名的网站中,有37% 的网站至少存在一处漏洞,近10% 的网站至少存在两处漏洞。举个例子,在导入了jQuery 软件库的网站中,有36.7% 使用的是存在着漏洞的版本;在使用Angular 的网站中,有40.1% 使用的是存在漏洞的版本,而导入Handlebars 和YUI 3 的网站中,有超过85% 使用的是存在漏洞版本。更令人震撼的是,在Alexa 排名前500 名的网站中,有26% 使用了存在漏洞的软件库。

美国东北大学Tobias Lauinger、Abdelberi Chaabane 等人领导的研究小组基于 Bower Wappalyzer 的统计信息,构建了一个包括全部 72 个最广泛采用的开源软件库列表,然后着手识别被分析 Web 网站中使用了哪些库。此外,研究人员创建了一个 Chrome 扩展,用于构建一种网站的因果关系树。该树有助于展示特定软件库的导入原因,是直接包含而来,还是间接地从广告、跟踪或社会媒体代码传递而来。研究分析了超过 13.3 万个 Web 网站,其中包括 Alexa 排名前 7.5 万的网站,以及其他随机从.com 域名中选取的 7.5 万个网站。这种网站选取方式有助于比较高流量网站与其它较少访问的网站,进而获取具有共性的结果。

除了上面提及的 37% 的网站易受攻击之外,研究中还给出了如下几个值得关注的结果:

  • 总体上,Web 网站使用第三方软件库的版本过期情况令人惊讶。对于 Alexa 排名前 7.5 万的网站,在用软件库与最新版本软件库之间的平均拖后时间是 1177 天(三年以上)。
  • 通常,包含存在漏洞的软件库的问题是由外部组件所致,例如广告、跟踪或社会媒体挂件等。
  • 另一个风险因素来自于对软件库的重复包含,从漏洞的角度看,这为不确定行为提供了空间。

研究给出的结论是这种现状难以纠正。原因在于广泛采用的软件库普遍缺乏向后兼容的安全补丁,还在于 JavaScript 生态系统的组织方式,其中:

……没有可靠的漏洞数据库,没有软件库厂商维护的安全邮件列表,发布公告中很少甚至没有安全问题的细节,通常难于确定具体哪个软件库版本受到了已报告的特定漏洞的影响。

纵然如此,这一研究无疑是在正确方向上迈出的第一步,值得所有当前对 JavaScript 开发有兴趣的开发人员一读。

查看英文原文: Study Shows the Web is Crowded with Outdated, Vulnerable JavaScript Libraries


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-03-15 19:003129
用户头像

发布了 227 篇内容, 共 84.1 次阅读, 收获喜欢 28 次。

关注

评论

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

【kubernetes技术专题】Kubernetes架构分析介绍篇(进阶篇)

码界西柚

Kubernetes 10月月更

Excel 文件的读取

芯动大师

学习方法 Python Monad Excel数据分析

Spring Boot「11」查看所有托管的 Bean

Samson

Java spring 学习笔记 spring-boot 10月月更

“程”风破浪的开发者 | 基建及团队建设的方法论

甜点cc

团队管理 学习方法 基建 “程”风破浪的开发者

【Java深入学习】一个经典问题-消费者和生产者问题-下

Geek_65222d

10月月更

在平面国生活,会是怎样的体验?

脑极体

人工智能

Docker | 网络模型以及容器通信

甜点cc

Docker 运维 10月月更

Glibc---_IO_file_xsputn函数逻辑分析

桑榆

源码刨析 10月月更 C++

云计算商业周期超过其他产业,技术的天花板是商业机遇

B Impact

golang中的字符串

六月的

golang 字符串

正则表达式入门与进阶

Studying_swz

正则表达式 10月月更

Centos7最小安装配置 | 运维 | Linux

Appleex

Linux 运维

“程”风破浪的开发者|区块链与Web3.0辨析

timerring

区块链 Web3.0 10月月更 “程”风破浪的开发者 Web2.0

消息推送渠道那么多,该怎么设计消息中心?

产品海豚湾

产品经理 产品设计 消息系统 产品架构 10月月更

2022年都快结束了,Java的这些新技术、热门技术,你不会还不知道吧?

wljslmz

Java 微服务 后端 10月月更 jdk19

高逼格!程序员专属音乐播。。。

Jackpop

开源免费!自己动手撸一个在线云盘!

Jackpop

AfterShip 国际化获客冷启动经验:痛点、借力、连接

B Impact

Spring Boot概述(一)

Studying_swz

10月月更

测试需求平台6-数据持久化与PyMySQL使用

MegaQi

Python 10月月更 测试开发实战

ZooKeeper应用案例

穿过生命散发芬芳

zookeeper 10月月更

2022-10-22:以下go语言代码输出什么?A:moonfdd1;B:编译错误;C:运行时 panic。 package main import “fmt“ func main() {

福大大架构师每日一题

golang 福大大 选择题

阿里云无影向RPA开闸,金智维、影刀、弘玑已落地|生态商机

B Impact

再聊加班的感受

李印

成长感悟

spring整合mybatis、springMVC(总结)

Studying_swz

spring 10月月更

Docker | 网络及原理探究

甜点cc

Docker 运维 10月月更

开发者神器,代码文档终于有救了

Jackpop

私有云建设思路

阿泽🧸

私有云 10月月更

一款轻巧快速的跨平台文档阅读器!

Jackpop

“程”风破浪的开发者|元宇宙?Are you Sure?

六月的雨在InfoQ

虚拟世界 平行世界 元宇宙 10月月更 “程”风破浪的开发者

中东地区被低估,沙特偏好企业服务和云,新加坡稳定,东南亚复杂|出海

B Impact

研究表明Web充斥着存在漏洞的过期JavaScript库_安全_Sergio De Simone_InfoQ精选文章