Electrum钱包漏洞:恶意服务器趁用户加速交易转走比特币


比特币老牌软件钱包Electrum 10 月24 日发布安全公告,指出恶意伺服器可以趁用户替交易加速时,把比特币转到攻击者的地址,而且「已有部分伺服器实际在发动这种攻击」。官方同日推出修补版本4.8.3,至少一名用户已经受害,损失金额没有公布。

恶意伺服器扣住真交易,换上一笔零手续费的假交易

Electrum 属于轻量钱包,不下载完整的比特币区块链,查询交易纪录、广播交易都要透过外部伺服器。官方常见问题本来就写明,钱包预设连线约10 台伺服器,其中一台作为主要伺服器;已上链的交易会用简化支付验证(SPV)检查,未确认的交易则直接信任这台主要伺服器提供的资讯。

依公告说明,用户广播一笔交易后,恶意伺服器把它扣住,不转发到比特币网络,再在钱包的交易纪录里换上一笔互相冲突的假交易,收款地址改成攻击者的。这笔假交易的签章其实无效,但Electrum 旧版不检查未确认交易的签章,钱包画面只会显示假交易,真正的那笔反而看不到。

用户如果以为交易卡住,使用「以手续费替换交易」(Replace-by-Fee,RBF)功能提高手续费,Electrum 就会替这笔假交易重新签出一笔有效交易,钱便付给了攻击者。公告提到,其中一案的假交易手续费设为零,开发者研判是为了诱使用户加价;两名回报者也都发现,攻击者的地址最后四个字元刻意算成与原本的收款地址相同。

10 月11 日首报,18 日有人加价后受害

公告列出的时间轴如下:10 月11 日第一名用户私下回报,广播交易后钱包纪录出现另一笔交易,原交易也没有传到比特币网络,但开发者当时没有意识到加速手续费这条攻击路径;10 月18 日GitHub 帐号Raju-K12 的用户回报,替被调包的交易加价后损失资金;10 月23 日修补程式标记为4.8.3 版,10 月24 日释出安装档并公开漏洞。

据CoinDesk报导,第一名回报者使用两台Trezor 硬件钱包搭配的2-of-3 多签钱包,两台装置上都确认过正确的付款内容,之后才在交易纪录看到另一笔转出,这名用户没有回报损失。

4.8.3 只验自己地址的交易,入帐交易仍不验证

这次的修补让钱包在把未确认交易加入纪录前,先验证花用自己地址资金的那些输入签章。公告也说明修补的范围有限:别人转进来的入帐交易仍然不验证,因为Electrum 没有完整的共识验证引擎,要验证就得一路往上检查未确认的上游交易,直到已上链的交易为止;已上链的交易则本来就有SPV 验证。

开发者建议用户升级到4.8.3。暂时不升级的话,每次签署交易时,不论是否在加价,都要核对收款地址与金额。连线到自己架设或信任的伺服器的用户不受这次攻击影响。公告没有公布发动攻击的伺服器,也没有公布受害金额。

本文链接地址:https://www.wwsww.cn/qianbao/42099.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。