是安全问题?还是用户体验的折中?MetaMask隐私泄漏问题简析

北京链安
北京链安 机构得得号

2019年03月26日 聚焦区块链社区安全服务与资讯

摘要: 近期以太坊著名的浏览器扩展插件MetaMask被暴出现隐私泄漏的安全问题。我们知道,MetaMask是一个非常流行的浏览器扩展程序,它允许用户基于浏览器场景关联绑定钱包账号,特别在用户通过浏览器访问DApps时,这款插件经常被用到,仅在谷歌Chrome浏览器上,这款插件便已经被安装了超过100万次。

近期以太坊著名的浏览器扩展插件MetaMask被暴出现隐私泄漏的安全问题。我们知道,MetaMask是一个非常流行的浏览器扩展程序,它允许用户基于浏览器场景关联绑定钱包账号,特别在用户通过浏览器访问DApps时,这款插件经常被用到,仅在谷歌Chrome浏览器上,这款插件便已经被安装了超过100万次。然而,据最近的报道显示,当用户通过MetaMask插件登录钱包的时候,如果此时账户处于登录状态,则用户在访问每一个Web站点的时候,该Web站点都可以通过MetaMask获取到用户的以太坊地址。

接下来,就请北京链安安全专家HardMan就本次安全事件做进一步分析:

首先MetaMask这个隐私泄露问题在github很早就有讨论。

https://github.com/MetaMask/metamask-extension/issues/4269   2018年5月17日

https://github.com/MetaMask/metamask-extension/issues/5496   2018年10月11日

https://github.com/MetaMask/metamask-extension/issues/5993   2019年1月4日

如这条,在去年5月的用户反馈中,就有人提出MetaMask没有给用户自主选择权,去选择用户访问的DApp中,哪些可以通过MetaMask接触相关敏感信息。

整体来看,相关反馈讨论的主要问题在于,MetaMask是否可以允许用户自由选择自己的身份信息暴露给哪个DApp,而不是设计为将用户的信息暴露给所有的Chrome tab页面,或者默认就是隐私模式,当用户访问具体DApp的时候,弹窗询问用户是否允许暴露自己的信息给该页面。

但是MetaMask默认还是将用户的以太坊身份信息默认暴露给所有的Chrome tab页面,严格来说,从开发者本意来看,这并不是MetaMask的一个疏忽造成的安全漏洞,而是MetaMask在用户体验层面,就用户交互层面安全性和便利性做出的一个妥协。

首先MetaMask在用户使用该插件之前已经给出过明确提示。当用户不使用该插件的时候请登出,否则你当前的以太坊账户信息会默认暴露给所有的浏览过的网站。

如果所有用户都能注意到,这个其实是很简单粗暴的解决问题的方式。由于DApp需要获取用户的以太坊账户信息,如果按照github讨论的,当每访问一个网站MetaMask都弹框询问用户是否授权用户获取以太坊信息,从用户体验角度就会存在便捷性争议,用户甚至都不知道MetaMask弹框询问的是什么意思,也不知道自己访问的这个网站是不是一个DApp网站。而如果设计为MetaMask允许用户配置授权自己的账户信息给指定DApp,由于本质上MetaMask只是一个钱包浏览器扩展插件,甄别访问的URL是否是DApp网站并不是MetaMask的主要工作。所以在这种情况下,MetaMask选择了默认的策略,只要用户在登录状态下,就会暴露用户的以太坊的账户信息给所有的Chrome tab页,用户处于登出状态才不会再暴露以太坊账户信息给Chrome tab页。

当然,随着行业变化,用户使用习惯以及安全敏感性的变化,MetaMask也有责任重新审视其产品交互和安全方面的平衡。而在此之前,北京链安提醒MetaMask插件的用户,当您不使用MetaMask插件的时候,请及时登出,以避免自己的以太坊账户信息暴露给所有网站。当然,如果你的MetaMask插件中包含的以太坊代币数量比较小,特别仅仅是为了开发临时使用时,即使以太坊地址泄漏给访问过的网站也并不会有很大问题。

(作者:北京链安,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 北京链安 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信