ECDSA弱隨機數攻擊和CSPRNG注入攻擊-關鍵隨機數產生器漏洞和私鑰攻擊:對比特幣加密貨幣的安全威脅

作者:KEYHUNTER 

危險的 ECDSA 隨機數重播攻擊:比特幣隨機數產生器中的一個關鍵漏洞及其防範方法 。 隨機數產生器中的關鍵漏洞和私鑰攻擊:對比特幣加密貨幣的安全威脅及其保護方法 。


比特幣 JSON-RPC 用戶端的關鍵漏洞通常與遠端程序呼叫和身份驗證的安全性有關。此類攻擊在科學分類中屬於以下幾類:

  • 遠端程式碼執行(RCE)
  • 存取控制失效
  • 敏感身分驗證資料外洩或被盜用(憑證外洩)。

具體來說,bitcoin-json-rpc-adapter 套件中發現的漏洞是一種惡意程式碼注入,它允許攻擊者以伺服器權限執行第三方程式碼。這是一個針對 JSON-RPC 用戶端元件的遠端程式碼執行 (RCE) 攻擊範例。

此類漏洞通常都有一個官方的 CVE(通用漏洞揭露)編號。然而,現有資料中沒有 bitcoin-json-rpc-adapter 的特定 CVE 編號。根據初步審查,其他類似元件中也存在類似的漏洞,這些漏洞會疊加惡意程式碼並對 RPC 發動攻擊,可以歸類為 CVE-2022-1585(bitcoin-json-rpc-adapter npm 函式庫)或類似 漏洞。

這次攻擊的科學術語名稱

在此背景下,以下符號使用是正確的:

  • 遠端程式碼執行 (RCE) 是指利用客戶端 RPC 介面中的漏洞遠端執行任意程式碼。
  • 憑證外洩或暴露 – RPC 憑證外洩。
  • 中間人攻擊 (MitM) – 如果 RPC 傳輸未加密。
  • 注入攻擊-透過易受攻擊的依賴項引入和執行惡意程式碼。

漏洞對比特幣安全的影響

利用這種漏洞,攻擊者可以:

  • 完全控制比特幣節點
  • 進行未經授權的交易,
  • 竊取私鑰,
  • 修改區塊歷史記錄,
  • 在未經所有者同意的情況下,從錢包中提取資金。

最終,這將對比特幣基礎設施和加密資產的安全構成嚴重威脅。


如果您需要針對特定案例尋找 CVE 編號,我建議您使用 NVD (nvd.nist.gov) 等專門的 CVE 資料庫或您使用的庫平台的安全公告,搜尋庫版本和相關漏洞。


加密漏洞

在所提供的程式碼(比特幣用戶端的 Spring Boot 上下文配置測試)中,測試 bean 建立和連接設定的程式碼行本身沒有明顯的加密漏洞。

然而,在所使用的庫和配置層面(例如 org.tbk.bitcoin.jsonrpc),RPC 密碼和金鑰的安全儲存和傳輸可能存在漏洞。在本測試中,密碼和 RPC 使用者是透過字串明確指定的:

java:

.withPropertyValues(
...
"org.tbk.bitcoin.jsonrpc.rpcuser=test",
"org.tbk.bitcoin.jsonrpc.rpcpassword=test"
)

這種將密鑰明確硬編碼的做法,如果在實際環境中重複使用,可能會很危險,因為:

  • 密碼以明文形式儲存在配置中。
  • 如果未配置安全通道(TLS),則 RPC 存取可能會被攔截。
  • 未能保護或輪換這些金鑰會導致 RPC 用戶端受到攻擊。
52bitcoin-spring-boot-starter/blob/devel/bitcoin-regtest/bitcoin-regtest-autoconfigure/src/test/java/org/tbk/bitcoin/regtest/config/BitcoinRegtestAutoConfigurationTest.java
https://github.com/theborakompanioni/bitcoin-spring-boot-starter/blob/devel/bitcoin-regtest/bitcoin-regtest-autoconfigure/src/test/java/org/tbk/bitcoin/regtest/config/BitcoinRegtestAutoConfigurationTest.java

加密漏洞可能與 RPC 用戶端的錯誤配置和使用有關,而不是與特定的測試字串有關。

搜尋結果還顯示,bitcoin-json-rpc-adapter npm 套件中存在一個嚴重漏洞,該漏洞與惡意程式碼相關聯,如果使用該套件,可能會導致整個系統癱瘓。如果 org.tbk.bitcoin.jsonrpc 基於此套件或類似套件,則漏洞可能存在於程式庫本身,而不是使用者測試程式碼中。

結果:

  • 在提供的 Java 測試程式碼中,測試行不包含任何明顯的加密漏洞。
  • 漏洞可能存在於所使用的庫(bitcoin-json-rpc-adapter)以及儲存/傳輸 RPC 密碼的方法層面。
  • 一個嚴重的漏洞可能是使用了未經驗證或已被竄改的 json-rpc 用戶端版本(例如 bitcoin-json-rpc-adapter npm 套件)。 vulert  +1

更正

以下這篇詳細的研究論文解釋了比特幣 JSON-RPC 用戶端中漏洞的產生方式,提供了一個修復和安全程式碼的範例,以及防止將來發生類似攻擊的建議。


ECDSA弱隨機數攻擊和CSPRNG注入攻擊-關鍵隨機數產生器漏洞和私鑰攻擊:對比特幣加密貨幣的安全威脅

Dockeyhunt 加密貨幣價格

成功恢復展示:19.52266388 BTC 錢包

案例研究概述與驗證

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

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


ECDSA弱隨機數攻擊和CSPRNG注入攻擊-關鍵隨機數產生器漏洞和私鑰攻擊:對比特幣加密貨幣的安全威脅

www.seedkey.ru


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

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


ECDSA弱隨機數攻擊和CSPRNG注入攻擊-關鍵隨機數產生器漏洞和私鑰攻擊:對比特幣加密貨幣的安全威脅

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


技術流程和區塊鏈確認

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


ECDSA弱隨機數攻擊和CSPRNG注入攻擊-關鍵隨機數產生器漏洞和私鑰攻擊:對比特幣加密貨幣的安全威脅

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


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


0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008b483045022100a6f5426c4341ddd6134d894432c746cfb95b06689eeea5546c9863d7bbc6e6a2022051e26490fade349ffceded4927df48868f6265895412d123416c8cb56f3612f1014104da6f299662a7d7a0fde5eaba12005e8aa3ce5e156b4e170ec39507b5acb23ad0d0fa1cb299c5c1f0f0edbc0ccbfb6497725c25b0c6772d54f6defa606372d361ffffffff030000000000000000456a437777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a202420323435343438362e39315de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a9148b03d333928ef9fc13f364debf0ed2705365506a88ac00000000

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


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 的發現一致。

BingSec256k1:用於Secp256k1漏洞利用和比特幣私鑰恢復的高級密碼分析工具

ECDSA弱隨機數攻擊和CSPRNG注入攻擊-關鍵隨機數產生器漏洞和私鑰攻擊:對比特幣加密貨幣的安全威脅
https://b8c.ru/BingSec256k1/

本研究對BingSec256k1進行了全面分析。 BingSec256k1 是一款進階密碼分析工具,專門用於利用比特幣加密貨幣所使用的 secp256k1 橢圓曲線實作​​中的關鍵漏洞。該工具利用 secp256k1 曲線參數中的數學缺陷、ECDSA nonce 產生漏洞以及不完整的金鑰驗證機制,從比特幣錢包中提取私鑰。透過系統性地利用 CSPRNG 注入攻擊、弱 nonce 模式和橢圓曲線點驗證缺陷,BingSec256k1 展示了比特幣加密基礎設施中實現錯誤所帶來的嚴重安全隱患

介紹

比特幣的安全架構從根本上依賴secp256k1橢圓曲線和橢圓曲線數位簽章演算法(ECDSA)的加密強度。然而,近期的密碼分析研究揭示了secp256k1實作中的關鍵漏洞,這些漏洞可能導致私鑰完全洩露,並造成比特幣錢包遭到未經授權的存取。 BingSec256k1是一個複雜的密碼分析框架,它利用這些根本性的弱點來恢復比特幣地址中的私鑰。 keyhunters +3 youtube

儘管 secp256k1 曲線在數學上是合理的,但它存在一些實作上特有的漏洞,這些漏洞源自於不正確的參數指定、弱隨機數產生以及不充分的點驗證機制。這些漏洞構成了攻擊途徑,使攻擊者能夠繞過橢圓曲線密碼學的理論安全保證

BingSec256k1架構及關鍵漏洞利用

核心漏洞框架

BingSec256k1 透過多層漏洞利用框架運行,針對 secp256k1 實作中的特定弱點:arxiv+1 youtube

橢圓曲線參數漏洞利用:該工具利用了 secp256k1 曲線階數常數 N 的錯誤計算,該常數定義了橢圓曲線點的集合。當實作錯誤地指定此參數時,會導致產生超出有效範圍的私鑰。 pikabu +2 youtube

ECDSA 隨機數漏洞分析: BingSec256k1 系統性地分析 ECDSA 簽章中的隨機數重複使用、隨機數產生強度不足、隨機數模式可預測等問題。該工具採用基於格的高階演算法,利用 Lenstra-Lenstra-Lovász (LLL) 方法,在多個簽章中使用相同隨機數的情況下恢復私鑰。 github +4

CSPRNG注入攻擊:此框架針對用於產生nonce的隨機數產生器中的漏洞,利用那些使用確定性或隨機性不足的來源進行關鍵加密操作的實現方式。 keyhunters +2

攻擊的數學基礎

當兩個簽章具有相同的 nonce 值時,BingSec256k1 使用以下數學關係來還原私鑰:reddit+2

給定兩個簽章 (r, s₁) 和 (r, s₂),它們的 r 值相同:

  • k = (H(m₁) – H(m₂)) / (s₁ – s₂) mod N
  • d = (s₁ · k – H(m₁)) / r mod N

其中 k 為隨機數,d 為私鑰,H(m) 表示訊息哈希,N 為曲線階數。 acm +2

對於有偏隨機數,BingSec256k1 實作了格約簡演算法來解決隱藏數問題 (HNP),並從部分隨機數資訊中恢復私鑰。 arxiv +2

關鍵的Secp256k1實作漏洞

曲線參數和驗證缺陷

錯誤的曲線階數計算: BingSec256k1 利用曲線階數 N 計算錯誤的實作方式,導致產生的私鑰無法透過 ECDSA 驗證。研究表明,大約 50% 使用錯誤參數產生的密鑰會失效,從而形成可預測的模式,並可被利用進行密鑰恢復。 bits +2 youtube

點壓縮漏洞:該工具針對的是存在缺陷的點壓縮演算法實現,這些演算法無法驗證壓縮點是否位於正確的曲線上。這使得攻擊者能夠從具有可分解階數的扭曲曲線中註入點,從而顯著降低離散對數的安全性。 github +3

無效曲線點攻擊: BingSec256k1 利用未能正確驗證橢圓曲線點的實現,允許注入來自安全性較弱的無效曲線的點。此漏洞在 secp256k1-node 中被發現,該節點缺少壓縮公鑰驗證,使得攻擊者僅需 11 個 ECDH 會話即可提取私鑰。 linkedin +1

歷史和系統性脆弱性

Randstorm 漏洞遺留問題:該工具可利用 2011 年至 2016 年間創建的錢包,這些錢包使用存在漏洞的 BitcoinJS 實現,由於隨機性差而產生弱密鑰。這些歷史漏洞代表著永久性的安全隱患,至今仍可被利用。 youtube keyhunters+1

實作統計:分析顯示,約 68% 的自訂 ECDSA 實作包含參數錯誤,這些錯誤可能導致私鑰恢復攻擊,顯示比特幣相關軟體普遍存在漏洞。 ijcns.latticescipub +1

ECDSA弱隨機數攻擊和CSPRNG注入攻擊-關鍵隨機數產生器漏洞和私鑰攻擊:對比特幣加密貨幣的安全威脅

攻擊方法和私鑰恢復過程

漏洞評估與利用

BingSec256k1的攻擊方法包括:iaeng+2

  1. 區塊鏈簽名分析:系統地收集和分析比特幣交易中的 ECDSA 簽名,以識別 nonce 重用模式strm+2
  2. 基於格的密碼分析:實作 LLL 演算法以從有偏或部分洩漏的 nonce 中恢復私鑰github+2
  3. 即時漏洞偵測:持續監控新交易,以便立即利用弱簽章漏洞(keyhunters+1)

數學利用技術

該工具採用了多種先進的密碼分析技術:arxiv+2

  • Nonnce 重複使用偵測:用於識別多個簽章中相同 r 值的有效演算法
  • 有偏隨機數分析:用於檢測隨機數產生中隨機性不足的統計分析
  • 側通道攻擊:利用時序和功耗分析從密碼學實作中提取 nonce 訊息

安全隱憂和影響評估

比特幣生態系統面臨的關鍵威脅

BingSec256k1 的功能對比特幣安全構成嚴重威脅:zenodo+1 youtube

系統性基礎設施漏洞:該工具能夠利用硬體安全模組 (HSM) 和企業級錢包實現,這表明即使是專業級的比特幣基礎設施也可能存在漏洞。 keyhunters youtube

大規模錢包被盜風險:自動化區塊鏈掃描功能使得針對多個比特幣地址同時發動大規模攻擊成為可能。 github+1

歷史錢包洩漏:使用存在漏洞的實現方式產生的錢包將永久處於被入侵狀態,並且可以使用該工具的技術進行恢復。 pikabu +1 youtube

真實世界的攻擊場景

近期發生的加密貨幣安全事件顯示了這些漏洞的實際意義:halborn+1

  • Anyswap協定遭駭客攻擊(2021):利用ECDSA nonce重用漏洞導致私鑰外洩和重大經濟損失halborn
  • PuTTY P-521 漏洞 (CVE-2024-31497):示範了 ECDSA 簽章產生中的實作缺陷如何洩漏私鑰lrqa

反制措施和防禦戰略

實施安全要求

為了防禦BingSec256k1攻擊,比特幣實作必須實現:dockeyhunt+2

密碼學安全的隨機數產生:所有 nonce 產生操作均使用基於硬體的熵源和經過驗證的 CSPRNG。 aptos +2

全面點驗證:徹底的橢圓曲線點驗證,確保所有點都位於具有相應數學屬性的正確曲線上。 attacksafe +2

RFC 6979 合規性:正確實現具有強輔助隨機性和防時序攻擊能力的確定性 ECDSA。 notsosecure +1

防禦性密碼學實踐

定期安全性審計:對加密實作進行系統性審計,以識別 secp256k1 參數錯誤和驗證漏洞。 nshielddocs.entrust +1

多重簽章保護:實施多重簽章方案以分發私鑰資料並減少密碼學單點故障。 zenodo +1

金鑰輪換策略:定期輪換高價值比特幣位址的私鑰,以降低歷史漏洞帶來的風險。 papers.ssrn +1

結論

BingSec256k1 展示了比特幣加密貨幣系統中 secp256k1 實現不當所帶來的嚴重安全隱患。該工具利用數學漏洞、弱 nonce 生成機制和不完整的驗證機制,能夠從易受攻擊的比特幣錢包中系統性地恢復私鑰。這項研究表明,儘管比特幣在理論上具有密碼學安全性,但實現缺陷會產生可利用的攻擊途徑,從而危及基本的安全假設

secp256k1 實現漏洞的普遍性(據估計影響了 68% 的自訂 ECDSA 實現)表明存在系統性安全危機,需要立即關注。 2011 年至 2016 年間影響錢包的歷史漏洞代表永久性安全隱患,持續威脅用戶資金安全。 ijcns.latticescipub +2 youtube

比特幣生態系統需要全面實施安全的加密實踐,包括經過驗證的隨機數產生、嚴格的點驗證和定期的安全審計。只有有系統地採用這些措施,比特幣才能抵禦像 BingSec256k1 和dockeyhunt+2等工具所展示的複雜密碼分析攻擊。


比特幣 JSON-RPC 用戶端中的加密漏洞:發生、修復和預防

介紹

在比特幣加密貨幣生態系統中,JSON-RPC(JavaScript 物件表示法 – 遠端過程呼叫)介面在客戶端與比特幣網路互動方面發揮關鍵作用,它提供了獲取區塊、錢包、交易資訊並進行管理的機制。該介面的安全性至關重要,因為訊息傳遞和身份驗證方面的任何漏洞都可能導致錢包完全被攻破,資金被盜。

本文探討了比特幣 JSON-RPC 用戶端實作中存在的漏洞的性質,具體列舉了威脅、原因和後果,並提出了一個安全的程式碼範例和防止攻擊的方法。

脆弱性發生的機制

比特幣 JSON-RPC 用戶端的漏洞通常是由於不安全的身份驗證、不正確的資料處理以及 RPC 命令傳輸不安全造成的。主要漏洞機制包括:

  • 憑證硬編碼 :大多數情況下,密碼和 RPC 存取金鑰會被硬編碼到設定檔或原始程式碼中,這使得攻擊者能夠存取節點的控制功能。如果這些資料被竊取,攻擊者就可以以合法使用者的身分發動 RPC 呼叫。
  • RPC通道缺乏加密 :如果使用未加密的HTTP協定建立RPC連接,資料(包括密碼)將以明文形式傳輸。這使得攻擊者可以實施中間人攻擊,攔截並篡改命令。
  • JSON-RPC 輸入驗證不正確 :如果用戶端或伺服器沒有正確處理傳入的請求(例如,驗證不足),攻擊者可能能夠進行惡意呼叫或繞過授權。
  • 使用易受攻擊的程式庫和元件 :例如,bitcoin-json-rpc-adapter npm 套件中存在一個已知的漏洞,允許注入惡意程式碼並獲得對執行環境的完全控制。
  • 密碼學和加密錯誤 :錯誤地使用 AES-CBC 等演算法來保護 wallet.dat 檔案會導致位元翻轉和填充預言機攻擊,從而允許在不知道密碼的情況下恢復私鑰。

利用該漏洞的後果

對 JSON-RPC 客戶端的攻擊會導致:

  • 未經授權管理錢包和轉移資金。
  • 大規模竊盜資金。
  • 區塊鏈數據可能被完​​全刪除或修改。
  • 交易替換和完整性攻擊。
  • 基礎設施遭到破壞,惡意軟體進一步擴散。

已知的漏洞之一是 Randstorm 攻擊,攻擊者利用過時的 BitcoinJS 加密庫獲取了 2011-2015 年創建的錢包的私鑰。

安全地修補漏洞:概念和程式碼

1. 保守秘密

  • 不要以明文形式將登入名稱和密碼儲存在原始碼和設定檔中。
  • 使用金鑰管理員(Vault、AWS Secrets Manager)或環境變數。
  • 限制對配置的存取。

2. 傳輸通道的加密

  • 所有 RPC 連線均使用 HTTPS/TLS。
  • 檢查伺服器憑證。
  • 盡可能使用雙向身份驗證。

3. 輸入資料的驗證與篩選

  • 使用函式庫嚴格驗證 JSON-RPC 請求的格式。
  • 拒絕執行可疑或未經授權的命令。

4. 更新和依賴關係審計

  • 密切監控您使用的庫中的漏洞。
  • 定期進行安全審計並修復漏洞。

以下是一個用 Java 編寫的、經過修正的 RPC 用戶端配置程式碼範例,其中包含安全性配置儲存。

Javapackage org.tbk.bitcoin.regtest.config;

import org.consensusj.bitcoin.jsonrpc.BitcoinExtendedClient;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;

import javax.net.ssl.SSLContext;
import java.net.URI;

@Configuration
@ConfigurationProperties(prefix = "bitcoin.rpc")
public class BitcoinSecureConfig {

    private String host;
    private int port;
    private String username;
    private String password;
    private boolean useTls;

    // setters and getters for above variables

    @Bean
    public BitcoinExtendedClient bitcoinExtendedClient(Environment env) throws Exception {
        // Load sensitive data from environment variables (preferred way)
        String user = env.getProperty("BITCOIN_RPC_USER", this.username);
        String pass = env.getProperty("BITCOIN_RPC_PASSWORD", this.password);

        if (useTls) {
            // Example: setup SSL context for secure connection
            SSLContext sslContext = SSLContext.getDefault(); // customize as needed
            return new BitcoinExtendedClient(new URI(String.format("https://%s:%d", host, port)), user, pass, sslContext);
        } else {
            return new BitcoinExtendedClient(new URI(String.format("http://%s:%d", host, port)), user, pass);
        }
    }
}

請注意:

  • 使用環境變數 BITCOIN_RPC_USER 和 BITCOIN_RPC_PASSWORD 而不是硬編碼。
  • 支援TLS連線。
  • 透過 Spring 實現驗證和集中式組態管理。

5. 其他建議

  • 定期更改密碼和密鑰。
  • 盡量減少 RPC 帳戶權限。
  • 使用防火牆並將RPC伺服器的IP位址加入白名單。
  • 安全日誌和可疑活動監控。
  • 培訓開發人員安全地使用密碼學技術。

結論

比特幣 JSON-RPC 介面對於與區塊鏈網路互動的應用程式和服務至關重要。在身份驗證、資料傳輸和處理方面若有任何疏忽,都可能導致嚴重的加密漏洞,並可能造成數百萬美元的損失。為確保安全,必須採用最佳實踐來儲存金鑰、加密通道、過濾資料和更新元件。

所提出的安全客戶端配置和使用模式為建立可靠且安全的服務奠定了基礎,從而最大限度地降低攻擊風險。採取全面的安全措施,才能真正抵禦威脅,保障數位資產的安全。


結果:

本文總結指出,比特幣 JSON-RPC 用戶端中被認為的關鍵漏洞是遠端程式碼執行 (RCE) 威脅,攻擊者可以透過攻破 RPC 介面來完全控制比特幣節點。

這種漏洞通常與憑證硬編碼、缺乏安全傳輸通道以及使用易受攻擊的庫有關。利用此漏洞可能導致未經授權的交易、私鑰被盜以及區塊鏈完整性遭到破壞,從而危及比特幣加密貨幣本身的安全性和信任度。

在科學文獻中,此類攻擊被歸類為透過違反存取控制實現的遠端程式碼執行 (RCE) 和憑證外洩。偵測和消除此類漏洞需要採取綜合方法:安全儲存金鑰、使用 TLS 加密、驗證輸入資料以及定期更新元件。

未能及時修補漏洞和忽視安全措施會造成高風險攻擊,從而擾亂加密貨幣網路的運作並導致重大經濟損失。

因此,確保比特幣 JSON-RPC 用戶端的安全性是整個比特幣生態系統永續發展的關鍵要素,凸顯了持續審計和實施現代加密標準及安全編程實踐的必要性。

這項工作旨在提醒和指導研究人員和開發人員在使用加密貨幣協議和軟體時要密切注意安全性。

在文章的最後結論部分,我包含了有關 CVE-2024-35202 漏洞的技術細節:


因此,上文討論的比特幣 JSON-RPC 用戶端的關鍵漏洞可以透過 CVE-2024-35202 的例子進一步說明,CVE-2024-35202 是比特幣核心 25.0 版本之前的一個嚴重缺陷。該漏洞允許遠端攻擊者透過精心建構的 blocktxn 訊息造成拒絕服務,這些訊息包含未包含在相應區塊的梅克爾樹中的交易。

從技術面來看,該漏洞與處理部分下載區塊(PartiallyDownloadedBlock)的邏輯錯誤有關。當短交易標識符發生衝突時,FillBlock 函數可能會對同一個區塊被呼叫兩次,從而違反程式的預期,導致節點崩潰。這會對比特幣網路的穩定性構成嚴重威脅,並允許惡意破壞網路中的節點。

CVE-2024-35202 的利用僅限於網路層面,無需用戶權限或交互,凸顯了該問題的嚴重性(CVSS 7.5,高風險)。惡意行為可能導致分散式網路不穩定,並造成基礎設施信任度下降。

Bitcoin Core 25.0 版本引入了針對此漏洞的修復程序,該程序依賴於對重複訊息的正確處理以及對狀態一致性的保證。此漏洞表明,比特幣基礎設施的安全需要持續的審計、及時的更新以及對傳入資料的嚴格控制。

將此漏洞的分析與 RPC 介面攻擊的整體情況相結合,表明需要採取全面的保護措施:使用安全的通訊通道、充分的驗證和認證,以及定期審核和更新軟體。

因此,比特幣及其生態系統的安全直接取決於對這類嚴重錯誤的抵抗能力,這些錯誤可能導致遠端程式碼執行和拒絕服務攻擊,不僅威脅到單一節點,而且威脅到整個去中心化加密貨幣網路。


比特幣 JSON-RPC 用戶端中的關鍵遠端程式碼執行 (RCE) 漏洞:攻擊機制、加密貨幣安全影響和防禦方法

比特幣基於密碼學原語,其中產生密碼學強度高的隨機數至關重要。這些隨機數字用於創建私鑰和唯一的數位簽章參數,從而保護比特幣免受未經授權的存取和資金盜竊。然而,隨機數產生器的缺陷和錯誤會導致安全漏洞,這些漏洞可能被利用來攻擊比特幣網路和用戶。

對比特幣漏洞及其影響的描述

比特幣加密安全的關鍵要素之一是ECDSA數位簽章演算法中的kkk變量,該變數在每筆交易中都必須是唯一且隨機的。如果負責產生該變數的隨機數產生器有缺陷或可預測性,攻擊者可以透過分析多個簽章來:

  • 恢復用戶私鑰
  • 完全掌控他的資金,
  • 在受害者不知情的情況下,以受害者的名義簽署交易。

這種類型的漏洞被稱為“ECDSA 隨機數 kkk 重用或可預測性”,它允許透過對簽章進行數學分析來執行私鑰恢復攻擊。

攻擊的科學名稱

此攻擊屬於 ECDSA 中重複或可預測 nonce 簽章的攻擊類別,其科學名稱為「ECDSA Nonce 重複使用攻擊或 ECDSA 弱 Nonce 攻擊」。

自 2013 年 Nils Schneider 首次詳細描述利用此類問題的方法以來,該漏洞已在科學出版物中得到充分記錄和研究。分析此類漏洞允許攻擊者透過比較簽章來計算私鑰 ddd,其依據是 kkk 的重複值和簽章的已知值 (r,s)(r, s)(r,s)。

CVE漏洞標識符

雖然 ECDSA 演算法本身的漏洞沒有通用的 CVE 編號,但比特幣錢包和加密庫中使用的特定隨機數產生器實作通常會獲得單獨的 CVE 識別碼。例如:

  • CVE-2025-27840 是比特幣硬體錢包中使用的 ESP32 微控制器的一個嚴重漏洞,原因是其隨機數產生器的熵較低,這使得駭客可以猜測金鑰並遠端簽署交易。
  • 近年來,許多其他 CVE 報告描述了流行的 Java、JavaScript 和 C 加密庫中的隨機數產生器漏洞,這些漏洞可被利用來攻擊私鑰。

此次攻擊對比特幣生態系統的影響

如果攻擊者成功實施此攻擊,後果包括:

  • 從易受攻擊的錢包中竊取比特幣,
  • 對密碼系統的信任喪失
  • 利用存在漏洞的庫和微控制器中斷服務,
  • 用戶和公司都遭受了經濟損失。

保護和預防

為應對此類攻擊,採取了以下措施:

  1. 使用加密強度高的熵源(例如  SecureRandom.getInstanceStrong() Java 中的熵源)。
  2. 使用符合 RFC 6979 的確定性 nonce 產生演算法,降低重播攻擊和洩漏的風險。
  3. 定期更新軟體和加密庫,以消除已知漏洞。
  4. 對錢包中使用的硬體組件和微控制器進行審查和安全審計。
  5. 在硬體錢包中使用硬體安全模組(HSM)和安全隨機數產生器。

結論

與ECDSA隨機數產生器的可預測性相關的加密漏洞對比特幣的安全至關重要。該漏洞在科學上被稱為ECDSA隨機數重用攻擊。一些熵值不足的生成器實作和硬體元件已被授予多個CVE編號,這證實了此威脅的系統性。

安全性產生隨機數和私鑰是加密貨幣安全性的基石。只有嚴格遵守密碼學標準並定期進行安全審計,才能確保免受攻擊並保障使用者數位資產的安全。


如有必要,我可以提供特定 CVE 的詳細分析以及安全 nonce 產生程式碼的範例。


加密漏洞

此程式碼中不存在與私鑰洩漏或處理不當相關的明顯加密漏洞。

談到與金鑰安全或隨機數產生相關的加密風險時:

  • 使用有效的、加密安全的生成器  SecureRandom (行:)
java:

private final SecureRandom random = new SecureRandom();
  • 私鑰或秘密密鑰不會儲存在程式碼中,也不會被記錄或傳輸。
53bitcoin-spring-boot-starter/blob/devel/bitcoin-regtest/bitcoin-regtest-core/src/integTest/java/org/tbk/bitcoin/regtest/ScheduledRegtestMinerTest.java

在實作過程中  RegtestMinerImpl,需要使用 BitcoinClient 或其他實作私鑰操作的地方。


更正

研究論文:由於隨機數產生器使用不當導致的密碼學漏洞及其安全消除方法

介紹

密碼學強度高的隨機數產生器(CSPRNG)是建構安全密碼系統的基礎。私鑰、令牌、密碼和其他秘密資料的安全性直接取決於隨機數產生器的品質。對隨機數產生器的不謹慎或不當使用會導致熵值和可預測性降低,從而產生漏洞,使攻擊者能夠恢復秘密資訊並獲得對密碼工具的未授權存取權限。

脆弱性的出現

密碼學漏洞最常見的原因是使用了隨機數產生器,而這些產生器無法提供必要的密碼安全性和高熵。特別是,在某些情況下  SecureRandom 會使用 Java 類,但如果出現以下情況,則可能存在安全隱患:

  1. 生成器初始化時使用低熵  seed,例如當前時間(以毫秒為單位)或短長度材料,這大大減少了選項空間。
  2. 隨機數產生鏈中使用了過時的或不具備密碼學安全性的演算法,例如 RC4,這會降低產生數字的統計特性。
  3. 軟體邏輯錯誤會導致不安全的偽隨機數產生器(例如  Math.random() JavaScript 中的偽隨機數產生器)崩潰,因為這些產生器的熵要低得多。
  4. 以不安全的方式記錄、傳輸或儲存私鑰或密碼。

例如,JavaScript 中 jsbn.js 等庫的舊版本,或者 SecureRandom 初始化為低熵值的應用程序,都可能存在漏洞,這使得暴力破解攻擊更容易在合理的時間內破解私鑰。

正確的解決方案和安全的選擇

為消除此類漏洞,必須嚴格遵守以下原則:

  • 僅使用具有良好分佈和足夠熵的加密安全隨機數產生器。在 Java 中,建議  java.security.SecureRandom 不要手動初始化  seed 或使用可靠的熵源。
  • 切勿使用  seed 低熵資料(例如以毫秒為單位的系統時間)作為此類資料。
  • 不要忽視加密函數中使用的庫的更新和修復。
  • 避免以明文形式記錄和傳輸私鑰。
  • 使用成熟的加密 API 和標準來產生金鑰和令牌。

安全的Java程式碼範例:

java:

import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Base64;

public class SecureKeyGenerator {

private static final int KEY_SIZE_BYTES = 32;

public static String generateSecureKey() {
try {
// Создаем генератор случайных чисел, опирающийся на сильный источник энтропии
SecureRandom secureRandom = SecureRandom.getInstanceStrong();

byte[] keyBytes = new byte[KEY_SIZE_BYTES];
secureRandom.nextBytes(keyBytes);

// Возвращаем ключ в Base64 для удобства хранения/передачи
return Base64.getEncoder().encodeToString(keyBytes);

} catch (NoSuchAlgorithmException e) {
// Обработка невозможности получить сильный генератор
throw new RuntimeException("SecureRandom instance not available", e);
}
}

public static void main(String[] args) {
String secureKey = generateSecureKey();
System.out.println("Secure Key: " + secureKey);
}
}

在這個例子中:

  • 採用一種方法  SecureRandom.getInstanceStrong(),可以訪問系統中可用的最可靠的發電機。
  • 無需進行明確設置  seed,從而避免了使用低熵值的風險。
  • 產生給定長度的金鑰具有密碼穩定性。
  • 私人資料不會以明文形式記錄,而是以安全的加密格式傳輸。

此外,建議控制生成器在特定環境中的實現(例如檢查 JVM 配置),除非您有深厚的密碼學經驗,否則請避免使用您自己的解決方案來產生隨機數。

結論

隨機數產生器使用不當導致的加密漏洞會對系統安全性構成嚴重威脅,因為熵的降低會導致私鑰被暴力破解和洩漏。使用標準可靠的加密產生器、遵循最佳實踐以及定期更新元件可以顯著降低此類攻擊的風險。

這個安全程式碼範例示範如何在 Java 中正確建立加密強度高的金鑰,並避免常見的陷阱。遵循這些準則有助於防止漏洞,並確保資訊的隱私性和完整性得到長期保護。


這篇科學文章的最終結論是:

ECDSA數位簽章演算法中重複或可預測地使用隨機數kkk(nonce)所帶來的加密漏洞,是比特幣加密貨幣面臨的最嚴重安全威脅之一。該漏洞允許攻擊者透過分析兩個或多個使用相同nonce的簽名,完全恢復使用者的私鑰。私鑰洩漏會導致未經授權的交易創建、比特幣被盜以及重大經濟損失。

從科學角度來說,這種攻擊被稱為 ECDSA 隨機數重複使用攻擊。比特幣錢包和加密庫中某些隨機數產生器的實現方式,如果不能充分保證隨機數的唯一性和隨機性,就容易受到這種攻擊,這凸顯了精心設計和審計加密的必要性。

歷史上成功的攻擊案例表明,此類漏洞已導致用戶損失數百萬美元的加密貨幣。這凸顯了使用強加密標準的重要性,例如根據 RFC 6979 產生確定性 nonce 以及使用加密強度高的隨機數產生器。

確保比特幣和其他加密貨幣的安全需要嚴格遵守加密協議,定期進行軟硬體更新和審計,並棄用過時且有安全漏洞的隨機數產生方法。這是保護用戶免受攻擊的唯一途徑,此類攻擊可能會徹底洩露用戶的私鑰,進而導致其數位資產損失。


無效金鑰攻擊-secp256k1 私鑰驗證中的關鍵漏洞以及無效金鑰的威脅:對比特幣加密貨幣安全的危險攻擊

以下是一篇研究論文,解釋了比特幣私鑰嚴重漏洞的安全性影響、該攻擊的科學名稱及其 CVE 編號。


關鍵私鑰漏洞對比特幣安全的影響、攻擊類型及其在 CVE 中的分類

介紹

比特幣安全系統是基於對私鑰的嚴格管理,私鑰賦予用戶對加密資產的控制權。違反私鑰產生或驗證規則可能導致嚴重問題:從直接的資金損失到大規模網路攻擊的可能性。

比特幣軟體中存在一個與私鑰下限檢查缺失相關的嚴重漏洞,編號為 CVE-2025-27840。此漏洞允許使用值為零或更小的無效私鑰,從而對網路和使用者資產構成安全風險。

攻擊的科學名稱和性質

此漏洞屬於「無效密鑰攻擊」範疇。其本質在於驗證私鑰時缺乏對最小值的充分檢查,從而允許使用無效的金鑰值,例如零或負數。

使用此類密鑰會使攻擊者有機會:

  • 建立具有特殊屬性、違反密碼安全保證的簽章;
  • 未經授權獲取其他使用者的資金;
  • 導致網路節點故障或邏輯故障,從而造成拒絕服務;
  • 偽造交易並破壞區塊鏈的完整性。

從科學角度來看,這種漏洞可以歸類為與違反密碼方案的前提條件相關的攻擊,特別是針對金鑰和簽章驗證正確性的攻擊(金鑰驗證漏洞)。

CVE漏洞類別和編號

該漏洞已在 NIST 漏洞資料庫中分配了唯一識別碼:

  • CVE-2025-27840 – 比特幣私鑰驗證功能中的一個嚴重漏洞缺少下限檢查,允許使用無效(小於或等於零)的金鑰。

註冊詳情包括對影響的描述:

  • 存在遠端使用無效密鑰的可能性;
  • 違反交易安全規定,有資金損失風險;
  • 存在透過偽造簽名進行攻擊的可能性。

漏洞對比特幣安全的影響

此漏洞允許攻擊者產生包含無效值的私鑰,從而繞過驗證上限。結果:

  • 產生不符合比特幣使用的secp256k1標準的金鑰;
  • 違反簽名驗證機制;
  • 能夠偽造簽名,使用無效金鑰建立交易;
  • 由於網路故障和節點故障導致網路信任度下降;
  • 如果錢包因使用存在漏洞的程式碼而被入侵,則會導致資金損失。

修復和預防攻擊的建議

為防範此漏洞,您必須:

  1. 增加對私鑰下限的強制檢查-密鑰必須嚴格大於零;
  2. 僅使用經過驗證且能正確實作secp256k1金鑰驗證的加密庫;
  3. 對程式碼進行審核以發現此類錯誤,並提供自動化金鑰驗證測試;
  4. 實施多因素身份驗證和其他安全措施來保護錢包;
  5. 更新已偵測到此漏洞的基於 ESP32 的微控制器和智慧鑰匙。

結論

漏洞 CVE-2025-27840 暴露了比特幣私鑰缺乏下限檢查所帶來的嚴重風險。它被歸類為無效金鑰攻擊,會導致加密資產洩露,並降低整個區塊鏈社群的安全性。及時偵測並修復這些錯誤,以及使用經過驗證的加密庫和最佳開發實踐,有助於最大限度地降低與此嚴重漏洞相關的威脅。


漏洞 CVE-2025-27840 對比特幣硬體錢包構成嚴重威脅,特別是那些使用 ESP32 微控制器的錢包,ESP32 微控制器廣泛應用於物聯網設備和硬體加密錢包(例如 Blockstream Jade)。

硬體錢包面臨的威脅規模

  • 存在漏洞的 ESP32 微控制器用於 Wi-Fi 和藍牙連接,攻擊者可以透過韌體更新遠端感染和控制設備。
  • 該漏洞允許攻擊者未經授權簽署交易並竊取私鑰,從而直接導致受控比特幣的遺失。
  • 該裝置用於產生簽署的偽隨機數產生器 (PRNG) 的熵不足,這使得攻擊者更容易暴力破解金鑰。
  • 攻擊者可以產生無效的私鑰,偽造比特幣簽名,利用小子群攻擊提取私鑰,並操縱橢圓曲線密碼學(ECC)運算。
  • 分析表明,利用 ECC 曲線上 Y 座標的模糊性,可以創建偽造的公鑰。
  • 該漏洞影響數十億物聯網設備,顯示該問題的全球規模以及潛在危險,不僅對個人錢包構成威脅,而且對加密貨幣產業的很大一部分也構成威脅。

結論

CVE-2025-27840 是比特幣硬體錢包的嚴重漏洞,可能導致私鑰完全洩漏和資金損失。該漏洞的威脅規模巨大,原因在於存在漏洞的微控制器被廣泛使用,並且攻擊者可以透過無線連接進行遠端控制。

為了最大限度地降低風險,必須及時更新設備的韌體,加強隨機數的生成,並在硬體錢包中實施多級安全措施。


加密漏洞

這段程式碼本身不存在可能洩漏金鑰或私鑰的加密漏洞。然而,潛在的風險點在於創建錢包時使用的以下選項:

java:

.put("disable_private_keys", Optional.of(false))

這意味著私鑰  沒有被禁用  (即錢包是用隱藏的私鑰創建的)。

54bitcoin-spring-boot-starter/blob/devel/bitcoin-regtest/bitcoin-regtest-core/src/main/java/org/tbk/bitcoin/regtest/BitcoindRegtestTestHelper.java
https://github.com/theborakompanioni/bitcoin-spring-boot-starter/blob/devel/bitcoin-regtest/bitcoin-regtest-core/src/main/java/org/tbk/bitcoin/regtest/BitcoindRegtestTestHelper.java/org/tbk/bitcoin/regtest/BitcoindRegtestTestHelper.java

如果錢包存取權限保護不力,或包含私鑰的資訊被記錄下來,則可能發生外洩。

該方法也會  createWalletIfNecessary 呼叫一個帶有參數的方法  bitcoinJsonRpcClient.send("createwallet", args) ,其中包括一個空參數  passphrase

java:

.put("passphrase", Optional.empty())

缺少錢包加密密碼(口令)會使私鑰安全性降低,如果攻擊者獲得錢包存取權限,私鑰可能會洩漏。

總而言之,有問題的幾行程式碼是:

java:

.put("disable_private_keys", Optional.of(false)) // приватные ключи включены
.put("passphrase", Optional.empty()) // отсутствует пароль шифрования кошелька

如果你想尋找明顯的金鑰洩露,這段程式碼片段中並沒有,但是薄弱的金鑰保護(缺少密碼)和包含私鑰是潛在的安全威脅。

如果您對特定風險感興趣,請注意建​​立無需密碼且啟用私鑰儲存的錢包。


更正

以下這篇研究論文詳細介紹了加密漏洞的原因、如何修復它,以及一個用於修復比特幣私鑰問題的安全程式碼範例。


分析比特幣私鑰的加密漏洞及其安全消除方法

介紹

成對的私鑰和公鑰是比特幣等區塊鏈系統安全的核心。私鑰的產生或儲存環節出現漏洞可能導致私鑰外洩、資金損失,並降低人們對整個生態系統的信任。儘管密碼學看似簡單,但其實施和整合卻需要嚴格遵守相關標準,並妥善管理關鍵資訊的安全。

本文分析了一個常見錯誤—用於產生比特幣私鑰的橢圓曲線 secp256k1 的參數定義錯誤。文章探討了該漏洞的機制及其後果,並提供了一個程式碼範例,介紹了一種安全的修復方法。

脆弱性發生的機制

比特幣使用橢圓曲線 secp256k1,該曲線具有嚴格的數學參數。其中一個關鍵參數是曲線 NNN 點群的階數,私鑰必須從中選擇:1≤k<N1 \leq k < N1≤k<N。

在一些有缺陷的實作中,常數 NNN 被錯誤地指定,例如:

N=(1<<256)−0x14551231950B75FC4402DA1732FC9BEBF

N = (1 << 256) — 0x14551231950B75FC4402DA1732FC9BEBF

N=(1<<256)−0x14551231950B75FC4402DA1732FC9BEBF

而不是正確的值

N=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

N=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

這導致產生的私鑰處於無效範圍內,最大值偏移了約 21282^{128}2128。因此,約 50% 的密鑰無效。

該漏洞還會導致私鑰驗證錯誤,進而可能建立和使用不受支援的金鑰對。這會破壞加密協定的完整性,並為多種類型的攻擊打開方便之門,其中包括:

  • 數位簽章中使用的金鑰衝突和值的可預測性;
  • 透過基於重複生成的攻擊來恢復私鑰的機率增加(生日悖論);
  • 與比特幣網路的兼容性問題導致交易被拒絕。

歷史事件(例如 2015 年對 HSM 硬體模組的攻擊)證實,即使參數出現微小錯誤也可能導致嚴重的資金損失。

脆弱性的後果

  • 資金損失 :由於密鑰產生錯誤,網路會拒絕不支援的密鑰或交易,導致所有者失去對其資金的存取權限;
  • 安全漏洞 :攻擊者可以利用數學異常來恢復私鑰;
  • 拒絕服務 :偵測到不支援的金鑰的節點可能會拒絕交易並降低網路功能。

安全性修補程式可修復漏洞

安全的基本原則是使用經過驗證和標準化的函式庫(例如 libsecp256k1),嚴格遵循 SEC 和 NIST 定義的官方橢圓曲線 secp256k1 參數。

建議步驟

  1. 檢查 NNN 曲線參數和其他常數的正確性;
  2. 使用在 [1,N−1][1, N-1][1,N−1] 範圍內的加密強度高的隨機數產生器產生私鑰;
  3. 對私鑰進行嚴格的範圍驗證;
  4. 提供強大的加密功能並限制對私鑰的存取(例如,需要密碼/短語);
  5. HD錢包採用成熟的加密庫和BIP-32/39/44標準。

一個用於產生具有適當驗證的私鑰的安全 Java 程式碼範例

java:

import java.math.BigInteger;
import java.security.SecureRandom;

public class SecurePrivateKeyGenerator {

// Порядок secp256k1
private static final BigInteger SECP256K1_N = new BigInteger(
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 16);

private static final SecureRandom secureRandom = new SecureRandom();

public static BigInteger generatePrivateKey() {
BigInteger privateKey;
do {
privateKey = new BigInteger(256, secureRandom);
} while (privateKey.compareTo(BigInteger.ONE) < 0 || privateKey.compareTo(SECP256K1_N) >= 0);
return privateKey;
}

public static boolean isValidPrivateKey(BigInteger privateKey) {
return privateKey != null
&& privateKey.compareTo(BigInteger.ONE) >= 0
&& privateKey.compareTo(SECP256K1_N) < 0;
}
}

該程式碼確保產生的私鑰嚴格在正確的範圍內,並提供了一個用於檢查密鑰有效性的函數。這可以防止使用不支援或錯誤的金鑰,從而降低遭受密碼攻擊的風險。

結論

區塊鏈系統的加密安全是基於對數學和軟體標準的嚴格遵守。 secp256k1曲線參數定義錯誤以及私鑰範圍違規都會造成嚴重漏洞,可能導致資金損失和安全漏洞。

為了消除漏洞,必須使用經過驗證的函式庫和標準,確保私鑰的可靠產生和驗證,並採取嚴格的安全措施來保護金鑰。實施這種方法有助於維護基於比特幣和類似區塊鏈技術構建的生態系統的可靠性和信任度。


結果:

總之,本文強調,比特幣中與私鑰產生和驗證錯誤相關的關鍵密碼學漏洞對整個加密貨幣生態系統的安全構成嚴重威脅。主要錯誤在於橢圓曲線群secp256k1的階定義錯誤,導致產生大量超出允許範圍的無效密鑰。

這種漏洞會導致大規模問題:從簽章不相容和網路拒絕交易,到私鑰可能會被攻擊者透過數學攻擊(包括基於重複生成的攻擊,即生日悖論)竊取。從科學角度來說,它被歸類為無效金鑰攻擊。

這種威脅的一個重要組成部分是,此類錯誤可能導致所有者資金的完全損失,並降低人們對比特幣的信任度。對於硬體錢包而言,這一點尤其關鍵,因為微控制器中的硬體錯誤會進一步加劇這種漏洞,正如 CVE-2025-27840 漏洞所示。

安全的解決方案包括嚴格遵循加密標準、強制檢查私鑰是否在正確的範圍內,以及使用經過驗證的加密庫,例如 libsecp256k1。只有實施全面的安全措施並進行徹底的程式碼審計,才能確保免受此類關鍵漏洞的侵害,並維護比特幣未來的可靠性。

因此,這個漏洞表明,即使加密協議中的微小錯誤也可能對金融系統造成災難性後果,需要時刻關注各個層面的安全問題。

  1. https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_1275576​​5
  2. https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
  3. https://www.itsec.ru/articles/upravlenie-uyazvimostyami-v-kriptokoshelkah
  4. https://www.ixbt.com/live/crypto/hakery-vseh-obmanut-ili-mozhno-li-vse-taki-slomat-sistemu-bitkoina.html
  5. https://top-technologies.ru/ru/article/view?id=37634
  6. https://forklog.com/news/eksperty-ugroza-kvantovoj-ataki-na-kriptovalyuty-preuvelichena
  7. https://cyberleninka.ru/article/n/metodika-analiza-dannyh-v-blokcheyn-sisteme-bitcoin
  8. https://coinsutra.com/ru/bitcoin-private-key/
  9. https://opennet.ru/56670/
  10. https://habr.com/ru/articles/430240/

如果您需要更詳細的技術演示或漏洞修復程式碼,我可以根據要求提供。 cryptodeep  +2

  1. https://cryptodeep.ru/bitcoin-bluetooth-attacks/
  2. https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3489-%D0%BA%D1%80%D0%B8%D 0%BF%D1%82%D0%BE%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7-%D0%B1%D0%B8%D1%82%D0%BA%D 0%BE%D0%B8%D0%BD%D0%B0-%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D 1%8C-cve-2025-27840-%D0%B2-%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%8 2%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0%D1%85-esp32-%D0%BF%D0%BE%D0%B4%D0%B 2%D0%B5%D1%80%D0%B3%D0%B0%D0%B5%D1%82-%D1%80%D0%B8%D1%81%D0%BA%D1%83-%D0%BC%D0%B 8%D0%BB%D0%BB%D0%B8%D0%B0%D1%80%D0%B4%D1%8B-iot-%D1%83%D1%81%D1%82%D1%80%D0%BE% D0%B9%D1%81%D1%82%D0%B2-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-wi-fi-%D0%B8-bluetooth%2F
  3. https://forklog.com/news/in-chips-for-bitcoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
  4. https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitkoin_s_poddelnyimi_rawtx_chast_koshelkam_seti_bitkoin_s_poddelnyimi_rawtx_chast_3_129995049999504
  5. https://pikabu.ru/story/kriptoanaliz_bitkoina_uyazvimost_cve202527840_v_mikrokontrollerakh_esp32_podvergaet_risku_milliardyi_iotustroystv_cherez_wifi_i_podvergaet_risku_milliardyi_iotustroystv_cherez_wifi_i_bluetooth_125555320
  6. https://cryptodeep.ru/break-ecdsa-cryptography/
  7. https://habr.com/ru/companies/tomhunter/articles/885300/
  8. https://shard.ru/article/how_esp32_chip_vulnerability_compromises_blockchain_security
  9. https://habr.com/ru/articles/771980/
  10. https://service.securitm.ru/vm/vulnerability/fstec/show/BDU:2023-06146

如果需要更多關於特定加密保護方法或攻擊範例的信息,可以考慮研究和實施的更具體方面。 pikabu  +1

  1. https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_1275576​​5
  2. https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3526-private-key-debug-%D0%BD%D0%B5%D0%BA%D0%BE% D1%80%D1%80%D0%B5%D0%BA%D1%82%D0%BD%D0%B0%D1%8F-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86D00% %D0%BF%D1%80%D0%B8%D0%B2%D0%B0%D1%82%D0%BD%D1%8B%D1%85-%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9-%D1% B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5-%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1% B8-%D0%B8-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-%D0%B2-%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BBD0%D1%87%D0%B8%D1%81%D0%BBD0%D00%D0%B %D0%B8%D0%B8-%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0-%D1%8D%D0%BB%D0%BB%D0%B8%D0%BF%D1%8D%D0%BB%D0%BB%D0%B8%D0%BF%D1%82%8 7%D0%B5%D1%81%D0%BA%D0%BE%D0%B9-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-secp256k1-%D1%83%D0%BE%D1%800% %D0%B7%D1%8B-%D0%B4%D0%BB%D1%8F-%D1%8D%D0%BA%D0%BE%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-bitcoin
  3. https://cyberleninka.ru/article/n/primenenie-blockchain-v-kriptovalyute-bitcoin-1
  4. https://cyberleninka.ru/article/n/analiz-blokcheyn-tehnologii-osnovy-arhitektury-primery-ispolzovaniya-perspektivy-razvitiya-problemy-i-nedostatki
  5. https://osp.ru/os/2025/02/13059629
  6. https://top-technologies.ru/ru/article/view?id=37634
  7. https://science-engineering.ru/ru/article/view?id=1247
  8. https://www.computerra.ru/318125/shifr-kotoryj-padet-kak-kvantovye-tehnologii-mogut-obnulit-kriptomir/
  9. https://onekey.so/blog/ru/ecosystem/crypto-and-quantum-computing-is-it-a-threat
  10. https://securitymedia.org/info/nadezhnye-shifry-kriptografiya-v-sovremennom-mire.html

 密碼分析

CVE-2024-35202 的這些技術細節及其影響,補充並加深了我們對與比特幣 JSON-RPC 用戶端加密漏洞相關的威脅情勢以及比特幣加密貨幣整體安全性的理解。 

  1. https://www.cvedetails.com/cve/CVE-2024-35202/
  2. https://www.suse.com/security/cve/CVE-2024-35202.html
  3. https://cve.akaoma.com/cve-2024-35202
  4. https://nvd.nist.gov/vuln/detail/cve-2024-35202
  5. https://secalerts.co/vulnerability/CVE-2024-35202
  6. https://bitcoincore.org/en/2024/10/08/disclose-blocktxn-crash/
  7. https://access.redhat.com/security/cve/cve-2024-35202
  8. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-35202
  1. https://dzen.ru/a/Zw1b6dUm1HtxTn6B
  2. https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B9%D0%BD
  3. https://ru.ruwiki.ru/wiki/%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B9%D0%BD
  4. https://se.math.spbu.ru/thesis_download?thesis_id=16
  5. https://cyberleninka.ru/article/n/istoriya-razvitiya-kriptovalyuty
  6. https://cyberrus.info/wp-content/uploads/2025/03/vokib-2025-1-cc.pdf
  7. https://pikabu.ru/tag/%D0%90%D1%80%D0%B1%D0%B8%D1%82%D1%80%D0%B0%D0%B6%20%D0%BA%D1%80%D0%B8%D0%BF %D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D1%8B,%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B8%D0%BD%D1%88
  8. https://21ideas.org/epubs/mastering-lightning-network.pdf

如有需要,我可以協助撰寫關於特定類型攻擊的更詳細章節。

  1. https://www.datawallet.com/ru/%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%B0/how-to-fix-interp-Tam-Tam-onel-Sas-to-fix-interal-Tam-Tam-onel-Sas-to-fix-interask-jamson
  2. https://blog.ishosting.com/ru/bitcoin-core-tutorial
  3. https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
  4. https://pikabu.ru/story/bitflipping_attack_na_walletdat_riski_ispolzovaniya_aes256cbc_grozit_utechkoy_zakryityikh_klyuchey_bitcoin_core_chast_1_13153470ikh_klyuchey_bitcoin_core_chast_1_13153470
  5. https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BA%D0%BE%D0%B9%D0%BD
  6. https://se.math.spbu.ru/thesis_download?thesis_id=16
  7. https://yellow.com/ru/research/%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BB%D0%B8-bitcoin-layer-2-%D1%81%D0 %BE%D0%BF%D0%B5%D1%80%D0%BD%D0%B8%D1%87%D0%B0%D1%82%D1%8C-%D1%81-ethereum-%D0%BF%D0%BE%D0%BB%D0%BD%D 1%8B%D0%B9-%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B9%D00% %BB%D1%8F-%D0%BC%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D8F8%
  8. https://habr.com/ru/articles/807565/
  9. https://cyberleninka.ru/article/n/istoriya-razvitiya-kriptovalyuty
  10. https://forklog.com/news/ryad-ethereum-servisov-okazalsya-pod-ugrozoj-iz-za-uyazvimosti-v-protokole-jsonrpc

By