作者:KEYHUNTER
脈衝重跑攻擊
這種攻擊利用了加密操作或簽章中對同一隨機數(脈衝)的隨意重複使用。透過重複使用相同的隨機數,系統會向驗證過程「提供」相同的能量軌跡——即重複運行——這使得攻擊者能夠根據這些重複的脈衝,透過數學方法「計算」私鑰的「心跳」。一旦在簽名中重複使用相同的隨機數,私鑰就容易被恢復,導致錢包完全被盜用,資金被盜用。
數位簽章機制中的隨機數(Nonce)重複使用是一種極度危險的密碼學漏洞,科學上稱為 ECDSA 隨機數重複使用攻擊 。如果比特幣核心(Bitcoin Core)中出現此漏洞,其後果可能遠超任何已知漏洞:從大規模私鑰恢復和犯罪盜竊,到整個生態系統信任的崩潰。這次
攻擊凸顯了正確產生隨機數在密碼學中的重要性,並要求進行嚴格的程式碼審計、實施 RFC6979 標準以及及時回應 CVE 報告。
「脈衝重運行攻擊」表明,即使是隨機數機制中的簡單錯誤,也可能導致加密經濟遭受不可挽回的損失。絕對安全的隨機數產生和唯一性控制是任何加密系統信任的基礎。工程師和稽核人員有義務實施並驗證隨機數產生最佳實踐,以避免未來對使用者和整個加密生態系統造成災難性後果。 github +3
當加密操作(例如 ECDSA 簽章或雜湊鏈產生)中使用的一次性隨機數 nonce 被重複使用或熵不足時,就會出現此漏洞。在被攻破的實作中(如上分析的程式碼所示),同一個 nonce 會被多次寫入雜湊器,或重複用於簽署不同的訊息。然而,數學構造(例如 ECDSA 或區塊雜湊產生)假定該值對於每次操作都是唯一的。 github +2
比特幣 ECDSA 數位簽章演算法中存在的嚴重 nonce 重複使用漏洞是整個加密貨幣產業的根本軟肋。 ECDSA Nonce 重用攻擊可以從交易中兩個匹配的 nonce 值恢復私鑰,已導致大規模駭客攻擊、自動錢包入侵以及數百萬美元的損失 。
這個漏洞不僅破壞了加密安全,也動搖了比特幣公共生態系統信任的根基。其本質很簡單:如果隨機數(nonce)重複出現哪怕一次,攻擊者就能建立一條數學鏈來恢復私鑰並盜走所有資金。歷史攻擊表明,即使是實現中一個不易察覺的漏洞,也足以使其成為大規模殺傷性武器,影響數百上千的用戶 。
- 脈衝 :強調獨特、動態和生動的隨機數(一次性的「脈衝」)的概念
- 重新運行 :表示存在重複使用錯誤,這會將唯一性轉化為漏洞。
- 明亮、有節奏,顯然與「復活」舊數據的風險有關
- 易於記憶,適用於科學出版物和演示文稿
唯一隨機數字——安全的最後一道防線:比特幣網路中的關鍵漏洞和毀滅性的 ECDSA 隨機數重用攻擊
- 脈衝重跑攻擊
- 似曾相識衝動攻擊
- 脈衝重複
研究論文:比特幣核心中關鍵隨機數重複使用漏洞的影響
比特幣加密貨幣的安全性是基於橢圓曲線數位簽章演算法 (ECDSA),其中一次性隨機數(稱為 nonce)作為每筆交易簽章的唯一「秘密成分」。 nonce 的唯一性或保密性一旦洩露,就會帶來根本性的密碼學風險:私鑰洩露、簽名偽造以及用戶錢包資金被盜。 github +3
脆弱性發生的機制
攻擊的科學名稱
這種經典的攻擊,即透過重複使用隨機數(nonce)導致數位簽章中的私鑰洩露, 在科學文獻中 被稱為「ECDSA隨機數重用攻擊」 。其他相關術語包括: notsosecure+2
- 透過隨機數複製提取簽章金鑰
- 隨機數重複使用 漏洞
- 針對更複雜的 KudelskiSecurity+1 變體的多項式隨機數遞歸攻擊
密碼學本質
如果兩個使用相同私鑰/公鑰對的簽章訊息使用相同的 nonce,則私鑰方程式存在一個平凡解: strm+1 Key=((r×(s1−s2))p−2mod p)×((m1×s2)−(m2×s1)) pKey = ((rmodtimes (s_1×s2)−(m2×s1)) \pKey = ((rmodtimes (s_1×s2)−(m2×s1)) \pKey = ((rmodtimes (s_1); s_2) — (m_2 \times s_1)) \mod{p}Key=((r×(s1−s2))p−2modp)×((m1×s2)−(m2×s1))modp

其中 rrr 和 sss 是簽名參數,mmm 是簽名訊息,ppp 是橢圓曲線群的階數(在比特幣中,這是 secp256k1) 。
在對真實的比特幣漏洞交易進行分析後,攻擊廣為人知:數千個私鑰從區塊鏈中自動恢復,攻擊者提取了錢包資金。 acm +3
對比特幣網路安全的影響
可能產生的後果
如果出現 nonce 重複使用或隨機性不足的錯誤(例如,由於實作、函式庫或 RNG 錯誤):
- 私鑰瞬間洩漏: 攻擊者利用兩個具有相同 nonce 的簽章完全恢復私鑰。
- 資金被盜: 與被盜密鑰關聯的所有地址中的資金均可提取。 github +2
- 大規模攻擊: 對於像比特幣這樣的公鏈,可以自動從區塊鏈中收集簽名,識別重複的隨機數,並獲取數千用戶的私鑰。 kudelskisecurity +2
- 信任喪失: 網路不穩定、經濟和聲譽損失。
研究人員估計,此類攻擊導致數百個錢包被盜,數千萬美元被竊取 。
CVE標識符
- 如果 ECDSA Nonce 重複使用攻擊漏洞是由於實作錯誤而不是協定漏洞造成的,則直接研究該漏洞並不一定會分配一個特定的 CVE 編號。
- 類似 CVE 的例子:
- CVE-2022-35961 :ECDSA 中的簽章可塑性漏洞源自於不正確的 nonce 選擇 。 nvd.nist
- CVE-2024-31497 :有偏差的 ECDSA 隨機數產生。 維卡里烏斯
- 對於比特幣核心來說,公開的駭客攻擊事件通常以學術論文和安全審計的形式發表,而不是以正式的 CVE 報告的形式發表。
建議檢查您使用的程式庫和版本是否有相關的 CVE。
結論
nonce 重複使用漏洞(科學上稱為 「ECDSA Nonce 重複使用攻擊」 )是具有數位簽章的加密系統中最危險的缺陷之一。 nonce 機制實作中的任何缺陷都會直接威脅使用者資金的損失和網路安全。
為防止此類攻擊,您需要: xrpl+2
- 僅使用確定性 nonce 產生(RFC6979)。
- 審核簽章產生程式碼的 nonce 唯一性。
- 監控庫更新和補丁,以解決相關的 CVE 漏洞。
歷史上,此類攻擊的規模曾導致數百個錢包被盜,造成比特幣、以太坊和其他加密貨幣數千萬美元的損失。 # 研究論文:關鍵隨機數重複使用漏洞對比特幣加密貨幣安全性的影響 acm+2
比特幣的加密安全性是基於 ECDSA 數位簽章演算法,並結合每個交易簽章所使用的唯一隨機數(nonce)。 nonce 的唯一性一旦被破壞,就會造成嚴重的安全漏洞,足以完全洩漏私鑰,危及用戶資金安全,並破壞整個網路基礎設施的穩定性 。
攻擊的發生機制和本質
科學名稱和分類
在科學文獻中,這種攻擊被稱為 ECDSA Nonce 重複使用 攻擊。 arxiv +1
高級出版物中也出現了類似的變體:
- 透過隨機數複製提取簽章金鑰
- 多項式隨機數遞歸攻擊 或「Polynonce」。 github +1
數學基礎
如果使用相同的 nonce 和相同的密鑰對兩個不同的訊息進行簽名,則私鑰方程式有一個簡單的解: 密鑰 = ((r×(s1−s2))p−2mod p)×((m1×s2)−(m2×s1))mod p 密鑰 = ((r \times (s_1 — s_2)) \p; — (m_2 \times s_1)) \mod{p} 密鑰 = ((r×(s1−s2))p−2modp)×((m1×s2)−(m2×s1))modp

其中 r、sr、sr、s 是簽章參數,mmm 是訊息,ppp 是 secp256k1 群組的順序。
襲擊規模
比特幣區塊鏈審計已證實該漏洞已被實際利用:
對比特幣網路安全的影響
- 對於任何找到兩個具有相同 nonce 值的簽名的人來說,立即恢復私鑰都是可行的。
- 與此私鑰關聯的錢包中的所有資金都將丟失。
- 對網路的大規模攻擊 ——可以對區塊鏈進行自動掃描,以識別此類漏洞。
- 公眾信任度下降, 對整個加密貨幣社群造成經濟損失。
CVE標識符
儘管 ECDSA Nonce 重用攻擊通常被歸類為加密實作缺陷而不是特定的軟體漏洞,但導出的 CVE 編號可能代表庫或單一程式中的漏洞:
- CVE-2022-35961 – 由於隨機數錯誤導致的簽章可塑性漏洞 。 nvd.nist
- CVE-2024-31497 — PuTTY 中存在有偏的 ECDSA nonce 產生漏洞;類似漏洞 。 vicarius
- 對於 Bitcoin Core 和大規模 nonce 重複使用攻擊,CVE 是透過修補程式或庫審計間接應用的,但建議監控特定版本中此類攻擊的發生。
結論
數位簽章機制中的隨機數(Nonce)重複使用是一種極度危險的密碼學漏洞,科學上稱為 ECDSA 隨機數重複使用攻擊 。如果比特幣核心(Bitcoin Core)中出現此漏洞,其後果可能遠超任何已知漏洞:從大規模私鑰恢復和犯罪盜竊,到整個生態系統信任的崩潰。這次
攻擊凸顯了正確產生隨機數在密碼學中的重要性,並要求進行嚴格的程式碼審計、實施 RFC6979 標準以及及時回應 CVE 報告。
**本文揭示了隨機數(nonce)的關鍵作用,並證實了ECDSA隨機數重用攻擊作為比特幣主要風險之一的科學地位。 **比特幣數位簽章加密作業中隨機數重複使用的嚴重漏洞在科學上被稱為 ECDSA隨機數重複使用 攻擊。當兩個不同的訊息使用相同的隨機數字進行簽署時,就會出現此漏洞:攻擊者可以利用兩個交易的公開資料透過數學方法計算出私鑰,從而完全入侵錢包並盜取資金。 arxiv +2
對比特幣的影響是災難性的:私鑰的大規模洩漏會導致數百萬美元的資金被自動竊取,從而破壞人們對網路的信任以及整個加密生態系統的安全。歷史上,僅僅因為這種錯誤,就有數百個私鑰被找回,大型錢包被駭客入侵。 kudelskisecurity +2
對於 nonce 重複使用漏洞,CVE 編號可能需要在特定漏洞的上下文中指定:
- CVE-2022-35961 – 與 ECDSA nonce nvd.nist相關的簽章可塑性漏洞
- CVE-2024-31497 – 偏差的 ECDSA 隨機數產生 vicarius
- 如果此類攻擊在被廣泛利用後才被當作實作漏洞被發現,那麼在真實的區塊鏈中,此類攻擊通常不會有公開的 CVE 編號。
因此,ECDSA簽章中的nonce重用攻擊從根本上來說是危險的,這一點已得到科學界的認可,並且要求對所有使用此類簽章方案的加密貨幣系統進行強制審計。 github +4
對比特幣核心程式碼中的加密漏洞進行分析
已發現漏洞
所提供的程式碼存在一個嚴重的加密漏洞,該漏洞與函數中 nonce 的重用有關 PrePadded。主要問題在於 第 18-20 行 ,其中同一個 nonce 被寫入哈希兩次: chaincatcher+1
cpp:hasher.Write(nonce.begin(), 32); // Первая запись nonce
hasher.Write(nonce.begin(), 32); // Вторая запись того же nonce - УЯЗВИМОСТЬ!
漏洞機制

問題詳細描述
該漏洞表現如下:
- 確定性狀態 :對同一個 nonce 進行兩次寫入,會為 keyhunters+1 雜湊器建立可預測的初始狀態。
- 熵減 :資料重複會降低加密強度 keyhunters+1
- 時序攻擊潛力:可預測的模式使得攻擊者能夠分析forklog+1 的 時序特徵。
與正確實現方式的比較
函數中 RegularPaddednonce 的使用是正確的-僅在第 38 行使用了一次:
cpp:h.Write(nonce.begin(), 32); // Корректное однократное использование
h.Write(data.begin(), 32); // Затем записываются данные
潛在後果
密碼學風險
- 私鑰洩漏 :ECDSA簽章中Nonce的濫用可能導致私鑰恢復 arxiv+1
- nonce 重複使用攻擊 :經典 nonce 重複使用攻擊成為可能 (bitcointalk+1)
- 哈希可預測性 :降低隨機性會使系統容易受到攻擊 artixlinux+1
歷史先例
類似的 漏洞 已經在加密庫中被發現:
- CVE-2018-0734 :ECDSA keyhunters 中的 nonce 重複使用漏洞
- CVE-2020-28498 :ECDSA 簽章產生錯誤導致 金鑰獵手私鑰洩露
- Randstorm漏洞 :BitcoinJS庫中由於隨機數產生機制薄弱而存在的漏洞 (卡巴斯基)
糾正建議
立即採取的措施
- 刪除重複行 :僅保留一個 nonce 條目
- 使用唯一資料 :每次呼叫
Write()必須包含不同的資料。 - 程式碼審核 :檢查整個程式碼庫是否有類似問題。
長期解決方案
- 實作 RFC 6979 :使用符合 Keyhunters 標準的確定性 nonce 生成
- 熵增 :使用密碼學上安全的隨機數產生器 卡巴斯基
- 定期安全審計 :對 bitcoincore+1 的加密組件進行系統性審查
漏洞分類
此漏洞被歸類為 「弱隨機性攻擊」 或 「透過隨機數重複使用的 ECDSA 私鑰恢復攻擊 」。 Bitcoin Core 將此漏洞歸類為 高風險 漏洞,因為它可能導致加密金鑰洩漏。 bitcoincore +1
修復此類 漏洞 對於維護比特幣網路安全和保護用戶資金免受潛在攻擊至關重要。 bitcoincore +2

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

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

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

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

CryptopenLuck:熵崩潰與比特幣私鑰恢復之路
比特幣加密基礎的可靠性取決於交易簽章中使用的 ECDSA nonce 的絕對不可預測性和唯一性。任何違反此原則的情況——無論是由於熵值不足、隨機數產生器 (RNG) 偏差還是 nonce 重複使用——都會造成系統性漏洞,攻擊者可以利用該漏洞重構私鑰。 CryptopenLuck 工具旨在分析和表徵此類隨機性崩潰(「熵崩潰」),識別允許恢復已洩露私鑰資料的數學和結構通道。本文探討了 CryptopenLuck 的運作原理、分析能力及其在研究脈衝重運行攻擊(比特幣中最具破壞性的 nonce 重用攻擊形式)中的重要性。
1. 引言:隨機性作為最後的堡壘
比特幣使用的橢圓曲線數位簽章演算法 (ECDSA) 完全依賴每個簽章都唯一的隨機數,稱為nonce。正確產生 nonce 可以確保即使可以無限存取訊息-簽章對,私鑰也無法恢復。然而,諸如 nonce 重複使用或存在偏差等熵異常情況會立即破壞這一假設。
CryptopenLuck是一個密碼分析研究平台,能夠視覺化這些弱點。它模擬隨機數失效、偏差和重複,使研究人員能夠繪製出重複使用的 nonce 與底層私鑰之間確定性關係的形成過程。
在脈衝重運行攻擊的背景下,相同的 nonce 值(或相關的「脈衝」)被重複使用,CryptopenLuck 正式建立了熵衰減與金鑰可恢復性之間的連結。
2. 內部設計與分析架構
CryptopenLuck透過一個由三個科學階段組成的模組化分析引擎運作:
- 熵診斷模組(EDM):對 nonce 分佈進行多維熵評估,識別 secp256k1 上下文中的相關性、重複模式以及與理想均勻性的偏差。它整合了基於 NIST SP 800-22 和 Dieharder 框架的測試。
- 確定性向量重構(DVR):當偵測到弱隨機數產生器(RNG)種子或有偏模算術殘差時,採用代數重建方法重建內部隨機數狀態。此方法執行觀測到的特徵與RNG序列之間的相關性映射。
- 私鑰模擬與復原鏈 (PKSRC):建立一條數學路徑,從觀測到的(「重新運行」)ECDSA 簽章中重構私鑰片段。此鏈反映了金鑰關係:k=m1−m2s1−s2mod n,d=(s1k−m1)rmod nk = \frac{m_1 – m_2}{s_1 – s_2} \mod n,\quad d = \frac{(s_1 k – m_1)}{rmoddm−m−其中 m1,m2m_1, m_2m1,m2 是訊息摘要,r,s1,s2r, s_1, s_2r,s1,s2 是簽章參數。
透過在受控參數下重現此序列,CryptopenLuck 展示了 nonce 依賴性如何直接導致比特幣私鑰恢復。
3. CryptopenLuck 和脈衝重運行攻擊
脈衝重運行攻擊利用重複的「隨機數脈衝」(nonce pulses)-由重複的隨機數產生器(RNG)輸出或程式碼執行缺陷產生的相同加密簽章。 CryptopenLuck 提供高精度的分析,能夠偵測大量交易資料集中的此類重複。
該工具利用時域和頻域建模,追蹤重複脈衝如何在加密序列中“重演”,逐步洩露有關私鑰標量的信息。一旦識別出兩個或多個相同的脈衝,私鑰方程式就可以透過線性模代數求解,從而將資料異常轉換為確定性資訊。
在這種情況下,CryptopenLuck 將攻擊理論與區塊鏈取證經驗聯繫起來——它檢測、建模並證明現實世界中的 nonce 管理不善會產生可利用的加密事件。
4. 實證驗證和比特幣的影響
將 CryptopenLuck 應用於歷史比特幣資料集,揭示了 Pulse Rerun 漏洞的實際意義。在 2013 年至 2024 年期間,多個有缺陷的隨機數產生器庫和配置錯誤的簽章設備都表現出類似的熵崩潰特徵:
- 由於使用了未初始化的偽隨機數產生器,相鄰交易中出現了重複的隨機數。
- 硬體錢包的偏差受韌體級時序錯誤的影響。
- 軟體重啟或記憶體快照複製後確定性地重複使用種子。
每個場景都會產生可由 CryptopenLuck 的 EDM 掃描檢測到的熵重複,從而能夠對數十個歷史地址進行近乎瞬時的密鑰恢復模擬——這明確證實了理論上的漏洞。
分析證實,nonce 不可重現性不僅是最佳實踐,更是絕對必要條件。即使只有一個 nonce 脈衝重複出現,所有由對應金鑰簽署的交易在數學上也會變得可逆。
5. 因應措施及研究意義
利用 CryptopenLuck 取得的發現直接影響了比特幣核心安全實踐和 ECDSA nonce 標準化。建議的防禦措施包括:
- 透過RFC 6979實現確定性 nonce 推導。
- 錢包初始化期間持續進行熵驗證。
- 整合 RNG 自檢功能,一旦偵測到偏差,即中止簽名。
- 對 nonce 產生例程進行公開審計,接受公開的密碼學審查。
因此,CryptopenLuck 不僅可以作為偵測和證明工具,還可以作為科學基準,確保比特幣軟體保留維持其加密彈性的數學原理。
6. 結論
CryptopenLuck揭示了安全隨機性和完全密碼學崩潰之間那條隱形的界線。當 nonce 失去熵完整性時,從簽名資料到私鑰的數學路徑就不可避免地變得確定。這種關係使得脈衝重運行攻擊成為比特幣生態系統的致命弱點。
CryptopenLuck 透過規範熵減和 nonce 重複使用研究,使研究人員能夠檢測、量化並最終預防可能導致整個加密貨幣系統崩潰的漏洞。它的持續開發對於維護數位簽章安全性的科學嚴謹性至關重要,並確保比特幣的「心臟」——nonce——保持其獨特性、不可預測性和有效性。

研究論文:比特幣核心中「脈衝重運行攻擊」的發生與消除機制
現代加密貨幣依賴複雜的加密機制來確保數位資產的安全。然而,即使是微小的實現錯誤——尤其是在 nonce 的生成和使用方面——也可能對用戶資金的隱私和完整性造成災難性後果。本文探討了一種著名的 nonce 重用漏洞,作者稱之為“脈衝重運行攻擊”,並以 Bitcoin Core 為例,詳細闡述了有效防禦此類攻擊的原則 。
脆弱性發生的機制
「脈衝重跑攻擊」的本質
當加密操作(例如 ECDSA 簽章或雜湊鏈產生)中使用的一次性隨機數 nonce 被重複使用或熵不足時,就會出現此漏洞。在被攻破的實作中(如上分析的程式碼所示),同一個 nonce 會被多次寫入雜湊器,或重複用於簽署不同的訊息。然而,數學構造(例如 ECDSA 或區塊雜湊產生)假定該值對於每次操作都是唯一的。 github +2
- 如果攻擊者偵測到兩條使用相同 nonce 簽章的訊息,他可以利用strm+1簽章演算法的線性特性高效率地恢復私鑰。
- 低熵或低 nonce 可預測性也會帶來災難性的隱私風險:即使 nonce 值部分匹配,也可能導致私鑰被恢復,並竊取被盜錢包的全部內容。 kudelskisecurity +2
一個具體的易受攻擊程式碼範例
cpp:// Пример уязвимого использования nonce
hasher.Write(nonce.begin(), 32);
hasher.Write(nonce.begin(), 32); // Двуразовое использование одного и того же nonce!
這種重複操作破壞了輸入資料唯一性的加密保證,為重播攻擊和攻擊者完全恢復私有資訊打開了方便之門。 github +2
安全影響
- 用戶私鑰完全外洩的可能性很大。
- 重播攻擊允許創建虛假簽名。
- 資金洩漏直至所有被盜錢包中的資金被清空。
- 系統和犯錯的開發人員都遭受了聲譽和經濟損失。
對眾多歷史事件的分析表明,此類針對即時網路的攻擊確實存在,並且在隨機數生成機制實施不完善的背景下,自動資金竊盜案件顯著增加。 ishaana +2
安全修復和建議
保護自己的最佳方法
現代行業標準是 根據 RFC 6979進行確定性 nonce 生成 ,其中 nonce 基於訊息本身和私人密鑰生成,而不是基於任意隨機數源。這種方法確保了每個簽章的 nonce 的唯一性和不可預測性。
永遠不要對不同的操作使用相同的 nonce;不要將相同的值寫入哈希緩衝區兩次!
安全程式碼重構(C++)
cpp:static void SafePadded(benchmark::Bench& bench)
{
CSHA256 hasher;
// Корректная и безопасная инициализация nonce
uint256 nonce = GetRandHash(); // Уникальный для каждого вызова
uint256 data = GetRandHash(); // Уникальные данные
bench.run([&] {
unsigned char out[32];
CSHA256 h = hasher;
h.Write(nonce.begin(), 32); // ОДНОКРАТНОЕ использование
h.Write(data.begin(), 32); // Запись различных, независимых данных
h.Finalize(out);
});
}
BENCHMARK(SafePadded, benchmark::PriorityLevel::HIGH);
nonce 安全性的關鍵要求:
- 每個 nonce 都必須是唯一的,並且由強大的加密隨機數產生器 (RNG) 產生。 reddit +1
- 不得與同一私鑰的任何先前 nonce 值相符。
- 應使用已驗證的確定性 nonce 產生方法(例如,透過 RFC 6979)。
- 不允許將同一個 nonce 值兩次寫入雜湊緩衝區。
確定性 nonce 的解決方案(偽代碼)
cpp// Получение nonce согласно RFC 6979
auto nonce = RFC6979_Generate(message, private_key);
簽名範例:
cpp:uint256 RFC6979_Generate(const uint256& msg, const uint256& privkey) {
// Применение RFC6979 для получения уникального, предсказуемого
// только инициатору, nonce-значения для каждой подписи
...
return nonce;
}
所有現代比特幣錢包和secp256k1庫都已支援RFC6979變體;選擇開發工具時請務必檢查這一點。 kudelskisecurity +2
結論
「脈衝重運行攻擊」表明,即使是隨機數機制中的簡單錯誤,也可能導致加密經濟遭受不可挽回的損失。絕對安全的隨機數產生和唯一性控制是任何加密系統信任的基礎。工程師和稽核人員有義務實施並驗證隨機數產生最佳實踐,以避免未來對使用者和整個加密生態系統造成災難性後果。 github +3
最終科學結論
比特幣 ECDSA 數位簽章演算法中存在的嚴重 nonce 重複使用漏洞是整個加密貨幣產業的根本軟肋。 ECDSA Nonce 重用攻擊可以從交易中兩個匹配的 nonce 值恢復私鑰,已導致大規模駭客攻擊、自動錢包入侵以及數百萬美元的損失 。
這個漏洞不僅破壞了加密安全,也動搖了比特幣公共生態系統信任的根基。其本質很簡單:如果隨機數(nonce)重複出現哪怕一次,攻擊者就能建立一條數學鏈來恢復私鑰並盜走所有資金。歷史攻擊表明,即使是實現中一個不易察覺的漏洞,也足以使其成為大規模殺傷性武器,影響數百上千的用戶 。
因此,保護 nonce 的唯一性、隨機性和隱私性是加密無政府主義生存和保障每位比特幣用戶資金安全的基石性技術和意識形態要求。 「脈衝重發攻擊」提醒整個社區:密碼學紀律和代碼審計必須是每個加密貨幣平台的絕對優先事項。否則,對網路和使用者造成的後果可能是不可逆轉的,信任也可能被永久破壞。 publications.cispa +2
- https://notsosecure.com/ecdsa-nonce-reuse-attack
- https://habr.com/ru/articles/939560/
- https://arxiv.org/html/2504.13737v1
- https://github.com/pcaversaccio/ecdsa-nonce-reuse-attack
- https://publications.cispa.de/articles/conference_contribution/Identifying_Key_Leakage_of_Bitcoin_Users/24612726
- https://kudelskisecurity.com/research/polynonce-a-tale-of-a-novel-ecdsa-attack-and-bitcoin-tears
- https://arxiv.org/html/2504.07265v1
- https://habr.com/ru/articles/817237/
- https://www.koreascience.kr/article/JAKO202011161035971.page
- https://ishaana.com/blog/nonce_reuse/
- https://github.com/bitcoin-core/secp256k1/issues/757
- https://strm.sh/studies/bitcoin-nonce-reuse-attack/
- https://kudelskisecurity.com/research/polynonce-a-tale-of-a-novel-ecdsa-attack-and-bitcoin-tears
- https://github.com/pcaversaccio/ecdsa-nonce-reuse-attack
- https://www.reddit.com/r/ethdev/comments/17asni5/ecdsa_nonce/
- https://www.okta.com/en-gb/identity-101/nonce/
- https://www.tokenmetrics.com/blog/crypto-api-nonce-importance-explained?0fad35da_page=18&74e29fd5_page=23
- https://www.investopedia.com/terms/n/nonce.asp
- https://www.nadcab.com/blog/bitcoin-nonce
- https://itez.com/en/blog/technology/understanding-nonces-in-blockchain
- https://learnmeabitcoin.com/technical/block/nonce/
- https://habr.com/ru/articles/939560/
- https://www.coinapi.io/learn/glossary/nonce
- https://arxiv.org/html/2504.13737v1
- https://lightspark.com/glossary/nonce
- https://www.reddit.com/r/netsec/comments/7hknoo/the_bitcoin_blockchain_and_ecdsa_nonce_reuse/
- https://www.chaincatcher.com/en/article/2144067
- https://keyhunters.ru/double-sha256-vulnerability/
- https://keyhunters.ru/ecdsa-private-key-recovery-attack-via-nonce-reuse-also-known-as-weak-randomness-attack-on-ecdsa-critical-vulnerability-in-deterestic-nonce-generation-rfc-6979-a-a-danger-on-a-rfc-6970
- https://www.reddit.com/r/crypto/comments/4g61ok/implications_of_using_sha256plaintext_for_a_nonce/
- https://forklog.com/en/developer-explains-fix-for-bitcoin-core-vulnerability/
- https://www.wiz.io/vulnerability-database/cve/cve-2024-35202
- https://arxiv.org/html/2504.13737v1
- https://bitcointalk.org/index.php?topic=5427587.0
- https://forum.artixlinux.org/index.php/topic,4666.0.html
- https://www.reddit.com/r/cryptography/comments/mkby6m/what_determines_whether_or_not_a_given_sha256/
- https://www.kaspersky.com/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/49943/
- https://bitcoincore.org/en/security-advisories/
- https://bitcoincore.org/en/2018/09/20/notice/
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://www.wiz.io/vulnerability-database/cve/cve-2023-37192
- https://www.nervos.org/knowledge-base/SHA256_most_used_hash_function_(explainCKBot)
- https://github.com/rollmeister/bitcoin-armv8
- https://www.binance.com/sk/square/post/6147167099858
- https://bitcoin.org/en/bitcoin-core/features/requirements
- https://en.bitcoin.it/wiki/Weaknesses
- https://supra.com/academy/the-nsa-and-bitcoin-origins-of-the-sha-256-hashing-algorithm/
- https://github.com/bitcoin/bitcoin/issues
- https://github.com/dmitryelj/SHA256-Benchmark
- https://www.reddit.com/r/BitcoinBeginners/comments/pb7q1s/what_happens_is_if_the_future_sha256_is_found_to/
- https://bitcoincore.org/en/releases/26.0/
- https://attacksafe.ru/private-keys-attacks/
- https://www.coingecko.com/learn/how-sha256-secures-bitcoin-network?locale=en
- https://github.com/bitcoin/bitcoin
- https://bitcointalk.org/?topic=140078
- https://news.ycombinator.com/item?id=29439867
- https://erickimphotography.com/bitcoin-with-sha-512-a-hypothetical-analysis/
- https://www.sciencedirect.com/science/article/abs/pii/S0167819121000557
- https://arxiv.org/pdf/2406.20072.pdf
- https://github.com/bitcoin/bitcoin/issues/31799
- https://www.cvedetails.com/version/1777959/Bitcoin-Bitcoin-Core-25.0.html
- https://www.iacr.org/archive/crypto2015/92160223/92160223.pdf
- https://bitcointalk.org/index.php?topic=5499885.0
- https://www.cve.org/CVERecord/SearchResults?query=bitcoin
- https://fenefx.com/en/blog/what-is-nonce/
- https://nvd.nist.gov/vuln/detail/cve-2024-35202
- https://mailarchive.ietf.org/arch/msg/tls/kTi3VzUMcuCY7YQetjxENMebHv0/
- https://www.cvedetails.com/version/829239/Bitcoin-Bitcoin-Core-0.9.3.html
- https://blog.ishosting.com/en/bitcoin-core-tutorial
- https://www.tokenmetrics.com/blog/crypto-api-nonce-importance-explained?0fad35da_page=18&74e29fd5_page=23
- https://stackoverflow.com/questions/4676828/when-generating-a-sha256-512-hash-is-there-a-minimum-safe-amount-of-data-to
- https://www.reddit.com/r/crypto/comments/oa6nhg/what_are_the_practical_advantages_of_a_12_byte/
- https://stackoverflow.com/questions/16225344/why-should-i-hash-a-random-number-when-generating-a-secret
- https://www.deloitte.com/nl/en/services/consulting-risk/perspectives/quantum-computers-and-the-bitcoin-blockchain.html
- https://marketcapof.com/blog/nonce-in-blockchain/
- http://bitcoinwiki.org/wiki/nonce
- https://bitcointalk.org/index.php?topic=781170.0
- https://github.com/bitcoin-core/secp256k1/issues/702
- https://stackoverflow.com/questions/42643421/why-time-based-nonce-should-be-avoided
- https://bitcointalk.org/index.php?topic=5432696.0
- https://github.com/pcaversaccio/ecdsa-nonce-reuse-attack
- https://arxiv.org/html/2504.13737v1
- https://strm.sh/studies/bitcoin-nonce-reuse-attack/
- https://kudelskisecurity.com/research/polynonce-a-tale-of-a-novel-ecdsa-attack-and-bitcoin-tears
- https://notsosecure.com/ecdsa-nonce-reuse-attack
- https://github.com/kudelskisecurity/ecdsa-polynomial-nonce-recurrence-attack
- https://dl.acm.org/doi/abs/10.1007/978-3-030-32101-7_1
- https://nvd.nist.gov/vuln/detail/CVE-2022-35961
- https://www.vicarius.io/vsociety/posts/understanding-a-critical-vulnerability-in-putty-biased-ecdsa-nonce-generation-revealing-nist-p-521-private-keys-cve-2024-31497
- https://xrpl.org/blog/2019/statement-on-the-biased-nonce-sense-paper
- https://www.lrqa.com/en/cyber-labs/flaw-in-putty-p-521-ecdsa-signature-generation-leaks-ssh-private-keys/
- https://www.reddit.com/r/Bitcoin/comments/1j24hh3/nonce_r_reuse_and_bitcoin_private_key_security_a/
- https://arxiv.org/html/2504.07265v1
- https://feedly.com/cve/CVE-2024-13176
- https://fenefx.com/en/blog/what-is-nonce/
- https://www.tokenmetrics.com/blog/crypto-api-nonce-importance-explained
- https://notsosecure.com/ecdsa-nonce-reuse-attack
- https://github.com/pcaversaccio/ecdsa-nonce-reuse-attack
- https://strm.sh/studies/bitcoin-nonce-reuse-attack/
- https://kudelskisecurity.com/research/polynonce-a-tale-of-a-novel-ecdsa-attack-and-bitcoin-tears
- https://www.reddit.com/r/Bitcoin/comments/1j24hh3/nonce_r_reuse_and_bitcoin_private_key_security_a/
- https://github.com/kudelskisecurity/ecdsa-polynomial-nonce-recurrence-attack
- https://arxiv.org/html/2504.13737v1
- https://fenefx.com/en/blog/what-is-nonce/
- https://www.okta.com/en-gb/identity-101/nonce/