您的Adblocker扩展程序可以执行恶意代码吗?是的,它可以

Adblock Plus Vulnerability

这是一个有争议的话题 - 广告和互联网。我们每天使用的许多在线服务和网站都是完全免费的。但是,运营这些服务绝不是免费的。事实上,管理它们的人投入了大量的金钱和精力,而且他们在页面上显示的广告往往是投资回报的唯一途径。另一方面,广告在很大程度上非常烦人,甚至可能很危险,因此安全专家会建议您考虑在所有浏览器上使用广告拦截扩展程序。

广告拦截器如何运作?

从表面上看,adblockers似乎是相当轻巧,不显眼的插件,可以在后台安静地工作,为您提供更愉快的在线体验。他们的内心运作也不是特别复杂。

当您尝试查看网页时,广告拦截扩展会查看其源代码并阻止所有已知的与广告相关的脚本和网址。为了识别它们,它使用了定期更新的黑名单。

最终结果是你被剥夺了参加个性测验的机会,这个测验可以告诉你你是哪种类型的鳄梨酱。您还可以避免烦人且具有潜在危险的广告。

但并不是每个人都很开心。您没有看到任何广告的事实意味着某些人的薪水受到威胁,他们会尽一切努力确保他们的广告能够找到适合您广告拦截器的广告。他们不时地设法做到这一点,这意味着广告拦截器必须适应。

例如,去年Adblock Plus是最受欢迎的adblocking扩展程序之一,它采用了新的$ rewrite过滤器选项,旨在阻止某些网站上出现的巧妙定位的视频广告和跟踪机制。不久之后,AdBlock和uBlock(不要与uBlock Origin混淆),另外两个基于Adblock Plus的扩展,实现了相同的过滤选项。直到上周,一位名叫Armin Sebastian的独立安全研究员在$ rewrite功能中发现了一个漏洞 ,一切都很好。

Adblockers的$ rewrite函数中的代码执行漏洞

$ rewrite过滤器选项的核心功能是通过重定向请求来阻止广告和跟踪数据。这本身就可以提出一些问题,这就是为什么出于安全原因,扩展程序的开发人员设计了允许有限类型的重定向的选项。然而,Armin Sebastian发现,在某些情况下,由于$ rewrite选项,某些Web服务可以被利用来运行任意代码。

有一些条件,必须说。有问题的Web服务必须使用XMLHttpRequest或Fetch来执行代码,并且必须以某种方式配置代码的来源。在执行代码之前缺少内容安全策略(CSP)或请求URL的验证也是先决条件。

基于这一切,你可能会争辩说,有相当多的明星需要完美地协调攻击才能发挥作用,但根据Armin Sebastian的说法,成功利用这个bug是“微不足道的”。

有两个因素导致漏洞特别可怕。第一个是使用易受攻击的广告拦截器的人数. 正如我们已经提到的,Adblock Plus是此类型中最受欢迎的扩展之一,当您将其用户群添加到已安装其他两个插件的人数时,您会看到我们正在查看数亿个潜在目标。

更重要的是,一些非常受欢迎的网络服务符合开发利用的要求,包括谷歌的地图和Gmail,而且由于我们谈论代码执行,可能的攻击范围基本上是无限的。该错误可以配置为仅适用于特定的IP地址,这意味着它可以用于高度针对性的攻击以及大规模的喷雾和祈祷活动。

Adblock Plus:“这不是什么大问题,但无论如何我们正在修复它”。

Google地图和Gmail可以被利用的事实促使Armin Sebastian在发布他的研究之前联系了搜索引擎巨头。然而,谷歌的安全团队告诉他,他们不愿意审查这个问题,因为根据他们的说法,它的根源在于广告拦截扩展,而不是网络服务。

Adblock Plus的开发人员也有点怀疑。在最初的回复中 ,他们表示该场景“非常不可能”,因为他们会定期检查过滤器列表并审核添加到这些列表的所有贡献者。尽管如此,他们表示他们会尝试制定解决方案,并在周六宣布该漏洞已在扩展程序的最新版本中进行了修补。

AdBlock的社交媒体团队告诉有关用户 ,他们正在努力修复,但他们尚未正式宣布发布。另一方面,uBlock的开发人员根本没有讨论过这个问题。

我们都知道许多用户不喜欢更新,但我们也看到安全研究人员每天都会在最简单的应用程序和插件中发现漏洞。这就是为什么,尽管烦恼和痛苦,但必须始终打开所有软件的自动更新。

May 23, 2019

发表评论

重要!若要继续到下一步,请完成以下简单的数学问题。
Please leave these two fields as is:
9 + 5是什么?