可以针对浏览器扩展保护Web应用程序吗?

时间:2019-10-16 17:34:51

标签: javascript security google-chrome-extension

似乎有大量浏览器扩展程序都表现出恶意行为。此外,即使有效的扩展程序也可能遭受安全漏洞的攻击,从而使其表现出恶意行为。

避免此问题的一种方法是将您的Web应用程序与NWJS,Electron或类似平台打包。这具有删除扩展生态系统的优点,但是还具有许多缺点(安装过程,更多的资源消耗,更多的人工等等)。

有人认为,“ 最终,这是用户的责任,而不是网站受到用户侵害的过错”。尽管这样做很有意义,但是负责管理敏感数据的软件的我们这些人仍然有责任加以保护。

在编写访问敏感数据的Web应用程序时,有什么措施可以防止浏览器扩展的侵害?


编辑:针对此问题的任何创造性解决方案都很好。另外,也可以肯定的否定。从这个问题延伸出一些思路:

  • 可以保护窗口对象还是以某种方式将其设为私有?
  • 在扩展可用于Web应用程序优势的页面之前加载的扩展JavaScript是否有任何限制?
  • 随行扩展可以检测到其他扩展,然后向Web应用程序传达不安全运行的信息吗?还是至少将可能的滥用行为告知用户?
  • 是否还通过调用window.open将扩展程序后台脚本注入到iframe和子窗口中?也许Web应用程序将窗口对象替换为窗口对象的 safe 的不同副本。
  • 可能有某种巧妙的方法来检测页面上是否已运行了第三方代码? JavaScript环境的一种“哈希”?

1 个答案:

答案 0 :(得分:0)

有一个(原始)解决方案可以检测浏览器上安装的用户扩展,从那里我猜您可以拒绝对Web应用程序的访问,直到用户卸载这些扩展。它包含一个小的资产(图标)数据库,如果javascript可以找到这些资产,则表示已安装扩展程序。

缺点:您无法检测到扩展程序是否正在运行,因此,如果用户禁用了这些扩展程序,这些扩展程序将不会被检测到,您仍然会得到肯定的答复。

代码在此链接中:

Can a Website detect what browser extensions are being used?

发布有关向该数据库提供更多资产的用户的帖子:

https://blog.jeremiahgrossman.com/2006/08/i-know-what-youve-got-firefox.html