Electrum 錢包修補安全漏洞,防堵比特幣遭竊

BTC
比特幣錢包安全更新漏洞被盜資金Electrum漏洞利用RBF
2 小時前來源: crypto.news
Electrum 錢包修補安全漏洞,防堵比特幣遭竊

Electrum 已發布 4.8.3 版,以修復一個高嚴重性的比特幣錢包漏洞,惡意伺服器曾利用該漏洞重定向用戶付款,開發者確認至少有一例資金被盜。

摘要

  • Electrum 在確認惡意伺服器正利用一個高嚴重性漏洞後,發布了 4.8.3 版。
  • 攻擊者將待處理的比特幣付款替換為欺詐交易,用戶可能透過手續費提升而誤授權這些交易。
  • 兩名用戶報告了事件,其中一人在提高交易手續費後損失了比特幣。
  • 該漏洞影響 4.8.3 之前的所有 Electrum 版本;開發者尚未披露總損失。
  • 該安全補丁會驗證花費錢包所控制代幣的未確認交易上的簽名。

根據該錢包 10 月 24 日的安全公告,攻擊者利用了 Electrum 處理未確認比特幣交易的方式,將合法的對外付款替換為欺詐交易,用戶可能在提高交易手續費時意外授權這些交易。

Electrum 是一款輕量級比特幣錢包,連接到外部伺服器以獲取交易歷史、廣播及其他網路資訊。與完整的比特幣節點不同,該軟體不會獨立處理區塊鏈活動的每個方面。

其文件說明,Electrum 透過簡單付款驗證來驗證已確認交易,但歷來在顯示待處理交易時信任其主伺服器。

攻擊者利用了這一區別,在透過惡意伺服器提交的交易到達比特幣網路之前將其攔截。

在阻止合法交易被廣播後,攻擊者可以向錢包發送一筆替換交易,將收款地址改為攻擊者控制的地址。

儘管替換交易帶有無效簽名,但有漏洞的 Electrum 版本在錢包歷史中顯示該交易之前並未檢查這些簽名。

當用戶試圖透過替換手續費(Replace-by-Fee,簡稱 RBF)提高交易手續費時,這種欺騙就變得危險。RBF 是比特幣的一項功能,允許將未確認的付款替換為支付更高手續費的另一筆交易。

透過批准手續費調整,用戶可能在不知情的情況下簽署一筆向攻擊者付款的有效交易。

Electrum 確認現實世界中的利用與比特幣損失

開發者披露了兩起私下報告的事件,證實該漏洞已超出理論攻擊的範疇。

10 月 11 日,一名用戶名為 dannydeezy 的用戶報告稱,Electrum 歷史中顯示的一筆交易與最初提交的付款不符。

根據公告,兩起事件均涉及攻擊者控制的收款地址,這些地址被設計為與預定收款人比特幣地址的最後四個字元相符。

在第二起案例中,欺詐交易的手續費為零,開發者懷疑這是為了誘使受害者發起手續費提高。

第一份報告涉及一個使用兩台 Trezor 裝置的 2-of-3 多重簽名錢包。其合法交易包含 31 個輸入和 1 個輸出。

調查人員發現,全部 62 個簽名對原始付款有效,但對被替換的交易無效。這筆偽造交易將幾乎所有比特幣重定向到一個相似地址,並將少量金額返回錢包。

原始交易仍然有效,但從未到達公開的比特幣網路。

Electrum 承認有些伺服器在真實環境中進行了此攻擊。然而,開發者並未披露有多少伺服器參與、被盜金額多少,或是否已識別出更多受害者。

Electrum 4.8.3 阻止惡意手續費提升交易

該修復已於 10 月 23 日納入 4.8.3 版本,可下載的二進位檔於 10 月 24 日發布。

透過 提交 90fe308,開發者為花費用戶錢包所擁有輸入的未確認交易引入了簽章驗證。

Electrum 現在會在將這些交易接受到其本地歷史記錄之前檢查這些簽章,防止公告中描述的欺詐性對外付款顯示為合法交易。

該更新並未使 Electrum 成為完整的比特幣節點。開發者澄清,傳入的未確認交易仍不在新的簽章檢查範圍內,而已確認的付款則繼續接受既有的驗證程序。

運行 4.8.3 之前版本的用戶已被敦促從 Electrum 官方網站下載更新。

對於無法立即升級的任何人,開發者建議在簽署交易(包括手續費替換)之前檢查完整的收款地址和金額。

根據該公告,僅連接到受信任伺服器(包括自己的伺服器)的用戶不會暴露於此特定的惡意伺服器攻擊。

Electrum 先前的攻擊揭示了反覆出現的伺服器風險

此事件發生在先前利用 Electrum 對外部伺服器依賴性的嘗試之後。

2018 年 12 月,crypto.news 報導了惡意伺服器向用戶顯示欺詐性軟體更新指示。當時的報導估計損失接近 100 萬美元。

另一次 2019 年的惡意伺服器活動使用虛假錢包更新和阻斷服務活動,將用戶引向受損的軟體。

那些攻擊依賴於欺騙性下載,而新修補的漏洞則在原本合法的錢包內操縱待處理交易資訊。

2020 年發表的一篇關於 Electrum 伺服器的訪談探討了輕量錢包的取捨,包括其對外部基礎設施以獲取交易歷史的依賴。

Electrum 自己的文件指出,其客戶端通常連接到大約 10 個伺服器,但會選擇一個主伺服器來檢索錢包歷史並廣播交易。文件指出,此主伺服器在未確認交易方面是被信任的。