BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Sergio De Simone 关注 17 他的粉丝 ,译者 Rays 关注 3 他的粉丝 发布于 2017年3月16日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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

美国东北大学Tobias Lauinger、Abdelberi Chaabane等人领导的研究小组基于BowerWappalyzer的统计信息,构建了一个包括全部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)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT