查看原文
其他

AdBlock 增加了缓存JavaScript 库的功能

2018-03-05 yezhang 看雪学院


知名的广告屏蔽插件 AdBlock 增加了一个新功能,可以在用户的电脑上将流行的 JavaScript 库进行本地缓存。


这项功能目前只能在 Chrome 平台上使用,但是 AdBlock 发言人说该功能也会添加到 Firefox 插件平台上。


用户需要将 AdBlock 插件更新到最新版,然后打开插件的设置面板,启用“Enable local content caching for popular website libraries.”



该项新功能的工作原理


默认情况下,AdBlock 会拦截网络流量,然后根据已知的广告域名屏蔽从这些域名上加载的资源。这项新功能使用 AdBlock 现有能力,从网站的源码中查找流行的 JavaScript 库,从本地文件夹加载这些库而不是从远程加载。


一位 AdBlock 工作人员通过邮件说:“由于 jQuery 已被广泛应用,我们先从 jQuery 着手。”


在未来版本中,还会支持更多的库。AdBlock 说,“下一步,我们将会支持 Bootstrap 和 Modernizr,这两个库也已经广泛应用”。“接下来还会支持 AngularJS、Dojo等等”


用户可以查看哪些内容被缓存了,哪些没有。在 Windows 平台上,所有被缓存的文件位于下面的目录:

“C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default\Extensions\gighmmpiobklfepjocnamgkkbiglidom\< version >\localLib”


AdBlock 说,开发这项功能出于两方面考虑。首先,从本地文件夹提供文件意味着网站可以加载得更快。其次,与用户隐私有关,主要是针对从 CDN(Content Delivery Networks)加载的 JavaScript 文件。



新功能可以阻止CDN跟踪


AdBlock说,“许多广泛使用的CDN服务都由 Google、微软等大型科技公司提供。这些公司很有可能采用一种方式来跟踪CDN服务的请求,以便能够反向追踪到每个用户。”


通过将流行 JavaScript 库的副本保存在本地文件中,AdBlock 能够阻止这种跟踪行为。


从上面的截图可以看到,本地缓存功能处于 beta 阶段。当用户启用该功能时,可能会产生 bug。


其中一个 bug 是有关网站中使用 SRI(Subresource Integrity) 的,SRI 是用于验证 JS、CSS资源真实性的一项安全功能。



类似 Decentraleyes


安全研究员 Mike Gualtieri 发现了这个 bug。但是 Gualtieri 忽略了这个 bug,转而对 AdBlock 新功能印象深刻。


Gualtieri 补充说,“我个人使用 Privacy Badger 来屏蔽有可能会在线追踪我的潜在第三方资源,它很有效。但是 CDN 仍然可以追踪到你,尽管 CDN 的 cookies 被屏蔽了”。“本地资源缓存是一个很好的解决方案。”


Gualtieri 同时指出,AdBlock 这项新功能非常类似于两年前的 Decentraleyes 扩展。



来源:bleepingcomputer

本文由看雪翻译小组yezhang编译




往期热门内容推荐


更多安全资讯,戳左下角“阅读原文”查看!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存