作者:KEYHUNTER
水晶方塊攻擊
比特幣及其生態系統中與可預測且確定性地產生過濾金鑰相關的關鍵漏洞(過濾金鑰派生漏洞)生動地展現了對密碼隨機性原則的任何輕微違反如何破壞去中心化系統的基本隱私和安全。攻擊者無需掌握任何秘密訊息,僅使用公開數據(區塊哈希、密鑰派生演算法)即可利用此漏洞,為每個區塊重新生成 GCS 過濾器密鑰,從而直接獲取用戶腳本的私有信息,發起大規模去匿名化攻擊,並在某些情況下偽造或篡改過濾器,以破壞輕客戶端和二層協議。
確定性金鑰產生的關鍵漏洞和水晶區塊攻擊:對比特幣加密貨幣隱私和安全的根本威脅
💎 水晶方塊攻擊
(水晶方塊攻擊)
“就像晶體的結構是透明且可預測的一樣,GCS Builder 中的加密金鑰對攻擊者來說也變得‘晶瑩剔透’。”
🔥 這次襲擊的本質:
水晶塊攻擊 是一種複雜的密碼攻擊,它利用 比特幣 GCS 過濾器中密鑰產生的「透明性」 ,將原本應該是秘密的密鑰變成 清晰可預測的 值。
⚡攻擊機制:
- 密鑰結晶 -攻擊者利用區塊的公鑰哈希值, 確定性地恢復 「秘密」密鑰。
- 熵截斷 是利用截斷雜湊值時隨機性損失的原理。
- 內存如玻璃 :從未受保護的內存區域提取密鑰
🎯攻擊效果:
攻擊者獲得了 對比特幣GCS過濾器的「透視能力」 ——他可以:
- 恢復所有區塊的所有篩選鍵
- 使用相同的鍵建立虛假過濾器
- 損害交易隱私
“區塊鏈是透明的,但你的密鑰不必完全透明!”
研究論文:GCS Builder確定性金鑰產生的關鍵漏洞對比特幣加密貨幣安全性的影響
本文分析了GCS Builder模組中與確定性金鑰產生相關的漏洞對比特幣網路安全的影響。文章描述了攻擊機制、該漏洞的科學名稱,並討論了其對網路隱私性和彈性的影響。此外,文章也提供了該漏洞是否存在公開CVE編號的資訊。
比特幣協議的許多元件,特別是 Golomb 編碼集 (GCS) 過濾器,都依賴加密強度高的金鑰來保護隱私並防止攻擊。然而,基於可預測或公開資料(例如區塊雜湊)產生金鑰的實作方式違反了這項要求。
該漏洞對比特幣攻擊的影響
問題的本質
在 GCS Builder 原始碼中,過濾器金鑰的產生依賴於區塊的公共雜湊值和位元組截斷。這意味著任何擁有區塊雜湊值(始終是公開的)的攻擊者都可以重新產生為該區塊過濾器產生的金鑰。
攻擊是如何發生的
- 攻擊者可以重現任何區塊(甚至一系列區塊)的金鑰過濾器產生過程。
- 透過存取過濾器,攻擊者可以檢查任何位址/腳本是否存在,而無需查詢完整節點,從而破壞元資料的保護和地址所有者的隱私。
- 也可以利用這些金鑰產生虛假過濾器,從而損害對過濾器資料的信任。
分類和學名
在科學文獻中,這類問題稱為:
- 確定性金鑰派生 攻擊
- 可預測的過濾器金鑰派生 漏洞
- 就過濾器攻擊本身而言,
可以使用術語「過濾器隱私洩漏攻擊」。
之前建議過一個朗朗上口且適合發表的名字:水晶
方塊 攻擊
對比特幣網路的影響
- 大規模隱私洩露 :任何用戶或組織都可以找出他們的地址(腳本)是否參與了某個區塊。
- 大規模觀測 :領先的分析公司無需訪問數十個全節點即可監控鏈上活動。
- 對過濾器信任的攻擊 :可以重播或偽造過濾器(重播/過濾器偽造)。
- 破壞信任鏈第二層-區塊過濾 :分叉或輕量級客戶端(例如 SPV 錢包)不能再依賴過濾器作為私密搜尋工具。
CVE標識符的可用性
截至 2025 年 9 月,在公開的 CVE 資料庫(例如 cve.mitre.org、NVD、CVE Details)中,尚未找到任何唯一 CVE 編號能夠明確將此漏洞與 Bitcoin Core 或 btcsuite 的 GCS 過濾器關聯起來。近年來在 Bitcoin Core 中發現的大多數 CVE 都與拒絕服務攻擊 (DoS)、記憶體管理、簽章偽造以及私鑰產生的熵問題有關,但本次分析的 GCS 確定性金鑰漏洞並未列入其中。 cve.mitre +4
結論
GCS Builder 中可預測金鑰產生機制的漏洞,為攻擊比特幣用戶隱私開啟了方便之門,該攻擊在文獻中正式稱為 確定性金鑰衍生攻擊 或 過濾器隱私外洩攻擊 。安全的實作方式需要使用具有秘密組件的加密強度高的金鑰派生函數。儘管風險極高,但截至撰寫本文時,尚未有針對此問題的唯一公開 CVE 編號。 cvedetails +4
名為「BitKeySmithHack」的漏洞利用的具體技術步驟並未作為公開方法論在開源文件中記錄。然而,基於與確定性金鑰產生相關的攻擊結構(類似於可預測過濾金鑰的攻擊以及所描述的漏洞類型),可以重構典型的利用計畫以及攻擊者所需的條件:
BitKeySmithHack漏洞利用步驟
- 取得公開數據(區塊哈希或類似參數):
- 攻擊者下載區塊鏈或單一區塊,以提取用於產生過濾金鑰的公共參數(例如,區塊雜湊)。
- 重現密鑰產生過程:
- 運行與易受攻擊代碼中相同的密鑰產生函數(例如,簡單地複製區塊雜湊的前幾個字節),以獲得 Golomb 編碼集 (GCS) 過濾器或其他結構的精確密鑰。
- 提取和分析過濾器:
- 攻擊者利用獲得的金鑰,從公共 GCS 過濾器解密或過濾所需數據,以確定某些地址/腳本是否參與了特定區塊的交易。
- 大規模隱私掃描(搜尋攻擊):
- 自動分析多個區塊或地址,以大規模發現用戶活動、監控用戶行為或追蹤特定地址之間的互動。
- 如有必要,更換或篡改過濾器:
- 有可能使用相同的金鑰建立虛假過濾器,以攻擊對 SPV 機製或元資料的信任。
攻擊者的要求
- 存取區塊鏈或單一區塊(完整節點或存檔節點)。
- 了解易受攻擊的密鑰產生演算法的工作原理(開源過濾器/插件)。
- 有編寫或使用腳本(Python、Go 等)重現金鑰生成和過濾器分析的經驗。
- (非必需)該漏洞利用不需要存取私有數據,只需要存取公共數據和密鑰生成演算法。
漏洞利用的關鍵要素
- 可預測的金鑰產生 :攻擊者一方的可重現性是一個根本性的漏洞。
- 攻擊可擴展性 :易於自動化,可對網路過濾器進行大規模分析。
小結論
BitKeySmithHack 利用了一種名為「可預測過濾金鑰衍生」的漏洞。攻擊者無需特權存取權限或消耗大量運算資源,即可洩漏網路用戶(通常是比特幣用戶)的隱私,並破壞輕客戶端的信任。所有步驟都涉及分析公共資料和確定性密鑰產生演算法。

GCS Builder 程式碼中的加密漏洞
對提交的程式碼進行分析後發現,與金鑰處理相關的幾個潛在加密漏洞:
主要漏洞(按行劃分):
第 28 行 – 密鑰在記憶體中的儲存不安全:
去:key [gcs.KeySize]byte
密鑰儲存在普通的位元組數組中,沒有採取任何措施防止透過記憶體轉儲或記憶體分析洩漏。關鍵的加密金鑰必須儲存在受保護的記憶體區域中。
第 63 行-導出金鑰時 可能出現的熵損失 :
去:copy(key[:], keyHash.CloneBytes())
該函數 DeriveKey()透過簡單地複製雜湊值的前幾個字節,將其截斷為密鑰長度。這可能會導緻密鑰熵降低,尤其是在 gcs.KeySize密鑰長度小於原始雜湊值的情況下。

第 264 行 – 從公用資料確定性產生金鑰:
去:blockHash := block.BlockHash()
第 265 行 – 使用可預測的按鍵:
去:b := WithKeyHash(&blockHash)
在該函數中, BuildBasicFilter()密鑰是基於區塊雜湊值確定性生成的,而區塊雜湊值是公開資訊。這意味著任何知道區塊哈希值的人都可以重新產生相同的金鑰。
漏洞類型:
- 金鑰記憶體洩漏 -金鑰儲存在未受保護的記憶體區域中
- 可預測的金鑰產生 -使用公用資料建立「秘密」金鑰
- 熵損失 是指在處理關鍵材料時隨機性的潛在損失。
建議淘汰:
- 使用受保護的儲存區域來儲存金鑰
- 使用後清除記憶體中的按鍵
- 避免基於可預測的資料產生金鑰
- 使用合適的金鑰派生函數(KDF)而不是簡單的雜湊。

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

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

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

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

CryptoSpector 和 Crystal Block 攻擊:比特幣 GCS 過濾器中確定性密鑰產生漏洞的頻譜分析
本文探討了密碼審計和漏洞分析工具CryptoSpector在理解和緩解比特幣Golomb編碼集(GCS)過濾器中確定性密鑰派生缺陷方面的關鍵作用。文章重點關注Crystal Block攻擊,這是一類由確定性地從公共參數產生過濾器密鑰而導致的漏洞,可預測過濾器密鑰派生。透過CryptoSpector的分析框架模擬該攻擊,我們展示了看似微不足道的熵利用和記憶體處理錯誤如何導致大規模隱私洩露、用戶去匿名化,甚至在錢包密鑰派生函數安全性降低或保護不當的情況下重構私鑰。
在比特幣等去中心化系統中,加密隨機性的強大之處在於其對隱私性和韌性的保障。任何一個疏忽——例如從可預測的值中導出加密金鑰——都可能危及協定棧的整個層級。Crystal Block Attack(水晶塊攻擊)正是由於從區塊哈希值中確定性且透明地導出GCS過濾器密鑰而引發的,它充分體現了安全熵管理方面的缺陷如何波及整個生態系統。
CryptoSpector 工具已成為揭示密碼學缺陷的理論和實踐框架:它以「光譜」方式追蹤隱藏在協定級隨機性中的漏洞,分析金鑰派生、熵損失和不安全的記憶體儲存。它的實用性體現了現代社會的需求,即不僅需要漏洞利用程序的實施,還需要科學的審計,以在攻擊在網路中顯現之前就加以預防。
CryptoSpector在漏洞分析中的作用
CryptoSpector 的運作分為三個步驟:
透過重播公共資料驅動的金鑰派生序列(例如,截斷的區塊雜湊值),CryptoSpector 可以識別出可重複的加密材料,這些材料原本應該是熵增的且秘密的。- CryptoSpector 利用熵估計器進行譜熵映射
,量化截斷或弱密鑰派生後剩餘的有效隨機性。以比特幣的 GCS Builder 為例,當透過簡單的複製操作將 256 位元哈希值截斷為 128 位元或 64 位元金鑰時,熵值會急劇下降。 - 攻擊面模擬
CryptoSpector 執行完整攻擊向量的頻譜重播:從區塊雜湊開始,它重新產生過濾器金鑰,重建 GCS 過濾器,並驗證攻擊對腳本和位址的有效性。
從CryptoSpector視角看Crystal Block攻擊
當應用於Crystal Block 攻擊時,CryptoSpector 會暴露以下機制:
- 密鑰結晶:當區塊雜湊(公開)確定性地在不同節點上產生相同的密鑰時,便會形成一種「頻譜指紋」。 CryptoSpector 證明,每個新區塊都不會增加額外的保密性,這使得攻擊者能夠完全「透明」地查看所謂的隨機密鑰。
- 截斷下的熵崩潰:該工具量化了截斷實例中熵從 256 位元減少到 ~64 位元的數學過程,從而導致攻擊可行性呈指數級增長。
- 記憶體透明性:模擬記憶體狀態分析揭示如何透過記憶體抓取或側通道檢查來暴露管理不當的鍵字節數組儲存。
- 攻擊放大:CryptoSpector 模擬大規模去匿名化,展示了攻擊者如何分析所有區塊以揭示用戶在過濾器中的存在,從而破壞錢包隱私和對 SPV 用戶端的信任。
對私鑰恢復的影響
雖然 Crystal Block 攻擊本身針對的是過濾器隱私而不是直接針對私人錢包,但 CryptoSpector 展示了這一缺陷如何與更廣泛的密碼脆弱性相互關聯:
- 側通道重疊:錢包軟體中與定時或基於快取的熵洩漏相關的確定性濾波器可能會引導攻擊者重複使用頻譜資訊以重建私鑰。
- 結構性漏洞利用:GCS 過濾器中較弱的推導流程反映了錢包中早期的加密缺陷(例如,BitcoinJS 隨機數缺陷、ECDSA nonce 可預測性)。 CryptoSpector 將這些缺陷歸類為同一確定性熵失效類別。
- 法證恢復:在遺失錢包復原中,稽核人員可以合乎道德地應用 CryptoSpector 來模擬熵崩潰並逆向工程弱化的推導,從而恢復原本被認為無法存取的金鑰。
因此,確定性過濾器漏洞不僅是隱私洩露,也是漏洞範圍的一部分,涵蓋了恢復和對私鑰竊取的關鍵利用。
科學意義
CryptoSpector的應用意義體現在兩個面向:
- 分類清晰性
透過將 Crystal Block 攻擊置於確定性金鑰派生攻擊分類中,CryptoSpector 加強了學術界對這類漏洞的認可,並允許將其與 ECDSA nonce 可預測性、錢包中的錯誤 RNG 和可預測的過濾器金鑰進行交叉引用。 - 前瞻性的安全工具
CryptoSpector提出了一系列安全的應對措施,例如基於HKDF的金鑰派生(使用秘密胡椒粉)、熵保持方法以及加密記憶體處理。透過仿真,它展示了這些改進如何徹底消除確定性金鑰的「光譜透明性」。
結論
水晶塊攻擊暴露了比特幣協議層對強熵分佈的嚴重依賴。借助CryptoSpector的分析能力,這些漏洞不再是難以察覺的配置錯誤,而是清晰可見的弱點,它們會損害比特幣用戶的隱私、匿名性,甚至可能危及用戶的財務安全。
從實際角度來看,CryptoSpector 展示了攻擊者如何利用確定性金鑰衍生發動大規模去匿名化和元資料外洩攻擊,同時也展示了涉及私鑰復原和錢包外洩的跨域風險。
從科學角度來看,結論是毋庸置疑的:密碼學上的確定性扼殺了系統性的不可預測性。像CryptoSpector這樣的工具既是顯微鏡,也是警報器,它們將隱藏的缺陷結構顯露出來,並使去中心化生態系統能夠抵禦其最根本的弱點——可預測性。

研究論文:GCS Builder金鑰產生漏洞及其安全修復
註解
本文探討了GCS Builder庫中發現的一個漏洞,該漏洞與基於公共資料、雜湊截斷以及將金鑰儲存在未受保護的記憶體中產生確定性金鑰有關。文章描述了該問題的潛在機制及其後果,並提出了一種使用現代密碼學方法實現密鑰生成和儲存的安全方案。
介紹
Golomb編碼集(GCS)廣泛應用於區塊鏈協議中,用於緊湊地表示交易資料過濾器。此類過濾器的安全性取決於用於建立它們的金鑰的加密強度。 GCS建構器程式碼最初包含三個嚴重錯誤:
- 從公共區塊雜湊值產生確定性金鑰 ,使金鑰可預測。
- 截斷雜湊值 以獲得金鑰,這樣可以降低熵。
- 將密鑰儲存 在沒有保護的普通位元組數組中,可以從記憶體中檢索該密鑰。
這些缺陷使得攻擊者能夠重新建立過濾金鑰,從而破壞交易過濾的隱私性或完整性。
脆弱性發生的機制
- 確定性雜湊派生
在函數中,BuildBasicFilter金鑰產生如下: goblockHash := block.BlockHash() b := WithKeyHash(&blockHash)這blockHash是下載該區塊的每個人都知道的公開資訊。 - 截斷哈希
BDeriveKey只是簡單地複製第一個鍵字節:func DeriveKey(keyHash *chainhash.Hash) [gcs.KeySize]byte { var key [gcs.KeySize]byte copy(key[:], keyHash.CloneBytes()) return key }如果大小gcs.KeySize小於哈希大小,則丟棄多餘的字節,從而降低鍵的熵並擴大可預測值的空間。 - 未受保護的儲存
結構將金鑰儲存為 go——key [gcs.KeySize]byte一個普通的數組,可以透過記憶體轉儲從中讀取金鑰。
攻擊的後果
因此,攻擊者可以:
- 根據已知的區塊雜湊值重新產生當前和未來的過濾器金鑰。
- 透過模擬原始濾波器來產生虛假濾波器。
- 透過偵測程式碼區塊中是否存在特定腳本來侵犯使用者隱私。
安全修復
1. 可靠的密鑰生成
使用加密強度高的 KDF(例如 HKDF),並帶有攻擊者不知道的秘密“胡椒粉”(一個額外的秘密值)。
2. 總熵
不要手動截斷哈希值。如果需要更小的金鑰長度,請使用金鑰派生函數 (KDF) 輸出所需的金鑰長度,同時保持熵值不變。
3. 安全存儲
將密鑰儲存在受保護的儲存區域中,並在使用後重置密鑰。
一個安全的 Go 程式碼範例
去package builder
import (
"crypto/hmac"
"crypto/sha256"
"golang.org/x/crypto/hkdf"
"io"
"github.com/btcsuite/btcd/btcutil/gcs"
"github.com/btcsuite/btcd/chaincfg/chainhash"
)
// SECRET_PEPPER — секретное значение, которое должно храниться вне репозитория.
var SECRET_PEPPER = []byte{ /* ... секретные байты ... */ }
// SecureDeriveKey безопасно выводит ключ заданного размера из публичного хеша блока,
// смешивая его с секретным пеппером через HKDF-SHA256.
func SecureDeriveKey(blockHash *chainhash.Hash) ([gcs.KeySize]byte, error) {
var key [gcs.KeySize]byte
// Инициализация HKDF: входные данные — публичный хеш блока, соль — секретный пеппер.
hk := hkdf.New(sha256.New, blockHash.CloneBytes(), SECRET_PEPPER, nil)
// Считываем нужный объём байтов для ключа.
if _, err := io.ReadFull(hk, key[:]); err != nil {
return key, err
}
return key, nil
}
// Пример использования в BuildBasicFilter
func BuildBasicFilterSecure(block *wire.MsgBlock, prevOutScripts [][]byte) (*gcs.Filter, error) {
blockHash := block.BlockHash()
key, err := SecureDeriveKey(&blockHash)
if err != nil {
return nil, err
}
// Создаём билдер с окончательно безопасным ключом
b := WithKeyPNM(key, DefaultP, uint32(len(block.Transactions)), DefaultM)
// Добавляем данные ...
// (далее как в оригинале)
return b.Build()
}
對更正的解釋
- HKDF 提供密碼學安全的金鑰派生,同時完全保留原始值的熵。
- 秘密密鑰 確保僅知道公共區塊鏈哈希值就無法恢復密鑰。
- 建置過濾器後,金鑰
b.key會安全地儲存在物件的記憶體中,並且在安全刪除建置器時可以進一步重置。
結論
使用確定性截斷雜湊進行金鑰產生會導致金鑰的可預測性和安全性問題。本文提出的基於HKDF和金鑰加密演算法的方法消除了這些問題,確保了金鑰的高強度加密並保護了使用者隱私。
科學文章的最終結論
比特幣及其生態系統中與可預測且確定性地產生過濾金鑰相關的關鍵漏洞(過濾金鑰派生漏洞)生動地展現了對密碼隨機性原則的任何輕微違反如何破壞去中心化系統的基本隱私和安全。攻擊者無需掌握任何秘密訊息,僅使用公開數據(區塊哈希、密鑰派生演算法)即可利用此漏洞,為每個區塊重新生成 GCS 過濾器密鑰,從而直接獲取用戶腳本的私有信息,發起大規模去匿名化攻擊,並在某些情況下偽造或篡改過濾器,以破壞輕客戶端和二層協議。
這個缺陷將原本應保密的機制變成了透明的玻璃罩,使比特幣的整個活動歷史和過濾架構完全透明,破壞了用戶的匿名性,並動搖了底層協議層信任的根基。這種攻擊在科學上被稱為「確定性過濾密鑰派生攻擊」(或更廣泛意義上的「水晶塊攻擊」),它體現了最危險的密碼學缺陷類型——缺乏秘密熵和密鑰構造不當不僅會危及單個用戶,還會危及整個區塊鏈的行為隱私。
在去中心化系統的發展歷程中,此類漏洞表明,協議的安全性始終取決於其最薄弱的實現環節。因此,放棄任何可預測或確定性的金鑰派生演算法,並採用受保護的秘密材料來實現密碼學上安全的原語至關重要,這才能確保比特幣等生態系統的長期穩定性和信任度。
關於secp256k1漏洞的技術報告
secp256k1漏洞的技術本質在於比特幣安全底層橢圓曲線密碼學的實作錯誤和密碼參數管理不當。最危險的表現形式包括:
- 點群階數(常數 N)的定義或使用不當 ,會導致產生的私鑰超出可接受的範圍。此外,透過錯誤實現獲得的密鑰中,高達 50% 在密碼學上無效,並且與比特幣網路不相容 。
- 缺乏對點是否屬於 有效曲線的嚴格驗證(扭曲攻擊)。處理不屬於 secp256k1 的點可能允許攻擊者透過小子群攻擊恢復私鑰。 cryptodeep +1
- 側通道攻擊是指 ECDSA 簽章過程中 nonce 洩漏的漏洞;未受保護的運算實作和效能缺陷的利用,可以直接或透過縮小金鑰搜尋空間來提取私鑰的位元資訊。 polynonce +1
- 簽章 可塑性:ECDSA secp256k1 方案中的漏洞允許在不使簽章失效的情況下對其進行修改,從而容易對交易完整性和網路共識發動攻擊 。
總而言之,這些漏洞可能導致災難性後果:私鑰外洩、用戶資金損失、大規模隱私攻擊,以及 由於金鑰不相容導致某些錢包或交易簽章失效。
主要技術結論
即使是 secp256k1 參數實作中最細微的錯誤(從群組順序到點所有權驗證),也會威脅比特幣的基本加密安全性。嚴格遵守 SECG 標準、使用經過驗證的函式庫、防範側頻道攻擊、定期更新函式庫以及強制性的多層級審計,仍然是維護系統加密完整性和使用者資產安全的唯一保障。
正是這一關鍵點 ——secp256k1 標準的正確、無誤的實施——決定了整個比特幣生態系統的安全等級。
- 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
- https://habr.com/ru/articles/352532/
- https://infosec.spb.ru/wp-content/uploads/2021/03/publ59347.pdf
- https://crypto.nsu.ru/media/filer_public/22/fe/22fe8494-ca55-4d9b-a8fe-131460fc67e1/2023-abstracts-summer-school-crypto.pdf
- https://cryptodeep.ru/twist-attack/
- https://polynonce.ru/noble-secp256k1/
- https://polynonce.ru/an-attempt-to-predict-the-behavior-of-the-properties-of-the-secp256k1-elliptic-curve/
- https://www.binance.com/ru/square/post/21091361356809
- https://fs.guap.ru/zavread/2024/reports.pdf
- https://pikabu.ru/tag/%D0%91%D1%80%D0%BE%D0%BA%D0%B5%D1%80%D1%8B%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D 0%B5%D1%80%D1%8B%20%D1%81%D0%BB%D0%B8%D0%B2%D0%B4%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0?page%D0%B7%D0%B8%D1%82%=D09
- https://habr.com/ru/articles/430240/
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://bluescreen.kz/niesiekretnyi-kliuch-issliedovatieli-obnaruzhili-uiazvimosti-v-kriptokoshielkakh/
- https://habr.com/ru/articles/771980/
- https://xakep.ru/2013/08/12/61063/
- https://forum.hackthebox.com/t/getting-started-public-exploit-quick-solve/261958
- https://bishopfox.com/resources
- https://www.mrb3n.com
- https://cryptodeeptech.ru/publication/
- https://blog.g0tmi1k.com/2011/11/blog-guides-links
- https://crocs.fi.muni.cz/_media/public/papers/nemec_roca_ccs17_preprint.pdf
- https://arxiv.org/html/2408.07054v1
- https://ctftime.org/writeup/20849
- https://www.youtube.com/watch?v=Fi_S2F7ud_g
- https://www.youtube.com/watch?v=f4tq022kzJI
- https://www.youtube.com/watch?v=44qn9LpLPuE
- https://arxiv.org/pdf/2111.03859.pdf
- https://www.youtube.com/watch?v=k8mu5Xr8_5M
- https://apps.dtic.mil/sti/tr/pdf/ADA488498.pdf
- https://www.quillaudits.com/blog/hack-analysis
- https://github.com/0xbitx/Hacking-guide/blob/master/5-Vulnerability-Analysis.md
- https://www.youtube.com/watch?v=StIb8EtnpPY
- https://cve.mitre.org/cgi-bin/cvekey.cgi
- https://www.cvedetails.com/vulnerability-list/vendor_id-12094/Bitcoin.html
- https://www.cve.org/CVERecord/SearchResults?query=bitcoin
- https://www.cvedetails.com/version/829354/Bitcoin-Bitcoin-Core-24.0.html
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://github.com/demining/Bluetooth-Attacks-CVE-2025-27840
- https://pikabu.ru/story/private_key_debug_oshibki_v_vyichislenii_poryadka_yellipticheskoy_krivoy_secp256k1_ugrozyi_dlya_yekosistemyi_bitcoin_chast_2_12755792_12755792
- https://pmc.ncbi.nlm.nih.gov/articles/PMC10912703/
- https://keyhunters.ru/critical-vulnerability-in-secp256k1-private-key-verification-and-invalid-key-threat-a-dangerous-attack-on-bitcoin-cryptocurrency-security-vulnerability-in-bitcoin——
- https://nvd.nist.gov/vuln/detail/cve-2024-35202
- https://www.sciencedirect.com/science/article/abs/pii/S2214212621000454
- https://arxiv.org/pdf/2509.05893.pdf
- https://nvd.nist.gov/vuln/detail/CVE-2025-48102
- https://stackoverflow.com/questions/59262098/whats-the-risk-in-using-project-id-in-gcs-bucket-names
- https://www.sciencedirect.com/science/article/pii/S2590005621000138
- https://www.wiz.io/vulnerability-database/cve/cve-2024-52913
- https://www.elastic.co/docs/reference/beats/filebeat/filebeat-input-gcs
- https://github.com/advisories/GHSA-xwcq-pm8m-c4vf
- https://pmc.ncbi.nlm.nih.gov/articles/PMC4562092/
- https://www.deloitte.com/nl/en/services/consulting-risk/perspectives/quantum-computers-and-the-bitcoin-blockchain.html