近期以太坊著名的浏览器扩展插件MetaMask被暴出现隐私泄漏的安全问题。我们知道,MetaMask是一个非常流行的浏览器扩展程序,它允许用户基于浏览器场景关联绑定钱包账号,特别在用户通过浏览器访问DApps时,这款插件经常被用到,仅在谷歌Chrome浏览器上,这款插件便已经被安装了超过100万次。然而,据最近的报道显示,当用户通过MetaMask插件登录钱包的时候,如果此时账户处于登录状态,则用户在访问每一个Web站点的时候,该Web站点都可以通过MetaMask获取到用户的以太坊地址。
接下来,就请北京链安安全专家HardMan就本次安全事件做进一步分析:
首先MetaMask这个隐私泄露问题在github很早就有讨论。
2018年5月17日
2018年10月11日
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插件中包含的以太坊代币数量比较小,特别仅仅是为了开发临时使用时,即使以太坊地址泄漏给访问过的网站也并不会有很大问题。
本文来自,仅作分享,存在异议请联系平台删除。本文观点不代表刺猬财经 - 刺猬区块链资讯站立场。