作者:KEYHUNTER
十六進位轉儲洩漏攻擊( 「金鑰洩漏攻擊」、「金鑰洩漏攻擊」、「密鑰恢復攻擊」。 CVE-2025-29774 和 CWE-532 )
“Hex Dump Reveal” ——“Hexadecimal dump reveal”。
記錄私有資料(尤其是私鑰)的漏洞是比特幣等加密貨幣系統面臨的根本安全風險。這些漏洞的科學分類包括「密鑰洩漏攻擊」、「密鑰洩漏攻擊」和「密鑰恢復攻擊」。 CVE-2025-29774 和 CWE-532 就是描述此類漏洞的編號和標準範例。採用正確的編碼、過濾和加密實踐對於防止十六進制轉儲洩漏攻擊和保護用戶資金至關重要。
比特幣基礎設施中由於解碼和日誌記錄錯誤導致的私鑰處理不當,構成了一個關鍵漏洞,這是加密貨幣錢包面臨的最具破壞性的安全威脅之一。 「十六進制轉儲洩漏」攻擊——即由於軟體錯誤導致整個私鑰被記錄在系統日誌或監控通道中——可能導致用戶立即完全喪失對數位資產的控制權。
此漏洞凸顯了採取極其嚴格措施保護私人鑰匙的重要性:即使是最輕微的疏忽或敏感資料過濾不足,也會使區塊鏈系統的內部機制淪為攻擊者的工具,從而自動對用戶和服務發動大規模攻擊。 CVE-2025-29774 和 CWE-532 對這類攻擊進行了標準化,凸顯了該問題在區塊鏈和加密貨幣行業的全球重要性。
攻擊精髓:六角散佈揭示
攻擊者準備一個特製的私鑰或其他秘密資訊(例如,助記詞或比特幣錢包私鑰),並將其以無效的十六進位字串的形式呈現。然後,他們觸發解碼錯誤(例如,透過插入一個包含額外字元或不恰當字元的字串),強制使用不安全的程式碼進行處理(如上所述)。
當應用程式遇到錯誤時,它會自動拋出一個異常,其中包含日誌或標準錯誤輸出中的原始字串。因此,原本應該永遠隱藏的整個秘密突然變得可以公開存取:在日誌中、在管理介面上、在錯誤檔案中,甚至在監控訊息中。
攻擊序列
- 輸入了無效的十六進位字串,該字串表示私人資料。
- 應用程式無法解碼字串,並拋出一個異常,其中包含秘密字串的內容。
- 記錄或列印訊息會產生“十六進制轉儲顯示”,從而洩露私鑰。
攻擊可視化
cpp// Нападающий вставляет строку:
std::string base16 = "5FE3D...BADHEXSEED123";
// Код сломался => Exception
throw istream_exception(base16); // логи содержат явный ключ!
十六進制轉儲揭露:洩漏比特幣私鑰的危險攻擊-保護加密貨幣生態系統的科學分析與實用措施
科學文章
私鑰日誌記錄中的一個關鍵漏洞及其對比特幣攻擊的影響
私鑰安全是比特幣系統穩定性的基石。私鑰決定資金的所有權,一旦洩露,就意味著資產的徹底損失。一個經典但依然緊迫的問題是,由於程式錯誤導致私鑰洩露,尤其是在錯誤和異常處理過程中敏感資料記錄不正確 。
脆弱性發生的機制
如果在協定或函式庫層級解碼私鑰或種子短語時發生錯誤,系統可能會將原始資料(包括整個私鑰)未經過濾地寫入日誌檔案或錯誤訊息。此漏洞被稱為 CWE-532“將敏感資訊插入日誌檔案”,被歸類為軟體中的敏感資料管理錯誤。 cwe.mitre +1
攻擊的科學名稱
在現代科學技術文獻中,這種攻擊被稱為:
- 密鑰洩漏攻擊 ( Keyhunters+1)
- 密鑰洩漏攻擊 ( 密鑰獵人)
- 私鑰洩漏攻擊( 密鑰獵人 )
一個常用的通用術語是 密鑰恢復攻擊( 密鑰獵人 )。
CVE編號和標準化
類似的問題已記錄在 CVE 資料庫中,並針對具體實作案例進行了說明。例如:
- CVE-2025-27840 – Keyhunters 私鑰邊界驗證錯誤
- CVE-2025-29774 – 序列化未加密私鑰的漏洞 (feedly+1)
- CWE-532 – 敏感資料日誌錯誤標準分類 cwe.mitre
如何利用漏洞攻擊比特幣
攻擊者可以透過故意提供包含私鑰的無效十六進位資料來建構「十六進位轉儲揭示攻擊」。如果程式碼執行失敗,它會拋出一個包含原始資料的異常,這些資料會被自動記錄、監控或報告。攻擊者一旦獲得這些日誌的存取權限,就可以提取私鑰並立即實施盜竊操作。
潛在攻擊場景:
- 內部攻擊 -管理員或有權讀取日誌的員工入侵錢包。 密鑰獵手
- 惡意軟體 是一種特殊的惡意程序,它會掃描應用程式日誌檔案。
- 遠端存取 -有缺陷的監控系統,會將日誌傳輸到雲端而未進行加密。
- 付費攻擊 是一種社會工程攻擊,目的是誘發日誌錯誤(十六進位轉儲揭露攻擊)。
妥協的後果
- 被盜地址上的所有資金全部損失。
- 偽造數位簽名並在所有者不知情的情況下執行交易。 keyhunters +2
- 損害服務信任度,造成聲譽損失。
基於科學的措施和解決方案
- 日誌記錄時的輸入過濾 -絕不記錄原始私鑰和助記詞 guidewire+1
- 使用安全的錯誤處理模式: cpp
if (!decode_base16(argument.value_, base16)) { throw std::runtime_error("hex decoding failed: input invalid"); } - 隔離且加密的錯誤日誌 -僅可透過實體驗證或硬體令牌存取。
- Feedly+1:私鑰在儲存和傳輸的所有階段都必須加密。
- 稽核和監控 -定期檢查日誌和原始程式碼中是否存在敏感資料。
- 制定符合公司安全標準(OWASP、NIST、CIS)的私鑰使用策略文件 。
結論
私有資料記錄(尤其是私鑰)方面的漏洞是比特幣等加密貨幣系統面臨的根本安全風險。這些漏洞的科學分類包括「密鑰洩漏攻擊」、「密鑰洩漏攻擊」和「密鑰恢復攻擊」 。 CVE -2025-29774 和 CWE-532 就是描述此類漏洞的編號和標準範例。採用正確的編碼、過濾和加密實踐對於防止十六進制轉儲洩漏攻擊和保護用戶資金至關重要。
加密漏洞
主要漏洞
所展示程式碼中的加密漏洞在於,它會 透過異常訊息洩漏秘密(私有)資料 。具體來說,如果十六進位字串解碼失敗,其全部內容(包括潛在的金鑰)將傳遞給異常建構函數,並可能寫入日誌或輸出到標準錯誤流 (stderr)。
一條特定的線
cpp:throw istream_exception(base16);
這一行程式碼位於解析器函數內部 operator>>:
cpp:std::istream& operator>>(std::istream& stream, base16& argument) THROWS
{
std::string base16;
stream >> base16;
if (!decode_base16(argument.value_, base16))
{
using namespace boost::program_options;
throw istream_exception(base16); // ← здесь происходит утечка
}
return stream;
}

為什麼說這是一個漏洞?
- 該變數
base16包含資料的文字表示形式,該資料可能是金鑰或私鑰的一部分。 - 當發生錯誤時,這段文字將全部包含在異常訊息中。
- 如果異常處理程序或日誌框架儲存或列印訊息,則金鑰字串將公開可用。
糾正建議
- 不要在異常訊息中包含敏感資料。 不要傳遞完整內容,而只傳遞錯誤代碼或通用訊息:cpp
throw istream_exception("invalid base16 data"); - 內存清理。 使用包含秘密資訊的字串後,在退出上下文之前,將緩衝區覆蓋為零。
- 使用安全容器。 例如,使用刪除時自動清除的安全緩衝區。

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

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

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

區塊鏈訊息解碼器: www.bitcoinmessage.ru
團隊在獲得有效私鑰後,執行了 驗證交易 以確認對錢包的控制權。這些交易旨在驗證概念,同時保留大部分已恢復資金以用於合法的返還流程。整個過程 以透明的方式記錄,交易記錄永久保存在比特幣區塊鏈上,作為漏洞可利用性和成功恢復方法的不可篡改的證據。
0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008b483045022100b5eb5bb4b2ae14f837981e3fe10d5db98cc4299ad10e651e04d3a53b9774d414022041c3b844be80d777989d2c5c32c379e64bedb468ef3506704425841e705ff21e014104000a362ff4b0ea08db43a0e3245969d622502aa9ccc0dd7166fadcc37fafb548a3ca1bc0fa2dc39537cd521049054d9461aceca7b7b72ac90f7a4ebead3dbfc4ffffffff030000000000000000446a427777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a2024203232373031332e36325de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a914b1cb57c65c21f79711b4a07d3609e1e4b330acc488ac00000000
密碼分析工具 旨在根據比特幣錢包所有者的要求進行授權的安全審計,以及用於 密碼分析、區塊鏈安全和隱私領域的學術和研究項目——包括針對軟體和硬體加密貨幣儲存系統的防禦性應用。
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 的發現一致。 |

BitBlaze:利用十六進位轉儲揭示比特幣私鑰恢復漏洞
本文對密碼分析和取證恢復工具BitBlaze進行了全面的科學分析,並探討了其在比特幣安全基礎設施中一類關鍵漏洞——十六進制轉儲洩漏攻擊——的理論應用。這類攻擊(分別歸類於 CWE-532 和 CVE-2025-29774)是由於解碼或異常處理錯誤導致私鑰被錯誤記錄,從而造成敏感加密資產的災難性洩漏。我們研究如何應用 BitBlaze 類型的工具來自動偵測、提取和恢復日誌洩漏中的私鑰,並闡述了其對比特幣錢包安全漏洞和更廣泛的加密貨幣生態系統的影響。
比特幣的韌性依賴其私鑰的保密性。任何私鑰的洩漏都會導致不可逆轉的經濟損失,並降低區塊鏈生態系統的安全保障。雖然諸如secp256k1之類的加密原語本身很強大,但金鑰處理方面的實作缺陷仍然是嚴重的威脅。其中最危險的攻擊之一是十六進制轉儲洩漏攻擊,這種攻擊會將私鑰以明文形式記錄在異常訊息中。
本文重點在於如何利用程式碼和記憶體分析工具BitBlaze來系統化識別和利用此類漏洞,從而找回洩漏的金鑰。同時,了解其功能有助於設計防禦控制措施,以消除關鍵系統中的這些洩漏路徑。
BitBlaze Instrumentation
BitBlaze 是一款底層二進位和程式碼分析工具,專為漏洞研究、符號執行以及運行時敏感工件的恢復而開發。其功能包括:
- 二進位插樁-附加到運行中的進程以追蹤錯誤處理執行路徑。
- 符號執行-探索錯誤條件的多個輸入分支(例如,無效的十六進位解碼),以揭示何時將私有資料納入異常訊息中。
- 污點分析-追蹤敏感變數(例如 base16 解碼字串)的流動,以確定私鑰材料是否洩漏到日誌檔案或監控通道中。
- 取證提取-自動解析系統日誌以重建洩漏的私鑰,即使日誌部分被截斷。
在 Hex Dump Reveal 攻擊的背景下,BitBlaze就像顯微鏡,可以精確定位私鑰緩衝區何時何地跨越到不安全的領域(例如日誌)。
開發流程
BitBlaze輔助的典型攻擊遵循以下結構化方法:
- 注入階段:
攻擊者故意輸入嵌入私鑰或助記詞的格式錯誤的十六進位字串。 - 解碼失敗時觸發異常
,私鑰材料包含在異常字串中。 - 日誌擷取
監控代理程式、管理員或雲端日誌聚合器會記錄整個錯誤訊息,包括私鑰資料。 - BitBlaze恢復階段
- 符號執行可以識別觸發私鑰日誌記錄的輸入條件。
- 污點分析會追蹤包含私鑰的記憶體段被傳遞到異常物件的位置。
- 日誌聚合器鉤子大規模掃描錯誤文件,提取並重建洩漏的私鑰。
這會將一個細微的編碼錯誤轉化為一個全自動的私鑰外洩通道。
對比特幣安全的影響
這種襲擊的後果是毀滅性的:
- 錢包瞬間被接管——私鑰洩露後,攻擊者可以簽署並傳播欺詐性交易。
- 大規模攻擊-與 BitBlaze 整合的自動化日誌收集管道可以同時攻擊數千個服務。
- 打破冷錢包假設-即使是被認為安全的系統,如果分段日誌暴露,也可能間接受損。
- 長期延遲威脅-私鑰殘留在存檔日誌中可能多年都處於易受攻擊狀態,等待著被老練的攻擊者提取出來。
這說明,軟體在異常處理方面的錯誤,其危及整個加密貨幣資產的潛在能力,可以與密碼分析方面的突破相媲美。
防禦性反制措施
根據BitBlaze分析得出的見解,建議採取以下防禦措施:
- 日誌衛生-禁止將金鑰以原始字串形式插入異常訊息中。
- 安全容器– 確保解碼失敗後十六進位字串被清除。
- 異常重寫-將堆疊追蹤和錯誤輸出替換為非敏感標識符。
- 系統模糊測試-在開發過程中採用符號執行(如 BitBlaze 所建模的)來預先偵測洩漏向量。
- 日誌存取控制-對日誌儲存實施嚴格的權限控製或加密,以減輕內部人員和惡意軟體的攻擊。
科學結論
對 BitBlaze 作為攻擊工具在十六進位轉儲漏洞中的應用進行分析,凸顯了比特幣安全領域的一個深刻真理:當軟體錯誤導致機密資訊處理不當時,加密強度再高也無濟於事。此漏洞被歸類為CVE-2025-29774和CWE-532,強調了其對整個加密貨幣系統的重要性。
歸根結底,BitBlaze展現了問題的兩面性:它既是安全研究人員發現隱藏資料外洩途徑的工具,也是惡意行為者如何從被入侵的日誌中大規模恢復私鑰的藍圖。因此,防止此類洩漏是比特幣生態系統未來韌性的根本要求。
研究論文:密碼編碼中的關鍵漏洞及其安全消除方法
介紹
在比特幣等現代加密貨幣系統中,私鑰是決定用戶資金安全的核心金鑰。私鑰洩漏會直接導致錢包完全被盜,用戶失去對資產的控制權。此類洩漏的一個來源是程式碼中錯誤和異常處理不當,導致內部資料未經過濾就出現在系統日誌中,或作為異常的一部分產生 。
脆弱性發生的機制
我們來看一個典型場景:解碼函數接收一個十六進位資料字串,錯誤處理程序在解碼失敗時會將字串完整枚舉到一個異常。如果該字串包含私鑰或助記詞,那麼在驗證失敗時,整個金鑰將被寫入日誌、檔案或監控系統。因此,攻擊者可以發動「十六進位轉儲外洩」攻擊,攻擊者使用包含金鑰資料的攻擊字串故意觸發錯誤,導致私鑰被寫入應用程式日誌,系統管理員、監控代理程式或惡意軟體都可以存取這些 日誌。
導致脆弱性的因素:
- 記錄錯誤而不過濾輸入數據
- 將原始(明文)私鑰作為異常資料傳遞
- 缺乏處理敏感資訊的政策
- 對日誌和系統訊息的不受控制的訪問
- 使用不安全的金鑰序列化方法
攻擊的後果和範例
- 私鑰完全洩漏:攻擊者獲取了資產存取權限。 keyhunters +1
- 如果攻擊者獲得系統日誌存取權限,則會繞過標準安全方法。
- 長期(潛在)洩漏:資料出現在日誌中,但只有在很長時間後才會被查看。
安全的修復方法
建議在處理敏感資料的函數中使用安全的錯誤處理方法。以下是一個 C++ 安全修復範例:
不安全程式碼範例:
cppif (!decode_base16(argument.value_, base16)) {
throw istream_exception(base16); // опасно! может содержать приватный ключ
}
安全方案:
cppif (!decode_base16(argument.value_, base16)) {
// Не логируем и не возвращаем входную строку в исключении!
throw istream_exception("decode_base16 failed: input data is invalid.");
}
進階建議:
- 始終在不洩漏底層資料的情況下處理錯誤 。 —— Guidewire
- 對所有進入日誌、日誌和錯誤訊息的資料進行清理 。
- 使用白名單機制:僅明確允許記錄必需字段,其餘字段預設保密 。 —— guidewire
- 定期審核程式碼,尋找與私人資料相關的漏洞 。 legitsecurity +2
- 透過 ACL 和角色模型限制對可能包含系統錯誤的日誌的存取 。
- 對記憶體和磁碟上的私鑰和資料進行加密,並使用隔離的存取方法來執行金鑰操作 。 bluevoyant +2
結論
加密應用的安全性需要嚴格控制對任何錯誤輸入或異常的處理。最有效的方法是避免在錯誤訊息中包含任何潛在的敏感資料。從更廣泛的架構角度來看,所有私鑰和其他敏感資訊的處理都必須透過安全介面實現,對日誌和系統訊息的存取必須受到限制,並且必須使用經過驗證的金鑰儲存和序列化加密方法。
安全版本的錯誤處理程式碼
cppstd::istream& operator>>(std::istream& stream, base16& argument) {
std::string base16;
stream >> base16;
if (!decode_base16(argument.value_, base16)) {
// Безопасно: сообщение не раскрывает секреты
throw std::runtime_error("Hex decoding failed: input data invalid.");
}
return stream;
}
這種方法徹底消除了因錯誤處理而導致私鑰洩漏的可能性,從而防止十六進制轉儲洩漏攻擊,並增強錢包安全性。 keyhunters +3
最終科學結論
比特幣基礎設施中由於解碼和日誌記錄錯誤導致的私鑰處理不當,構成了一個關鍵漏洞,這是加密貨幣錢包面臨的最具破壞性的安全威脅之一。 「十六進制轉儲洩漏」攻擊——即由於軟體錯誤導致整個私鑰被記錄在系統日誌或監控通道中——可能導致用戶立即完全喪失對數位資產的控制權。
此漏洞凸顯了採取極其嚴格措施保護私人鑰匙的重要性:即使是最輕微的疏忽或敏感資料過濾不足,也會使區塊鏈系統的內部機制淪為攻擊者的工具,從而自動對用戶和服務發動大規模攻擊。 CVE-2025-29774 和 CWE-532 對這類攻擊進行了標準化,凸顯了該問題在區塊鏈和加密貨幣行業的全球重要性。
因此,下一代加密平台的科學和工程挑戰不僅在於改進加密協議,還在於實施嚴格的標準,以消除處理即使是最意外錯誤時私鑰洩露的任何可能性。可靠的隔離和安全處理關鍵資訊是抵禦 Hex Dump Reveal 攻擊以及類似對比特幣生態系統造成災難性威脅的根本屏障。 cwe.mitre +4
- https://forklog.com/news/dolgosrochnaya-ataka-na-investora-hex-i-predotvrashhennaya-utechka-morpho-labs-novosti-kiberbezopasnosti
- https://dis.susu.ru/wp-content/uploads/%D0%A1%D0%B1%D0%BE%D1%80%D0%BD%D0%B8%D0%B A-%D1%82%D1%80%D1%83%D0%B4%D0%BE%D0%B2-%D0%BA%D0%BE%D0%BD%D1%84%D0%B5%D1%80%D0%B5 %D0%BD%D1%86%D0%B8%D0%B8-%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D 1%81%D1%82%D1%8C-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0% BD%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%D0%BD%D1%81%D1%82%D0%B2%D0%D00%B203%.
- https://www.ispras.ru/upload/uf/c6f/c6fa3b122cfc1acefab8d5c66749e54c.pdf
- https://pikabu.ru/tag/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%B B%D1%8E%D1%82%D0%B0,%D0%A1%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%20%D0%A6%D0%91/best
- https://kr-labs.com.ua/books/Graham_D._Etichnyi_hacking.pdf
- https://govnokod.ru/28935
- https://ntcontest.ru/docs/7%20-%20%D0%9C%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D1%8B %20%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B9%20%D0%A4%D0%B8%D0%BD%D1%82%D0%B5%D1%85.pdf
- https://cwe.mitre.org/data/definitions/532
- https://keyhunters.ru/weak-key-attacks-secret-key-leakage-attack-critical-vulnerability-in-private-key-serialization-and-dangerous-signature-forgery-attack-a-threat-to-bitcoin-cryptocurrency-security/
- https://feedly.com/cve/CVE-2025-29774
- https://keyhunters.ru/attack-on-private-key-exposure-we-will-consider-exploiting-errors-that-allow-obtaining-a-private-key-this-is-a-very-dangerous-attack-on-bitcoin-wallets-through-is-a-very-dangerous-attack-on-bitcoin-wallets-through-an-opcode-numbering-coerror-n-bitcoin-n-bit-gough-an-opcode-numbering
- https://keyhunters.ru/critical-vulnerabilities-of-private-keys-and-rpc-authentication-in-bitcoinlib-analysis-of-security-risks-and-attack-methods-on-bitcoin-cryptocurrency/
- https://keyhunters.ru/attack-on-private-key-exposure-we-will-consider-exploiting-errors-that-allow-obtaining-a-private-key-this-is-a-very-dangerous-attack-on-bitcoin-wallets-through-is-a-very-dangerous-attack-on-bitcoin-wallets-through-an-opcode-numbering-coerror-n-bitcoin-n-bit-gough-an-opcode-numbering
- https://keyhunters.ru/weak-key-attacks-secret-key-leakage-attack-critical-vulnerability-in-private-key-serialization-and-dangerous-signature-forgery-attack-a-threat-to-bitcoin-cryptocurrency-security/
- https://docs.guidewire.com/security/secure-coding-guidance/logging-sensitive-information-credentials/
- https://www.legitsecurity.com/aspm-knowledge-base/data-leak-prevention
- https://www.bluevoyant.com/knowledge-center/data-leakage-common-causes-examples-tips-for-prevention
- https://www.reddit.com/r/CryptoCurrency/comments/1lp46ol/private_key_leaked_in_web3_app_i_made/
- https://www.onesafe.io/blog/crypto-private-key-leak-defi-security
- https://coinsbench.com/how-to-protect-ethereum-assets-in-account-that-private-key-was-leaked-2-8db9f338d0a8
- https://www.elastic.co/docs/reference/security/prebuilt-rules/rules/linux/defense_evasion_base16_or_base32_encoding_or_decoding_activity
- https://nvd.nist.gov/vuln/detail/CVE-2023-39910
- https://www.halborn.com/blog/post/top-7-ways-your-private-keys-get-hacked
- https://stackoverflow.com/questions/20980225/lightweight-method-of-decoding-base16-hexadecimals-of-mixed-case
- https://blog.gitguardian.com/secrets-api-management/
- https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
- https://arstechnica.com/information-technology/2014/04/how-i-used-heartbleed-to-steal-a-sites-private-crypto-key/
- https://mojoauth.com/binary-encoding-decoding/base16-hexadecimal-with-crystal/
- https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/stable-en/02-checklist/05-checklist
- https://www.digitalguardian.com/blog/data-leak-prevention-best-practices-securing-data
- https://algosone.ai/news/hackers-steal-900k-through-newly-discovered-bitcoin-wallet-loophole/
- https://stackoverflow.com/questions/15709421/handling-java-crypto-exceptions
- https://keyhunters.ru/critical-vulnerabilities-of-private-keys-and-rpc-authentication-in-bitcoinlib-analysis-of-security-risks-and-attack-methods-on-bitcoin-cryptocurrency/
- https://keyhunters.ru/weak-key-attacks-secret-key-leakage-attack-critical-vulnerability-in-private-key-serialization-and-dangerous-signature-forgery-attack-a-threat-to-bitcoin-cryptocurrency-security/
- https://keyhunters.ru/attack-on-private-key-exposure-we-will-consider-exploiting-errors-that-allow-obtaining-a-private-key-this-is-a-very-dangerous-attack-on-bitcoin-wallets-through-is-a-very-dangerous-attack-on-bitcoin-wallets-through-an-opcode-numbering-coerror-n-bitcoin-n-bit-gough-an-opcode-numbering
- https://cwe.mitre.org/data/definitions/532
- https://docs.guidewire.com/security/secure-coding-guidance/logging-sensitive-information-credentials/
- https://feedly.com/cve/CVE-2025-29774
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://socradar.io/lockbit-hacked-60000-bitcoin-addresses-leaked/
- https://attack.mitre.org/techniques/T1056/001/
- https://www.exploit-db.com/docs/english/46466-crypto-wallet-local-storage-attack.pdf
- https://openvpn.net/security-advisory/openvpn-connect-android-private-key-exposure/
- https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-base16-encode
- https://attacksafe.ru/ultra/
- https://www.appdome.com/dev-sec-blog/top-5-attacks-aimed-at-crypto-wallet-apps-and-how-to-solve-them/
- https://www.sciencedirect.com/science/article/pii/S2666281722001676
- https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
- https://feedly.com/cve/vendors/bitcoin
- https://www.ledger.com/th/academy/topics/security/what-are-address-poisoning-attacks-in-crypto-and-how-to-avoid-them
- https://attacksafe.ru/private-keys-attacks/
- https://habr.com/ru/articles/771980/
- https://github.com/stratisproject/StratisBitcoinFullNode/issues/1822