把过往留在心底,把希望充满胸怀!

不可忽视的 Chrome 扩展安全性

技术文档 5189浏览 0评论
文章目录[隐藏]

Chrome 的安全性是有目共睹的,但这并不意味着它不会泄漏你的隐私:喜欢干坏事的人利用 Chrome 扩展,简单几行代码就能够窃取你的邮箱密码,浏览记录等。随着 Chrome 浏览器的普及以及近期出现的一些可疑扩展,我觉得需要郑重提醒大家谨慎安装扩展。

Chrome扩展能做什么?

Chrome 扩展可以引入 np 插件与系统交互,比如大家用的 Chrome 下载助手可以直接调用迅雷并新建一个任务。同理扫描银行记录、扫描你的 program 文件夹等一般软件可以做到的它也可以。不过,幸运的是使用 np 插件的扩展如果想要提交到 Chrome 扩展中心的话需要经过 Google 人肉审查,所以在这方面来说还是比较安全的。

那么,如果不使用 npapi,Chrome 扩展还能做些什么呢?答案是:你的收藏夹,历史记录,web QQ 的聊天数据,甚至你的各类帐号密码都可以获取到——即使你使用某某加密代理或 vpn。

这个是我做的一个演示扩展。这个扩展安装后,可以在你登陆 QQ 邮箱时检测到你的帐号和密码。当然,这只是一个演示,稍微改一下就可以获取各种邮箱,BBS,甚至网上银行的密码,再加上几行简单的代码就可以直接把密码发送给扩展作者了。

如何防范?

作为普通的用户,也许无法通过检查源代码来保证扩展安全性,不过通过安装时的确认信息就可以识别出大部分不良扩展:比如谷奥 Chrome扩展 只有获取谷奥网数据的权限。

 

最近谷奥介绍过的两个(12)帮助你检测淘宝上某些商品打折情况的扩展,理论上它们只需要获取淘宝的数据就可以了,但是实际情况却并非如此:

 

 

当然这只是个初步判断,不能据此说某某扩展窃取用户隐私。比如扩展申请了新建一个标签的权限,但 Chrome 会解释为“您的浏览历史记录”权限。另外用户需要格外注意针对某些敏感网站的扩展,比如 gmail,网银等。

另一种风险

如果 Chrome 扩展被上传到扩展中心,即使它作恶,那也会留有痕迹(历史版本)。但有一些办法可以避开程序版本被记录,比如引入远程 JavaScript 。

引入远程 JS 分两种情况,一种是引入到扩展页面(即 background.html,popup.html 等),另一种是引入到浏览的网页。

引入到扩展页面

这么做唯一的理由可能就是保证用户使用的最新的 JS。虽然 Chrome 会每隔一段时间自动更新扩展,但有些开发者也许并不满足,所以引入了远程 JS。但这么做的代价就是每当扩展启用时都会去开发者的服务器上下载 JS 文件,这样一旦连接不到服务器,扩展就完全不能用了,而且也会影响效率,更为重要的是某些扩展通过引入外部 JS 获得更大权限和更多数据,且用户无法追踪其代码。(下图仅是一个示范,并不代表谷奥认为56/57折的这两个扩展有恶意行为)

 

 

引入到浏览的网页

Chrome 扩展有一些机制保护用户数据安全,其中就包括扩展 JS 执行环境和网页的 JS 环境完全分隔,仅仅共享页面 DOM。比如,网页 JS 里有个变量 guao,那么在 Chrome 扩展的 JS 中是无法检测到这个变量的。但开发者如通过技术手段修改浏览网页的代码(很容易滴),使其引入一个开发者所指定的 JS,这样开发者就可以完全伪造网页的程序了。修改一些函数,使用户的密码、聊天记录等提交到开发者的服务器是非常容易就可以做到的。

结语

网络安全是每个人都不应该忽视的问题,虽然 Chrome 本身十分安全,但是 Chrome 扩展却给了一些别有用心的人可乘之机。作为最终用户来说,最简单的预防方法就是只安装出自 Chrome 扩展中心的扩展,并且留意扩展所需要的运行权限。至于远程 JS 注入这样的手段,目前看来似乎没有太好的办法,只能靠各位扩展作者自律了。

摘自:http://www.guao.hk/posts/about-chrome-extension-security.html

转载请注明:自由的风 » 不可忽视的 Chrome 扩展安全性

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址