Electrum 錢包漏洞讓惡意伺服器在提高交易手續費時轉移比特幣付款
目錄
你可能想知道
- 錢包試圖加快比特幣付款,怎麼會讓使用者授權向攻擊者付款?
- Electrum 的安全性更新做了哪些改變?尚未升級的使用者應該怎麼做?
Electrum 漏洞如何運作
Electrum 是歷史最悠久的比特幣軟體錢包之一,其中的安全漏洞讓惡意伺服器能誤導試圖加速尚未確認付款的使用者。至少有一起已通報事件中,使用者核准了一筆將資金轉給攻擊者的交易。Electrum 開發者表示,週六揭露漏洞時,已有部分伺服器在利用此問題。
開發者在 10 月收到兩份通報。其中一份來自一名使用者,對方表示在核准一筆看似例行的交易手續費調高後損失了資金。這些通報說明,一項原本旨在協助使用者處理付款延遲的功能,若錢包軟體仰賴伺服器提供未經信任的資訊,就可能成為風險來源。
Electrum 的運作方式與完整的比特幣節點不同。它不會自行從比特幣網路取得所有交易資訊,而是仰賴外部伺服器查詢交易歷史並廣播付款。修補前,Electrum 不會驗證伺服器回報的某些相關未確認交易的簽章。因此,惡意伺服器可能向錢包提供有關尚未確認付款的誤導資訊。
控制或入侵錢包所使用伺服器的攻擊者,可以在付款抵達比特幣網路前攔截它。接著,攻擊者可用偽造的交易取代 Electrum 歷史紀錄中顯示的付款。這筆假交易看起來像是將使用者的幣轉至攻擊者控制的地址,但其中含有易受攻擊的錢包未能偵測到的無效簽章。
這筆詐騙付款可能會在錢包中顯示為待處理。這項狀態之所以重要,是因為比特幣支援以另一個手續費較高的版本取代尚未確認的交易。這項稱為 Replace-by-Fee 的功能,讓使用者在初始付款等待時間過長時,可以促使交易獲得確認。在已通報的攻擊中,選擇提高費用的選項,可能使 Electrum 使用被替換的交易,並簽署一筆有效的替代交易,將資金轉給攻擊者。
危險並非單純來自一筆尚未確認的付款,而是伺服器提供的交易資料與使用者之後決定簽署替代交易兩者的結合。使用者若以為自己是在調高一筆合法付款的手續費,實際上可能授權將資金轉至攻擊者的地址。因此,錢包介面與交易歷史扮演了重要角色:被替換的付款必須看起來足夠可信,使用者才會繼續操作。
在一起已通報案例中,惡意交易完全沒有手續費,這可能讓它看起來卡住,促使使用者嘗試加快交易。攻擊者也建立了收款地址,讓地址末四個字元與合法目的地址相同。這種相似性可能使快速目視比對較難發現目的地已經變更。地址末尾部分相同並不代表兩個地址相同,但在匆忙檢查時,確實可能讓詐騙替換更難察覺。
第一份通報於 Oct. 11 提交,涉及一個使用兩台 Trezor 硬體裝置的二取三多重簽章錢包。使用者在兩台裝置上都檢查了合法付款,之後才在 Electrum 的歷史紀錄中發現另一筆不同的轉出交易。該使用者沒有通報資金損失。儘管如此,這起事件仍讓開發者得以了解被替換的交易如何顯示在錢包中,以及這類攻擊可能如何影響多重簽章設定。
第二名使用者於 Oct. 18 通報遭竊。根據通報,該使用者調高了被替換交易的手續費,結果蒙受金錢損失。開發者尚未公布遭竊金額,也未指出涉事的惡意伺服器。現有通報證實此漏洞至少被用於一起竊盜事件,但未提供受影響使用者人數或損失總額的完整資訊。
Electrum 於 Oct. 24 發布 4.8.3 版作為回應。此次更新新增了簽章檢查,適用於使用者自有錢包中幣所產生的未確認交易。透過驗證這些簽章,錢包可以拒絕已通報攻擊中使用的無效交易資料,而不是將其顯示為可信的待處理付款。
若連線至惡意伺服器,較早版本仍容易受到上述攻擊。開發者建議使用者升級 Electrum,並在簽署付款前仔細核對收款地址與金額。只連線至可信任伺服器(包括自行架設的伺服器)的使用者,不會受到這起特定攻擊影響。這項但書並不減損升級的價值:安裝軟體更新是確保錢包套用新驗證檢查的直接方式。
這些通報也顯示,在另一台硬體裝置上檢查交易很有幫助,同時也提醒使用者仍須仔細查看裝置上顯示的詳細資料。在第一份通報中,使用者已在兩台 Trezor 裝置上檢查合法付款,但之後在錢包歷史紀錄中看到另一筆不同的轉出交易。通報並未表示該使用者損失了資金,也不應將此視為硬體錢包普遍遭到入侵的證據。相反地,這凸顯了檢查即將簽署的交易所對應的確切目的地與金額的重要性。
使用者檢查付款或手續費調高時,可以採取幾項簡單的實際檢查:確認完整收款地址、核對金額是否符合預期付款,並留意交易是否看似卡住或出現異常。只比對地址末尾幾個字元並不足以驗證地址。使用者也應確認錢包連線至可信任的伺服器,並安裝已修正的軟體版本。
修補程式在第一起通報竊盜事件六天後發布。這段間隔代表首次通報竊盜與修正版本推出之間的時間,但無法據此判定漏洞最初於何時被發現,或攻擊者可能利用漏洞多久。開發者尚未指出涉事伺服器,也未公布遭竊金額,因此目前無法取得事件的更多細節。
重點摘要表
| 面向 | 說明 |
|---|---|
| 漏洞 | 修補前,Electrum 不會驗證伺服器回報的某些相關未確認交易的簽章。 |
| 攻擊方式 | 惡意伺服器可替換成一筆假的待處理交易,之後在使用者試圖提高其手續費時利用 Replace-by-Fee。 |
| 通報事件 | 開發者在 10 月收到兩份通報。一名使用者表示在調高手續費後遭竊;另一名使用者則未通報資金損失。 |
| 安全性更新 | Electrum 於 Oct. 24 發布 4.8.3 版,新增相關未確認交易的簽章檢查。 |
| 建議措施 | 升級 Electrum、核對完整收款地址與付款金額,並使用自己信任的伺服器。 |
後續...
Electrum 事件引出了一些更廣泛的問題:加密貨幣錢包如何在便利性、速度與獨立驗證之間取得平衡。仰賴外部伺服器的錢包,比起自行運行完整節點更容易使用,但其安全性在一定程度上取決於伺服器所提供資訊的品質與可信度。後續可努力的方向之一,是設計能在本機驗證重要交易細節的錢包軟體,即使為了便利而使用外部基礎架構也能做到這點。
未來開發也可以著重於讓交易變更更容易辨識。提高手續費時,介面應清楚說明目的地址與金額是否維持不變,並在底層交易與使用者原先意圖不同時發出警告。介面可以更醒目地呈現完整地址,並提供更清楚的方式,讓使用者比對原始付款與替代交易。這類措施無法取代密碼學檢查,但能讓可疑變更更容易被看見。
研究伺服器可靠性與去中心化錢包基礎架構,也是值得投入的方向。錢包開發者、節點營運者與安全研究人員可以探索降低對單一資訊來源依賴,以及偵測不一致交易資料的方法。持續檢視硬體錢包的簽署畫面也很重要,讓這些裝置能呈現使用者評估交易所需的詳細資料,而非只要求使用者核准。
對使用者而言,眼前的教訓很實際:保持錢包軟體為最新版本、簽署前核對完整目的地址與金額,並認真看待異常延遲或交易歷史紀錄出現意料之外的變動。長遠目標是讓安全驗證成為錢包系統內建的特性,而不是要求使用者在壓力下自行完成的步驟。
最後編輯時間:2026/10/26
