新聞加密貨幣比特幣錢包 Electrum 修補可將付款導向攻擊者的高嚴重性漏洞

比特幣錢包 Electrum 修補可將付款導向攻擊者的高嚴重性漏洞

作者: Decrypt·

重點速覽

  • •Electrum 4.8.3(10 月 24 日發布)修補了一項高嚴重性漏洞,該漏洞讓惡意伺服器能顯示虛假交易,並將手續費加速付款導向攻擊者控制的地址。
  • •此漏洞源於 Electrum 未對從其伺服器收到的未確認交易驗證簽章,讓偽造的零手續費付款在使用者歷史紀錄中呈現卡住狀態。
  • •安全公告指出部分伺服器已在實際環境中執行此攻擊,其中一位使用者於 10 月 18 日對一筆被操縱的交易進行手續費加速後,回報確認損失。
  • •此修補在將未確認交易加入歷史紀錄前,會先驗證錢包自有輸入的加密簽章,而來自外部發送方的交易仍在未經簽章驗證的情況下被接受。
  • •執行 4.8.3 之前版本的使用者仍處於風險中,應更新或手動核對輸出地址;僅連線到自有伺服器的使用者則不受影響。
比特幣錢包 Electrum 修補可將付款導向攻擊者的高嚴重性漏洞

比特幣錢包 Electrum 於 10 月 24 日發布 4.8.3 版,修補一項高嚴重性漏洞,該漏洞讓惡意伺服器能夠注入虛假交易,誘騙使用者將款項支付到攻擊者控制的地址。

此漏洞影響 4.8.3 之前的所有錢包版本,目前新版本已可下載。至少已有一位使用者確認因該漏洞而損失資金。

攻擊如何運作

根據 Electrum 開發者 SomberNight 發布的安全公告,此攻擊利用了錢包對未確認交易的信任模型。當使用者透過被入侵的伺服器廣播付款時,該伺服器可以壓下真實交易並注入一筆虛假且衝突的交易——顯示攻擊者的輸出地址與零手續費,使該筆付款看似卡住。

由於 Electrum 不會對從伺服器收到的未確認交易驗證簽章,這筆偽造交易便會以合法交易之姿出現在錢包的歷史紀錄中。當使用者對看似停滯的付款進行手續費加速時,他們實際上是簽署並廣播了一筆全新的有效交易——而其輸出地址屬於攻擊者。原始付款從未送出;這筆加速交易才是第一筆真正到達網路的交易,而它支付了攻擊者。

手續費加速本身是比特幣常見的做法——是推動看似卡住的付款的標準方式——因此這個偽造手法把日常的疑難排解步驟變成資金被轉走的時刻。虛假交易上顯示的零手續費,正是造成付款看似卡住這種印象的原因。

SomberNight 指出,攻擊者可以透過研磨(grind)方式調整虛假交易的輸出地址,使其符合使用者預期目的地址的最後四個字元。任何只檢查長比特幣地址結尾的人,都會看到看似相符的結果。

攻擊已在實際環境中獲得證實

安全公告指出「部分伺服器正在實際環境中執行此攻擊」,並附有兩位使用者的回報。一位名為 dannydeezy 的使用者於 10 月 11 日率先標記了可疑的伺服器行為;該筆被操縱的交易從未傳播到本地伺服器之外,因此沒有資金損失。另一位使用者 Raju-K12 則回報在 10 月 18 日對一筆被操縱的交易進行手續費加速後,確認發生資金損失。

修補內容

4.8.3 版的修復透過在將任何未確認交易加入本地歷史紀錄之前,先驗證錢包自有輸入的加密簽章,封閉了主要攻擊面。伺服器無法再注入涉及使用者自身地址的虛假交易,除非提供有效簽章——而攻擊者無法偽造簽章。該修復於 10 月 23 日在儲存庫中標記,相關二進位檔案於隔天發布在官方發布頁面。

來自外部發送方的交易——即所有輸入都不屬於使用者錢包的交易——仍在未經簽章驗證的情況下被接受。SomberNight 在公告中承認了這個尚未解決的缺口,並指出彌補它需要額外的工作。Electrum 何時以及如何將該驗證擴展至外部來源的交易,是未來版本中最值得關注的待解事項。

熟悉的攻擊目標

Electrum 是歷史最悠久的比特幣軟體錢包之一,過去也曾遭遇惡意攻擊。一場始於 2018 年的攻擊利用惡意伺服器推送虛假的更新通知,到 2020 年為止已從 Electrum 使用者手中竊取估計 2,500 萬美元。

該錢包的開放伺服器模型——任何人都可以運行節點——正是使這類攻擊成為可能的原因。Electrum 是輕量級用戶端,依賴外部伺服器取得區塊鏈資料而非下載完整鏈,這種取捨讓錢包保持快速,但也使其安全建立在面向伺服器的信任模型上,而這次漏洞正是直接鎖定此模型。僅連線到自建伺服器的使用者不受影響。

任何仍在執行 4.8.3 之前版本的人仍處於風險中,無法立即更新的人應在簽署任何交易前手動核對輸出地址與金額。Electrum 4.8.3 可於 electrum.org 與專案的 GitHub 儲存庫下載。