Chrome 的安全性是有目共睹的,但这并不意味着它不会泄漏你的隐私:喜欢干坏事的人利用 Chrome 扩展,简单几行代码就能够窃取你的邮箱密码,浏览记录等。随着 Chrome 浏览器的普及以及近期出现的一些可疑扩展,我觉得需要郑重提醒大家谨慎安装扩展。
Chrome扩展能做什么?
Chrome 扩展可以引入 np 插件与系统交互,比如大家用的 Chrome 下载助手可以直接调用迅雷并新建一个任务。同理扫描银行记录、扫描你的 program 文件夹等一般软件可以做到的它也可以。不过,幸运的是使用 np 插件的扩展如果想要提交到 Chrome 扩展中心的话需要经过 Google 人肉审查,所以在这方面来说还是比较安全的。
那么,如果不使用 npapi,Chrome 扩展还能做些什么呢?答案是:你的收藏夹,历史记录,web QQ 的聊天数据,甚至你的各类帐号密码都可以获取到——即使你使用某某加密代理或 vpn。
这个是我做的一个演示扩展。这个扩展安装后,可以在你登陆 QQ 邮箱时检测到你的帐号和密码。当然,这只是一个演示,稍微改一下就可以获取各种邮箱,BBS,甚至网上银行的密码,再加上几行简单的代码就可以直接把密码发送给扩展作者了。
如何防范?
作为普通的用户,也许无法通过检查源代码来保证扩展安全性,不过通过安装时的确认信息就可以识别出大部分不良扩展:比如谷奥 Chrome扩展 只有获取谷奥网数据的权限。
最近谷奥介绍过的两个(1,2)帮助你检测淘宝上某些商品打折情况的扩展,理论上它们只需要获取淘宝的数据就可以了,但是实际情况却并非如此:
当然这只是个初步判断,不能据此说某某扩展窃取用户隐私。比如扩展申请了新建一个标签的权限,但 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 注入这样的手段,目前看来似乎没有太好的办法,只能靠各位扩展作者自律了。
本文来源:不详 作者:佚名