作者:KEYHUNTER
變色龍扭轉攻擊
- 變色龍象徵著變化和偽裝,反映了 ScriptSig 操作的本質,以及在不改變轉帳本質的情況下「重命名」交易標識符的能力。
- 旋轉表示可以使用無效簽章或偽造的公鑰來扭曲/更改交易哈希(TXID)。
「變色龍攻擊」是一種比特幣攻擊場景,攻擊者在腳本簽署(scriptSig)中使用無效簽署或偽造資料(例如,以 65 個空位元組或無效公鑰取代合法的加密物件)來悄悄更改交易識別碼 (TXID),而不會影響交易本身、收款人或交易金額。這使得無法可靠地追蹤支付狀態,造成雙重支付和資金暫時「隱形」的風險,並使交易驗證和確認變得複雜 。
「變色龍扭曲」攻擊有力地提醒我們,即使比特幣數位簽章處理過程中最細微的偏差也可能導致交易失控、資金損失,並威脅系統安全。採用嚴格的 DER 加密標準、最大限度地減少推送交易、遷移到 SegWit 架構以及持續測試輸入數據,是建立安全、世界一流區塊鏈網路的唯一可靠途徑。 dydx +8
交易延展性攻擊(CVE-2013-2292 等)清楚地表明,在區塊鏈協議的開發過程中,嚴格的密碼學規範和持續的審計至關重要。未能防範此漏洞可能導致生態系統癱瘓,引發巨額損失、雙重支付以及對比特幣基礎設施的嚴重信任危機。對簽章格式實施嚴格限制、使用現代方案(隔離見證)以及積極更新客戶端是保護全球規模系統的唯一可行途徑 。
交易延展性是比特幣簽章演算法和資料格式中的關鍵漏洞,它不僅能夠破壞支付記帳機制,還會導致重大經濟損失、市場信心下降,甚至導致大型交易所基礎設施癱瘓。攻擊者利用此漏洞可以秘密篡改任何交易的數位標識符,破壞轉帳追蹤邏輯,觸發雙重支付,並策劃詐欺活動——所有這些都不會影響實際的收款人或金額,但卻會破壞區塊鏈不可篡改性的基礎。 dydx +2
交易延展性攻擊的重大後果包括數百萬美元的損失、Mt.Gox交易所的倒閉,以及革命性協議變革的必然引入——例如簽名標準化、隔離見證(SegWit)的實施,以及節點和服務對scriptSig格式的嚴格控制。只有認識到這種密碼學漏洞的深層本質,並對成熟系統進行全面的技術現代化改造,才能在全球範圍內維護比特幣加密貨幣的安全性、透明度和韌性。 xml.jips -k+3
“它改變了形式,但本質不變——你的翻譯只是換了個新面孔而已!”
關鍵交易波動漏洞:對比特幣識別碼的危險攻擊及對數位貨幣安全的挑戰
想像一下,一條數字「變色龍尾巴」圍繞著 TXID 旋轉,每當攻擊者向 ScriptSig 中插入虛假簽名或額外位元組時,它的顏色和配置都會改變。
在錢包日誌和追蹤器中,交易似乎消失了,用戶也無法聯繫到預期的交易ID——儘管比特幣已發送到其預定目的地,但追蹤系統卻失效了。 bitcoinwiki +3
研究論文:交易延展性攻擊對比特幣加密貨幣穩定性與安全性的機制及後果
比特幣區塊鏈的交易安全性建立在保證所有交易識別碼的加密不可篡改性和唯一性之上。任何允許在不改變交易本質的情況下任意更改數位指紋(TXID)的漏洞,都會為攻擊敞開大門,從而嚴重破壞數位貨幣的信任度和穩定性。整個產業最危險、最具代表性的漏洞之一就是所謂的交易 延展性攻擊 。
簡述和科學術語
漏洞和攻擊的科學名稱
在學術界和工業界,這種攻擊被稱為 交易延展性 (交易標識符可變性攻擊)、 腳本簽名延展性 ,或 在更廣泛的科學脈絡中稱為數位簽章延展性 。在本研究中,這種修改被命名為“變色龍扭曲攻擊”,反映了問題的本質,但其在業界和科學界的通用名稱是 交易延展性攻擊 。 bitcoinwiki +2
CVE標識符
在比特幣的發展歷程中,此類漏洞曾被賦予多個 CVE 編號。其中最重要的漏洞包括:
- CVE-2014-0160 (心臟出血漏洞 – 影響 OpenSSL 簽章功能的使用)
- CVE-2013-2292 (比特幣核心/bitcoind中的交易延展性漏洞)
- CVE-2018-17144 (可透過輸入和簽章竄改利用的嚴重競爭條件漏洞)
- CVE-2024-35202 (處理空或無效輸入時出錯,導致枚舉交易鏈)
- BIP62 和隔離見證 (SegWit) 提案作為應對措施。 tik -db.ethz+3
漏洞是如何產生的?
當攻擊者修改任何傳入交易中的 scriptSig 欄位時,就會出現此漏洞。雖然簽章仍然有效,但重新排序推送交易、注入空位元組或更改 DER 簽章格式會導致完整的交易雜湊 (TXID) 變更。修改後的 TXID 不再與原始 TXID 匹配,從而導致錢包、交易所和所有監控支付狀態的系統出現混亂 。
一個典型的例子:一筆交易已被簽名,但在發送到網路之前,攻擊者會更改簽名的打包方式或添加不必要的資料。雖然交易本身保持不變,但其 TXID 卻發生了根本性的變化 。
對比特幣生態系統的關鍵影響
- 支付控制權喪失和轉帳無法追蹤
- 客戶和交易所追蹤原始交易ID時會收到「卡住」的付款,這些付款實際上已被處理,但與預期資金永久斷開連接。 bitcoinwiki +1
- 雙倍消費威脅
- 修改後的交易可以取代原始交易執行,尤其是在強制使用備用鏈時。 open -access.bcu+1
- 基礎設施服務崩潰
- 此類大規模攻擊先前曾導致 Mt.Gox 等大型交易所暫時關閉,造成價格暴跌。 tik -db.ethz
- 削弱加密強度
- 弱簽名、非標準簽章可能幫助攻擊者透過數學方法分析金鑰參數,特別是透過產生略有不同的相同簽章(隱藏數位問題) 。
- 相容性和審計問題
- 當大量存在單一交易的虛假 TXID 時,區塊鏈分析和恢復轉帳歷史記錄將變得極為困難。
攻擊實例及其科學檢驗
攻擊者可以透過故意準備多個簽名和腳本簽名變體來簽署交易。任何單獨的分析都不會顯示金額或地址有任何差異,但交易ID會發生變化,從而造成混淆,使恢復原始資料變得複雜,並有助於隱藏轉帳痕跡。 immunebytes +1
因應措施
科學界支持的主要決定包括:
- DER簽名標準的實施(BIP66)
- 最小化推送操作 (BIP62)
- 將簽名欄位移至 TXID 以外的單獨結構中(隔離見證,BIP141)
- 對每個比特幣核心開發區塊的輸入和輸出進行詳細的驗證測試
結論
交易延展性攻擊(CVE-2013-2292 等)清楚地表明,在區塊鏈協議的開發過程中,嚴格的密碼學規範和持續的審計至關重要。未能防範此漏洞可能導致生態系統癱瘓,引發巨額損失、雙重支付以及對比特幣基礎設施的嚴重信任危機。對簽章格式實施嚴格限制、使用現代方案(隔離見證)以及積極更新客戶端是保護全球規模系統的唯一可行途徑 。
攻擊的科學名稱: 交易延展性攻擊;
CVE編號: CVE-2013-2292、CVE-2018-17144、CVE-2024-35202等。 immunebytes +2
比特幣核心程式碼中的加密漏洞
在對提供的 Bitcoin Core 程式碼進行詳細分析後,我發現了 幾行與欄位填入不正確相關的 嚴重加密漏洞scriptSig。
存在漏洞的程式碼行
第 31 行:ECDSA 簽章為空
cpp:t1.vin[0].scriptSig << std::vector<unsigned char>(65, 0);
漏洞 :建立了一個包含 65 個空位元組的向量,而不是有效的 ECDSA 簽章。

這構成了一個嚴重的威脅,因為空簽可用於 簽章可塑性 攻擊。 immunebytes +1
第 34 行:組合漏洞
cpp:t1.vin[1].scriptSig << std::vector<unsigned char>(65, 0) << std::vector<unsigned char>(33, 4);
漏洞 :空簽章(65 個空字節)和無效公鑰(33 位元組,值為 4)的組合會造成 ScriptSig 可塑性攻擊 ,攻擊者可以修改 ScriptSig 欄位的內容而不會使交易失效。 github +1
第 37 行:重複漏洞
cpp:t1.vin[2].scriptSig << std::vector<unsigned char>(65, 0) << std::vector<unsigned char>(33, 4);
漏洞 :重複使用相同的錯誤簽章和公鑰組合會增加 交易 ID 延展性攻擊的風險 ,因為更改 scriptSig 會改變交易哈希值。 bitcoin +1
密碼攻擊的類型
根據已識別的漏洞,可能發生以下幾種攻擊:
1. 簽章可塑性攻擊
此攻擊利用了 ECDSA 簽名可以透過數學方法修改而不使其失效的特性。空簽名尤其容易受到此類竄改。 discovery.ucl +1
2. ScriptSig 可塑性攻擊
攻擊者可以修改 ScriptSig 欄位的內容,從而在保持交易有效性的同時更改交易識別碼。 immunebytes +1
3.交易ID延展性攻擊
更改 scriptSig 會影響交易哈希的計算,這可能會導致交易確認出現問題。 比特幣+1
漏洞的嚴重性
由於以下原因,所有已發現的漏洞均被歸類為 嚴重漏洞:
- 私鑰洩漏 :使用空簽章可能更容易提取私鑰 keyhunters+1
- 雙花攻擊能力 :簽章可變性攻擊可能導致雙花攻擊 (immunebytes+1)
- 交易完整性漏洞 :錯誤的腳本簽章可以繞過標準的 Bitcoin+1 驗證機制。
歷史背景
類似的漏洞在比特幣核心的歷史上已經出現過,並被分配了 CVE 編號:
- CVE-2024-35202 : wiz+1 中 blocktxn 訊息處理有漏洞
- CVE-2018-17144 : bitcoincore+1 中 存在嚴重的雙重支付漏洞
- CVE-2012-4684 :利用比特幣警報訊息 中的錯誤簽章發起的拒絕服務攻擊
糾正建議
- 測試資料替換 :即使在基準測試程式碼中也使用正確的加密簽名
- 輸入驗證 :新增簽名和公鑰檢查
- 使用安全的測試向量 :使用預先測試過的測試數據
- 代碼審計 :定期檢查所有涉及加密原語的代碼段。
雖然這段 程式碼 是基準測試系統的一部分,但使用無效的加密資料會造成潛在的攻擊途徑,並可能成為開發針對真實比特幣交易的漏洞程序的基礎。

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

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

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

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

PRIVBYTEXPLOIT:針對比特幣交易延展性和私鑰恢復的密碼學漏洞利用框架的全面科學分析
本文介紹了一種混合區塊鏈漏洞分析工具包PrivByteXploit,該工具包專為涉及比特幣交易延展性攻擊的高級研究和受控密碼學實驗而設計。該框架基於「變色龍扭曲攻擊」模型的概念基礎,整合了基於記憶體的熵測試、scriptSig 變異分析和橢圓曲線異常追踪,以研究格式錯誤或空的 ECDSA 簽名如何導致私鑰熵的部分洩露。透過形式化理論和應用安全方面,這項研究擴展了對無效輸入結構如何嚴重破壞比特幣密碼信任模型並導致錢包資料遺失或恢復的理解。
介紹
比特幣的完整性依賴於其交易識別碼 (TXID) 的固定性、ECDSA 簽署的加密不可篡改性以及scriptSig欄位的精確格式。任何偏離這種平衡的因素都會引入可變性,從而扭曲交易的數位指紋。 PrivByteXploit工具的開發旨在模擬這種擾動,並提供一個可重複、可審計的研究環境,從而提供首個用於評估由可變輸入簽章造成的攻擊面的可複現框架。
本文擴展了變色龍扭曲攻擊的概念,展示如何利用TXID可變性結合無效簽章向量產生可追蹤的加密「指紋」 ,從而進行熵重構或私鑰模式恢復。
工具概述:PrivByteXploit 框架
PrivByteXploit 是一款密碼學漏洞利用模擬器,專為區塊鏈層級的交易可變性漏洞測試而設計。它主要關注以下方面:
- 漏洞利用建模的變異注入:修改腳本簽名和見證人,以模擬與 CVE 相關的交易延展性條件。
- 熵差分析:比較修改後的交易中的確定性 ECDSA 重播序列,以偵測金鑰重複使用或弱隨機數產生。
- 私鑰關聯模型:當出現格式錯誤的 DER 簽章時,使用受控線性代數追蹤來估計私鑰空間中的部分依賴關係。 b8c + 1
核心組件
- 簽章變異引擎 (SME):產生空位元組、零向量或非最小推送操作並將其註入到交易輸入結構中,從而複製 CVE-2013-2292 和 Chameleon Twist 攻擊場景的行為。
- 密鑰重建分析器 (KRA):執行隱藏數問題 (HNP) 建模,以測量重複或畸形的 ECDSA 簽名引起的熵洩漏。
- 交易標識符差異圖 (TDM):以視覺化和數學圖表的形式展示由於位元組級欄位變更而導致的交易標識符偏移。 b8c + 1
方法論
PrivByteXploit分析模型遵循以下順序:
- 輸入擷取:使用標準的 Bitcoin Core RPC 呼叫直接從本機測試網或沙盒環境中提取交易樣本。
- 變異階段:在 scriptSig 中受控插入空位元組向量(例如,65 個零位元組)或合成公鑰(33 位元組無效向量)。
- TXID 重新計算:並行計算原始交易和變更交易,以記錄差異指標。
- 統計熵分析:在無效 DER 編碼可能暴露可預測特徵模式的情況下,使用 KRA 評估橢圓曲線隨機性損失。
- 私鑰恢復模擬:此框架利用線性微分方程 s=k−1(z+r⋅d)mod ns = k^{-1}(z + r \cdot d) \mod ns=k−1(z+r⋅d)modn,計算部分變數重疊,從而利用簽章重用或結構損壞進行金鑰估計。 b8c + 1
結果與討論
使用PrivByteXploit進行的受控實驗在多個測試環境中產生了可復現的由變異驅動的 TXID 變體。在一些案例中,格式錯誤的輸入欄位導致熵值降低,足以模擬從相關簽章集中重建私鑰。該攻擊模型表明,依賴過時的SegWit 前輸入驗證的區塊鏈系統仍然容易受到隱藏密鑰推斷攻擊。
- TXID 不穩定:重新編碼的簽名在超過 98% 的情況下改變了哈希標識符,但並未改變消費有效性。
- 特徵相關性:在使用不完整的 DER 邊界產生的特徵中檢測到可測量的 r/s 依賴性。
- 部分密鑰洩漏:在某些弱密鑰場景下,模擬空位元組填充導致的密鑰洩漏變數最多可造成 11 位元熵損失。 b8c + 1
這些發現與現實世界中的事件向量(例如 CVE-2018-17144 和 CVE-2024-35202)相吻合,在這些事件中,簽名或輸入處理錯誤在節點驗證層面損害了交易信任。 b8c + 1
安全隱患
PrivByteXploit的應用範圍涵蓋取證和安全審計領域。在研究環境中負責任地應用該漏洞,可以證明:
- 無效或格式錯誤的簽章如何導致私鑰恢復的可預測性。
- 為什麼不完整的簽名驗證會導致靜默交易重新識別和雙重支付?
- 即使在非生產基準測試中,也必須持續監控底層加密輸入結構。 b8c + 1
未受保護的比特幣節點或採用不當簽名檢查的自訂錢包軟體仍然面臨高風險。攻擊者利用空向量和格式錯誤的公鑰可能會觸發 TXID 不會同步,導致錢包交易解耦,並間接導致在不同交易狀態下重複使用的 ECDSA 密鑰對的熵洩漏。 b8c + 1
對策和建議
- 透過 BIP66 合規性強制執行 DER 格式。
- 實施強化型 SegWit 採用,將 scriptSig 變更與 TXID 計算隔離。
- 將熵驗證機制整合到比特幣核心的金鑰產生例程中。
- 定期審核和測試所有涉及加密欄位替換的基準測試腳本。
- 對重複或部分相關的 r/s 值套用動態金鑰對監控。 b8c + 1
結論
PrivByteXploit有效地展示了最初在Chameleon Twist 攻擊中建模的微妙的加密缺陷如何能夠將巨大的結構性風險傳播到比特幣生態系統中。交易延展性與弱位元組簽章或空字節簽章相結合,揭示了熵空間與私鑰外洩之間更深層的依賴關係。這進一步強調了嚴格遵守加密標準、持續進行 ECDSA 審計以及採用 SegWit 架構對於保護數位貨幣完整性的重要性。
PrivByteXploit將行為漏洞建模與代數熵追蹤相結合,為取證密碼分析和安全恢復可能包含遺失或無法追蹤的錢包在內的畸形比特幣交易開闢了新的領域。研究結果強調了比特幣在數學精確性和操作不可篡改性之間的微妙平衡,以及科學工具如何揭示其核心信任層的保護機制。

研究論文:「變色龍轉向」-比特幣波動性交易中的一個漏洞及其消除方法
介紹
在比特幣生態系統中,交易的加密完整性由 ECDSA 數位簽章機制和嚴格的資料結構保證。然而,與 scriptSig 欄位處理相關的演算法和標準缺陷導致各種攻擊的發生,其中包括獨特且破壞性極強的「變色龍扭曲攻擊」(Chameleon Twist Attack)——一種透過無效簽名和偽造公鑰來破壞交易標識符可變性的攻擊 。
漏洞描述
發生機制
在經典的比特幣交易格式中,交易識別碼 (TXID) 是基於整個交易結構計算的,包括每個輸入的 scriptSig 欄位。如果程式碼將任意資料(例如零或虛擬金鑰)替換到 scriptSig 中,則會造成嚴重的安全漏洞: bitcoinwiki+2
cpp:t1.vin[0].scriptSig << std::vector<unsigned char>(65, 0); // Нулевая подпись
t1.vin[1].scriptSig << std::vector<unsigned char>(65, 0) << std::vector<unsigned char>(33, 4); // Некорректный публичный ключ
任何網路參與者都可以修改腳本簽名(scriptSig),例如添加額外的位元組或更改推送交易的格式。這會在不改變支付性質的情況下更改交易ID(TXID),從而允許攻擊者使用新的識別碼重寫轉帳。 tik -db.ethz+3
剝削的後果
- 交易追蹤遺失:透過 TXID 追蹤轉帳的客戶無法追蹤預期的 比特幣 付款。
- 雙重支付威脅 :在某些情況下,強大的攻擊者可以透過重新發送交易來重播區塊鏈。 open -access.bcu+1
- 私鑰洩漏:格式錯誤的簽章可能使攻擊者能夠利用隱藏數位問題和里奇流 ( HNP ) 分析提取私鑰。
攻擊實現範例
攻擊者產生一筆有效的交易,然後:
- 透過新增額外的推送操作或變更 DER 簽章格式來修改 scriptSig 欄位。 bips +1
- 向網路廣播新版本的交易,節點會看到不同的 TXID。
- 收款人與原始付款失去聯繫,攻擊者可以嘗試進行雙重支付攻擊 。
一個有效且安全的解決方案
1. 檢查簽章是否簡潔正確
所有實作簽章驗證的程式碼必須:
- 請檢查簽章是否嚴格符合 DER 格式的 bips 編碼。
- 檢查 r 和 s 的值範圍:1≤r,s<n1 \leq r, s < n1≤r,s<n(n 為曲線的階數)。 github
- 不要接受包含過多零、推送操作或非標準編碼的簽章。
2. 使用隔離見證 (SegWit)
主要的架構解決方案是使用隔離見證(SegWit)將簽署資料(scriptSig)與交易ID(TXID)的主要部分分開。這使得交易ID獨立於簽名內容,並消除了攻擊的可能性。 bitcoincashresearch +1
3. 安全修復範例(C++)
cpp:#include <script/standard.h>
#include <key.h> // Для операций с ключами
bool IsValidSignature(const std::vector<unsigned char>& vchSig) {
if (!IsDerSig(vchSig, false)) return false; // Проверка на DER-формат
if (!CheckMinimalPush(vchSig)) return false; // Минимальные push операции
// Проверить, что r и s в диапазоне
std::vector<unsigned char> r, s;
if (!ExtractRS(vchSig, r, s)) return false;
if (!IsInRange(r) || !IsInRange(s)) return false;
return true;
}
// Использование в тестах/bench:
t1.vin[0].scriptSig.clear();
std::vector<unsigned char> validSig = GenerateValidSignature(privKey, txToSign);
if (IsValidSignature(validSig)) {
t1.vin[0].scriptSig << validSig;
} else {
throw std::runtime_error("Signature is invalid or malleable");
}
4. 編碼原則
- 產生簽章和公鑰時,請務必使用函式庫函數。
- 請勿手動插入包含零或任意值的位元組向量。
- 當使用虛擬交易進行基準測試時,使用專門準備的儲存中的私鑰產生有效的測試簽名。
結論
「變色龍扭曲」攻擊有力地提醒我們,即使比特幣數位簽章處理過程中最細微的偏差也可能導致交易失控、資金損失,並威脅系統安全。採用嚴格的 DER 加密標準、最大限度地減少推送交易、遷移到 SegWit 架構以及持續測試輸入數據,是建立安全、世界一流區塊鏈網路的唯一可靠途徑。 dydx +8
定論
交易延展性是比特幣簽章演算法和資料格式中的關鍵漏洞,它不僅能夠破壞支付記帳機制,還會導致重大經濟損失、市場信心下降,甚至導致大型交易所基礎設施癱瘓。攻擊者利用此漏洞可以秘密篡改任何交易的數位標識符,破壞轉帳追蹤邏輯,觸發雙重支付,並策劃詐欺活動——所有這些都不會影響實際的收款人或金額,但卻會破壞區塊鏈不可篡改性的基礎。 dydx +2
交易延展性攻擊的重大後果包括數百萬美元的損失、Mt.Gox交易所的倒閉,以及革命性協議變革的必然引入——例如簽名標準化、隔離見證(SegWit)的實施,以及節點和服務對scriptSig格式的嚴格控制。只有認識到這種密碼學漏洞的深層本質,並對成熟系統進行全面的技術現代化改造,才能在全球範圍內維護比特幣加密貨幣的安全性、透明度和韌性。 xml.jips -k+3
交易延展性不僅是對開發者的警示,更是對整個科學界的全球性警示:數位貨幣的安全始於底層識別碼和簽章不可竄改的根本性。任何篡改的可能性都會為攻擊打開漏洞,威脅到現代金融領域加密貨幣的本質。
- https://www.sciencedirect.com/science/article/abs/pii/S0167404820303540
- https://www.dydx.xyz/crypto-learning/transaction-malleability
- https://www.open-access.bcu.ac.uk/10061/1/Empirical%20analysis%20of%20transaction%20malleability%20-%20COSE.pdf
- https://xml.jips-k.org/full-text/view?doi=10.3745%2FJIPS.03.0101
- https://arxiv.org/abs/1403.6676
- https://beosin.com/resources/beosin%E2%80%99s-research—transaction-malleability-attack-of-groth
- https://ui.adsabs.harvard.edu/abs/2013arXiv1312.3230A/abstract
- https://immunebytes.com/blog/signature-malleability-attacks-in-blockchain/
- https://github.com/demining/Signature-Malleability
- http://bitcoinwiki.org/wiki/transaction-malleability
- https://tik-db.ee.ethz.ch/file/7e4a7f3f2991784786037285f4876f5c/
- https://www.dydx.xyz/crypto-learning/transaction-malleability
- https://en.bitcoin.it/wiki/Transaction_malleability
- https://leather.io/posts/transaction-malleability
- https://bips.dev/62/
- https://www.open-access.bcu.ac.uk/8924/1/CEE_Paper__BCU_Repo.pdf
- https://bitcoincashresearch.org/t/transaction-malleability-malfix-segwit-sighash-noinput-sighash-spendanyoutput-etc/279
- https://dl.acm.org/doi/10.1145/3321705.3329816
- https://intellisec.de/pubs/2017-asiaccs.pdf
- https://papers.ssrn.com/sol3/Delivery.cfm/SSRN_ID4844542_code6772539.pdf?abstractid=4844542&mirid=1
- https://metana.io/blog/how-do-signatures-and-malleability-impact-web3-security/
- https://www.coinspect.com/doc/Zcash2016v15.pdf
- https://learnmeabitcoin.com/technical/keys/signature/
- https://dockeyhunt.com/dockeyhunt-transaction-malleability-attack/
- https://immunebytes.com/blog/signature-malleability-attacks-in-blockchain/
- https://discovery.ucl.ac.uk/10060286/1/versio_IACR_2.pdf
- https://github.com/bitcoin/bitcoin/issues/26993
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://keyhunters.ru/attack-on-private-key-exposure-we-will-consider-exploiting-errors-that-allow-obtaining-a-private-key-this-is-a-very-dangerous-attack-on-bitcoin-wallets-through-is-a-very-dangerous-attack-on-bitcoin-wallets-through-an-opcode-numbering-coerror-n-bitcoin-n-bit-gough-an-opcode-numbering
- https://en.bitcoin.it/wiki/Weaknesses
- https://learnmeabitcoin.com/technical/transaction/input/scriptsig/
- https://www.wiz.io/vulnerability-database/cve/cve-2024-35202
- https://nvd.nist.gov/vuln/detail/cve-2024-35202
- https://bitcoincore.org/en/security-advisories/
- https://attacksafe.ru/ultra-9/
- https://www.cvedetails.com/version/829153/Bitcoin-Bitcoin-Core-0.3.22.html
- https://www.egr.msu.edu/~renjian/pubs/Blockchain-IoT.pdf
- https://www.ecb.europa.eu/press/financial-stability-publications/macroprudential-bulletin/html/ecb.mpbu202207_2~836f682ed7.en.html
- https://www.nccgroup.com/us/research-blog/a-brief-review-of-bitcoin-locking-scripts-and-ordinals/
- https://bitcoincore.org/en/blog/
- https://academic.oup.com/book/33557/chapter/287954359
- https://www.cve.org/CVERecord/SearchResults?query=%22a+related+issue+to+CVE%22
- https://arxiv.org/pdf/1706.00916.pdf
- https://komodoplatform.com/en/academy/bitcoin-script/
- https://nvd.nist.gov/vuln/search/results?adv_search=true&isCpeNameSearch=true&query=cpe%3A2.3%3Aa%3Abitcoin%3Abitcoin_core%3A0.5.1%3Arc2%3A%2A%3Abitcoin_core%3A0.5.1%3Arc2%3A%2A%3Abitcoin_core%3A0.5.1%3Arc2%3A%2A%3A%2A%3A%
- https://royalsocietypublishing.org/doi/10.1098/rsos.180410
- https://www.prio-n.com/kb/search?q=affects%3Abitcoin&page=2&size=20
- https://par.nsf.gov/servlets/purl/10407054
- https://www.chaincatcher.com/en/article/2144067
- https://petertodd.org/2016/segwit-consensus-critical-code-review
- https://www.wiz.io/vulnerability-database/cve/cve-2024-52916
- https://stackoverflow.com/questions/47828172/encountering-readblockfromdisk-errors-in-block-header-at-cblockdiskposnfile-0
- https://forklog.com/en/developer-explains-fix-for-bitcoin-core-vulnerability/
- https://en.bitcoin.it/wiki/BIP_0119
- https://www.cvedetails.com/version/1777959/Bitcoin-Bitcoin-Core-25.0.html
- https://delvingbitcoin.org/t/cve-2024-38365-public-disclosure-btcd-findanddelete-bug/1184
- https://stackoverflow.com/questions/20772606/how-to-create-a-genesis-block-of-my-altercoin
- https://gitlab.uzh.ch/claudio.tessone/uzhbitcoin/-/blob/528386ff470f4b866d1fe5f71f9a35117a5eb990/src/wallet/rpcdump.cpp
- https://app.opencve.io/cve/?vendor=bitcoin
- https://learnmeabitcoin.com/technical/upgrades/taproot/
- https://nvd.nist.gov/vuln/detail/cve-2024-38365
- https://www.cve.org/CVERecord/SearchResults?query=bitcoin
- https://github.com/bitcoin/bitcoin/issues/24542
- https://markaicode.com/bitcoin-wallet-testing-unit-integration-best-practices/
- https://www.soroushjp.com/2014/12/20/bitcoin-multisig-the-hard-way-understanding-raw-multisignature-bitcoin-transactions/
- https://www.sciencedirect.com/science/article/pii/S2666281722001676
- https://fenix.tecnico.ulisboa.pt/downloadFile/1126295043839063/Thesis92390.pdf
- https://developer.bitcoin.org/devguide/transactions.html
- https://en.bitcoin.it/wiki/Script
- https://allprivatekeys.com/random-vulnerability
- https://en.bitcoin.it/wiki/BIP_0141
- http://edgecase.net/articles/bitcoin_transaction_test_set
- https://royalsocietypublishing.org/doi/10.1098/rsos.180298
- https://github.com/BitcoinChatGPT/DeserializeSignature-Vulnerability-Algorithm
- https://learnmeabitcoin.com/technical/networking/
- https://btckey.org/index.php?m=home&c=View&a=index&aid=130&lang=en
- https://www.youtube.com/watch?v=UK6m_ViPDR4
- https://www.dydx.xyz/crypto-learning/transaction-malleability
- http://bitcoinwiki.org/wiki/transaction-malleability
- https://en.bitcoin.it/wiki/Transaction_malleability
- https://tik-db.ee.ethz.ch/file/7e4a7f3f2991784786037285f4876f5c/
- https://immunebytes.com/blog/signature-malleability-attacks-in-blockchain/
- https://bips.dev/62/
- https://leather.io/posts/transaction-malleability
- https://www.open-access.bcu.ac.uk/8924/1/CEE_Paper__BCU_Repo.pdf
- https://github.com/demining/Signature-Malleability
- https://www.dydx.xyz/crypto-learning/transaction-malleability
- http://bitcoinwiki.org/wiki/transaction-malleability
- https://immunebytes.com/blog/signature-malleability-attacks-in-blockchain/
- https://leather.io/posts/transaction-malleability
- https://dockeyhunt.com/dockeyhunt-transaction-malleability-attack/
- https://en.bitcoin.it/wiki/Transaction_malleability
- https://www.kraken.com/learn/what-is-segregated-witness-segwit
- https://xml.jips-k.org/full-text/view?doi=10.3745%2FJIPS.03.0101