加密貨幣錢包 Vultisig 更新 iOS 與 Android 應用程式,偵測到惡意參與者時會停止簽署,避免攻擊者反覆利用錯誤回應推導私鑰。兩款應用程式的 8 月更新紀錄均列出這項修正。
攻擊成立的前提是其中一名簽署者的裝置已遭入侵。ChainSecurity 在分析中指出,攻擊者可反覆傳送惡意訊息,觀察其他裝置的錯誤回應,藉此推導內部種子,進而還原金鑰片段及完整私鑰。這是對可能攻擊途徑的說明,並不代表已確認發生實際利用或資產遭竊。
Vultisig 是多方計算(MPC)錢包,多部裝置分別保管私鑰片段,並共同為交易簽署。分散保管的前提是,即使單一裝置遭入侵,攻擊者也無法只憑該裝置持有的片段取得完整私鑰。此次漏洞可能在遭入侵的裝置參與簽署、並反覆觀察其他裝置回應時出現。
ChainSecurity 檢視的是 Vultisig 的 ECDSA 簽署實作。分析指出,其他裝置對遭竄改訊息的回應可能因內部種子的特定資訊而異,收集多次回應後便可能推導種子。ChainSecurity 認為,問題源自應用程式的錯誤處理,而非加密函式庫本身。
該函式庫的運作前提是:偵測到惡意參與者並觸發致命錯誤時,應停止簽署並更換種子。但應用程式將這類錯誤當成一般簽署失敗處理。即使交易失敗,只要錯誤發生後仍允許重試,攻擊者就可能收集更多回應。
Vultisig iOS v1.45.71 的更新紀錄顯示,8 月 21 日加入修正:發生封鎖惡意參與者的錯誤時,不再重試並停止簽署。Android v1.0.118 也在 8 月 25 日記錄了相同方向的修正。兩款應用程式現在會將這類錯誤與其他簽署失敗區分,並向使用者發出警告。iOS 版本更新紀錄 Android 版本更新紀錄
函式庫稽核與應用程式錯誤處理檢視是兩回事。Vultisig 安全文件指出,其使用的 DKLS23 協定函式庫於 2024 年接受 Trail of Bits 稽核;稽核對象是函式庫,並非 Vultisig 應用程式。
ChainSecurity 表示,該團隊未檢視已公開的修正程式碼,也未稽核協定的其他部分。僅根據公開分析與應用程式更新紀錄,無法確認是否曾遭實際利用,也無法確認受影響版本與金庫設定的完整範圍。
此案例顯示,安全性不只取決於是否將金鑰分散保存在多部裝置,應用程式能否在致命錯誤後阻止重試也同樣重要。目前公開紀錄可確認的措施,是兩款行動應用程式加入停止簽署的修正。
留言 0