研究指出,扩展能够在网站上窃取用户密码。需要担心吗?
威斯康星大学麦迪逊分校最近的研究发现,Chrome 浏览器中"相当大比例"的扩展(约占 12.5%)从用户获得了访问敏感个人信息的权限。本研究主要探索密码。研究人员称,即使是信誉良好的网站,其源代码中也经常明文存储密码。他们认为,这些未受保护的密码很容易成为渴求数据的恶意扩展程序的攻击目标。
研究人员发现,在所研究的网站中,有15%的网站(并不是一些可疑的小网站网站,而是像 Google 和 Cloudflare 这类的网站)的密码"以纯文本形式出现在 HTML 源代码中"。研究人员认为,网站开发者的“不在乎”的态度,以及 Chrome 浏览器对扩展开发者相对宽松的规定,为攻击者利用这些漏洞窃取个人数据大开方便之门。在研究过程中,他们发现有 190 个扩展程序具有"访问密码字段权限",其中包括 AdBlockPlus 和 Honey 等流行扩展程序,这两个扩展程序的下载量都超过 1000 万次。
本研究指出:
"通过分析清单文件(JSON 格式文件,提供有关扩展程序功能及其使用文件的重要信息),我们发现12.5%(17.3K)的扩展拥有在所有网页上收集敏感信息的必要权限。
虽然 Google Chrome 浏览器的新扩展平台 Manifest V3 对扩展程序的功能推出限制,但研究人员发现,这些限制并没有从实质上降低安全风险:“尽管 MV3 在用户隐私和安全方面取得了预期的进展,但内容脚本的操作仍保持不变。这就使得扩展程序和网页之间缺乏安全边界,并允许扩展程序加载到 DOM 树上,不受限制地访问网页,从而给用户带来安全风险”。
听起来好像风险很大,是不是?那么让我们解释一下。
这是一个信任问题。
虽然广告拦截扩展(与许多其他扩展一样)确实需要一些听起来“很吓人”的访问权限,但这并不是因为它们想窃取用户数据,而是其实别无他法。因此,我们才反复强调选择可信赖的产品的重要性。
事实上,这已经不是第一次危言耸听,担心扩展程序可以在多大程度上访问用户数据。这个问题并非 Chrome 浏览器独有,其他浏览器(如 Firefox)的扩展程序也有同样的功能和权限。这也不仅仅是广告拦截程序的问题:所有需要修改网页内容的扩展程序,如密码管理器和办公软件,都需要具有网页上信息的广泛访问权限。从技术角度来看原因是,这些扩展程序使用 JavaScript。这个编程语言允许读取和转换网页上的 HTML 元素以实现其扩展的工作目的。例如,密码管理器使用 JavaScript 将密码和用户名插入输入框,而办公软件则使用 JavaScript 来屏蔽干扰、跟踪时间、保存网页等。那么,广告拦截程序呢?
广告拦截程序运行 JavaScript 来扫描网页,查找与其拦截列表相匹配的广告脚本和其他元素,从而对其进行拦截。它还可以隐藏"广告残留物",即被屏蔽的广告可能留下的空白和破损元素。这一过程被称为"整饰处理"。
在 Chrome 浏览器商店中的 AdGuard 扩展说明中,我们透明地公开我们需要某些权限的原因。
因此,我们解释说,我们需要具有权限来读取和更改用户在所有网站上的所有数据(Chrome 浏览器中的"主机权限")和具有权限来访问书签("书签权限"),以便拦截广告,并应用外观规则,使网页看起来干净整洁。我们还需要 webNavigation 权限,在网页加载任何广告之前来捕捉注入广告拦截脚本的时机。
总而言之,AdGuard 扩展和其他许多扩展程序一样,可能需要一些听起来很麻烦的权限才能正常运行。归根结底,这取决于用户是否信任扩展的开发人员以及开发人员需要这些权限的理由,是否愿意授予这些权限。从始自终,选择权都在用户身上,我们不会也无权强迫用户做出选择。
要担心吗?
是的,总体上来看,用户应该担心。在安装可以访问网页数据的扩展程序时,应该小心谨慎。即使可能性很小,你想安装的扩展也有可能是恶意的,会窃取密码或银行信息,这些信息以明文形式存储在网站的 HTML 源代码中。随着功能的增加,风险也随之增加,这不仅适用于附加组件,也适用于其他服务和设备:例如,Wi-Fi 连接无线扫地机器人或带有传感器的现代汽车。因此,简而言之,当你允许附加组件发挥它的魔力(比如拦截广告)时,你将不得不接受更多的安全和隐私风险。无论你认为这样的权衡是否公平,这都是不可避免的。
2018 年,Mozilla 专门发表了一篇博文介绍扩展权限,包括"听起来很吓人的权限",其中解释了广告拦截程序等扩展出于合法原因需要这些权限的原因,但也强调了安装这些权限的风险。
不过,Firefox 浏览器制造商指出,恶意开发者出尔反尔的情况虽然有可能发生,但仍然"罕见"。
来源:Mozilla
有人会说,即使"罕见",但有时也太频繁了吧。我们完全同意,淡化存在的问题对谁都没有好处。几年前,我们曝光了几个恶意广告拦截扩展,这些扩展盗用了合法扩展的代码,以任何方式改变用户的浏览器行为。当时,我们估计有超过 2000 万人可能受到这些假冒广告拦截程序的影响。因此,现在最迫切需要解决的问题是,如何才能让用户对扩展程序所查看的浏览活动信息量感到更放心,更满意?
下面是一份清单,在我们看来,扩展程序必须符合这些要求才算安全:
- 明确说明扩展的开发人员,有实际地址,最好已在该行业工作多年
- 隐私政策清晰明了,便于用户使用
- 明确说明允许权限的理由,并与扩建的目的相符
- 扩展是开源的:用户始终可以查看所有提交的列表(例如,Chrome 浏览器的 AdGuard 广告拦截扩展是免费和公开的)
- 开发人员保持在线状态,用户可以随时联系到开发人员(通过社交媒体、网站或专门的支持服务台),开发人员也能及时回复。
- 扩展有正面评价。虽然这些并不能完全保证其安全性,因为评论可能会被机器人操纵,也可能没什么营养,因为大多数评论都只停留于“顺畅”和“好用”与否,而不会深入评价工作原理。