作者:KEYHUNTER
與操作執行時間不恆定相關的嚴重漏洞
時間陰影攻擊:(側通道時序攻擊)
對整個加密貨幣構成生存威脅。科學已證明,攻擊者若能取得橢圓曲線密碼(ECC)交易處理時間,便可重構所有者的私鑰,破壞比特幣網路資金流動的完整性,從而為資金盜竊和數位簽章偽造鋪路。
比特幣橢圓曲線密碼(ECC)實作中的關鍵漏洞:時序攻擊威脅私鑰和整個加密貨幣生態系統的安全。
本文探討了比特幣加密實作中的一個關鍵問題,即針對橢圓曲線secp256k1協定的計時攻擊。文章著重闡述了這個問題的科學性及其對整個生態系統安全的潛在影響。
引言:比特幣的關鍵漏洞
比特幣安全的關鍵基石之一是橢圓曲線 secp256k1,它用於產生私鑰、簽名以及後續的交易認證。任何實現層面的漏洞都可能導致大規模攻擊,從而危及數百萬用戶的私鑰安全,並破壞人們對系統的信任。 tlseminar.github +2
攻擊的科學特徵
此類漏洞中最危險的是 側通道 定時攻擊 (STA)。其科學名稱為「橢圓曲線標量乘法側通道定時攻擊」。
此攻擊透過測量橢圓曲線點上乘法/加法運算的執行時間(假設演算法並非以恆定時間實現)來進行攻擊。執行時間的偏差使得攻擊者可以透過數學分析(例如使用格攻擊)來恢復私鑰。成功的實驗和理論基礎在 Billy Bob Brumley、Nicola Tuveri 等人的著作中有所描述。 sciencedirect +1
對比特幣加密貨幣的影響
如果 Bitcoin Core 或其使用的函式庫(例如 libsecp256k1)採用非恆定 ECC 時序實現,攻擊者可以遠端執行時序攻擊:
- 取得節點或錢包在進行交易或簽名時的回應時間統計資料。
- 恢復特定地址所有者的私鑰位。
- 竊取資金、偽造簽名、入侵系統服務、重建目標錢包的私鑰。
這次攻擊的規模可能是全球性的:該漏洞會影響數百萬個實現了存在漏洞程式碼的UTXO、服務、交易所和錢包。
CVE 和漏洞文檔
這組漏洞已記錄在 CVE 和國際資料庫中:
- CVE-2019-25003 — libsecp256k1 函式庫中存在計時側頻道攻擊漏洞。攻擊者可以透過計時 Scalar::check_overflow 和其他操作來提取私鑰。 漏洞+1
- 類似的漏洞也已在其他實作中被發現,例如 secp256k1-node、OpenSSL 以及 Python/Rust/Go 的 ecc 軟體包,相關安全公告均已發布。 wiz +2
結論:科學與實踐批判
整個現代比特幣加密系統都依賴私鑰的數學強度。標準中未考慮到的側通道攻擊,如果執行時間不一致,就會成為系統的弱點。
針對橢圓曲線密碼(ECC)的側通道定時攻擊 已被證實是科學且實際的威脅。每位開發者都有義務實現並測試恆定時間演算法,監控漏洞編號(CVE),並定期進行安全審計。
| 攻擊的科學名稱 | 時序側通道攻擊(SCA) |
|---|---|
| 適用於比特幣 | 是(secp256k1、ECDSA、EC-DH) tlseminar.github+1 |
| 最著名的CVE | CVE-2019-25003、CVE-2023-26556、CVE-2024-48930 |
| 結果 | 私鑰被盜、駭客攻擊、系統入侵 |
| 庫/漏洞範例 | libsecp256k1、Go elliptic、secp256k1-node |
恆定時間橢圓曲線密碼(ECC)的實現是比特幣抵禦時間攻擊和保護隱私的根本屏障 。 vulert +4
主要漏洞
密碼學漏洞 是由於點的乘法和加法運算不是在恆定時間內實現的,這使得可以透過執行時間分析提取秘密標量(私鑰)的位元。
這段程式碼會影響四個函數:
AddNonConstDoubleNonConstScalarBaseMultNonConstScalarMultNonConst
它們都會以前綴命名 NonConst,表示 非 恆定時間實現。
以下範例顯示了相對行號(檔案開頭被視為第 1 行):
去:1 // ... package и импорты ...
9 // AddNonConst adds the passed Jacobian points together …
10 func AddNonConst(p1, p2, result *JacobianPoint) {
11 secp.AddNonConst(p1, p2, result) ← уязвимая точка (сложение в non-constant time)
12 }
…
17 // DoubleNonConst doubles the passed Jacobian point …
18 func DoubleNonConst(p, result *JacobianPoint) {
19 secp.DoubleNonConst(p, result) ← уязвимая точка (дублирование в non-constant time)
20 }
…
27 // ScalarBaseMultNonConst multiplies k*G …
28 func ScalarBaseMultNonConst(k *ModNScalar, result *JacobianPoint) {
29 secp.ScalarBaseMultNonConst(k, result) ← уязвимая точка (умножение на базовую точку в non-constant time)
30 }
…
36 // ScalarMultNonConst multiplies k*P …
37 func ScalarMultNonConst(k *ModNScalar, point, result *JacobianPoint) {
38 secp.ScalarMultNonConst(k, point, result) ← уязвимая точка (умножение на произвольную точку в non-constant time)
39 }
結論:透過執行時間分析 發現 , 私鑰洩漏漏洞發生在第 11、19、29 和 38 行 , 這些 行 呼叫 了相應的 方法 。secp.*NonConst

抽象的
本文詳細探討了使用非恆定時間實現橢圓曲線點運算時出現的密碼學漏洞,重點關注側通道(計時)攻擊及其對基於 secp256k1 的系統中私鑰安全的影響。文中提出了一種安全解決方案,並演示了一種安全的程式碼變體,該變體可以防止未來發生類似的攻擊。 paulmillr +2
漏洞:針對 ECC 的時序攻擊
在現代橢圓曲線密碼系統(ECC)中,大多數關鍵運算都涉及逐點乘法和加法。如果這些運算的實作依賴於秘密資料(例如私鑰)的值,那麼執行時間也可能取決於該值。這就導致攻擊者可以透過多次執行時間測量來收集有關私鑰位元的統計資料 。
例如:如果 ScalarMult 函數中循環的一次迭代,在下一個位元為零時耗時顯著減少,而在下一個位元為一時耗時顯著增加,那麼攻擊者可以透過分析數千次執行,根據操作持續時間獲取私鑰的很大一部分資訊。 vulert +1
攻擊範例
- 時序攻擊 :攻擊者會對不同的標量進行操作,並分析回應時間,以統計方式重建金鑰或隨機數。
- 功耗分析 :使用硬體功耗監控進行類似分析可得出類似結果。 維基百科
安全修復:恆定時間實現
保護原則
- 所有分支和運算(加法、點乘法)都不應該依賴標量乘法器位元或秘密資料的值。
- 使用諸如蒙哥馬利階梯演算法、Joye 的雙倍加法演算法以及正確實現的條件交換/條件選擇演算法,無論輸入如何,都能提供相同的控制流。 github +1
安全演算法範例(蒙哥馬利梯形圖)
以下是一個用類似 Go 語言的偽代碼安全實作點乘法的範例:
去// Montgomery Ladder: Scalar multiplication in constant time.
func ScalarMultConstTime(k *ModNScalar, P *JacobianPoint) *JacobianPoint {
var R0, R1 JacobianPoint
R0 = infinityPoint // Начальная точка
R1 = *P // Копируем исходную точку
for i := k.BitLen() - 1; i >= 0; i-- {
bit := k.Bit(i)
// Constant-time conditional swap:
R0, R1 = cswap(R0, R1, bit)
// Эквивалентно: if bit == 0 { swap R0, R1 }
R0 = pointAdd(R0, R1) // Сложение
R1 = pointDouble(R1) // Удвоение
R0, R1 = cswap(R0, R1, bit)
}
return &R0
}
// Функция cswap должна быть реализована в constant time,
// без ветвлений/разыменовываний по секретным данным.
func cswap(a, b JacobianPoint, swapBit uint) (JacobianPoint, JacobianPoint) {
// Реализация условного обмена, независимая от swapBit
}
對於實際使用的語言(C、Rust、JS):
- 使用保證在恆定時間內實現 ECC 操作的函式庫:[noble-secp256k1]、wolfSSL(具有抗計時能力)、snowshoe.github +3
- 不要根據私鑰更改原始分支。所有「if (bit == 1)」語句都必須安全處理。
最終建議
- 所有涉及私有資料的加法和乘法運算都必須在常數時間內完成。 paulmillr +3
- 定期將加密庫更新到最新的安全版本,監控 CVE,並遵循抗時序攻擊準則 。 wolfssl
- 不要使用帶有後綴的函數
NonConst進行加密操作。 - 在資源審計中,務必審查實現恆定時間交換和點添加的上游修補程式。
文學和教育材料
- 維基百科:「橢圓曲線點乘法」是蒙哥馬利梯安全實現的原則 。
- Paul Miller:「快速學習橢圓曲線密碼學」-分析及時間洩漏修復範例 。 paulmillr
- Snowshoe Library:一個可攜帶、安全、快速的 C 語言橢圓曲線數學庫(原始碼) 。 GitHub
- WolfSSL:漏洞揭露與緩解 。 wolfssl
- Noble-secp256k1:開源 JS 恆定時間 ECC 庫。 dockeyhunt +1
- 滲透測試回顧: cure53 的《測試操作對定時攻擊的抵抗能力》
正確且安全地實現恆定時間乘法可以確保加密協定的容錯性,並防止持續的側通道攻擊,即使在遭受攻擊的主機上也能保證金鑰的完整性和機密性 。 wolfssl +3
定論
現代比特幣生態系統建立在橢圓曲線密碼學的數學原理之上,確保了私鑰的安全性和交易的真實性。然而,與非恆定交易執行時間和側通道定時攻擊相關的關鍵漏洞對整個加密貨幣構成了生存威脅。科學研究已證實,攻擊者若能取得橢圓曲線密碼學的交易處理時間,便可重構所有者的私鑰,從而破壞比特幣網路資金流的完整性,為資金盜竊和數位簽章偽造鋪平道路。
這類攻擊被稱為 針對橢圓曲線密碼學的側通道定時攻擊 ,已被收錄於主要的國際漏洞資料庫(例如 CVE-2019-25003)。它標誌著數位資產面臨的威脅進入了一個新時代:如今,密碼保護的基石不再是演算法的數學強度,而是精心設計的實現工程。
如果持續加密演算法的實施和定期審計不能成為行業標準,比特幣及其所有衍生加密協議不僅在技術上,而且在根本上都將面臨未來攻擊的威脅。如果不立即採取行動,損失數十億美元資產和破壞人們對區塊鏈技術的信任的風險將成為現實。只有將科學進步與嚴格的開發標準相結合,才能保護數位經濟免受此類攻擊,並在面對新威脅時保持其韌性 。

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

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

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

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

CryptoXterra:一款用於理解比特幣時序側頻道漏洞的取證密碼學工具
本文探討了CryptoXterra,這是一款用於偵測橢圓曲線密碼學(ECC)實作中漏洞的取證密碼分析工具,特別關注比特幣secp256k1協定中的時序側頻道攻擊。我們以「時間陰影攻擊」(Shadows of Time Attack)為例,分析了這個非恆定時間的密碼操作如何能夠提取私鑰,從而恢復遺失的錢包,並在敵對場景下竊取用戶資金。本文概述了此類攻擊的科學原理、CryptoXterra的取證應用,以及這些漏洞對比特幣生態系統造成的深遠影響。
引言:比特幣的隱性弱點
比特幣的加密基礎依賴橢圓曲線secp256k1來產生公鑰-私鑰對並執行ECDSA簽章。離散對數問題的數學難度確保了暴力破解私鑰在計算上是不可行的。然而,系統的安全性不僅依賴數學原理,還取決於加密演算法的實作方式。
其中最嚴重的風險之一是側通道定時攻擊(STA),攻擊者透過觀察加密操作在執行時的變化來提取有關私鑰的隱藏資訊。諸如標量乘法等函數中微妙的執行模式會暴露可利用的資訊外洩。
CryptoXterra工具的開發目的是為了分析、模擬和演示真實比特幣環境中此類時間漏洞的嚴重性。
威脅的科學特徵
- 核心攻擊原理: ECC 操作的計時回應會洩漏有關私鑰位元的資訊。
- 受影響的運算:非常量實現的加法(
AddNonConst)、倍增(DoubleNonConst)、基點乘法(ScalarBaseMultNonConst)和任意點乘法(ScalarMultNonConst)。 - 重構向量:基於格的統計分析對時間軌跡進行分析,使攻擊者能夠拼湊出受害者的私鑰。
- 實踐驗證:先前的學術研究,如 Brumley 和 Tuveri (2011) 的研究證實,此類攻擊不僅是理論上的,而且可以在受控條件下重現。
CryptoXterra:角色和功能
CryptoXterra在加密貨幣安全領域具有雙重科學與實務意義:
- 側通道資料的法證分析
- 從比特幣節點或錢包捕獲 ECC 操作的計時測量值。
- 將執行時間中的統計異常與關鍵位元機率映射關聯起來。
- 重構部分密鑰,證明洩漏的嚴重性。
- 攻擊向量模擬
- 提供側通道定時攻擊的受控實驗。
- 利用數學模型和時間追蹤來模擬對抗性密鑰恢復。
- 對不同 secp256k1 實現(Go、C、Rust、JS)的電阻等級進行基準測試。
- 安全實作的驗證
- 測試庫程式碼(例如
libsecp256k1)是否為常數時間。 - 識別不安全的函數呼叫(例如,
*NonConst後綴),並量化洩漏。 - 驗證諸如蒙哥馬利階梯法和條件交換技術之類的修復方法。
- 測試庫程式碼(例如
對比特幣生態系統的影響
CryptoXterra 的分析結果凸顯了比特幣可能面臨的系統性危機:
- 私鑰恢復:攻擊者可以從實現錯誤的庫中檢索秘密標量,從而暴露曾經被認為無法恢復的錢包。
- 錢包駭客攻擊:易受攻擊的系統可能成為遠端攻擊目標,攻擊者會控制對精心建構的交易請求的回應時間。
- 偽造數位簽章:透過重建私鑰,攻擊者可以完全控制交易,偽造交易,改寫比特幣的歷史記錄。
- 產業普遍風險:由於許多錢包、交易所和服務都重複使用核心程式碼庫,因此一個嚴重的漏洞可能會造成數十億美元的損失。
- CVE-2019-25003: libsecp256k1 標量操作中的時序側頻道。
- CVE-2023-26556、CVE-2024-48930:多語言 ECC 實作中的相關漏洞。
安全工程與緩解
根據CryptoXterra的取證評估,以下應對措施對於增強系統韌性至關重要:
- 常數時間演算法:蒙哥馬利階梯或喬伊階梯的標量乘法部署。
- 無分支條件交換:確保與資料無關的控制流。
- 庫審計:消除生產環境中明確標示為非常量(
NonConst)的函數。 - 定期 CVE 監控:立即採用上游維護者提供的修補程式。
- 科學標準化:將耐時序性作為密碼學要求,與數學可靠性同等重要。
案例研究:遺失錢包找回
CryptoXterra 的研究表明,透過對時間資料進行可控的取證收集,即使是「遺失」的錢包也可能恢復私鑰。過去人們認為無法透過暴力破解恢復的數據,現在可以透過側通道重建。這項發現雖然為合法的數位取證恢復遺失資產開闢了可能性,但也同時凸顯了攻擊者利用這種手段竊取資料而不被發現的風險。
結論
CryptoXterra揭示了比特幣當前安全態勢的脆弱性。「時間陰影」攻擊表明,密碼學不僅僅是數學,更需要精心設計以抵禦側通道攻擊。如果持續時間保護不能普遍實施,比特幣將面臨災難性的漏洞,攻擊者可以大規模地重建私鑰。
因此,CryptoXterra 等取證工具的作用至關重要:它們不僅顯示了漏洞的深度,還顯示了科學分析和實施紀律對於比特幣作為可信的全球金融體系的生存是多麼重要。
只有將這些經驗教訓融入生態系統,才能在面對日益猖獗的側通道攻擊時,保障錢包的完整性、資金流動以及加密協議的韌性。

比特幣橢圓曲線密碼學中的時序側頻道漏洞:成因、對策與安全實現
介紹
比特幣等現代加密貨幣依賴橢圓曲線密碼學(ECC)的數學嚴謹性來保護交易和私鑰。然而,這些系統的安全性並非僅僅取決於數學上的難度;它至關重要的是正確且抗側通道攻擊的實現。其中最關鍵且最容易被忽視的威脅之一是時序側通道攻擊,在這種攻擊中,執行加密操作所需時間的細微差異就可能向攻擊者洩露秘密訊息,例如私鑰的部分內容。
脆弱性是如何產生的
核心問題
當加密演算法的執行時間取決於秘密資料(通常是私鑰的位元組)時,就會出現時序側頻道漏洞。在橢圓曲線密碼學(ECC)中,最敏感的運算是點加、乘法和標量乘法。如果這些操作使用分支(例如,if語句)或執行成本隨秘密資料變化的操作來實現,攻擊者就可以利用執行時間的測量結果來重構私鑰。例如,如果當某個密鑰位元為零時,標量乘法例程的執行時間更長,而1當該位元為零時0,執行時間更短,那麼重複測量並進行仔細的統計分析就可以恢復密鑰。
易受攻擊程式碼範例
一個典型的易受攻擊的實作可能如下所示(偽代碼):
去for i := 0; i < k.BitLen(); i++ {
if k.Bit(i) == 1 {
R = pointAdd(R, P)
}
P = pointDouble(P)
}
k.Bit(i)這裡,依賴(私鑰的一部分)的分支會產生可利用的時間變化。
安全對策:持續實施
原則
最可靠且廣泛接受的防禦方法是編寫恆定時間運行的糾錯碼例程——這意味著它們的執行路徑和時間與秘密訊息無關。工程師透過以下方式實現這一點:
- 使用對每個位元進行相同處理的演算法(例如,蒙哥馬利階梯演算法)。
- 用不會洩漏時間資訊的算術運算或位元運算來取代對秘密資料的分支。
- 使用條件交換代替顯式分支。
安全程式碼範例
以下是使用蒙哥馬利階梯進行安全標量乘法的 Go 語言偽代碼:
去func ScalarMultConstTime(k *ModNScalar, P *JacobianPoint) *JacobianPoint {
var R0, R1 JacobianPoint
R0 = infinityPoint // Start with point at infinity
R1 = *P // Copy of original point
for i := k.BitLen() - 1; i >= 0; i-- {
bit := k.Bit(i)
// Conditional swap in constant time
R0, R1 = cswap(R0, R1, bit)
R0 = pointAdd(R0, R1) // Add
R1 = pointDouble(R1) // Double
R0, R1 = cswap(R0, R1, bit)
}
return &R0
}
// Constant-time conditional swap (using bitwise operations, no branches)
func cswap(a, b JacobianPoint, swapBit uint) (JacobianPoint, JacobianPoint) {
// Use masks and XOR to swap "a" and "b" in constant time if swapBit == 1
}
這種方法確保執行路徑永遠不會依賴秘密位,從而防止時間洩漏。
關於永續安全的建議
- 僅對涉及秘密資訊的所有加密操作使用恆定時間 ECC 實現。
- 審核開源函式庫,並修補或取代任何包含資料相關分支或時序變更的例程。
- 密切關注 CVE 和上游公告,以了解新出現的漏洞和修復方案。
- 定期進行程式碼審查和針對已知側通道攻擊的測試。
結論
比特幣橢圓曲線密碼(ECC)實作中的時序側通道漏洞構成了一個迫在眉睫的威脅:它們為攻擊者打開了一條隱藏且遠端竊取私鑰的途徑,從而威脅到錢包乃至整個加密貨幣生態系統的完整性。這種威脅並非源自於密碼學本身,而是源自於實現過程中的工程疏忽。唯一行之有效的解決方案是採用嚴謹的恆定時間程式設計方法,並對加密程式碼進行定期、嚴格的稽核。僅僅依靠數學上的強大能力是不夠的——安全的工程設計對於保護比特幣免受不斷演變的側通道攻擊至關重要。
比特幣橢圓曲線密碼學中時序側通道漏洞的發現,暴露了數位資產安全核心的一個極其關鍵的缺陷:即使是建立在數學上極其穩健的原則之上的系統,也可能因其在實際應用中存在的細微弱點而變得不堪一擊。當私鑰操作透過可預測的執行時間變化暴露出來時,惡意行為者便獲得了極其強大的機會——不僅可以重構私鑰、劫持丟失的錢包,還能破壞比特幣全球網路的完整性。這類攻擊將不可見的毫秒轉化為金融竊盜和數位偽造的途徑,威脅著所有加密貨幣系統賴以生存的信任和可靠性基礎。只有毫不妥協的工程紀律——恆定的時序密碼學實現、嚴格的審計以及警惕地採取應對措施——才能保護比特幣生態系統免受生存風險的威脅。教訓顯而易見:未來最有價值的數位資產的安全,不僅取決於其底層數學的強大,也取決於精確的程式碼和實現防禦。
- https://www.cs.virginia.edu/~evans/cs588-fall2001/projects/reports/team1.pdf
- https://www.ijcns.latticescipub.com/wp-content/uploads/papers/v4i1/A1426054124.pdf
- https://arxiv.org/html/2410.16965v1
- https://www.isaca.org/resources/isaca-journal/issues/2016/volume-3/can-elliptic-curve-cryptography-be-trusted-a-brief-analysis-of-the-security-of-a-popular-cryptosyste
- https://www.ssl.com/article/what-is-elliptic-curve-cryptography-ecc/
- https://papers.ssrn.com/sol3/Delivery.cfm/SSRN_ID4844542_code6772539.pdf?abstractid=4844542&mirid=1
- https://onekey.so/blog/ru/ecosystem/crypto-and-quantum-computing-is-it-a-threat
- https://ru.beincrypto.com/quantum-computers-bitcoin-security/
- https://www.reddit.com/r/CryptoTechnology/comments/1ij36za/could_quantum_computers_destroy_bitcoin/
- https://coinspot.io/cryptocurrencies/bitcoin/google-quantum-research-puts-bitcoin-security-on-fast-track-risk/
- https://habr.com/ru/companies/itsumma/news/650761/
- https://24tv.ua/tech/ru/kvantovye-kompjutery-protiv-bitkoina-ili-realnaja-ugroza-dlja-bezopasnosti-kriptovaljut-tehno_n2908762
- https://ru.beincrypto.com/quantum-calculations-bitcoin/
- https://www.computerra.ru/318125/shifr-kotoryj-padet-kak-kvantovye-tehnologii-mogut-obnulit-kriptomir/
- https://www.moneytimes.ru/news/quantum-threat-to-bitcoin/59769/
- https://tech.news.am/rus/print/6073/
- https://vulert.com/vuln-db/crates-io-libsecp256k1-588
- https://vulert.com/vuln-db/crates-io-libsecp256k1-91988
- https://www.sciencedirect.com/science/article/abs/pii/S0045790608000633
- https://paulmillr.com/posts/noble-secp256k1-fast-ecc/
- https://en.wikipedia.org/wiki/Elliptic_curve_point_multiplication
- https://github.com/catid/snowshoe
- https://vulert.com/vuln-db/packagist-paragonie-ecc-127880
- https://github.com/paulmillr/noble-secp256k1
- https://dockeyhunt.com/enhancing-cryptographic-security-with-noble-secp256k1-a-comprehensive-analysis/
- https://www.wolfssl.com/vulnerability-disclosure-ecdsa-signing-operations-nonce-size-leaks/
- https://cure53.de/pentest-report_noble-lib.pdf
- https://www.sciencedirect.com/science/article/pii/S2090447925002369
- https://www.npmjs.com/package/@noble/secp256k1
- https://diglib.tugraz.at/download.php?id=576a72d77c8c3&location=browse
- https://arxiv.org/pdf/2007.11481.pdf
- https://advisories.gitlab.com/pkg/composer/mdanter/ecc/CVE-2024-33851/
- https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/Efficient20and20Secure20Methods20for20GLV-Based20Scalar20Multiplication20-20CT-RSA2014.pdf
- https://docs.huihoo.com/rsaconference/usa-2012/Secure-Implementation-Methods.pdf
- https://www.youtube.com/watch?v=dhTxzfBsjGw
- https://vulners.com/osv/OSV:GHSA-3494-CFWF-56HW
- https://cryptojedi.org/papers/cmovsca-20160718.pdf
- https://vulert.com/vuln-db/packagist-mdanter-ecc-126986
- https://www.youtube.com/watch?v=KhcKUoWGR5k
- https://tlseminar.github.io/docs/stillpractical.pdf
- https://vulert.com/vuln-db/crates-io-libsecp256k1-91988
- https://vulert.com/vuln-db/crates-io-libsecp256k1-588
- https://www.sciencedirect.com/science/article/abs/pii/S0045790608000633
- https://www.wiz.io/vulnerability-database/cve/cve-2023-26556
- https://github.com/advisories/GHSA-584q-6j8j-r5pm
- https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-2894
- https://github.com/elikaski/ECC_Attacks
- https://cryptodeep.ru/twist-attack/
- https://www.wolfssl.com/vulnerability-disclosure-ecdsa-signing-operations-nonce-size-leaks/
- https://royalsocietypublishing.org/doi/10.1098/rsos.180410
- https://minerva.crocs.fi.muni.cz
- https://www.reddit.com/r/crypto/comments/1zmzto/sidechannel_attack_against_openssls_ecdsa/
- https://arxiv.org/html/2306.07249v2
- https://www.sciencedirect.com/science/article/abs/pii/S0026269220305346
- https://attacksafe.ru/noble-secp256k1/
- https://en.wikipedia.org/wiki/Elliptic-curve_cryptography
- https://security.snyk.io/vuln/SNYK-RUST-LIBSECP256K1RS-1584116
- https://nvd.nist.gov/vuln/detail/cve-2023-33850