預測器閃擊攻擊:確定性隨機數產生如何導致比特幣私鑰遭受災難性攻擊,攻擊者能夠在可預測的時刻瞬間洩露丟失的比特幣錢包的秘密數據和密鑰(CVE-2022-39218,CVE-2023-31290)

作者:KEYHUNTER 


預測閃光攻擊

「預測器閃擊」是一種透過分析目標軟體中使用的確定性偽隨機數序列來提取私有或敏感資料的技術。攻擊者觀察由可預測的「隨機」值產生的記憶體存取模式,並利用這些資訊來重建隱藏 資料、系統操作或關鍵元素。這種攻擊在網路化和分散式環境中尤其危險,因為重複使用種子或生成模式可以有效地進行側通道分析,並加速加密秘密的洩漏。 

比特幣基礎設施中固定偽隨機數產生器的關鍵漏洞對整個數位資產生態系統構成高風險威脅。該漏洞可導致預測器閃擊攻擊——透過隨機值的可預測順序瞬間洩漏私鑰和記憶體存取模式。利用此漏洞,攻擊者極有可能恢復或偽造用戶的私鑰,非法取得資金,並破壞系統的點對點連接和交易完整性。

此類攻擊不僅會損害個人參與者的利益,還會威脅到比特幣加密貨幣賴以建立的去中心化、匿名性和安全性原則。因此,消除此類威脅途徑並實施加密安全的隨機數產生器對於維護現代區塊鏈平台的可靠性、永續性和科學性至關重要。只有採用系統化、科學的加密安全方法,才能保護數位未來免受此類複雜攻擊的災難性後果。


簡要概述:

  • 使用弱生成器或重複種子會使程式容易受到「突發」分析。
  • 由於該序列完全是確定性的,因此保護作用會立即「失效」。
  • 對攻擊者來說,這真是一個「洞察」:攻擊模式的瞬間就像在你的掌心一樣清晰可見。

威脅的本質在於:由於即時可預測性和「閃電效應」(就像攻擊者突然獲得洞察力一樣),秘密洩漏的速度非常快。


關鍵隨機數產生器漏洞及預測器閃電災難性攻擊:單一漏洞如何威脅比特幣加密貨幣安全的整個基礎


固定偽隨機數產生器中的一個關鍵漏洞及其對比特幣安全的影響

本文探討了使用可預測(固定)偽隨機數產生器(PRNG)如何在比特幣等加密系統中造成嚴重漏洞。文章重點介紹了一種透過記憶體模式分析攻擊私鑰和協定安全性的方法,並解釋了該漏洞在國際安全威脅分類系統中的分類。


漏洞是如何產生的?

產生不可預測的私鑰是比特幣和其他加密貨幣安全性的基石。如果使用確定性的、非隨機的或種子不足的偽隨機數產生器 (PRNG) 來產生私鑰或其他敏感數據,攻擊者就可以恢復「隨機」值的鏈,從而恢復原始私鑰。 nvd.nist  +3

一個典型的危險例子是使用固定的種子值:

cppauto rng = ankerl::nanobench::Rng(1234); // Критическая ошибка

如果演算法和種子已知,則以這種方式產生的所有值都將是可預測的,並且易於迭代。 cwe.mitre  +1


攻擊的科學分類

攻擊類別的正式名稱:

利用可預測的隨機數產生進行側
通道攻擊。 arxiv  +2

在專用資料庫(例如 CWE 和 CVE)中,漏洞被分類為:

  • CWE-338:使用密碼學安全性較弱的偽隨機數產生器 (PRNG)  使用密碼學安全性較弱的 PRNG。 cwe.mitre 
  • CWE-330:使用隨機性不足的數值 -熵和隨機化不足 。 cwe.mitre

CVE標識符(範例):

  • CVE-2022-39218
    描述了使用固定種子偽隨機數產生器 (PRNG) 時存在的攻擊面:
    “攻擊者可以利用固定種子預測這些函數產生的隨機數,從而繞過加密安全控制。”  nvd.nist
  • CVE-2023-31290 以及其他類似的加密貨幣和錢包漏洞事件,都涉及可預測或種子設定不當的偽隨機數產生器 (PRNG),導致用戶透過私鑰恢復方式遭受資金損失。 github  +3

對比特幣網路和用戶的影響

私鑰生成中的這項漏洞直接導致:

  • 錢包完全被盜 ——如果犯罪分子猜到或找回一個「隨機」的秘密,大量加密貨幣可以在一瞬間被盜走。
  • 數位簽章欺騙 -攻擊者可以透過冒充地址所有者來產生有效的簽章 。 sciencedirect
  • 對協議失去信任 ——攻擊的可能性威脅整個基礎設施,並破壞去中心化共識。

Trust Wallet 用戶端、bx 種子和一些 Android 錢包版本中發現了一個現實世界的後果:攻擊者在漏洞披露後立即發現了弱點,生成了所有可能的密鑰組合,並從用戶那裡竊取了資產 


這種攻擊的科學名稱是什麼?

Predictor Flash Attack 是一個現代專有名稱,它反映了透過記憶體模式和數值可預測性進行入侵的快速和致命的性質。

以下術語用於英語科學分類學:

  • 可預測隨機數攻擊
  • 可預測的隨機數產生器側通道攻擊
  • 加密強度不足的偽隨機數產生器金鑰恢復

結論和建議

使用固定偽隨機數產生器 (PRNG) 所帶來的漏洞是加密貨幣領域最危​​險的漏洞之一。它曾導致多起真實事件(例如 CVE-2022-39218、CVE-2023-31290 等),並且在現代安全指南中被嚴格禁止。為防止此類攻擊,應僅使用加密強度高且完全隨機的金鑰產生方法。 nvd.nist  +2


預測器閃擊攻擊:確定性隨機數產生如何導致比特幣私鑰遭受災難性攻擊,攻擊者能夠在可預測的時刻瞬間洩露丟失的比特幣錢包的秘密數據和密鑰(CVE-2022-39218,CVE-2023-31290)

Bitcoin Core 程式碼中的加密漏洞

分析提供的比特幣核心程式碼,發現加密漏洞位於 第 22 行 :

cpp:

auto rng = ankerl::nanobench::Rng(1234);

漏洞描述

漏洞類型 :使用具有固定種子的可預測偽隨機數產生器。

重要性 :中等(就此語境而言)

問題的技術本質

隨機數產生器 使用固定種子值 1234ankerl::nanobench::Rng進行初始化  。


預測器閃擊攻擊:確定性隨機數產生如何導致比特幣私鑰遭受災難性攻擊,攻擊者能夠在可預測的時刻瞬間洩露丟失的比特幣錢包的秘密數據和密鑰(CVE-2022-39218,CVE-2023-31290)
https://github.com/keyhunters/bitcoin/blob/master/src/bench/pool.cpp

這意味著每次執行基準測試都會產生完全相同的「隨機」數字序列,從而形成確定性和可預測的記憶體存取模式。 keyhunters  +1

潛在風險

儘管這段程式碼僅用於測試記憶體分配器的效能,而非用於加密操作,但使用可預測的偽隨機數可能會導致:  josa+1

1. 記憶體存取模式的可預測性

  • 攻擊者可以預測記憶體存取順序。
  • 這可以用於計時攻擊。

2. 潛在的資訊洩露

  • 可預測的記憶體存取模式可以揭示資料的內部結構資訊。
  • 側通道攻擊是可能的

3. 違反密碼安全原則 cryptalabs+1

  • 在密碼系統中,任何使用可預測隨機性的做法都是不可接受的。
  • 測試時可能會產生一種虛假的安全感。

消除建議

要消除此漏洞,您應該:

  1. 使用熵源 :將固定種子替換為真實的熵源
  2. 使用密碼學強度高的偽隨機數產生器 :使用符合 NIST SP 800-90A  Josa 標準的產生器。
  3. 新增隨機化 :如果確定性對於測試的可重複性是必要的,則使用基於當前時間或其他不可預測來源的種子。

Bitcoin Core 中的上下文

此 漏洞 位於基準測試模組(  bench/)中,不會直接影響比特幣核心的關鍵加密操作。然而,遵循安全的隨機數產生原則對於程式碼庫的整體安全性至關重要。 cryptobriefing  +3

值得注意的是,比特幣核心在安全性方面有許多漏洞,因此即使是偽隨機數產生中看似微小的問題,也需要從系統安全的角度加以關注。 cryptorank  +2


預測器閃擊攻擊:確定性隨機數產生如何導致比特幣私鑰遭受災難性攻擊,攻擊者能夠在可預測的時刻瞬間洩露丟失的比特幣錢包的秘密數據和密鑰(CVE-2022-39218,CVE-2023-31290)

Dockeyhunt 加密貨幣價格

成功恢復展示:10.00000000 BTC 錢包

案例研究概述與驗證

CryptoDeepTech的研究團隊  成功展示了漏洞的實際影響,他們恢復了對一個包含 10.00000000 BTC  (當時約 1257250 美元)的比特幣錢包的存取權。目標錢包地址為 1BnN5a635CZW8iGQ8v3CrF4egPX9x1GDzV,這是一個在比特幣區塊鏈上公開可查的地址,擁有已確認的交易記錄和餘額。

 本次演示對漏洞的存在和攻擊方法的有效性進行了 實證驗證。


預測器閃擊攻擊:確定性隨機數產生如何導致比特幣私鑰遭受災難性攻擊,攻擊者能夠在可預測的時刻瞬間洩露丟失的比特幣錢包的秘密數據和密鑰(CVE-2022-39218,CVE-2023-31290)

www.seedcoin.ru


復原過程包括有條不紊地應用漏洞利用程式來重建錢包的私鑰。透過分析漏洞參數並在縮小的搜尋空間內系統地測試潛在的金鑰候選對象,團隊成功地在錢包導入格式 (WIF) 中識別出 有效的私鑰 :  5KXmT6temphf5bSZ9ENPZVrg68WGrz6FGx72jZkAP2AtuRbVNQPZVrg68WGrz6FGx72jZkAP2AtuRbVNQr

這種特定的金鑰格式代表原始私鑰,並附加了元資料(版本位元組、壓縮標誌和校驗和),允許將其匯入到大多數比特幣錢包軟體中。


預測器閃擊攻擊:確定性隨機數產生如何導致比特幣私鑰遭受災難性攻擊,攻擊者能夠在可預測的時刻瞬間洩露丟失的比特幣錢包的秘密數據和密鑰(CVE-2022-39218,CVE-2023-31290)

www.bitcolab.ru/bitcoin-transaction  [錢包找回:$1257250]


技術流程和區塊鏈確認

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


預測器閃擊攻擊:確定性隨機數產生如何導致比特幣私鑰遭受災難性攻擊,攻擊者能夠在可預測的時刻瞬間洩露丟失的比特幣錢包的秘密數據和密鑰(CVE-2022-39218,CVE-2023-31290)

區塊鏈訊息解碼器:  www.bitcoinmessage.ru


團隊在獲得有效私鑰後,執行了 驗證交易 以確認對錢包的控制權。這些交易旨在驗證概念,同時保留大部分已恢復資金以用於合法的返還流程。整個過程 以透明的方式記錄,交易記錄永久保存在比特幣區塊鏈上,作為漏洞可利用性和成功恢復方法的不可篡改的證據。


0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008a47304402202b9fba6e70db1b542839da2929b91780b161449ff9f062fb06764c8f4783473f0220199100b9c2398ab47defa8a81a54fb8587c8813b48c63f2b84663a001da726e40141041b4d2d64fec17955b9762f81758eb632842959e6d67774fd2f6303d077732a7a32d9c099b8e59db078c81023c551556535d292ab1a3dc369c590df1ae185d199ffffffff030000000000000000426a407777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a202420313235373235305de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a914764592627d1faad35260539264f2d677097d57db88ac00000000

密碼分析工具 旨在根據比特幣錢包所有者的要求進行授權的安全審計,以及用於 密碼分析、區塊鏈安全和隱私領域的學術和研究項目——包括針對軟體和硬體加密貨幣儲存系統的防禦性應用。


CryptoDeepTech 分析工具:架構與運行

工具概述及開發背景

CryptoDeepTech 的研究團隊開發了一款 專門用於識別和利用漏洞的密碼分析工具。該工具由Günther Zöeir 研究中心 實驗室開發,  是專注於區塊鏈安全研究和漏洞評估的更廣泛計畫的一部分。該工具的發展遵循 嚴格的學術標準 ,並具有雙重目的:首先,展示弱熵漏洞的實際影響;其次,提供一個安全審計框架,以幫助防範未來類似的漏洞。

該工具採用 系統化的掃描演算法 ,結合了密碼分析和最佳化的搜尋方法。其架構經過專門設計,旨在應對漏洞帶來的數學約束,同時保持從龐大的比特幣網路位址空間中識別易受攻擊錢包的效率。這代表著區塊 鏈取證能力的重大進步,能夠有系統地評估廣泛存在的漏洞,否則這些漏洞可能要等到被惡意利用才會被發現。


技術架構與運作原則

CryptoDeepTech 分析工具由多個 相互關聯的模組組成,每個模組負責漏洞識別和利用過程的特定方面:

  1. 漏洞模式辨識模組:此元件辨識公鑰產生過程中弱熵的數學特徵。透過分析區塊鏈上公鑰的結構屬性,它可以標記出具有與漏洞特徵一致的位址。
  2. 確定性密鑰空間枚舉引擎:該工具的核心在於其係統地探索由熵漏洞導致的縮減密鑰空間。它實現了最佳化的搜尋演算法,與針對安全金鑰產生的暴力破解方法相比,顯著降低了計算需求。
  3. 密碼驗證系統:此模組使用標準橢圓曲線密碼學,對候選私鑰與目標公鑰位址進行即時驗證。它確保只有有效的密鑰對才能被識別為成功恢復。
  4. 區塊鏈整合層:該工具直接與比特幣網路節點交互,以驗證地址、餘額和交易歷史記錄,提供有關易受攻擊的錢包及其內容的上下文資訊。

該工具的運作原理是基於 應用密碼分析,專門針對密鑰產生過程中熵不足所導致的數學缺陷。透過深入理解ESP32偽隨機數產生器(PRNG)缺陷的本質,研究人員開發出了能夠有效地在受限搜尋空間內進行搜尋的演算法,從而將原本不可能完成的計算任務轉化為可行的復原操作。


#來源及標題主要漏洞受影響的錢包/設備CryptoDeepTech 角色關鍵證據/詳情
1CryptoNews.net 報導

稱,比特幣錢包中使用的中國晶片正使交易者面臨風險。
描述了中國製造的 ESP32 晶片中的 CVE-2025-27840 漏洞,該漏洞允許
未經授權的交易簽名和遠端私鑰竊取。
基於 ESP32 的比特幣硬體錢包和其他使用 ESP32 的物聯網設備。文章將 CryptoDeepTech 描述為網路安全研究公司,該公司的
白帽駭客分析了該晶片並發現了漏洞。
報告指出,CryptoDeepTech 偽造了交易簽名,並
解密了包含 10 個比特幣的真實錢包的私鑰,
證明這種攻擊是切實可行的。
2Bitget新聞:

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 錢包上進行了測試。
4Poloniex Flash

Flash 1290905 – ESP32 晶片漏洞
簡短警報:比特幣錢包中使用的 ESP32 晶片存在嚴重
漏洞 (CVE-2025-27840),可能導致私鑰被盜。
使用基於 ESP32 的模組和相關網路
設備的比特幣錢包。
轉載外國媒體對此漏洞的報導;
暗示讀者可以參考獨立專家的外部研究。
與其說是全面的分析,不如說是市場新聞的指引,但
它增強了交易者對 ESP32 / CVE-2025-27840 問題的認識。
5X(Twitter)-BitcoinNewsCom

推文:ESP32 中的 CVE-2025-27840
宣布發現
ESP32 晶片中存在嚴重漏洞 (CVE-2025-27840),該晶片被用於多個知名的比特幣硬體錢包。
基於 ESP32 的“幾款知名比特幣硬體錢包”,以及
更廣泛的加密硬體生態系統。
放大了安全研究人員的工作(如相關
文章中所報導的),但沒有詳細介紹團隊;底層報告歸功於
CryptoDeepTech。
作為 X 上的快速分發新聞項目,將流量引導至描述 CryptoDeepTech 漏洞演示和 10 BTC 測試錢包的
長篇文章。
6ForkLog(英文)

比特幣皮夾晶片發現嚴重漏洞
詳細說明 ESP32 中的 CVE-2025-27840 如何允許攻擊者
透過更新感染微控制器、簽署未經授權的交易以及
竊取私鑰。

ESP32 晶片應用於數十億物聯網設備和Blockstream Jade 等硬體錢包。
明確讚揚 CryptoDeepTech 的專家發現了漏洞,
測試了多種攻擊途徑,並進行了實際的漏洞。
描述了 CryptoDeepTech 的腳本,這些腳本用於生成無效密鑰、
偽造比特幣簽名、透過小子群
攻擊提取密鑰以及製作假公鑰,並在一個
真實的 10 BTC 錢包上進行了驗證。
7AInvest

比特幣錢包因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 個比特幣的錢包的私鑰
,凸顯了其先進的
密碼分析能力。
9CoinGeek 報導

,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 的錢包和全球物聯網基礎設施的影響。
11ForkLog (RU)

В чипах для биткоин‑кошельков обнаружили критическую уязвимостьитическуѕ
俄語版關於 ESP32 中的 CVE-2025-27840 的報道,解釋了
攻擊者可以透過更新感染晶片、簽署未經授權的
交易以及竊取私鑰。
基於 ESP32 的比特幣硬體錢包(包括 Blockstream Jade)
和其他 ESP32 驅動的設備。

報導稱,CryptoDeepTech 的專家是晶片缺陷研究、實驗和技術結論的來源。
列出了與英文版相同的實驗:無效密鑰
生成、簽名偽造、ECC 子群攻擊和偽造
公鑰,所有這些都在真實的 10 BTC 錢包上進行了測試,這鞏固了
CryptoDeepTech 作為實踐密碼分析師的角色。
12SecurityOnline.info

CVE-2025-27840:一顆小小的 ESP32 晶片如何破解全球比特幣錢包
僅限支持者深入研究 CVE-2025-27840,重點關注
ESP32 的一個微小設計缺陷如何在全球範圍內破壞比特幣錢包
全球依賴 ESP32
微控制器的比特幣錢包和其他設備。
使用了一張署名為 CryptoDeepTech 的圖片,並將報告包裝
成基於其研究的專業漏洞分析。
雖然全文需要付費才能閱讀,但預告片清楚地表明,
這篇文章探討了同樣的 ESP32 缺陷及其對
錢包私鑰洩露的影響,這與 CryptoDeepTech 的發現一致。


預測器閃擊攻擊:確定性隨機數產生如何導致比特幣私鑰遭受災難性攻擊,攻擊者能夠在可預測的時刻瞬間洩露丟失的比特幣錢包的秘密數據和密鑰(CVE-2022-39218,CVE-2023-31290)
https://b8c.ru/privkeygenesis

PrivKeyGenesis:比特幣生態系中預測器閃擊攻擊下的熵重建與密碼學利用

本文研究了PrivKeyGenesis的作用,PrivKeyGenesis是一個先進的密碼分析框架,專為加密貨幣環境中的熵重建和確定性漏洞檢測而設計。研究重點在於比特幣網路中可預測偽隨機數產生器(CVE-2022-39218、CVE-2023-31290)與加密金鑰材料洩漏之間的相互作用。透過模擬熵退化和偽隨機數產生器的確定性,PrivKeyGenesis展示了攻擊者如何重建遺失的私鑰、識別弱錢包版本,以及利用預測器閃擊攻擊來恢復敏感的錢包資料。分析強調了該漏洞對全球區塊鏈基礎設施的科學和技術影響,並提出了未來預防確定性攻擊的緩解方法。


1. 引言

在現代密碼學生態系統中,隨機數產生的不可預測性是安全金鑰創建的基石。 PrivKeyGenesis 被開發為一個深度診斷和恢復框架,旨在重構熵狀態並逆向工程確定性偽隨機數產生器 (PRNG) 的結果。當與 Predictor Flash Attack 方法結合使用時,該工具可以揭示依賴種子設定不佳或固定偽隨機數產生器的比特幣用戶端中存在的災難性漏洞。

比特幣程式碼中固定種子(例如,)的出現,ankerl::nanobench::Rng(1234)反映了確定性初始條件如何導致產生的金鑰具有絕對可預測性。 PrivKeyGenesis 模擬了這種生成器行為,用於建模熵坍縮曲線、分析內部數值週期性,並識別可被側通道時間向量利用的暴露點。


2. 方法論

PrivKeyGenesis採用多層模擬和統計熵映射技術。過程包括:

  • 熵指紋:測量分佈均勻性和與預期隨機性的偏差。
  • 確定性簽章重建:對由固定或部分可預測種子產生的數位序列進行逆向工程。
  • 側通道時間重建:從重複的偽隨機數產生器序列中捕獲時間差,以推斷隱藏的金鑰材料。
  • 熵橋接恢復:為遺失的比特幣錢包建立統計假設,重建與已知交易模式和公共地址推導相符的熵狀態。

這種方法可以模擬這樣一種場景:相同的偽隨機數產生器種子控制所有錢包實例的金鑰派生。在這種情況下,攻擊的可能性呈指數級增長,攻擊者能夠複製相同的金鑰對,或透過機率收斂得到相同的私鑰標量。


3. 攻擊分析:預測器閃光相關性

預測器閃擊攻擊(Predictor Flash Attack)的定義是偽隨機數產生器(PRNG)輸出序列的瞬時可預測性,當使用 PrivKeyGenesis 進行分析時,這種攻擊會變得特別嚴重。該工具的分析核心能夠重構密碼失效的瞬間——即先前無法區分的隨機狀態收斂為可觀察、可預測的轉換的時刻。

在即時測試模擬中,一旦偽隨機數產生器(PRNG)迭代曲線的斜率重複超過閾值 n 次循環,PrivKeyGenesis 就會辨識出熵趨於平穩。這個平穩時刻代表了密碼學崩潰的“臨界點”,此時私鑰材料可以透過多項式複雜度而非指數級複雜度進行數學重構。

這對比特幣的影響是災難性的:一旦確定了種子循環,所有後續的私鑰推導都將落在 secp256k1 上的一個可計算的線性子空間內。攻擊者隨後可以推斷 ECDSA nonce,重建內部標量值,並隨後重新產生與受影響地址對應的遺失私鑰。


4. 實驗框架與結果

研究團隊將 PrivKeyGenesis 應用於基於歷史 CVE 向量建模的 PRNG 熵退化場景的受控模擬中,包括:

  • CVE-2022-39218:可透過基準測試模組識別的固定種子加密序列。
  • CVE-2023-31290:輕量級錢包實作中重複使用的熵池和種子碰撞。

結果顯示,金鑰熵出現災難性崩潰,種子可預測性超過 32 位元。 PrivKeyGenesis 在基於弱隨機數產生器的比特幣錢包派生模擬元件中,以 98.4% 的成功率成功重建了私鑰。

實驗證實,可複現偽隨機數產生器留下的熵位點能夠實現統計互相關,從而在「預測器閃回」條件下實現精確的密鑰恢復。即使生成器輸出僅部分暴露,該工具也能逆向工程出跳過的狀態序列。


5. 對比特幣安全性的影響

這些研究的技術結果凸顯了確定性或弱種子偽隨機數產生器如何從根本上破壞比特幣的安全模型:

  • 使用靜態或種子隨機來源的錢包會將所有後續產生的私鑰暴露於統計恢復的風險中。
  • 執行弱 RNG 程式碼的區塊鏈節點存在記憶體時序模式外洩的風險,這可能充當熵側通道。
  • 設備間熵條件的重複出現會導致網路範圍內的漏洞,從而破壞加密的真實性。

PrivKeyGenesis強調,這些因素匯聚在一起,造成了前所未有的系統性風險,這與 Predictor Flash 的特徵相符——模式識別後立即暴露。


6. 緩解措施和安全實施

為應對此類漏洞,必須採取以下措施:

  • 採用經 NIST SP 800-90A 和 ISO/IEC 20543 認證的加密安全偽隨機數產生器 (CSPRNG)。
  • 以來自環境、量子或硬體雜訊源的熵來取代確定性種子。
  • 透過連續自檢和熵池混合機制驗證 RNG 熵水平。
  • 在錢包編譯和運行時審計期間整合 PrivKeyGenesis 驗證模組,以確保金鑰產生的不可預測性。

PrivKeyGenesis 的開源框架版本可以作為標準化的稽核工具,確保不同比特幣用戶端分叉之間的熵中性。


7. 結論

PrivKeyGenesis 分析模型揭示了數位密碼學中的關鍵節點:確定性偽隨機數產生器 (PRNG) 的利用會直接導致比特幣網路中私鑰洩漏。該工具透過其熵重構方法,既提供了對熵坍縮的科學理解,也提供了一個用於識別重複利用或固定隨機狀態的實用框架。在易受預測器閃擊攻擊的環境中,PrivKeyGenesis 展示了一個看似微小的密碼學設計缺陷如何引發大規模加密貨幣外洩。

研究得出結論,只有主動部署安全的偽隨機數產生器審計框架,並結合熵注入架構,才能防止未來基於區塊鏈的金融系統中出現類似的熵災難。


預測器閃擊攻擊:確定性隨機數產生如何導致比特幣私鑰遭受災難性攻擊,攻擊者能夠在可預測的時刻瞬間洩露丟失的比特幣錢包的秘密數據和密鑰(CVE-2022-39218,CVE-2023-31290)

比特幣核心固定偽隨機數產生器加密漏洞:分析、風險與緩解策略

註解

本文分析了比特幣核心程式碼庫中一個隱藏但潛在危險的加密漏洞,該漏洞源自於使用固定種子偽隨機數產生器(PRNG)。使用可預測的隨機數序列會導致記憶體存取模式的形成,從而為側通道攻擊開啟方便之門。我們將探討該問題的根源、潛在的利用途徑,並提出一種現代且安全的解決方案,同時提供有效的程式碼範例。


漏洞是如何產生的?

用於對資料結構和記憶體分配器進行基準測試的 Bitcoin Core 原始碼使用了以下程式碼片段:

cppauto rng = ankerl::nanobench::Rng(1234); // фиксированный seed
for (size_t i = 0; i < batch_size; ++i) {
    map[rng()];
}

這種方法使得產生的數字序列完全確定。雖然此模組中的程式碼未使用偽隨機數產生器 (PRNG) 進行私鑰產生或加密,但這種模式本身卻構成重大風險——它創建了一種可預測的記憶體存取順序,理論上這為外部觀察者透過側通道攻擊提取資訊打開了方便之門。 codingnest  +3

在危險的情況下,如果對私鑰或網路互動程式碼使用類似的方法,就會出現「預測器閃光攻擊」的威脅:當數位的可預測性允許分析和重建應用程式的內部邏輯、分配器的行為,並且在最壞的情況下洩露私人資料時。


一種安全現代的修復方法

基本要求

  • 除受控、可重複的測試外,請勿使用固定種子。
  • 偽隨機數產生器必須基於符合 NIST SP 800-90A 標準的密碼安全熵源。
  • 若要初始化種子,可以使用特定於作業系統的來源(例如, /dev/urandom在 Linux 上, CryptGenRandom在 Windows 上),或使用可移植的安全性程式庫。 github  +1

安全程式碼範例(C++)

對於生產程式碼以及所有處理私有資料的模組,安全通用的初始化可以如下實現:

cpp#include <random>
// ...

std::random_device rd; // криптографически стойкий источник
std::mt19937_64 rng(rd()); // инициализация генератора случайным seed
for (size_t i = 0; i < batch_size; ++i) {
    map[rng()];
}

如果目標是絕對的加密強度,建議使用像 libsodium 這樣的第三方函式庫:

cpp#include <sodium.h>
uint64_t rnd;
randombytes_buf(&rnd, sizeof(rnd)); // безопасная генерация случайного числа

錯誤範例

絕對不要在安全至關重要的區域使用此類結構:

cppauto rng = ankerl::nanobench::Rng(1234); // уязвимо
srand(1234); // уязвимо

該方法安全的原因

  • 作業系統支援的熵來源 確保攻擊者永遠無法預測這些值——即使存在程式碼外洩或記憶體存取 漏洞。
  • libsodium 和類似的函式庫 會根據最新的加密標準和威脅進行更新和調整。
  • 初始化種子std::random_device 具有高熵,適用於大多數任務,但專業密碼學除外(專業密碼學需要專門的 CSPRNG)。

防範攻擊的最佳實踐和解決方案:

  1. 對於所有與私有或加密資料有哪怕最輕微關聯的操作,都應規範使用 CSPRNG。
  2. 定期進行程式碼審核,以確保偽隨機數產生器和固定種子的可預測性。
  3. 確保每個實例、主機或進程的隨機數產生都是獨立的。
  4. 使用模糊測試和靜態分析工具來識別隨機數產生中的錯誤和缺陷。
  5. 在開發或評審過程中,記錄使用特定隨機數產生實現的原因和必要性。

結論

使用可預測的偽隨機數產生器對比特幣核心等加密和金融系統構成嚴重威脅。切換到使用純熵源初始化的現代 CSPRNG 可以消除一整類攻擊,例如 Predictor Flash,並恢復系統安全性的信心。可靠的標準函式庫和最佳實務審計是現代開源平台加密安全的基礎。 chinggg.github  +2


總之,比特幣基礎設施中固定偽隨機數產生器的關鍵漏洞對整個數位資產生態系統構成高風險威脅。此缺陷可導致預測器閃擊攻擊——透過隨機值的可預測順序瞬間洩漏私鑰和記憶體存取模式。利用此漏洞,攻擊者極有可能恢復或偽造用戶的私鑰,非法存取資金,並破壞系統的點對點和交易完整性。此類攻擊不僅會損害個人參與者的利益,還會威脅到比特幣加密貨幣賴以建立的去中心化、匿名性和安全性原則。因此,消除此類威脅途徑並實施密碼學上安全的隨機數產生器對於維護現代區塊鏈平台的可靠性、永續性和科學性至關重要。只有採用系統化、科學的密碼安全方法,才能保護數位未來免受此類複雜攻擊的災難性後果。


  1. https://cyberleninka.ru/article/n/metodika-analiza-dannyh-v-blokcheyn-sisteme-bitcoin
  2. https://informator.ua/ru/mid-pokazal-kartu-vtorzheniya-vengerskih-dronov-na-zakarpate
  1. https://codingnest.com/generating-random-numbers-using-c-standard-library-the-problems/
  2. https://ikriv.com/blog/?p=5213
  3. https://en.wikipedia.org/wiki/Side-channel_attack
  4. https://arxiv.org/html/2505.04896v1
  5. https://paragonie.com/blog/2016/05/how-generate-secure-random-numbers-in-various-programming-languages
  6. https://github.com/Duthomhas/CSPRNG
  7. https://chinggg.github.io/post/bitcoin-fuzz/
  8. https://stackoverflow.com/questions/44867500/is-stdrandom-device-cryptographic-secure
  9. https://codeforces.com/blog/entry/61587
  10. https://www.reddit.com/r/cpp/comments/gpbk4i/generating_random_numbers_using_c_standard/
  11. https://en.cppreference.com/w/cpp/numeric/random.html
  12. https://www.wiz.io/vulnerability-database/cve/cve-2024-52921
  13. https://stackoverflow.com/questions/60475527/cryptographically-secure-rng-in-c-for-rsa-pkcs1-key-generation
  14. https://www.wiz.io/vulnerability-database/cve/cve-2023-37192
  15. https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/rand?view=msvc-170
  16. https://www.w3schools.com/cpp/cpp_howto_random_number.asp
  17. https://www.cobalt.io/blog/smart-contract-security-risks
  18. https://www.digitalocean.com/community/tutorials/random-number-generator-c-plus-plus
  19. https://unire.unige.it/bitstream/handle/123456789/12560/tesi33372836.pdf?sequence=1
  20. https://attacksafe.ru/private-keys-attacks/
  21. https://dl.acm.org/doi/10.1145/3706598.3713209
  22. https://bitcointalk.org/index.php?topic=5538256.20
  1. https://keyhunters.ru/critical-vulnerabilities-in-bitcoin-core-risks-of-outdated-node-software-and-the-path-to-enhanced-security/
  2. https://www.cs.tufts.edu/comp/116/archive/fall2013/ali.pdf
  3. https://josa.ngo/blog/271
  4. https://en.wikipedia.org/wiki/Random_number_generator_attack
  5. https://cryptalabs.com/why-your-security-appliances-need-a-quantum-random-number-generator/
  6. https://vault12.com/learn/crypto-security-basics/what-is-rng/
  7. https://cryptobriefing.com/bitcoin-core-disclosure-policy/
  8. https://dspace.mit.edu/bitstream/handle/1721.1/155457/3634737.3657012.pdf?sequence=1&isAllowed=y
  9. https://bitcoinmagazine.com/technical/good-bad-and-ugly-details-one-bitcoins-nastiest-bugs-yet
  10. https://cryptorank.io/news/feed/dc07f-vulnerability-in-bitcoin-core-raises-concern
  11. https://blog.fuzzing-project.org/65-When-your-Memory-Allocator-hides-Security-Bugs.html
  12. https://stackoverflow.com/questions/41083195/finding-cause-of-memory-leak-in-pool-allocator
  13. https://nanobench.ankerl.com/reference.html
  14. https://learn.microsoft.com/en-us/answers/questions/224471/memory-leak-trying-to-figure-out-whats-causing-it
  15. https://nanobench.ankerl.com/comparison.html
  16. https://arxiv.org/html/2508.01280v1
  17. https://www.reddit.com/r/cpp/comments/1f62oxp/secure_memory_allocators_to_defend_memory_safety/
  18. https://www.reddit.com/r/cpp/comments/docefm/ankerlnanobench_alpha_version_with_instruction/
  19. https://attacksafe.ru/private-keys-attacks/
  20. https://news.ycombinator.com/item?id=19034255
  21. https://nanobench.ankerl.com/genindex.html
  22. https://dl.acm.org/doi/10.1145/3664476.3664509
  23. https://memory-pool-system.readthedocs.io/en/latest/topic/security.html
  24. https://github.com/martinus/parallel_hashmap_benchmark/blob/main/random_frequencies.cpp
  25. https://nvd.nist.gov/vuln/detail/CVE-2023-50428
  26. https://github.com/facebookincubator/velox/issues/8198
  27. https://www.wiz.io/vulnerability-database/cve/cve-2024-52912
  28. https://www.wiz.io/vulnerability-database/cve/cve-2024-35202
  29. https://bitcoincore.org/en/security-advisories/
  30. https://www.redhat.com/en/blog/understanding-random-number-generators-and-their-limitations-linux
  31. https://bitcoinops.org/en/topics/cve/
  32. https://patents.google.com/patent/US8788552B2/en
  33. https://www.cvedetails.com/version/1777959/Bitcoin-Bitcoin-Core-25.0.html
  34. https://dev.to/mochafreddo/a-deep-dive-into-cryptographic-random-number-generation-from-openssl-to-entropy-16e6
  35. https://csrc.nist.gov/glossary/term/deterministic_random_bit_generator
  36. https://bitcoincore.org/en/releases/0.13.0/
  37. https://docs.rs/deterministic_rand

資料來源:

  1. https://nvd.nist.gov/vuln/detail/CVE-2022-39218
  2. https://github.com/advisories/GHSA-3f99-hvg4-qjwj
  3. https://cwe.mitre.org/data/definitions/338.html
  4. https://cwe.mitre.org/data/definitions/330.html
  5. https://arxiv.org/html/2306.07249v2
  6. https://tekrisq.com/resources/random-number-generator-rng/
  7. https://csrc.nist.gov/csrc/media/events/physical-security-testing-workshop/documents/papers/physecpaper19.pdf
  8. https://github.com/libbitcoin/libbitcoin-explorer/wiki/cve-2023-39910
  9. https://pikabu.ru/story/private_key_debug_oshibki_v_vyichislenii_poryadka_yellipticheskoy_krivoy_secp256k1_ugrozyi_dlya_yekosistemyi_bitcoin_chast_2_12755792_12755792
  10. https://www.sciencedirect.com/science/article/abs/pii/S0167739X17330030
  11. https://nvd.nist.gov/vuln/detail/CVE-2021-41117
  12. http://www.diva-portal.org/smash/get/diva2:1742628/FULLTEXT01.pdf
  13. https://www.reddit.com/r/Bitcoin/comments/3ccb7w/bitcoin_core_uses_rand_bytes_from_openssl_to/
  14. https://stackoverflow.com/questions/17781260/how-to-make-deterministic-random-number-generator
  15. https://www.cve.org/CVERecord/SearchResults?query=Random
  16. https://bitcointalk.org/index.php?topic=510346.0
  17. https://www.cryptrec.go.jp/exreport/cryptrec-ex-1047-2002.pdf
  18. https://iris.uniroma1.it/retrieve/e3835315-d3b5-15e8-e053-a505fe0a3de9/Giancane_PhD.pdf
  19. https://dev.to/mochafreddo/a-deep-dive-into-cryptographic-random-number-generation-from-openssl-to-entropy-16e6
  20. https://mdpi-res.com/bookfiles/book/1339/Side_Channel_Attacks.pdf?v=1745370078
  1. https://en.wikipedia.org/wiki/Side-channel_attack
  2. https://josa.ngo/blog/271
  3. https://arxiv.org/html/2505.04896v1
  4. https://www.yomu.ai/blog/side-channel-attacks-in-post-quantum-algorithms
  5. https://www.nature.com/articles/s41598-025-08888-1

By