以太坊dApp安全

Paul Camechon在Medium中写道:“由于用户隐私问题,MetaMask和其他dApp浏览器已经承诺在11月2日停止向用户浏览器注入Web3,这意味着它将需要一个新的postMessage API。“

MetaMask是一个允许用户访问分布式Web的以太坊钱包和dApp浏览器,它自动为网页注入Web实例以及以太坊提供商,使dApp能够访问区块链,访问用户帐户地址并提出交易。

隐私泄漏可能造成资产丢失

然而,现有的dApp浏览器包含用户隐私。即使扩展程序被锁定,恶意网站也可以扫描注入的对象并跟踪以太坊用户。这种攻击被称为“指纹识别”,使用户容易受到各种攻击。

例如,恶意玩家已经能够使用暴露的数据发起网络钓鱼活动和侵入性广告。一旦扩展解锁,恶意玩家也可以看到受害者的以太坊地址,他们可以从中获取私人信息,例如交易历史,余额和其他信息。

更新是必需的

以太坊dApp安全

在访问CryptoKitties等区块链应用程序时,以太坊dApp浏览器正在采取措施提高用户隐私和安全性。| 来源:Axiom Zen

为了保护隐私,dApp浏览器(包括MetaMask,imToken,Status和Mist)将需要更新现有的dApp。

当页面加载时,dApp浏览器将不再自动注入Web实例或以太坊提供程序。dApp必须从浏览器请求提供商,然后要求用户批准或拒绝访问以太坊区块链。如果访问被批准,提供者将被注入网页。

用户将开始在dApp上看到更多“登录”按钮,其中一个将导致MetaMask弹出窗口请求用户授予站点访问其帐户信息的权限。批准的站点将被缓存,直到清除用户的列表。

Bouchon指出,批准模式类似于要求访问用户的麦克风或摄像头。

以太坊用户将能够拒绝他们认为不值得信任的网站的区块链访问权限。这样,不受欢迎的网站将无法在他们不知情的情况下定位他们。相反,用户可以在授予批准后将提供商注入网页,从而控制其隐私。

开发人员需要获得批准的提供商

对于页面加载,开发人员将无法再期望Web3实例或以太坊提供程序已经在窗口上。相反,dApp将通过发布消息从浏览器发布消息,要求提供者。dApp必须注册才能在注入用户批准的提供程序时收到通知。提供者将知道是否通过window.ethereum进行注入,并且同时必须要求提供者。

对于Web3.js API,将在用户批准后注入以太坊提供程序,而不是Web实例。需要Web3.js的dApp必须加载他们需要的特定版本,而不是浏览器注入的版本。在请求提供者时,仍然可以使用Web3标志注入Web3实例。

无法保证在发出请求后将注入Web3版本,这意味着仅为方便调试和开发而建议使用该方法。

Bouchon指出,这一变化对MetaMask来说是一个艰难的决定,但有必要防止用户遭受侵犯隐私的行为。

MetaMask认为它可以在提供以用户为中心的网络时保护隐私和安全。

来源:ccn

编译:bsatoshi