在 Chrome 中安装任何插件时,需要为插件授予一组权限。许多插件(包括像 Pocket 和 Adblock 这样流行的插件)都有Read and change all the data on the site.
这是否意味着理论上插件可以在浏览器中做任何它想做的事情,包括间谍和可能作为键盘记录器(在浏览器中)?
在 Chrome 中安装任何插件时,需要为插件授予一组权限。许多插件(包括像 Pocket 和 Adblock 这样流行的插件)都有Read and change all the data on the site.
这是否意味着理论上插件可以在浏览器中做任何它想做的事情,包括间谍和可能作为键盘记录器(在浏览器中)?
不是全部,但大多数扩展(插件)需要一组权限,它们必须向清单文件声明。除非扩展名是从.crx文件扩展名安装的,否则用户不会收到安全警告通知。在这种稍后或其他情况下,需要用户权限才能运行的插件是一种安全威胁。
其他浏览器中存在类似的需要用户权限的扩展,这确实是一个关键问题。每个浏览器作者处理这个问题的方式都不同。例如,Mozilla 要求对此类扩展进行签名并在Mozilla的插件中列出,定期扫描插件是否存在恶意软件。这有助于防止但不能完全保护用户。
想想在浏览器上以用户权限运行的恶意 JavaScript 是什么?可能是最好的场景,我可以为您提供的示例是臭名昭著的ZombieBrowserPack ,它是一个开源项目(插件),首先由Zoltan Balazs作为POC开发,并针对一些最常用的浏览器(Chrome、火狐和 IE)。这个插件可以被远程操纵以窃取身份验证凭据,甚至可以绕过雅虎和谷歌实施的两因素身份验证机制。它还可以劫持您的 Facebook 帐户,或者在您进行在线购买时获取您的银行帐户凭据。您可以想象这样一个插件旨在实现这个或那个功能并在后台做一些邪恶的事情。
正如您正确假设的那样,安装附加组件并非没有风险。即使 Google 在将任何扩展程序的源代码托管在 Chrome 网上应用店之前对其进行了审查,恶意代码仍然会溜走(http://www.infoworld.com/article/2608717/web-browsers/many-chrome-browser- extensions-do-sneaky-things.html)。
如果扩展程序是由个人或小公司提供的,那么您可能对自己一无所知,至少询问他们为什么他们需要某些级别的访问权限可能是明智的。如果扩展是开源的并且您是一位经验丰富的程序员,您可能希望在安装之前对代码进行额外的审查。
“读取和更改站点上的所有数据”权限确实允许注入将每次击键转发到某个远程服务器的 JavaScript。另一方面,像 Adblock 这样的扩展程序需要这些权限才能正常运行。
问题是:您是否信任 Adblock(等)具有此级别的权限?(还要记住扩展程序有可能删除恶意添加的事实)
在我看来,这基本上是一个信任问题......
可以在此处找到一些出色的相关 security.se 答案:Adblock (Plus) 是否存在安全风险?
正如 Stef 所说,这是一个信任问题,也是对风险的理解。
如果您编写代码 - 您可能喜欢尝试包括 Chrome 扩展程序在内的内容。这是完全合法的。
我的建议是将您的开发环境与生产环境分开。两个独立的浏览器 - 一个(比如 FF)用于家庭银行业务和 fB 和#2(比如 Chrome),用于尝试很酷和危险的东西。
如果你真的很小心 - 然后设置一个单独的虚拟机并在那里做一些很酷和危险的事情,但仍然将它与你的 FB/家庭银行环境分开。