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。暫時不升級的話,每次簽署交易時,不論是否在加價,都要核對收款地址與金額。連線到自己架設或信任的伺服器的用戶不受這次攻擊影響。公告沒有公布發動攻擊的伺服器,也沒有公布受害金額。
風險提示
加密貨幣投資具有高度風險,其價格可能波動劇烈,您可能損失全部本金。請謹慎評估風險。




