Javascript web应用程序是否可以针对浏览器扩展进行保护?
似乎有大量的浏览器扩展表现出恶意行为。此外,即使是有效的扩展也可能受到安全漏洞的影响,从而导致它们的恶意行为 避免此问题的一种方法是使用NWJS、Electron或类似平台打包web应用程序。这样做的优点是消除了扩展生态系统,但也存在一些缺点(安装过程、更多的资源消耗、增加的劳动力等) 一些人认为“最终用户受到损害是用户的责任,而不是网站的过错”。虽然这是一个很好的观点,但我们这些负责管理敏感数据的软件的人仍然有责任进行保护 在编写访问敏感数据的web应用程序时,是否可以采取措施防止浏览器扩展Javascript web应用程序是否可以针对浏览器扩展进行保护?,javascript,security,google-chrome-extension,Javascript,Security,Google Chrome Extension,似乎有大量的浏览器扩展表现出恶意行为。此外,即使是有效的扩展也可能受到安全漏洞的影响,从而导致它们的恶意行为 避免此问题的一种方法是使用NWJS、Electron或类似平台打包web应用程序。这样做的优点是消除了扩展生态系统,但也存在一些缺点(安装过程、更多的资源消耗、增加的劳动力等) 一些人认为“最终用户受到损害是用户的责任,而不是网站的过错”。虽然这是一个很好的观点,但我们这些负责管理敏感数据的软件的人仍然有责任进行保护 在编写访问敏感数据的web应用程序时,是否可以采取措施防止浏览器扩展
编辑:这个问题的任何创造性解决方案都是非常好的。或者,也欢迎确认为阴性。从这个问题引出的一些思路:
- 窗口对象是否可以被保护或以某种方式设置为私有
- 对于在页面之前加载的扩展JavaScript是否有任何限制,这些限制可以用于web应用程序
- 伴生扩展是否可以检测到其他扩展,然后与web应用程序进行通信,告知其运行不安全?或者至少通知用户滥用的可能性
- 扩展背景脚本是否也通过调用window.open注入iFrame和子窗口中?也许web应用程序会用不同的安全的窗口对象副本替换窗口对象
- 有没有什么聪明的方法可以检测页面上是否运行了第三方代码?JavaScript环境的一种“散列”
否…………您可以滥用扩展API中的错误。例如,在现代Chrome中,扩展无法拦截AppCache。可能还有其他漏洞。我认为web扩展必须在经过审查后获得批准和签署。这不再准确了吗?@Gary-我已经发布了一些私人扩展,但不记得需要任何批准/签署/审查的内容。即使他们是。。。这就把安全责任推到了管理扩展生态系统的机构身上。由于已经有大量的恶意扩展(google it)报告,我认为系统正在失败。当然,如果扩展可以运行,它可以执行代码。没有什么可以阻止它运行的。就像你可以检测广告拦截器,但实际上并不能阻止它运行。不…………你可以滥用扩展API中的bug。例如,在现代Chrome中,扩展无法拦截AppCache。可能还有其他漏洞。我认为web扩展必须在经过审查后获得批准和签署。这不再准确了吗?@Gary-我已经发布了一些私人扩展,但不记得需要任何批准/签署/审查的内容。即使他们是。。。这就把安全责任推到了管理扩展生态系统的机构身上。由于已经有大量的恶意扩展(google it)报告,我认为系统正在失败。当然,如果扩展可以运行,它可以执行代码。没有什么可以阻止它运行的。就像你可以检测广告拦截器,但实际上并不能阻止它运行。这需要开发者1)从所有已知的浏览器扩展中编译一个资产列表,并使该列表保持最新。2) 为每个扩展发出获取请求。此选项似乎不可行。这将要求开发人员1)从所有已知的浏览器扩展中编译一个资产列表,并使该列表保持最新。2) 为每个扩展发出获取请求。这一选择似乎不可行。