又看到有人不幸中招(
/t/577026 )我觉得有必要多啰嗦一下,大概说说事件背景。
各位也可以直接去看开发者写的原帖,我的转述也许不准确,还是以官方为准:
github. com/spesmilo/electrum/issues/4968
Electrum 的开发者出于去中心化精神,允许任何人开设钱包服务器并加入网络。钱包服务器的作用是帮用户查询历史交易记录和余额,以及广播交易,这些服务器完全是接触不到私钥的。
但是,不知道是什么时候(大概应该是 2018 年底吧),有人发现,钱包服务器可以给客户端返回任意内容的报错信息(这里本来应该是钱包服务器原样转发 bitcoind/bitcoin-qt 全节点的报错信息)。而且,这个报错信息还可以是 HTML 的,里面可以有图片、有链接。
于是,有人看准了 Electrum 钱包的这个缺陷,开设了一大堆钓鱼服务器。
如果用户不幸连接到了这种钓鱼服务器,他在转账(广播交易)时,就会收到假的“安全更新”警告消息,里面的链接是指向钓鱼网站的,以诱骗用户安装恶意修改版 Electrum。一旦用户上当,下载安装了恶意修改版 Electrum,它就会把用户钱包里的所有币都偷走。
这个问题不仅影响 BTC 的原版 Electrum,还连带影响了各种山寨币的移植版 Electrum,比如 BCH 的 Electron-Cash 等等。
Electrum 官方当时放出了 3.3.2 版,做了初步的缓解措施:把 HTML 解析去掉,这样钓鱼信息里的链接就不能直接点开了。后来 3.3.3 版做了更彻底的修正:服务器只能返回一个错误代码,具体的消息由客户端根据代码找到对应的文字。
开发者称,他们后来还做了其他的工作,比如善意利用这个钓鱼漏洞,甚至是利用 DoS 漏洞让旧版本客户端无法工作,提醒用户去找官网升级;而且还让 Electrum 服务器用黑名单屏蔽掉已知的恶意服务器。
不过很显然,这些措施并不能 100%堵死这个漏洞,还是陆续有人中招。
因为存量用户很大,很多人已经较长时间不关注币圈新闻了,而且币圈对这个事情的重视程度也不高,估计未来陆续还会再有受害者出现。
开发者也表示,他们对这些存量用户能做的不多,因为他们无法控制这些用户的软件执行升级——从另一个角度讲,如果开发者们掌控了这种“远程控制”的能力,同时也就意味着他们也有偷币的能力,所以很显然他们不能这么做。