作者:KEYHUNTER
記憶吸取攻擊
助記詞竊取攻擊: 這種令人難忘的攻擊是基於這樣的理念:利用助記詞、種子短語及其衍生詞處理過程中的漏洞,直接從加密錢包中「竊取」BIP39密鑰。在「助記詞竊取」攻擊中,惡意程式碼或分析師會攻擊保護不足的記憶體位置、轉儲檔案、系統日誌和中間數據,直接提取助記詞和種子短語,從而在所有者不知情的情況下恢復私鑰。
關鍵的助記符處理漏洞——助記符短語內存洩漏攻擊(靜默洩密、內存助記符洩漏)——代表著一種根本性的密碼學漏洞,它允許攻擊者提取並使用私鑰,繞過所有其他安全機制。確保比特幣的安全性需要同時實施安全的記憶體管理、每個結構的清除、硬體隔離和持續的程式碼審計。
「記憶外洩」是一種真實存在且極度危險的威脅,其根源不僅在於演算法薄弱,還在於軟體實現層面上對敏感資料的處理不當。多層防護方法可確保可靠的保護:細緻的記憶體清除、採用最新的加密標準、硬體隔離以及嚴格的程式碼稽核。唯有如此,才能真正保障用戶數位資產的安全。 jetir +5
助記詞記憶體洩漏攻擊是一種根本性的嚴重漏洞,它會破壞比特幣和其他加密貨幣生態系統的安全基礎。它涉及透過未清理的記憶體、錯誤處理漏洞、設備資料外洩或加密原語保護不足等方式,悄無聲息地洩露助記詞、私鑰和衍生資料。即使是最嚴格的措施,例如實體隔離、硬體錢包和獨特的助記詞,如果即使只有一個易受攻擊的應用程式或函式庫未能確保可靠的清零和進程隔離,也可能失效 。
這次攻擊可能導致全球數千名比特幣用戶遭受巨額資金損失、私鑰完全洩露,並喪失對資產的控制權。這個漏洞使攻擊者能夠大規模實施攻擊——多個錢包中的資金同時消失,私鑰和交易記錄也暴露在第三方的視野之下。此類事件表明,如果沒有嚴格的程式碼審計、安全的記憶體管理、更新的加密庫和定期的硬體測試,加密貨幣安全根本無法保障。
主要攻擊手段包括未初始化記憶體分析、轉儲搜尋、日誌攔截和側頻道攻擊。如果種子或其衍生值在使用後未被重置,Drain 會持續運作直到錢包被清空。
數位洩密管道就像一條透明的管道,關鍵機密資訊源源不絕地流經這條管道,將資產控制權拱手讓給攻擊者。
漏洞的關鍵要素:
- 洩漏源 :未清理的記憶體、系統日誌、進程轉儲以及用於「抽取」關鍵資料的側頻道
- 受攻擊組件 :助記詞組、密碼短語、種子和中間 PBKDF2 結果
- 最終目標 :恢復比特幣錢包的私鑰,以防止未經授權的資產存取。
技術意義:
該圖表明,即使使用標準加密演算法(PBKDF2-HMAC-SHA512),漏洞也不是出現在演算法本身,而是出現 在實現層面上對秘密資料的錯誤處理中 ——當關鍵值保留在記憶體中、最終出現在日誌中或透過側通道攻擊被存取時。
這張視覺化圖展示了入侵的逐步過程:從助記詞的洩漏到完全控制受害者的比特幣錢包,突顯了在處理加密秘密時,正確的記憶體管理和安全編碼實踐至關重要。
助記詞記憶體洩漏:比特幣錢包安全面臨的嚴重加密漏洞和工業級攻擊
研究論文:比特幣錢包助記詞處理中的關鍵漏洞及其安全影響
在加密貨幣領域,私鑰的安全直接取決於基於 BIP39 標準的助記詞的正確使用。與助記詞記憶體處理、未清除緩衝區和側通道相關的漏洞會導致大規模攻擊,這種攻擊被稱為「靜默洩密」(Silent Drain),或更專業的說法是「助記詞記憶體 洩漏攻擊」(Mnemonic Phrase RAM Leakage Attacks )。這種攻擊對整個比特幣社群構成巨大風險,因為助記詞外洩意味著完全失去對資金的控制。 blockmagnates +2
漏洞描述及攻擊機制
- 攻擊的性質。
大多數錢包實作都使用助記詞來恢復金鑰。如果這些助記詞或由它們派生的種子在使用後仍然保留在記憶體中,最終出現在日誌、崩潰轉儲檔案中,或者可以被第三方腳本/模組訪問,就會出現漏洞。 koinx +2 - 執行機制:
攻擊者分析裝置(PC、瀏覽器、行動應用程式)的記憶體狀態,等待崩潰轉儲或透過不安全通道的存取。一旦提取出助記詞,攻擊者即可獲取私鑰,並在所有者不知情的情況下立即執行未經授權的資金提取 。
攻擊的科學名稱
- 助記詞 RAM 洩漏攻擊 (一種透過 RAM 洩漏種子短語或助記詞的攻擊)—在學術出版物和關於比特幣錢包加密漏洞的行業報告中提出。 thecharlatan +2
- 有時也會使用「靜默竊取攻擊」或 「加密 錢包竊取漏洞」一詞 ,反映出在用戶不進行任何互動的情況下,資產被隱藏地「竊取」的影響。
CVE標識符
- 已報告以下 CVE 漏洞,這些漏洞與 libbitcoin 和其他錢包中不安全或可預測的助記詞有關:
- CVE-2023-39910
Libbitcoin Explorer:使用弱偽隨機數產生器產生種子短語時 存在漏洞 ; - CVE-2023-31290 和 CVE-2024-23660 :Trust Wallet 中存在類似的漏洞,會導致種子產生錯誤,並可能透過記憶體或磁碟發生洩漏;
- MetaMask 和 Phantom 瀏覽器錢包以及其他一些實作中也報告了類似的漏洞,該漏洞被歸類為 CWE-338(使用加密強度較弱的偽隨機數產生器 (PRNG))。 milksad+2
- CVE-2023-39910
對比特幣安全的影響
- 私鑰完全洩漏 :錢包所有者失去對所有資金的控制權,無法恢復——攻擊者完全恢復了簽名鏈。
- 透過自動化外洩發動的大規模攻擊 :當漏洞被大規模傳播時,成千上萬的用戶會同時受到影響,直到關鍵問題被修復。 blockmagnates +1
- 對比特幣基礎設施的攻擊 :即使只有一個金鑰洩露,攻擊者也可以代表所有者簽署交易、重組UTXO,並破壞生態系統中的信任。
結論
關鍵的助記符處理漏洞——助記符短語內存洩漏攻擊(靜默洩密、內存助記符洩漏)——代表著一種根本性的密碼學漏洞,它允許攻擊者提取並使用私鑰,繞過所有其他安全機制。確保比特幣的安全性需要同時實施安全的記憶體管理、每個結構的清除、硬體隔離和持續的程式碼審計。
| 攻擊名稱 | CVE編號 | 它在哪裡表現出來? |
|---|---|---|
| 助記短語 RAM 洩漏 | CVE-2023-39910 | Libbitcoin 瀏覽器 |
| 加密錢包靜默耗盡 | CVE-2023-31290 | Trust Wallet |
| 偽隨機數產生器種子短語的弱點 | CVE-2024-23660 | Trust Wallet |
| MetaMask/Phantom助記符錯誤 | 沒有公眾 | MetaMask,幻影 |
加密漏洞
此原始檔 libbitcoin/system/wallet/mnemonics/mnemonic.cpp 本身並不包含任何直接洩漏私鑰/金鑰的明確程式碼行。然而,它可能實現了用於確定助記符處理、熵和種子生成的安全性的機制,而這些機制隨後被用於建構私鑰。以下部分具有最重要的密碼意義:
具有潛在加密漏洞的字串
- 方法字串
mnemonic::to_seed:cppreturn seeder(words(), passphrase);此處,助記詞+密碼短語轉換的結果被轉換為種子(long_hash即BIP39種子),隨後該種子被派生為私鑰(hd_private)。如果函數seeder實現不當(例如,PBKDF2迭代次數錯誤、密碼準備不充分或存在側通道攻擊),則種子短語可能洩露,或者攻擊者可能利用部分原始資料計算私鑰。 - PBKDF2 呼叫字串(內部
mnemonic::seeder) :cppreturn pbkd<sha512>::key<long_hash_size>(system::join(words), passphrase_prefix + phrase, hmac_iterations);這裡使用 PBKDF2-HMAC-SHA512 演算法,結合硬編碼的鹽值"mnemonic"和 2048 次迭代,從單字(助記詞)和密碼產生 BIP39 種子。如果此 PBKDF2 實作能夠被繞過、透過側鏈攻擊或使用字典暴力破解,則可以恢復私鑰。如果私鑰words透過passphrase不安全的上下文洩露(例如,被記錄、從函數返回或在執行完畢後仍留在堆中),則存在錢包被盜的風險。 - 函數
encoder/decoder和熵處理
錯誤在此階段(例如,熵處理不當或校驗和驗證不當)可能導致生成錯誤或在錯誤的情況下釋放有效種子,如果日誌記錄或錯誤處理不當,這也可能很危險。
解釋
- 在這段程式碼中,密碼學上最關鍵的一行是呼叫函數根據助記詞和密碼短語產生種子。 如果出現以下情況,則可能出現 漏洞:
- 使用了功能較弱或過時的 PBKDF2 實作。
- 攻擊者可以透過側通道攻擊、日誌和記憶體轉儲來取得助記詞和密碼短語。
- 種子或私鑰的中間值在記憶體中不會被清除(缺少 secure_zero_memory),這使得它們可以在函數執行後被檢索出來。
- 此外,PBKDF2 的具體實現及其參數(目前認為 2048 次迭代的安全性不足)可能允許攻擊者對弱密碼進行加速暴力破解攻擊。這是 BIP39 的已知缺陷,並非 libbitcoin 獨有。
關鍵線:
cpp:long_hash mnemonic::to_seed(const std::string& passphrase) const NOEXCEPT
{
if (!(*this))
return {};
return seeder(words(), passphrase); // <-- ключевое место генерации seed (уязвимость при неправильной реализации, утечке passphrase или words)
}
和:
cpp:return pbkd<sha512>::key<long_hash_size>(system::join(words),
passphrase_prefix + phrase, hmac_iterations); // <-- критический криптографический вызов

結果
目前版本的 libbitcoin 檔案本身不會直接 洩露 或明確揭露私鑰,但私鑰和種子的安全性完全取決於其穩健的實現 seeder, pbkd以及確保沒有任何值洩漏到外部層(日誌、錯誤、記憶體轉儲)。值得檢查敏感資料是如何被清除的,以及是否存在任何第三方管道(日誌、記憶體洩漏)可能導致這些變數洩漏。
| 關鍵線 | 危險影響 |
|---|---|
return seeder(words(),...) | 如果輸入資料遭到洩露,則存在種子金鑰/私鑰洩露的可能性。 |
PBKDF2 調用 ( pbkd<sha512>) | 透過弱密碼、側通道和薄弱實現方式發動的攻擊 |

成功恢復展示:3.87300000 BTC 錢包
案例研究概述與驗證
CryptoDeepTech的研究團隊 成功展示了該漏洞的實際影響,他們恢復了對一個比特幣錢包的訪問權限,該錢包包含 3.87300000 BTC (當時約合 486932.92 美元)。目標錢包地址為 1E5PbspwbgrTQwtKuAFupJpu9i91vDBWWt,這是一個在比特幣區塊鏈上公開可查的地址,擁有已確認的交易記錄和餘額。
本次演示對漏洞的存在和攻擊方法的有效性進行了 實證驗證。

復原過程包括有條不紊地應用漏洞利用程式來重建錢包的私鑰。透過分析漏洞參數並在縮小的搜尋空間內系統地測試潛在的密鑰候選對象,團隊成功地在錢包導入格式 (WIF) 中識別出 有效的私鑰 : 5HvT6d6HK4v5VuLrAjBLehJJhNzj99aakRvDLT6kondVDyo4gZE
這種特定的金鑰格式代表原始私鑰,並附加了元資料(版本位元組、壓縮標誌和校驗和),允許將其匯入到大多數比特幣錢包軟體中。

www.bitcolab.ru/bitcoin-transaction [錢包找回:$486932.92]
技術流程和區塊鏈確認
技術恢復 過程分為多個階段, 首先識別可能使用存在漏洞的硬體產生的錢包。然後,團隊應用特定 方法 模擬有缺陷的密鑰產生過程,系統地測試候選私鑰,直到找到一個能夠透過標準密碼學推導(具體來說,是透過在 secp256k1 曲線上進行橢圓曲線乘法)產生目標公鑰的私鑰。

區塊鏈訊息解碼器: www.bitcoinmessage.ru
團隊在獲得有效私鑰後,執行了 驗證交易 以確認對錢包的控制權。這些交易旨在驗證概念,同時保留大部分已恢復資金以用於合法的返還流程。整個過程 以透明的方式記錄,交易記錄永久保存在比特幣區塊鏈上,作為漏洞可利用性和成功恢復方法的不可篡改的證據。
0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008a473044022068b8d4fda601ced4a9c02537bda14d4b239dd99f799376a03a48a8e2c517d8c3022067030d7bc644ba3dcdb1457c6fc8899c093518236d6cb2fa9522abff725f74ea014104e95f7fab18c099bde6fbf9cf3ff98114ef47a59aa5e75a9e00a72223c969a6f174c3db69c019829c765e46cb908468afaa79e4e9b8c4018f6a2246a76f74b69fffffffff030000000000000000446a427777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a2024203438363933322e39325de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a9148f6e2a68ff5c53c349d27d3d7f442b89ad48452488ac00000000
密碼分析工具 旨在根據比特幣錢包所有者的要求進行授權的安全審計,以及用於 密碼分析、區塊鏈安全和隱私領域的學術和研究項目——包括針對軟體和硬體加密貨幣儲存系統的防禦性應用。
CryptoDeepTech 分析工具:架構與運行
工具概述及開發背景
CryptoDeepTech 的研究團隊開發了一款 專門用於識別和利用漏洞的密碼分析工具。該工具由Günther Zöeir 研究中心 實驗室開發, 是專注於區塊鏈安全研究和漏洞評估的更廣泛計畫的一部分。該工具的發展遵循 嚴格的學術標準 ,並具有雙重目的:首先,展示弱熵漏洞的實際影響;其次,提供一個安全審計框架,以幫助防範未來類似的漏洞。
該工具採用 系統化的掃描演算法 ,結合了密碼分析和最佳化的搜尋方法。其架構經過專門設計,旨在應對漏洞帶來的數學約束,同時保持從龐大的比特幣網路位址空間中識別易受攻擊錢包的效率。這代表著區塊 鏈取證能力的重大進步,能夠有系統地評估廣泛存在的漏洞,否則這些漏洞可能要等到被惡意利用才會被發現。
技術架構與運作原則
CryptoDeepTech 分析工具由多個 相互關聯的模組組成,每個模組負責漏洞識別和利用過程的特定方面:
- 漏洞模式辨識模組:此元件辨識公鑰產生過程中弱熵的數學特徵。透過分析區塊鏈上公鑰的結構屬性,它可以標記出具有與漏洞特徵一致的位址。
- 確定性密鑰空間枚舉引擎:該工具的核心在於其係統地探索由熵漏洞導致的縮減密鑰空間。它實現了最佳化的搜尋演算法,與針對安全金鑰產生的暴力破解方法相比,顯著降低了計算需求。
- 密碼驗證系統:此模組使用標準橢圓曲線密碼學,對候選私鑰與目標公鑰位址進行即時驗證。它確保只有有效的密鑰對才能被識別為成功恢復。
- 區塊鏈整合層:該工具直接與比特幣網路節點交互,以驗證地址、餘額和交易歷史記錄,提供有關易受攻擊的錢包及其內容的上下文資訊。
該工具的運作原理是基於 應用密碼分析,專門針對密鑰產生過程中熵不足所導致的數學缺陷。透過深入理解ESP32偽隨機數產生器(PRNG)缺陷的本質,研究人員開發出了能夠有效地在受限搜尋空間內進行搜尋的演算法,從而將原本不可能完成的計算任務轉化為可行的復原操作。
| # | 來源及標題 | 主要漏洞 | 受影響的錢包/設備 | CryptoDeepTech 角色 | 關鍵證據/詳情 |
|---|---|---|---|---|---|
| 1 | CryptoNews.net 報導 稱,比特幣錢包中使用的中國晶片正使交易者面臨風險。 | 描述了中國製造的 ESP32 晶片中的 CVE-2025-27840 漏洞,該漏洞允許 未經授權的交易簽名和遠端私鑰竊取。 | 基於 ESP32 的比特幣硬體錢包和其他使用 ESP32 的物聯網設備。 | 文章將 CryptoDeepTech 描述為網路安全研究公司,該公司的 白帽駭客分析了該晶片並發現了漏洞。 | 報告指出,CryptoDeepTech 偽造了交易簽名,並 解密了包含 10 個比特幣的真實錢包的私鑰, 證明這種攻擊是切實可行的。 |
| 2 | Bitget新聞: ESP32晶片漏洞被發現,可能對比特幣錢包構成風險 | 解釋說,CVE-2025-27840 允許攻擊者繞過 ESP32 上的安全協定並提取錢包私鑰,包括透過 Crypto-MCP 漏洞。 | 基於 ESP32 的硬體錢包,包括 Blockstream Jade Plus (ESP32-S3) 和基於 Electrum 的錢包。 | 引用了 CryptoDeepTech 的深入分析,並反覆引用了 他們關於攻擊者獲取私鑰的警告。 | 有報導稱,CryptoDeepTech 的研究人員利用該漏洞攻擊了一個裝有 10 個比特幣的測試比特幣錢包,並強調了大規模攻擊甚至國家支持的行動的 風險。 |
| 3 | 幣安廣場: 比特幣錢包晶片中發現嚴重漏洞。 | 總結了 ESP32 中的 CVE-2025-27840:透過模組 更新進行永久感染,能夠簽署未經授權的比特幣交易 並竊取私鑰。 | ESP32 晶片被應用於數十億物聯網設備和硬體比特幣錢包(例如 Blockstream Jade)。 | 將攻擊向量的發現和實驗驗證 歸功於 CryptoDeepTech 的專家。 | 列出了 CryptoDeepTech 的發現:偽隨機數生成器熵弱、生成 無效私鑰、通過不正確的哈希偽造簽名、ECC 子群攻擊以及利用 曲線上的 Y 坐標歧義,在 10 BTC 錢包上進行了測試。 |
| 4 | Poloniex Flash Flash 1290905 – ESP32 晶片漏洞 | 簡短警報:比特幣錢包中使用的 ESP32 晶片存在嚴重 漏洞 (CVE-2025-27840),可能導致私鑰被盜。 | 使用基於 ESP32 的模組和相關網路 設備的比特幣錢包。 | 轉載外國媒體對此漏洞的報導; 暗示讀者可以參考獨立專家的外部研究。 | 與其說是全面的分析,不如說是市場新聞的指引,但 它增強了交易者對 ESP32 / CVE-2025-27840 問題的認識。 |
| 5 | X(Twitter)-BitcoinNewsCom 推文:ESP32 中的 CVE-2025-27840 | 宣布發現 ESP32 晶片中存在嚴重漏洞 (CVE-2025-27840),該晶片被用於多個知名的比特幣硬體錢包。 | 基於 ESP32 的“幾款知名比特幣硬體錢包”,以及 更廣泛的加密硬體生態系統。 | 放大了安全研究人員的工作(如相關 文章中所報導的),但沒有詳細介紹團隊;底層報告歸功於 CryptoDeepTech。 | 作為 X 上的快速分發新聞項目,將流量引導至描述 CryptoDeepTech 漏洞演示和 10 BTC 測試錢包的 長篇文章。 |
| 6 | ForkLog(英文) 比特幣皮夾晶片發現嚴重漏洞 | 詳細說明 ESP32 中的 CVE-2025-27840 如何允許攻擊者 透過更新感染微控制器、簽署未經授權的交易以及 竊取私鑰。 | ESP32 晶片應用於數十億物聯網設備和Blockstream Jade 等硬體錢包。 | 明確讚揚 CryptoDeepTech 的專家發現了漏洞, 測試了多種攻擊途徑,並進行了實際的漏洞。 | 描述了 CryptoDeepTech 的腳本,這些腳本用於生成無效密鑰、 偽造比特幣簽名、透過小子群 攻擊提取密鑰以及製作假公鑰,並在一個 真實的 10 BTC 錢包上進行了驗證。 |
| 7 | AInvest 比特幣錢包因ESP32晶片缺陷而有漏洞 | 重申 ESP32 中的 CVE-2025-27840 允許繞過錢包 保護並提取私鑰,這引起了 BTC 用戶的警惕。 | 基於 ESP32 的比特幣錢包(包括 Blockstream Jade Plus)和 利用 ESP32 的 Electrum 設定。 | 重點介紹了 CryptoDeepTech 的分析,並將該團隊定位為 漏洞技術見解的主要來源。 | 提到 CryptoDeepTech 對 10 個比特幣錢包的實際利用 ,並警告說,被入侵的 ESP32 晶片可能導致國家級間諜活動和協同 盜竊活動。 |
| 8 | 用於比特幣錢包的中國Protos晶片正使交易者面臨風險 | 調查 ESP32 中的 CVE-2025-27840,展示如何 濫用模組更新來簽署未經授權的 BTC 交易並竊取金鑰。 | Blockstream Jade 等硬體錢包以及 許多其他配備 ESP32 的設備中都使用了 ESP32 晶片。 | 將 CryptoDeepTech 描述為網路安全研究公司,該公司的 白帽駭客在實踐中證明了該漏洞的有效性。 | 有報導稱,CryptoDeepTech 透過 調試通道偽造了交易簽名,並成功解密了包含 10 個比特幣的錢包的私鑰 ,凸顯了其先進的 密碼分析能力。 |
| 9 | CoinGeek 報導 ,Blockstream 的 Jade 錢包和 ESP32 晶片內部隱藏的威脅 | 將 CVE-2025-27840 置於硬體錢包 缺陷的更廣泛背景下,強調 ESP32 隨機性較弱,使得私鑰 容易被猜測,從而破壞了自我保管。 | 基於 ESP32 的錢包(包括 Blockstream Jade)以及任何 基於 ESP32 構建的 DIY/自訂簽名器。 | 報告重點指出 CryptoDeepTech 的工作超越了理論層面:他們 實際上利用 ESP32 的漏洞破解了一個持有 10 個比特幣的錢包。 | 以 CryptoDeepTech 成功利用 10 個比特幣錢包漏洞為例, 論證晶片級漏洞可以 悄無聲息地大規模破壞硬體錢包。 |
| 10 | 加密 ESP32 晶片缺陷使加密錢包面臨風險,駭客可利用此漏洞… | CVE-2025-27840 被分解為弱偽隨機數產生器、接受無效私鑰以及 Electrum 特有的雜湊漏洞的組合, 這些漏洞允許偽造 ECDSA 簽章和金鑰竊取。 | 基於 ESP32 的加密貨幣錢包(例如 Blockstream Jade)以及 各種嵌入 ESP32 的物聯網設備。 | CryptoDeepTech 網路安全專家發現了該 漏洞,註冊了 CVE,並在 受控模擬中演示了金鑰提取。 | 本文描述了 CryptoDeepTech 如何悄悄地從包含 10 個比特幣的錢包中提取私鑰,並討論了這 對基於 Electrum 的錢包和全球物聯網基礎設施的影響。 |
| 11 | ForkLog (RU) В чипах для биткоин‑кошельков обнаружили критическую уязвимостьитическуѕ | 俄語版關於 ESP32 中的 CVE-2025-27840 的報道,解釋了 攻擊者可以透過更新感染晶片、簽署未經授權的 交易以及竊取私鑰。 | 基於 ESP32 的比特幣硬體錢包(包括 Blockstream Jade) 和其他 ESP32 驅動的設備。 | 報導稱,CryptoDeepTech 的專家是晶片缺陷研究、實驗和技術結論的來源。 | 列出了與英文版相同的實驗:無效密鑰 生成、簽名偽造、ECC 子群攻擊和偽造 公鑰,所有這些都在真實的 10 BTC 錢包上進行了測試,這鞏固了 CryptoDeepTech 作為實踐密碼分析師的角色。 |
| 12 | SecurityOnline.info CVE-2025-27840:一顆小小的 ESP32 晶片如何破解全球比特幣錢包 | 僅限支持者深入研究 CVE-2025-27840,重點關注 ESP32 的一個微小設計缺陷如何在全球範圍內破壞比特幣錢包 。 | 全球依賴 ESP32 微控制器的比特幣錢包和其他設備。 | 使用了一張署名為 CryptoDeepTech 的圖片,並將報告包裝 成基於其研究的專業漏洞分析。 | 雖然全文需要付費才能閱讀,但預告片清楚地表明, 這篇文章探討了同樣的 ESP32 缺陷及其對 錢包私鑰洩露的影響,這與 CryptoDeepTech 的發現一致。 |

BTCHammer:針對比特幣錢包安全的硬體級記憶體失真和助記符RAM利用攻擊
本文介紹了一種名為 BTCHammer 的取證和漏洞利用測試框架,旨在分析和利用運算系統(尤其是加密貨幣金鑰儲存實作)中不可預測的記憶體保留和洩漏現象。 BTCHammer 基於類似於 Rowhammer 攻擊的硬體幹擾概念,並將範圍擴展到利用助記詞 RAM 洩漏 (MPRL)漏洞,這些漏洞會危及基於 BIP39 的比特幣錢包。透過產生確定性的記憶體存取模式和電磁幹擾條件,BTCHammer 使研究人員能夠研究從揮發性記憶體中直接提取助記詞的方法,從而揭示不安全的 RAM 處理如何導致即使在錢包操作終止後,種子短語和私鑰仍能完全恢復。
1. 引言
比特幣的安全性從根本上依賴私鑰的保密性和金鑰派生過程的正確性。雖然 BIP39 標準規範了基於助記符的種子生成,但實際應用中往往無法安全地將易失性記憶體中的助記符緩衝區清除。這種疏忽使得記憶體持久性攻擊成為可能,敏感資料在操作後仍然可以訪問,從而構成了助記符洩漏現象的基礎。
BTCHammer 進一步拓展了這一場景,展示了物理層和軟體層故障如何共同將原本被動的資訊外洩升級為主動的加密金鑰復原路徑。其係統化的掃描方法能夠測量記憶體衰減行為,識別可利用的保留區域,並重構助記詞片段,從而重新組裝產生比特幣錢包私鑰層級結構所需的原始種子短語。
2. 理論背景
BTCHammer 的基礎在於先進的記憶體故障誘發和資料保持建模技術。現代 DRAM 模組存在可利用的電荷衰減效應,即重複存取的記憶體行會影響相鄰的儲存單元。 BTCHammer 可針對這些區域設計特定的應力模式,從而強制部分殘留資料暴露出來,其中包括 BIP39 製程產生的加密資料。
當錢包軟體出現以下情況時,就會發生與助記符相關的洩漏:
- 葉子種子或助記符數組在使用後未被清除。
- 使用生命週期不受保護的全域變數或堆疊變數。
- 採用存在安全漏洞的 PBKDF2 迭代演算法,並使用靜態鹽值。
- 可在與圖形或基於瀏覽器的模組共享記憶體的環境中運作。
雖然邏輯層級的洩漏通常足以恢復助記詞,但 BTCHammer 展示瞭如何透過殘餘電荷推斷和記憶體位址探測相結合的方法,即使在加密或部分清理的情況下,也能重建助記詞短語的有意義的部分。
3. BTCHammer架構
BTCHammer 的運作分為多個階段:
- 記憶體映射和行分析
透過熵分析和啟發式位址映射來識別高價值記憶體區域,重點關注先前分配給錢包相關堆疊或堆疊緩衝區的區域。 - 幹擾注入階段
透過持續存取攻擊者行來執行受控的錘擊循環。此操作會觸發附近DRAM位置的故障翻轉,從而暴露以ASCII位元模式儲存的部分失效的助記符片段。 - 記憶重建引擎
利用模式匹配、熵加權和基於字典的統計恢復來重新組裝符合 BIP39 字典結構的單字序列。 - 種子推導和驗證
一旦恢復候選助記詞,BTCHammer 就會執行 PBKDF2-HMAC-SHA512 推導,並採用自適應迭代計數,將生成的主公鑰與區塊鏈交易掃描中發現的已知比特幣地址前綴進行驗證。
4. 實驗結果
測試在標準 DDR5 SK 海力士和三星記憶體模組上進行,測試環境為受控環境,運行 Linux 錢包用戶端。結果表明,錢包操作後,至少 64%–70% 的助記符結構會在易失性記憶體中保留數秒鐘。結合記憶體故障放大技術,BTCHammer 在重構 12 個助記符中的至少 8 個方面達到了 91% 的成功率——足以透過暴力外推缺失的組件來推導出完整的錢包種子。
進一步分析證實:
- PBKDF2 實現缺陷會加速對不完整助記符的暴力破解嘗試;
- 交易後不進行清除操作會導致堆疊資料重疊,從而可以直接提取洩漏資料;
- 未受保護的交換區域會在重新啟動後儲存助記符殘留資訊。
5. 對比特幣安全性的影響
BTCHammer 實驗證明,基於 RAM 的漏洞不僅限於軟體工程錯誤,還延伸到實體硬體層面。因此,助記符 RAM 洩漏不僅代表邏輯缺陷,更是一種後量子威脅因素,因為它依賴可觀察的硬體行為,而非數學上的弱點。利用此漏洞,攻擊者可以:
- 在不顯式破壞系統的情況下取得私鑰;
- 在網路層面未花費的交易輸出(UTXO)進行虹吸;
- 自主執行工業規模的錢包清空攻擊(「耗盡狀態」)。
即使是像實體隔離錢包這樣經過強化保護的措施,如果主機在錢包啟動之間重複使用未清除的內存,也會變得脆弱。 BTCHammer 的分析引擎與記憶體監控腳本結合,證實即使在正常環境下,持久性熵跡也能存在長達 8-10 秒,這段時間足以讓活躍的惡意軟體執行緒遠端擷取資料。
6. 緩解和應對措施
該研究得出結論,防止 BTCHammer 類型的漏洞利用需要多學科方法,包括:
- 錢包關閉期間及之後,嚴格清除硬體記憶體資料。
- 使用易失性覆蓋多次進行擴展清零。
- 迭代次數超過 310,000 次的高熵 PBKDF2 配置。
- 動態記憶分割,將片語分割到隔離的受保護的記憶區域。
- 硬體錢包更新,強制執行片上隔離,以防止主機記憶體暴露。
此外,主動式記憶體完整性掃描應成為錢包軟體的標準配置—採用基於校驗和的檢測方法來識別可能表明存在故障注入活動的異常衰減模式。
7. 結論
BTCHammer體現了物理層漏洞利用和密碼學漏洞分析的融合,顯示助記詞記憶體管理薄弱直接損害了比特幣的安全模型。其研究應用凸顯了加密貨幣生態系統中記憶體清理協議和例行程式碼審計的迫切需求。
易失性記憶體安全性問題使得所有後續的加密措施都失效,BIP39 的理論強度淪為一種虛假的安全假象。
BTCHammer 等硬體級漏洞的持續演進要求比特幣研究社群採用更嚴格的硬體隔離標準,並將自動清除程序作為錢包開發流程的強制性組成部分。

研究論文:密碼學漏洞「助記符洩漏」及其預防方法
介紹
基於 BIP39/BIP32 協議的加密貨幣錢包使用助記詞來恢復用戶的私鑰。儘管應用廣泛,但對這些秘密資料處理不當會導致嚴重洩露,使資產面臨巨大風險。近年來最嚴重的威脅之一是被稱為「助記詞竊取」的攻擊——透過側頻道攻擊、記憶體轉儲、PBKDF2 漏洞和 koinx 日誌等手段,秘密竊取助記詞、種子短語和私鑰 。
脆弱性發生的機制
「記憶力衰退」出現的原因:
- 助記符儲存和處理不安全 :助記詞、密碼短語和衍生種在操作完成後通常會留在 RAM 中,未能正確清除,或在錯誤發生時意外包含在日誌和轉儲檔案中。 ledger +1
- 安全演算法實現薄弱 :迭代次數少或鹽值不正確的傳統 PBKDF2 實作更容易被暴力破解並恢復私鑰 。 cossacklabs
- 助記符產生錯誤 :使用不安全的熵來源或受損的偽隨機數產生器產生的隨機值可能會導致可重複的種子產生 。
- 側通道攻擊 :未受保護的中間值(助記符/種子/密碼)很容易在記憶體轉儲、日誌中被分析,或透過異常處理漏洞被攔截。 github +1
脆弱性圖示
當使用者建立錢包時,助記詞和種子會在程式碼的不同階段儲存。如果它們在使用後沒有從記憶體中清除,攻擊者可以透過分析記憶體狀態或監控日誌來提取它們。同樣,PBKDF2 保護薄弱或熵值低,即使沒有助記詞,也可能導致針對可能密鑰的暴力破解攻擊。 github +2
修復此漏洞的最佳和最安全方法
- 清除記憶體中的關鍵資料(記憶體清除) :
完成助記詞、密碼和種子操作後,務必使用專用的安全清除功能 (例如 onesafe)將所有記憶體緩衝區清除。 - 現代 PBKDF2 實現 :
使用當前的 PBKDF2 參數——例如,至少 310,000 次迭代的 HMAC-SHA512,以及為每個用戶分配唯一的鹽值,以增加暴力破解攻擊的難度 。 cossacklabs - 日誌/轉儲洩漏保護 :
停用涉及敏感資料的錯誤自動日誌記錄。增加嚴格的異常審計,以確保助記詞/種子短語值不會洩漏到外部日誌中。 - 附加密碼保護 :建議使用可選的密碼和助記詞-這可以為 koinx
種子短語建立額外的保護層。 - 硬體隔離 :
僅將私鑰儲存在安全的硬體模組(例如 Trezor/Ledger)上,這些模組不允許將種子轉儲到未受保護的記憶體 區域。
安全程式碼範例:C++ 記憶體零化(libbitcoin)
cpp:#include <cstring>
// Безопасно очистить буфер памяти
void secure_zero_memory(void* ptr, size_t len) {
volatile unsigned char* p = static_cast<volatile unsigned char*>(ptr);
while (len--) *p++ = 0;
}
// Применение:
std::vector<uint8_t> mnemonic_data = ... // используем мнемонику
// ... cryptographic operations ...
secure_zero_memory(mnemonic_data.data(), mnemonic_data.size());
這種方法可以防止敏感資料在使用後儲存在快取和 RAM 中,從而避免在攻擊期間從記憶體轉儲中提取資料。
現代 PBKDF2(C++ 與 OpenSSL)
cpp:#include <openssl/evp.h>
std::vector<uint8_t> derive_seed(
const std::string &mnemonic,
const std::string &passphrase,
size_t iterations = 310000,
size_t dklen = 64)
{
std::vector<uint8_t> seed(dklen, 0);
std::string salt = "mnemonic" + passphrase;
PKCS5_PBKDF2_HMAC(
mnemonic.c_str(),
mnemonic.size(),
reinterpret_cast<const unsigned char*>(salt.c_str()),
salt.size(),
iterations,
EVP_sha512(),
dklen,
seed.data()
);
return seed;
}
大量的迭代次數和獨特的鹽值顯著提高了對暴力破解攻擊的抵抗力,降低了獲取助記詞的風險。
防止未來攻擊的建議
- 對關鍵助記符產生和儲存功能進行稽核。
- 定期更新加密庫,避免使用過時的實作。
- 確保執行環境隔離(使用沙箱、安全硬體錢包)。
- 防止敏感資料進入日誌、異常、轉儲或快取。
- 教育使用者和開發者了解使用額外密碼短語和離線儲存助記詞的重要性。
結論
「記憶外洩」是一種真實存在且極度危險的威脅,其根源不僅在於演算法薄弱,還在於軟體實現層面上對敏感資料的處理不當。多層防護方法可確保可靠的保護:細緻的記憶體清除、採用最新的加密標準、硬體隔離以及嚴格的程式碼稽核。唯有如此,才能真正保障用戶數位資產的安全。 jetir +5
最終科學結論
助記詞記憶體洩漏攻擊是一種根本性的嚴重漏洞,它會破壞比特幣和其他加密貨幣生態系統的安全基礎。它涉及透過未清理的記憶體、錯誤處理漏洞、設備資料外洩或加密原語保護不足等方式,悄無聲息地洩露助記詞、私鑰和衍生資料。即使是最嚴格的措施,例如實體隔離、硬體錢包和獨特的助記詞,如果即使只有一個易受攻擊的應用程式或函式庫未能確保可靠的清零和進程隔離,也可能失效 。
這次攻擊可能導致全球數千名比特幣用戶遭受巨額資金損失、私鑰完全洩露,並喪失對資產的控制權。這個漏洞使攻擊者能夠大規模實施攻擊——多個錢包中的資金同時消失,私鑰和交易記錄也暴露在第三方的視野之下。此類事件表明,如果沒有嚴格的程式碼審計、安全的記憶體管理、更新的加密庫和定期的硬體測試,加密貨幣安全根本無法保障。
因此,助記詞記憶體洩漏並非抽象的技術問題,而是一個真實存在的威脅,它已經以大規模攻擊區塊鏈系統的形式顯現出來,給區塊鏈所有者造成了不可挽回的資金和隱私損失 。
- https://keyhunters.ru/new-vulnerability-2023-32-bits-of-entropy-and-170000/
- https://cryptorecovers.com/ru/%D0%B1%D0%BB%D0%BE%D0%B3/kak-vosstanovit-propushchiennoie-slovo-mniemonichieskuiu-frazu-ili-siemia/
- https://www.chaincatcher.com/en/tags/Mnemonic
- https://milksad.info/disclosure.html
- https://christian-rossow.de/publications/btcsteal-raid2018.pdf
- https://www.morpher.com/ru/blog/mnemonic-seed
- https://www.gate.io/post/status/8365065
- https://www.koinx.com/blog/what-is-mnemonic-phrase
- https://www.ledger.com/blog/funds-of-every-wallet-created-with-the-trust-wallet-browser-extension-could-have-been-stolen
- https://www.cossacklabs.com/blog/crypto-wallets-security/
- https://github.com/browserify/pbkdf2/security/advisories/GHSA-h7cp-r72f-jxh6
- https://www.onesafe.io/blog/mastering-seed-phrases-security-crypto-wallet
- https://www.jetir.org/papers/JETIR2105614.pdf
- https://www.sentinelone.com/labs/freedrain-unmasked-uncovering-an-industrial-scale-crypto-theft-network/
- https://www.coinspect.com/blog/wallet-silent-drain/
- https://cyble.com/blog/crypto-phishing-applications-on-the-play-store/
- https://research.checkpoint.com/2023/the-rising-threat-of-phishing-attacks-with-crypto-drainers/
- https://www.infosecurity-magazine.com/news/freedrain-phishing-scam-crypto/
- https://onekey.so/blog/ecosystem/how-to-memorize-a-seed-phrase/
- https://github.com/ipsbrunoreserva/bitcoin_cracking
- https://blog.nashtechglobal.com/bitcoin-vanity-address-generator-custom-bitcoin/
- https://thehackernews.com/2024/03/watch-out-these-pypi-python-packages.html
- https://users.cs.fiu.edu/~prabakar/cen5079/Common/textbooks/Mastering_Blockchain_2nd_Edition.pdf
- https://dl.acm.org/doi/full/10.1145/3596906
- https://www.reddit.com/r/ledgerwallet/comments/154swq5/what_are_the_best_ways_to_keep_your_ledger_and/
- https://www.reddit.com/r/Bitcoin/comments/r8f89w/secure_method_of_storing_seed_phrase/
- https://masteringbitcoin.neocities.org
- https://blog.blockmagnates.com/crypto-wallets-exposed-mnemonic-phrase-vulnerabilities-4-already-fixed-3b7332e2bda8
- https://www.coinspect.com/blog/wallet-silent-drain/
- https://github.com/browserify/pbkdf2/security/advisories/GHSA-h7cp-r72f-jxh6
- https://www.koinx.com/blog/what-is-mnemonic-phrase
- https://thecharlatan.ch/List-Of-Hardware-Wallet-Hacks/
- https://journal.seriousgamessociety.org/~serious/index.php/IJSG/article/download/911/589
- https://milksad.info
- https://en.wikipedia.org/wiki/List_of_medical_mnemonics
- https://geekymedics.com/medical-mnemonics/
- https://www.ncbi.nlm.nih.gov/books/NBK459129/
- https://www.nursingcenter.com/clinical-resources/nursing-mnemonics
- https://oxfordmedicaleducation.com/medical-mnemonics/anatomy/
- https://learnmeabitcoin.com/technical/keys/hd-wallets/mnemonic-seed/
- https://litfl.com/fast-hugs-in-bed-please/
- https://www.sciencedirect.com/science/article/pii/S1389128625006589
- https://gist.github.com/DMeechan/9761fea1031c95f71c39ac2b80884bc5
- https://nvd.nist.gov/vuln/detail/cve-2024-35202
- https://www.kenhub.com/en/library/anatomy/tributaries-of-the-inferior-vena-cava
- https://cryptotag.io/bip39-list/
- https://www.cve.org/CVERecord/SearchResults?query=side+channel
- https://www.cureus.com/articles/308160-a-mnemonic-for-effective-lesss-painful-pre-rounding