作者:KEYHUNTER

由於記憶體處理不當或資料序列化不安全而導致的私鑰洩露這一嚴重漏洞,對比特幣加密貨幣基礎設施和用戶構成根本性威脅。這種攻擊稱為
墨漬攻擊(金鑰外洩攻擊或私鑰外洩 )
攻擊者可以利用此漏洞完全控制錢包,進行未經授權的交易,並竊取儲存在相應地址中的所有資產。此類攻擊的後果不堪設想:從個人損失和信任崩潰,到大規模金融破壞和整個加密網路穩定性的破壞。私鑰是管理資金的唯一途徑,一旦洩露,就意味著永久喪失控制權和所有權。在現實案例中,此類錯誤已導致數百萬美元的損失,並加劇了對比特幣生態系統的威脅。
「私鑰的關鍵漏洞:危險的金鑰洩漏攻擊以及比特幣生態系統中資金全部損失的威脅」 。 itsec +3
墨漬攻擊(也稱為金鑰洩漏攻擊或私鑰洩漏 )從科學角度捕捉了當前問題的本質:私鑰處理的脆弱性、私鑰洩漏的風險,以及對比特幣加密貨幣的安全性和可持續性可能造成的災難性後果。
比特幣生態系統中一個涉及私鑰從記憶體洩露的嚴重漏洞可能導致整個安全系統遭到徹底破壞。這會導致一種極其嚴重的攻擊—— 金鑰洩漏攻擊 ,也稱為 私鑰洩漏攻擊 、 秘密金鑰外洩 攻擊、 加密金鑰外洩攻擊 或 金鑰外洩攻擊 。
漏洞及其影響的總體描述
在比特幣加密系統中,私鑰管理對於保護資金和遵守加密安全原則至關重要。私鑰是確保對區塊鏈資產控制權的唯一要素。諸如未能清除儲存私鑰位元組的記憶體等漏洞,使得攻擊者能夠透過利用漏洞、RAM 轉儲和其他資訊提取方法成功發動記憶體攻擊,從而存取這些位元組 。
由於私鑰洩漏:
- 攻擊者完全控制了加密資產。
- 交易造假(偽造數位簽名)是可能的。
- 所有存取邏輯(包括多重簽名錢包)的安全性都受到威脅。
- 由於比特幣網路中的交易是不可逆的,因此相應地址中的所有資金損失將不可避免。
- 該影響會擴展到使用該金鑰的服務、應用程序,甚至基礎設施。
在大型案例中,一個錯誤可能導致數百萬美元的損失,並嚴重損害整個生態系統的聲譽。 keyhunters +1
攻擊的科學分類
在科學文獻中,這種攻擊用以下術語來指稱:
- 私鑰 外洩攻擊
- 密鑰外洩 攻擊
- 加密金鑰外洩 攻擊
- 密鑰洩露/ 曝光
- 儲存漏洞方面: 金鑰管理不當 、 金鑰序列化不安全 (CWE-502)、 金鑰復原攻擊 。 keyhunters +1
CVE 範例和國際分類
程式碼中(例如,記憶體中)私鑰洩漏沒有統一的 CVE 編號。它屬於一類漏洞,但我們可以舉例說明實際案例中的具體 CVE:
- CVE-2018-17096 是 Bitcoin Core 中與隨機數產生相關的漏洞,該漏洞允許他人恢復私鑰 。 keyhunters
- CVE-2025-29774 – 數位簽章偽造攻擊,指在驗證和實施過程中出現簽章偽造問題的攻擊 。 keyhunters
- 存在 CWE-502 (OWASP/MITRE) 類別—不安全的反序列化。
- 類似的案例已記錄在 CVE 中,涉及錢包、HSM、庫和服務中的特定漏洞。 cve.mitre +2
研究文章:攻擊氛圍與建議
介紹
私鑰的安全儲存和處理是比特幣加密安全原則的基石。記憶體管理問題,例如未能清除私鑰位元組切片,會為破壞基本信任和安全機制的攻擊打開方便之門。
攻擊是如何發生和實施的
此漏洞的產生是因為從系統外部取得的私有位元組(例如,匯入、解鎖或解密的位元組)在使用後不會被銷毀,而是保留在系統管理的記憶體或磁碟上。攻擊者可以:
- 進入記憶體並取出密鑰。
- 利用應用程式狀態轉儲、漏洞利用、作業系統和框架漏洞。
- 對虛擬化(雲端)、實體伺服器進行攻擊,進行“冷啟動攻擊”,並分析交換空間、轉儲檔案、日誌的狀態。
結果
攻擊實施後會導致:
- 所有資金被盜,且無任何追回可能。
- 偽造簽名,替換多重簽名邏輯。
- 信任喪失,服務和基礎設施崩潰。 keyhunters +2
實例和分類
在實際應用中,此類漏洞通常根據 CWE、OWASP 和 CVE 進行分類:
- 密鑰洩漏
- 金鑰恢復攻擊
- 金鑰管理不當(CWE-522、CWE-502)
- 私鑰外洩攻擊
此類問題的 CVE 編號僅分配給特定的實作或函式庫錯誤,而非概念性的記憶體處理錯誤。通用案例包括 CVE-2018-17096(比特幣核心)和 CVE-2025-29774(數位簽章偽造) 。
防護措施和建議
- 使用後立即銷毀(零)個私有位元組。
- 使用硬體錢包隔離金鑰。 keyhunters +1
- 使用特殊的記憶體原語(memguard、零緩衝區)。
- 對處理私有資料的程式碼和模式進行審核。
- 不要使用字串傳遞鍵,只能使用帶有析構函數的位元組切片。
結論
私鑰洩漏(或金鑰洩漏攻擊)是比特幣乃至整個加密貨幣產業面臨的最危險威脅之一。妥善實施記憶體擦除、硬體保護和嚴格的加密程序,可以最大限度地降低此類攻擊的風險,並確保去中心化系統中資金的高度安全。 keyhunters +2
關鍵字:私鑰外洩、金鑰外洩攻擊、加密金鑰揭露、CVE-2018-17096、CVE-2025-29774、CWE-502、比特幣私鑰漏洞 。 keyhunters +2
主要漏洞
此加密漏洞pk源自於包含私鑰的 原始位元組切片 在使用後未被清除(擦除)。這導致殘留的私鑰資料仍留在記憶體中,並可能被讀取。
程式碼中的位置
該漏洞出現在函數中 PrivKeyFromBytes。具體來說,在這一行:
去:privKey := secp.PrivKeyFromBytes(pk)
這裡:
pk– 是一個包含金鑰的 32 位元組切片。- 一旦創建,
privKey原始切片pk將保留在記憶體中而不會被清除。 - 任何後續的記憶體分析或垃圾回收操作都可能導致這些位元組仍然可存取。
修正建議
創建完成後, privKey 切片內容應立即重置 pk:
去:privKey := secp.PrivKeyFromBytes(pk)
for i := range pk {
pk[i] = 0
}
這樣可以確保記憶體中不會保留任何私鑰副本。

Go私鑰漏洞:成因及現代緩解方法
介紹
軟體系統中的加密安全性很大程度上取決於對私鑰的正確處理。與公共資料不同,持久性儲存或未能清除記憶體中的私鑰位元組會導致其透過記憶體攻擊洩露。這種情況在 Go 語言中尤為突出:當從位元組切片中獲取私鑰時,`PrivKeyFromBytes` 函數會將原始位元組保留在記憶體中而不會刪除它們,從而增加了金鑰洩露的風險 。
漏洞是如何產生的?
該漏洞通常是由以下情況引起的:
- 例如,透過解密或安全通道傳輸時會產生私鑰([]byte[]byte[]byte) 。 pkg.go
- 此位元組切片用於產生私鑰結構,然後該私鑰結構用於簽署或其他操作。
- 創建私鑰結構後,原始的 []byte[]byte[]byte 數組仍然保留在記憶體中,可以透過記憶體轉儲、調試或與記憶體清除錯誤相關的漏洞來存取。 pkg.go +1
- 許多語言(例如 Go)都使用垃圾回收,但這並不能保證立即或可靠地銷毀底層結構。
- 在受到攻擊的伺服器或系統上,攻擊者可以取得或提取這些字節,進行隱私攻擊,恢復私鑰,並獲得未經授權的存取權限。
危險程式碼範例:
去func PrivKeyFromBytes(pk []byte) (*PrivateKey, *PublicKey) {
privKey := secp.PrivKeyFromBytes(pk)
return privKey, privKey.PubKey()
}
這段程式碼 pk 在使用後不會進行清理。
現代的消除方法
1. 立即將私鑰切片清零。
所有敏感資料必須在使用後立即銷毀。從位元組切片產生金鑰後,其內容必須清除: itnext+2
去:func PrivKeyFromBytes(pk []byte) (*PrivateKey, *PublicKey) {
privKey := secp.PrivKeyFromBytes(pk)
// Немедленно обнуляем исходный байт-срез
for i := range pk {
pk[i] = 0
}
return privKey, privKey.PubKey()
}
這樣可以最大限度地降低透過記憶體存取進行延遲攻擊的可能性。
2. 使用專門的記憶體保護庫
在 Go 語言中,有一些套件(例如 itnext) memguard可以管理託管運行時環境之外的記憶體分配,並確保可靠的資料銷毀: itnext
去:import "github.com/awnumar/memguard"
buffer := memguard.NewBufferFromBytes(pk)
// используем buffer для генерации приватного ключа
buffer.Destroy() // гарантированное уничтожение данных из памяти
這有助於防止記憶體中出現無法被語言控制的私人資料副本。
3. 不要使用字串來儲存鍵。
即使 Go 中的字串是不可變對象,使用字串也會導致記憶體中存在多份資料副本。建議僅使用位元組切片,並在使用後立即將其刪除。 reddit +1
4. 不要將未清理的密鑰儲存超過必要的時間。
盡量縮短私鑰在記憶體中的存續時間:在操作開始前立即建立私鑰,並在操作完成後立即刪除私鑰。
5. 控制結構內密鑰的生命週期
如果私鑰結構複製數據,則必須確保在結構銷毀後,密鑰片段被重置為零(如果可以實現的話)。
建築設計建議
- 為不受標準垃圾回收器控制的按鍵分配單獨的記憶體區域。
- 限制操作密鑰的進程的權限。
- 使用靜態分析工具和模糊測試來檢查記憶體中是否存在私有資料的殘留副本。
安全實施
完整、安全的版本功能,包括記憶體清理:
去:func PrivKeyFromBytes(pk []byte) (*PrivateKey, *PublicKey) {
// Копируем байты, чтобы избежать изменений, если входной срез разделяется
tmp := make([]byte, len(pk))
copy(tmp, pk)
privKey := secp.PrivKeyFromBytes(tmp)
// Немедленно обнуляем оба среза: исходный и временный
for i := range pk {
pk[i] = 0
}
for i := range tmp {
tmp[i] = 0
}
return privKey, privKey.PubKey()
}
建議在這些功能之外,還應進行安全審計,以確保在更新和整合過程中不會出現安全漏洞。 +1
結論
妥善銷毀私有資料對於保護加密應用程式免受基於記憶體的攻擊至關重要。有保障的位元組級清理和適當的記憶體管理將最大限度地降低密鑰外洩的風險,並提高整個應用程式的安全性。 pkg.go +2
科學論文的最終結論可以表述如下:
由於記憶體管理不善或資料序列化不安全而導致的私鑰洩露,對比特幣加密貨幣基礎設施和用戶構成了根本性威脅。這種攻擊被稱為“密鑰洩露攻擊”或“私鑰洩露”,攻擊者可以利用它完全控制錢包,進行未經授權的交易,並竊取相應地址中的所有資產。此類攻擊的後果不堪設想:從個人損失和信任危機,到大規模的金融崩潰,甚至破壞整個加密網路的穩定性。私鑰是管理資金的唯一途徑,一旦洩露,就意味著永久喪失控制權和所有權。在現實案例中,此類錯誤已造成數百萬美元的損失,並加劇了對比特幣生態系統的威脅 。
可靠的私鑰保護、嚴格執行記憶體管理標準以及持續的安全審計對於防止此類攻擊至關重要。現代數位金融網路中的加密安全始於對私有資料的謹慎處理——這是確保比特幣作為全球加密經濟主要資產的穩定性、信任度和長期可靠性的唯一途徑。 keyhunters +2

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

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

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

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

HydraRecover 和比特幣安全性中基於記憶體的私鑰洩漏漏洞的利用
比特幣等加密貨幣系統依賴私鑰的安全管理來進行交易授權和資產控制。近期出現的攻擊模型,例如墨跡攻擊和金鑰外洩攻擊,揭示了不當的記憶體處理如何導致私鑰意外持久化。這種漏洞使得未經授權的存取、密碼偽造和資產的不可逆轉的盜竊成為可能。 HydraRecover是一款最初為遺失錢包分析和金鑰重建而設計的取證工具,它展現了此類工具的雙重特性——它們既可以用於合法的恢復目的,也能揭示金鑰洩漏的全部破壞性。本文探討了 HydraRecover 的科學基礎、其對記憶體掃描和熵分析的依賴性,以及它對利用比特幣關鍵漏洞(尤其是在私鑰洩漏的情況下)的影響。
比特幣生態系統以橢圓曲線密碼學(secp256k1)和私鑰保密原則為基礎。然而,在軟體實作中,記憶體安全性仍然是一個薄弱環節,因為包含敏感資訊的位元組數組或序列化資料在使用後可能仍然存在。最近比特幣庫中出現的漏洞,例如 Go 語言中處理不當的位元組切片,就說明了攻擊者如何透過記憶體分析、冷啟動漏洞或轉儲檢查等方式取得私鑰。
HydraRecover是一款專門用於從揮發性或非揮發性記憶體來源恢復部分或遺失的加密資料的工具。雖然其開發初衷是用於錢包恢復場景,但實際上,HydraRecover 可以直接利用諸如墨跡攻擊之類的漏洞,透過從洩漏的記憶體殘留資訊中重建私鑰來達到攻擊目的。
HydraRecover 的方法
HydraRecover 採用了多種技術方法來實現私鑰的發現和重建:
- 基於熵的金鑰識別
該工具掃描記憶體轉儲,識別具有高熵的序列(~256 位元模式,ECDSA 私鑰的典型特徵)。
由於記憶體洩漏可能發生在碎片中,HydraRecover 使用密碼一致性檢查(在 secp256k1 曲線域內的有效性)將部分密鑰段拼接在一起。- 取證金鑰復原流程
包括對作業系統交換記憶體、崩潰日誌,甚至可能發生敏感加密操作的 GPU 記憶體狀態進行自動分析。 - Volatility 框架整合
支援基於插件的分析來自虛擬或實體機的即時記憶體映像,利用現有的數位取證技術。 - 冗餘消除和糾錯
Python 的 Reed-Solomon 糾錯模組有助於改善損壞的私鑰切片,從而實現精確重建。
透過結合這些技術,HydraRecover 可以將非結構化洩漏資訊轉換為可用於比特幣交易的有效加密金鑰。
已利用漏洞的科學分類
針對墨漬攻擊,HydraRecover 可有效利用以下漏洞:
- 私鑰外洩攻擊
- 加密金鑰外洩攻擊
- 記憶體管理不安全(CWE-522、CWE-502)
- 資料清除不當和密鑰生命週期管理不善
此漏洞類別與已記錄的 CVE(例如CVE-2018-17096(比特幣核心 RNG 洩漏))以及突出反序列化或易失性儲存處理不當的概念性 CWE 類別相符。
對比特幣生態系統的影響
將 HydraRecover 與私鑰洩漏漏洞結合使用會帶來以下風險:
- 錢包完全接管:
重構的私鑰允許攻擊者不可逆轉地花費比特幣。 - 偽造簽名:
攻擊者擁有完全存取權限後,可以產生有效的 ECDSA 簽名,繞過身份驗證邏輯。 - 多重簽章繞過:
從多重簽章環境中提取單一金鑰會削弱合作信任機制。 - 大規模取證級攻擊:
如果雲端託管的比特幣節點暴露於冷啟動或記憶體駐留惡意軟體,則可以使用 HydraRecover 管道系統性地掠奪。 - 金鑰洩漏對信任和基礎設施
服務提供者造成的附帶損害:服務提供者遭受聲譽和經濟損失,進而波及整個比特幣生態系統。
合法用途與潛在利用價值
HydraRecover雖然為合法錢包復原提供了至關重要的價值——例如,幫助意外資料損壞的受害者——但也凸顯了災難性的風險狀況。一款能夠重建金鑰的工具,既可以為網路安全研究人員所用,也可以被惡意行為者利用,這取決於操作倫理和法律環境。
防護建議
為了降低 HydraRecover 在對抗性環境中的相關性:
- 私鑰使用後立即進行記憶體清理(覆蓋位元組切片)。
- 透過硬體安全模組(HSM)或硬體錢包進行硬體隔離。
- 部署記憶體安全原語(memguard)來隔離敏感結構。
- 比特幣庫中私鑰生命週期的安全設計審計。
- 即時取證日誌記錄,用於偵測未經授權的記憶體存取嘗試。
結論
HydraRecover凸顯了墨跡攻擊所蘊含的關鍵危險:一旦私鑰洩露,從殘留記憶體重建私鑰在技術上是可行的。該工具強調了比特幣環境中基於記憶體的漏洞並非紙上談兵,而是可以精確利用的現實。對於研究人員而言,此類工具能夠提供關於密碼學缺陷的寶貴見解;而對於攻擊者而言,它們則提供了直接入侵並造成不可挽回的財務損失的途徑。 HydraRecover 的雙重作用要求我們在密碼工程領域保持高度警惕,嚴格執行記憶體衛生規範,並持續進行安全審計。只有解決這些弱點,比特幣才能維護其作為全球金融體系的完整性。
研究方案:比特幣關鍵漏洞及 HydraRecover 漏洞利用
┌─────────────────────────────────────────────────────────────────┐
│ 🪙 BITCOIN ECOSYSTEM │
│ Cryptographic Foundation │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ VULNERABLE CODE EXECUTION │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Private Key │───▶│ Memory Storage │ │
│ │ Generation │ │ (Not Erased) │ │
│ └─────────────────┘ └─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────┐ │
│ │ INK STAIN ATTACK │ │
│ │ (Secret Key Leakage) │ │
│ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ HYDRA RECOVER │
│ 🔍 Forensic Key Recovery Tool │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌────────────────┐ │
│ │ Memory Scanning │ │ Entropy Analysis│ │ Key Validation │ │
│ │ & RAM Dumps │ │ & Pattern Match │ │ & Reconstruction│ │
│ └─────────────────┘ └─────────────────┘ └────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ ATTACK CONSEQUENCES │
│ │
│ 💀 Complete Wallet Takeover │
│ 💰 Irreversible Asset Theft │
│ 🔐 Digital Signature Forgery │
│ 🏦 Multi-Million Dollar Losses │
│ ⚠️ Ecosystem Trust Collapse │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ PROTECTION MEASURES │
│ │
│ 🛡️ Immediate Memory Sanitization │
│ 🔒 Hardware Security Modules (HSM) │
│ 🧹 Secure Memory Management Libraries │
│ 🔍 Continuous Security Auditing │
│ ⚡ Zero-Knowledge Cryptographic Protocols │
└─────────────────────────────────────────────────────────────────┘
該圖展示了從易受攻擊的比特幣程式碼到 HydraRecover 工具的利用,再到對加密貨幣生態系統造成災難性後果的關鍵路徑,並顯示了必要的保護措施。
比特幣私鑰洩漏漏洞的科學分析及安全緩解技術
介紹
私鑰是比特幣加密安全的核心要素:它們證明對資產的所有權並實現交易授權。私鑰的洩漏或不安全處理——無論是由於記憶體管理不善、敏感資料加密失敗還是生命週期控制不當——都會直接威脅用戶資金安全,使攻擊者能夠竊取比特幣,從而對個人帳戶和整個網路造成災難性後果。
漏洞的起源
這種漏洞通常是由以下一個或多個原因造成的:
- 敏感資料在記憶體中的保留:私鑰通常以位元組切片的形式儲存在記憶體中,如果在使用後沒有被正確清除,殘留的金鑰資料仍然可以訪問,從而增加遭受記憶體轉儲或記憶體掃描攻擊的風險。
- 缺乏加密:以明文或未加密格式儲存錢包和私鑰,一旦本地資料庫或儲存媒體被訪問,就很容易被直接竊取。
- 日誌記錄或資料序列化不當:透過調試日誌意外洩漏或不安全的序列化可能導致意想不到的洩漏路徑。
- 加密實作錯誤:隨機數產生過程中的錯誤或使用未經驗證的函式庫可能導致金鑰材料或簽章偽造等可預測的攻擊。 attacksafe +1
- 密鑰生命週期控制不足:未能主動銷毀或覆蓋密鑰數據,導致攻擊者可以透過冷啟動攻擊或系統入侵來獲取歷史機密。
影響
- 資產完全洩漏:一旦獲得私鑰,攻擊者即可完全控制錢包及其資產。
- 不可逆轉的損失:區塊鏈交易是最終的-一旦資產被盜,就無法追回。
- 信任崩潰:金鑰外洩事件的大規模發生,嚴重損害了整個加密經濟基礎設施的可靠性和可信度。 certik
科學分類
在學術文獻和安全框架中,這些攻擊被歸類為:
- 密鑰外洩攻擊
- 私鑰外洩攻擊
- 加密金鑰洩露
- 金鑰材料洩漏這些漏洞對應於CWE-522
(敏感資訊不安全儲存)等國際分類,並與特定的 CVE 漏洞相關聯,可用於實際攻擊。密鑰獵手
安全修復和最佳程式碼實踐
最穩健的策略是使用後立即覆蓋記憶體中的私鑰數據,並避免使用會導致不必要複製的資料類型(例如,字串或未經清理的緩衝區)。 github +2
優秀且安全的程式碼解決方案:Go 範例
假設一個函數從原始位元組切片處理比特幣私鑰:
去func PrivKeyFromBytes(pk []byte) (*PrivateKey, *PublicKey) {
// Make a temporary copy to avoid side-effects if the slice is shared
tmp := make([]byte, len(pk))
copy(tmp, pk)
privKey := secp256k1.PrivKeyFromBytes(tmp)
// Immediately zero both the original and temporary slices
for i := range pk {
pk[i] = 0
}
for i := range tmp {
tmp[i] = 0
}
return privKey, privKey.PubKey()
}
解釋:
- 所有敏感記憶體區域在使用後立即進行清理,從而降低加密金鑰仍可能被攻擊者透過記憶體轉儲或記憶體掃描所獲得的風險。騰訊雲+2
- 避免使用不可變類型(字串)儲存鍵,因為它們無法安全地被覆蓋。 stackoverflow
進一步改進:
- 使用具有本地隔離安全晶片的硬體錢包,將密鑰離線儲存在通用記憶體之外。 reddit +2
- 考慮使用專門的庫(例如 Go 的庫)
memguard在託管運行時之外安全地分配和銷毀敏感緩衝區,並防止作業系統層級的交換。 mlock使用諸如防止敏感記憶體頁被交換到磁碟以及限製冷啟動攻擊等技術。 reddit
結論
比特幣私鑰洩漏源於糟糕的記憶體管理、缺乏加密以及不安全的編碼實踐。終極防禦措施是嚴格、立即擦除記憶體中的敏感數據,主動使用硬體錢包,以及系統地審計加密程序。透過實施安全的程式碼模式(如上所述),開發者可以主動消除這些漏洞,並維護比特幣生態系統的完整性、信任度和韌性,使其免受最具破壞性的威脅之一的影響。
比特幣中被分析的關鍵漏洞——私鑰記憶體洩漏——是全球加密貨幣生態系統面臨的最危險、影響最深遠的威脅之一。當敏感的加密金鑰未能安全及時地從記憶體中清除時,攻擊者便可透過複雜的記憶體攻擊恢復這些金鑰,導致錢包完全被攻破,資產被不可逆轉地竊取。這種漏洞不僅損害了個人持有者的利益,也破壞了人們對金融基礎設施的信任,從而引發大規模詐欺、交易偽造以及去中心化網路中災難性的連鎖損失。
這次攻擊利用了疏忽的記憶體管理和不當的密鑰生命週期處理,暴露了比特幣安全模型的核心系統性缺陷:無法保證私鑰的機密性免受高級攻擊者的侵害。正如近期事件所表明的那樣,此類安全漏洞通常會癱瘓服務、摧毀用戶信心,並給整個行業造成數百萬美元的損失。 polynonce +2
穩健的加密工程、硬體隔離、持續的記憶體安全維護以及嚴格的安全審計,是維護比特幣及相關加密貨幣的完整性、可靠性和未來韌性的唯一方法。 itsec +2
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://habr.com/ru/articles/817237/
- https://polynonce.ru/%D0%BA%D1%80%D0%B8%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D1%83%D1%D0%BA%D0%B8%D0%B5-%D1%83%D1%8F%D0B7% %B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8-%D0%BF%D1%80%D0%B8%D0%B2%D0%B0%D1%82%D0%BD%D1%8B%D1%85-00%
- https://cryptodeep.ru/fuzzing-bitcoin/
- https://forklog.com/news/v-chipah-dlya-bitkoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
- https://pikabu.ru/story/private_key_debug_oshibki_v_vyichislenii_poryadka_yellipticheskoy_krivoy_secp256k1_ugrozyi_dlya_yekosistemyi_bitcoin_chast_2_12755792_12755792
- https://www.itsec.ru/articles/upravlenie-uyazvimostyami-v-kriptokoshelkah
- https://www.gazeta.ru/tech/news/2025/09/22/26783768.shtml
- https://phemex.com/ru/news/article/private_key_breach_affects_nearly_200_wallets_cause_unknown_10001
- https://www.morpher.com/ru/blog/ecdsa-in-cryptocurrency-security
關鍵字:私鑰外洩、安全記憶體抹除、金鑰生命週期管理、比特幣安全、CVE、CWE-522
- 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://www.certik.com/resources/blog/private-key-public-risk
- https://www.reddit.com/r/golang/comments/2oc9oz/securely_erasing_crypto_keys/
- https://attacksafe.ru/private-keys-attacks/
- https://www.reddit.com/r/Bitcoin/comments/1j24hh3/nonce_r_reuse_and_bitcoin_private_key_security_a/
- https://github.com/golang/go/issues/21865
- https://www.tencentcloud.com/techpedia/116827
- https://stackoverflow.com/questions/728164/securely-erasing-password-in-memory-python
- https://www.reddit.com/r/Bitcoin/comments/16yzu6j/honestly_whats_the_best_way_to_store_a_private_key/
- https://www.osl.com/hk-en/academy/article/how-to-securely-store-your-private-keys-best-practices
- https://support.ledger.com/article/360000380313-zd
- https://www.investopedia.com/terms/p/private-key.asp
- https://www.rockwallet.com/blog/how-to-safely-store-your-crypto-private-keys
- https://www.nadcab.com/blog/bitcoin-private-key
- https://blog.ueex.com/en-us/private-key/
- https://updraft.cyfrin.io/courses/advanced-web3-wallet-security/signer-advanced/wallet-private-key-important-tips
- https://stackoverflow.com/questions/75722679/secure-erase-all-copies-of-aes-encryption-keys-in-memory
- https://www.onesafe.io/blog/crypto-private-key-leak-defi-security
- https://inery.io/blog/article/what-is-cryptographic-erasure/
- https://keyhunters.ru/critical-vulnerabilities-of-private-keys-and-rpc-authentication-in-bitcoinlib-analysis-of-security-risks-and-attack-methods-on-bitcoin-cryptocurrency/
- https://arxiv.org/html/2109.07634v3
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- 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://www.koreascience.kr/article/JAKO202011161035971.page
- https://www.sciencedirect.com/science/article/abs/pii/S0020019018301698
- https://www.blockchaincommons.com/articles/Private-Key-Disclosure/
- https://www.reddit.com/r/golang/comments/2oc9oz/securely_erasing_crypto_keys/
- https://pkg.go.dev/github.com/hcashorg/hcwallet/internal/zero
- https://itnext.io/handling-sensitive-data-in-golang-f527aa856d0
- https://pkg.go.dev/github.com/ethersphere/bee/pkg/crypto
- https://go.dev/blog/tob-crypto-audit
- https://stackoverflow.com/questions/77264688/which-method-is-used-for-verifying-secp256k1-signatures-in-gos-btcec-library
- https://pkg.go.dev/github.com/btcsuite/btcd/btcec
- https://lf-hyperledger.atlassian.net/wiki/display/BESU/SECP256R1+Support
- https://gitee.com/zjdjf_admin/secp256k1-go
- https://groups.google.com/g/golang-announce/c/-nPEi39gI4Q
- https://gitlab.com/yawning/secp256k1-voi/-/blob/f2616030848b/secec/ecdsa.go
- https://www.reddit.com/r/golang/comments/1iqt56v/how_to_securely_wipe_xtscipher_internal_key/
- https://go.dev/doc/security/vuln/
- https://stackoverflow.com/questions/79439235/how-to-securely-wipe-xtscipher-internal-key-material-in-go
- https://www.reddit.com/r/rust/comments/t33ddj/the_biggest_source_of_vulnerabilities_in/
- https://www.securityjourney.com/post/owasp-top-10-cryptographic-failures-explained
- https://github.com/golang/go/issues/53003
- https://dl.acm.org/doi/10.1145/3634737.3657012
- https://nvd.nist.gov/vuln/detail/cve-2024-38365
- https://golang.google.cn/pkg/crypto/x509/
- 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://publications.cispa.de/articles/conference_contribution/Identifying_Key_Leakage_of_Bitcoin_Users/24612726
- https://cve.mitre.org/cgi-bin/cvekey.cgi
- https://github.com/jlopp/physical-bitcoin-attacks
- https://www.kaspersky.com/blog/cryptowallet-seed-phrase-fake-leaks/51607/
- https://arxiv.org/html/2508.01280v1
- https://research.kudelskisecurity.com/2023/03/06/polynonce-a-tale-of-a-novel-ecdsa-attack-and-bitcoin-tears/
- https://www.reddit.com/r/CryptoTechnology/comments/nidwpj/question_about_collision_of_private_keys/
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://www.sciencedirect.com/science/article/pii/S2666281722001676
- https://github.com/stratisproject/StratisBitcoinFullNode/issues/1822
- https://www.cve.org/CVERecord/SearchResults?query=crypto
- https://attacksafe.ru/ultra/
- https://app.opencve.io/cve/?vendor=bitcoin&product=bitcoin&page=3