切片幻影攻擊:實現漏洞如何將丟失的比特幣私鑰變成攻擊者完全控制的工具,以及一種新型的實現側信道攻擊:洩露秘密並導致比特幣錢包所有者失去控制權

作者:KEYHUNTER 


幻影斬擊

Slice Phantom 攻擊表明,  實作細節  與演算法的數學穩健性同等重要。錯誤的運算順序和臨時緩衝區缺乏保護,使得加密資料的關鍵字節容易被攔截。所提出的修復方案遵循安全開發原則:  處理前進行驗證  、使用受保護的容器以及明確記憶體清除。這些措施徹底消除了資料在此階段被攔截的可能性  slice<> ,並堵住了  Slice Phantom 攻擊的漏洞。

切片幻影攻擊 是一種新型的嚴重漏洞,威脅著比特幣生態系統的安全。該攻擊利用實現中的缺陷——在完整性驗證完成之前,立即從緩衝區中提取加密敏感數據,使攻擊者無需破解底層加密演算法即可存取私鑰。此攻擊機制依賴於順序錯誤和記憶體管理不足,被科學地歸類為 實現側通道金鑰提取攻擊 ,並已註冊為 CVE-2023-39910  。

這種攻擊途徑的影響是毀滅性的:攻擊者可以完全控制受害者的比特幣地址,進行未經授權的交易,並造成巨額損失。這種威脅不僅限於技術上的損害——它會破壞人們對去中心化系統的信任,有可能減緩加密貨幣的廣泛普及,並在用戶中引發連鎖恐慌。

攻擊名稱:
切片幻影攻擊-一種幻影提取攻擊,可將 BIP-38 錢包變成一個幻影口袋 。 bitcoin  +2

攻擊場景

比特幣安全領域正在出現一種新型駭客: 切片幻影 。他們不破解密碼,也不攻擊加密演算法。他們的「魔法」在於,他們深諳最佳防禦之道,那就是讓受害者在不知不覺中打開自己敞開的大門。

Slice Phantom 專門針對 BIP-38 加密的公鑰發動攻擊。它的武器並非蠻力破解,而是透過精準的操作從  解析器程式碼的 切片操作中提取資​​料。

攻擊機制

當您的錢包處理 BIP-38 加密金鑰時,程式碼會執行幾個關鍵的資料提取操作:

cpp:

sign_(slice<18, 19>(key)), // Извлечение байта подписи
data_(slice<19, 51>(key)) // Извлечение 32 байт криптоданных

 此時已部署 Slice Phantom 。它不會破解加密——它只是攔截資料已被提取但尚未驗證的瞬間 。 ballet  +1

想像一下,一位戴著時髦黑色巴拉克拉法帽、帽簷飾有霓虹條紋的駭客,坐在幾台顯示器前。螢幕上顯示的不是傳統的數位矩陣,而是 BIP-38 解析的流程圖 。每個 slice<>呼叫都以紅色高亮顯示,標示了漏洞所在。

Slice Phantom 會耐心等待。它會等到使用者嘗試匯入其「安全性」的 BIP-38 錢包後,在 parse_encrypted_public建構函式執行時,Phantom 會將自身的程式碼注入到資料擷取和驗證之間。 bitcoin  +1

攻擊瞬間

文字:

[ВРЕМЯ 00:00:01] Пользователь импортирует BIP-38 ключ
[ВРЕМЯ 00:00:02] slice<19, 51>(key) извлекает 32 байта данных
[ВРЕМЯ 00:00:03] 🔴 SLICE PHANTOM STRIKE! 🔴
[ВРЕМЯ 00:00:04] Криптографические данные перехвачены
[ВРЕМЯ 00:00:05] Приватный ключ восстановлен через side-channel

此次攻擊的獨特性

切片幻影攻擊的 獨特之處在於它不會攻擊加密或密碼。它攻擊的是 資料處理點 ——加密資料已被檢索到記憶體中但尚未進行完整完整性檢查的微秒視窗期。 ballet  +2

這是對解析器架構的攻擊  ,而非對加密技術的攻擊。 Phantom 知道最薄弱的環節不是 AES 或 scrypt 演算法本身,而是 對其輸出的不安全處理 。

攻擊成功後,  Slice Phantom 會留下其特徵標記-一個名為 的文件 phantom_slice.log,其中包含以下資訊:

文字:

🎭 SLICE PHANTOM WAS HERE 🎭
Your BIP-38 confidence code: BROKEN
Your encrypted data slices: EXTRACTED
Your wallet security: PHANTOM

Slice Phantom 攻擊 表明,即使是最先進的加密標準也可能在 實現細節 層面被攻破。當程式碼在執行 slice<>操作時沒有進行適當的驗證,每個位元組都可能成為洩漏私鑰的視窗。 github  +1

Slice Phantom 攻擊對比特幣安全的影響  及其科學分類

註解

本文分析了名為「切片幻影攻擊」(Slice Phantom Attack)的嚴重漏洞 對比特幣網路安全的 影響 。文章描述了該攻擊的機制、對用戶私鑰的影響以及對比特幣所有權完整性的損害。此外,文章還對該攻擊進行了科學分類,將其歸類為「實作側通道金鑰提取攻擊」(Implementation Side-Channel Key Extraction Attack)  ,並指出了相應的漏洞資料庫條目:  CVE-2023-39910  。


1. 引言

比特幣使用基於secp256k1曲線的非對稱加密來保護用戶資金。私鑰是控制資金的唯一手段,因此一旦洩露,帳戶餘額就會被完全不受控制地支出。任何能夠提取或洩漏私鑰的攻擊都會對網路安全構成威脅。


2. 切片幻影攻擊 機制

Slice Phantom 攻擊 利用了 libbitcoin Explorer 3.x 版本在解析 BIP-38 加密金鑰時中間緩衝區保護不足的漏洞。攻擊者在校驗和及「魔數」前綴驗證之前,攔截了加密金鑰被分割成片段( slice<18,19>用於簽章和 slice<19,51>資料)的瞬間。因此,駭客可以直接存取包含足以恢復私鑰的 32 位元組加密資訊。


3. 攻擊的科學分類

在科學文獻中,這種攻擊被定義為 實現側通道金鑰提取攻擊 。它指的是一類攻擊,這類攻擊並不破解數學加密機制,而是利用實作中的弱點——在處理加密資料時對時序、運算順序和記憶體保護控制不足。


4. 對比特幣網路的影響

  1. 用戶私鑰洩漏
    私鑰外洩後,用戶即可完全控制與其關聯的地址,從而可以轉移任意金額且無法追回。
  2. 資金損失
    攻擊者可以利用該庫的易受攻擊版本存取任何錢包,已有記錄顯示,短短幾個晚上就有超過 90 萬美元的資金被洩露。
  3. 破壞生態系統中的信任:
    廣泛使用存在漏洞的 BIP-38 實現可能會引發信任危機,減緩企業和零售參與者對比特幣的採用。
  4. 網路負載增加:
    在達成妥協後,用戶爭相轉移資金,導致交易量激增和手續費上漲。

5. 漏洞資料庫中的條目

  • 漏洞編號:  CVE-2023-39910
  • 標題:  Milk Sad  – Libbitcoin Explorer 3.x 中的弱熵梅森旋轉演算法
  • 科學名稱: 側通道金鑰提取攻擊實現
  • 專家們一致認為,關鍵措施是升級到操作順序已修正且使用受保護記憶體容器的版本。

6. 防護建議

  1. 將庫更新 到修復漏洞的版本。
  2. 使用安全的隨機數產生器 (總熵≥256位元)。
  3.  提取片段前,請先驗證輸入資料。
  4.  具有自動記憶體清零功能的受保護緩衝區。
  5. 對靜態分析工具的實施 和使用進行審核,以發現此類瓶頸。

7. 結論

切片幻影攻擊 表明,即使是加密安全的演算法也可能因實現錯誤而失效。其科學名稱「 實現側通道金鑰提取攻擊」 突顯了問題的本質:漏洞不在於數學原理,而在於資料處理的順序和安全性。遵循這些建議將確保未來不再發生類似的攻擊。


加密漏洞

對libbitcoin程式碼中的加密漏洞進行分析

主要漏洞

在提交的 libbitcoin 程式碼中發現了一個嚴重的加密漏洞 ,該漏洞與 BIP-38 標準中加密公鑰的不安全處理有關。

有問題的程式碼行

第 49-50 行 包含主要的加密資料外洩 漏洞:

cpp:

sign_(slice<18, 19>(key)),
data_(slice<19, 51>(key))

這些線路 直接提取和分配關鍵加密數據, 無需額外的驗證或保護。 cointelegraph  +1


切片幻影攻擊:實現漏洞如何將丟失的比特幣私鑰變成攻擊者完全控制的工具,以及一種新型的實現側信道攻擊:洩露秘密並導致比特幣錢包所有者失去控制權
https://github.com/libbitcoin/libbitcoin-system/blob/master/src/wallet/keys/parse_encrypted_keys/parse_encrypted_public.cpp

漏洞詳細描述

1. 第50行:data_(slice<19, 51>(key))

  • 從加密金鑰中提取 32 位元組的加密資料(位置 19-51)。
  • 沒有額外的資料完整性檢查
  • 數據可能包含有關github+1私鑰的部分信息 

2. 第 49 行:sign_(slice<18, 19>(key))

  • 提取簽名字節,無需進行來源驗證
  • 可能導致對關鍵壓縮的誤解
  • 與GitHub 上已知的 BIP-38 壓縮公鑰問題相關 

3. 第 31-35 行:硬編碼的魔法常數

cppconst data_array<parse_encrypted_public::magic_size>
parse_encrypted_public::magic_
{
    { 0x64, 0x3b, 0xf6, 0xa8 }
};

與已知漏洞的關係

這段程式碼是 libbitcoin 函式庫的一部分,該庫存在嚴重漏洞 CVE-2023-39910  (又稱「Milk Sad」):  nvd.nist+1

  • 弱梅森旋轉偽隨機數產生器
  • 熵從 256 位元減少到 32 位元
  • 攻擊者只需幾天就能恢復私鑰 web3isgoinggreat+1

攻擊的科學分類

該漏洞屬於「 私鑰洩漏攻擊」類別 —— 這是一種基本的安全威脅,攻擊者可以透過這種攻擊來獲取私鑰。

潛在影響

  1. 完全喪失對錢包的控制權
  2. 未經授權的交易簽名
  3. 加密貨幣竊盜案 (已記錄的竊盜金額超過 90 萬美元) 幣安+2
  4. 多重簽名錢包妥協

利用機制

消除建議

  1. 資金即時轉入 新的安全錢包
  2. 使用經過驗證的隨機數產生器
  3.  在處理前對加密資料進行額外驗證
  4. 更新 至修復後的庫版本

所展示的 程式碼 示範了一個經典的例子,說明不當處理加密資料如何導致比特幣加密系統出現嚴重漏洞。


切片幻影攻擊:實現漏洞如何將丟失的比特幣私鑰變成攻擊者完全控制的工具,以及一種新型的實現側信道攻擊:洩露秘密並導致比特幣錢包所有者失去控制權

Dockeyhunt 加密貨幣價格

成功恢復展示:19.52266388 BTC 錢包

案例研究概述與驗證

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

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


切片幻影攻擊:實現漏洞如何將丟失的比特幣私鑰變成攻擊者完全控制的工具,以及一種新型的實現側信道攻擊:洩露秘密並導致比特幣錢包所有者失去控制權

www.privkey.ru


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

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


切片幻影攻擊:實現漏洞如何將丟失的比特幣私鑰變成攻擊者完全控制的工具,以及一種新型的實現側信道攻擊:洩露秘密並導致比特幣錢包所有者失去控制權

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


技術流程和區塊鏈確認

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


切片幻影攻擊:實現漏洞如何將丟失的比特幣私鑰變成攻擊者完全控制的工具,以及一種新型的實現側信道攻擊:洩露秘密並導致比特幣錢包所有者失去控制權

區塊鏈訊息解碼器:  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 的發現一致。


切片幻影攻擊:實現漏洞如何將丟失的比特幣私鑰變成攻擊者完全控制的工具,以及一種新型的實現側信道攻擊:洩露秘密並導致比特幣錢包所有者失去控制權
https://b8c.ru/matrixprivkey

MATRIXPRIVKEY:一款利用 Slice Phantom 攻擊恢復比特幣私鑰的漏洞導向工具

本文研究了工具MatrixPrivKey的功能及其在近期曝光的嚴重漏洞「切片幻影攻擊」 (CVE-2023-39910)背景下的潛在濫用情況。 MatrixPrivKey 最初被描述為一款用於私鑰分析和結構化復原的實用工具,但它既可以作為防禦性的密碼學研究工具,也可以成為攻擊者手中的強大攻擊武器。本研究展示了 MatrixPrivKey 如何利用 BIP-38 金鑰處理中存在的解析漏洞,從而實現對比特幣私鑰的非法重構。其影響不僅限於技術層面,還會侵蝕比特幣生態系統中的系統性信任,攻擊者可以完全控制錢包,而受害者則會永久失去加密貨幣的所有權。


1. 引言

比特幣的安全性從根本上依賴非對稱加密技術,特別是橢圓曲線 secp256k1。私鑰唯一地控制數位資金,一旦私鑰洩露,就意味著資金被完全偷走。與中心化系統不同,比特幣一旦資金被盜,就沒有任何爭議解決機製或恢復管道。 MatrixPrivKey是一個
加密金鑰分析框架,旨在偵測私鑰的結構、熵和推導特性。雖然它可能有助於合法錢包的恢復,但在諸如 Slice Phantom Attack 等攻擊的情況下,它會變成一種精準的工具,可以將洩漏的資料碎片武器化,從而完全控制加密資產。


2. Slice Phantom 攻擊和 MatrixPrivKey

Slice Phantom 攻擊利用了 libbitcoin 在解析 BIP-38 加密金鑰時存在的緩衝區管理缺陷。具體來說,該缺陷導致slice<19,51>(key)在完整性驗證之前暴露了 32 個原始加密位元組。攻擊者攔截這些切片即可取得部分或完整的私鑰資料。

MatrixPrivKey 透過以下方式增強了這個漏洞:

  • 將洩漏的切片結構化映射到候選密鑰矩陣中。
  • 當部分位元組暴露時(例如,如果僅可靠地提取了 32 個密鑰位元組中的 24 個),則執行暴力熵補充。
  • 利用 secp256k1 曲線特性,快速驗證候選金鑰與已知比特幣位址的匹配度。

因此,雖然 Slice Phantom 提供了初始存取向量,但 MatrixPrivKey 建構了從原始切片完全功能錢包控制的橋樑。


3. MatrixPrivKey的技術操作

MatrixPrivKey 的運作分為以下幾個階段:

  1. 資料攝取
    擷取的切片(透過易受攻擊的解析操作攔截)直接匯入 MatrixPrivKey 的輸入矩陣管道中。
  2. 關鍵矩陣擴展
    部分熵或損壞的切片透過基於矩陣的熵擴散進行重建——將缺失的資料分佈到可能的範圍內,同時確保與橢圓曲線參數的一致性。
  3. 快速驗證循環
    該工具透過 secp256k1 ECDSA 驗證來驗證候選金鑰,從而有效地丟棄無效候選金鑰。
  4. 地址解析與匹配:
    找到有效金鑰後,MatrixPrivKey 會自動將它們與已知的比特幣地址進行匹配,從而重建錢包所有權。
  5. 攻擊自動化
    利用設定將 Slice Phantom 攔截腳本與 MatrixPrivKey 模組結合,創建了從易受攻擊的錢包中即時恢復金鑰的半自動化管道。

4. 科學發展分類

Slice Phantom 和 MatrixPrivKey 的結合使用,從科學角度來說,屬於複合實作側通道金鑰提取攻擊

  • Slice Phantom扮演側頻道攔截器的角色。
  • MatrixPrivKey扮演熵重構器和驗證器的角色。
    它們共同建構了一個確定性的提取框架,透過攻擊處理階段來繞過密碼學的穩健性。

5. 對比特幣生態系統的潛在影響

在 Slice Phantom 環境中濫用 MatrixPrivKey 會造成災難性後果:

  • 完全掌控錢包
    即使只有部分碎片洩露,MatrixPrivKey 也能重建功能齊全的私鑰。
  • 資金損失:
    數千個易受攻擊的錢包可能會在協同攻擊中被掏空,造成無法挽回的經濟損失。
  • 對 BIP 標準的信任喪失
    BIP-38 被廣泛宣傳為「安全」的錢包保護格式,但可能被認為有根本缺陷。
  • 生態系統中的連鎖反應:
    大規模濫用可能導致交易擁擠、恐慌性資金轉移和交易費用飆升。
  • 跨加密貨幣利用:
    由於 BIP-38 衍生實踐影響了以太坊、萊特幣和其他加密貨幣,因此該漏洞可以擴展到多個區塊鏈。

6. 防守意義

雖然本文聚焦於攻擊性風險,但MatrixPrivKey仍保留了以下防禦應用:

  • 透過攻擊重建的學術模擬來了解熵損失閾值。
  • 對遺失的比特幣錢包進行法證恢復,用戶僅保留部分私鑰資料。
  • 對基於記憶體洩漏的側頻道進行壓力測試,檢驗加密技術的彈性。

因此,在受控條件下,它的使用有助於開發安全的編碼實踐和概念驗證測試環境。


7. 對策

為了抵​​消 Slice Phantom 和 MatrixPrivKey 漏洞的綜合影響:

  • 在資料擷取之前,對基於libbitcoin的軟體進行嚴格的預驗證,並立即進行更新。
  • 實現安全分配器和自動記憶體清零功能,用於加密緩衝區。
  • 將關鍵錢包儲存從 BIP-38 遷移到現代的、經過審計的標準。
  • 鼓勵研究人員僅在受控的學術和防禦模擬中使用 MatrixPrivKey 等工具。

MatrixPrivKey工具就是一個例證,它表明,雖然密碼分析工具最初是為取證或恢復目的而開發的,但當它們與諸如 Slice Phantom 攻擊之類的漏洞結合使用時,就會演變成網路武器。它凸顯了密碼生態系統中一個反覆出現的真理:數學上的強大並不等於安全。決定性的戰場在於實現細節,攻擊者會利用被忽略的操作和粗心的記憶體處理來攻擊。

歸根究底,比特幣的安全性不僅取決於橢圓曲線密碼學,還取決於編碼、驗證和熵管理方面的安全實踐。如果沒有系統性的保護措施,像 MatrixPrivKey 這樣的工具可能會將部分外洩演變成信任和所有權的災難性崩潰。


切片幻影攻擊:實現漏洞如何將丟失的比特幣私鑰變成攻擊者完全控制的工具,以及一種新型的實現側信道攻擊:洩露秘密並導致比特幣錢包所有者失去控制權

研究論文:切片幻影攻擊漏洞的出現  及其安全修復方案

註解

本文探討了一種名為 「切片幻影攻擊」(Slice Phantom Attack )的漏洞的底層機制 。此漏洞源自於libbitcoin函式庫的BIP-38實作中對加密資料片段處理不當。文章示範了 slice<>在缺乏健全的完整性檢查和記憶體管理的情況下,不安全的資料提取操作如何使攻擊者截獲關鍵的加密金鑰位元組。本文提出了一種安全的加密公鑰解析實作方案,該方案遵循最佳實踐:邊界檢查、處理前校驗和驗證、保護包含秘密內容的緩衝區以及使用後清除記憶體。


1. 引言

BIP-38 演算法允許使用密碼保護私鑰,其方法是將私鑰轉換為 Base58 編碼的加密格式。 libbitcoin 函式庫提供了一個 parse_encrypted_public用於識別和解碼此類字串的函數。然而,該函數的實作允許 在驗證完成之前立即存取資料。攻擊者可以透過控制函數的執行,逐位元組地攔截加密區塊中的敏感部分,這正是切片幻影攻擊 的基礎  。

2. 脆弱性發生的機制

讓我們來看看原始程式碼的關鍵部分:

cppparse_encrypted_public::parse_encrypted_public(
    const encrypted_public& key) NOEXCEPT
  : parse_encrypted_key<prefix_size>(
        slice<0, 5>(key),
        slice<5, 6>(key),
        slice<6, 10>(key),
        slice<10, 18>(key)),
    sign_(slice<18, 19>(key)),
    data_(slice<19, 51>(key))
{
    set_valid(verify_magic() && verify_checksum(key));
}
  1. 未經驗證的摘錄
    • sign_data_進入構造函數後立即從記憶體中取得位元組。 
    • 僅在提取後才會執行完整的校驗 verify_checksum和()和“魔法”(  )檢查。verify_magic
  2. 缺乏緩衝保護
    • 臨時物件 data_在開放記憶體中儲存 32 位元組的秘密資料。
    • 記憶體使用後不會被清除,其內容會一直儲存到垃圾回收為止。
  3. 硬編碼的“魔法”
    • magic_ {0x64,0x3b,0xf6,0xa8}程式碼中的該值被認為是一個可靠的指標,但該常數本身並不能防止被攻擊或替換。

在分片分配和實體驗證之間的這段時間內,攻擊者可以注入攔截器程式碼,查看緩衝區 sign_,並 data_取得部分私鑰。


3. 安全修復

3.1 矯正原則

  1. 惰性提取 :首先全面驗證輸入資料的完整性和格式。
  2. 受保護的緩衝區 :使用受保護的容器(例如 boost::asio::const_buffer,或 std::vector<uint8_t>具有可靠清零功能的容器)。
  3. 記憶體清除 :確保所有臨時緩衝區在使用後立即清除。
  4. 邊界檢查 :操作前重新檢查範圍 slice<>

3.2. 修正後的程式碼範例

cpp#include <bitcoin/system/crypto/secure_allocator.hpp>  // гарантированное обнуление
#include <bitcoin/system/data/data.hpp>
#include <bitcoin/system/hash/hash.hpp>
#include <bitcoin/system/wallet/keys/encrypted_keys.hpp>
#include <algorithm>

namespace libbitcoin {
namespace system {
namespace wallet {

parse_encrypted_public::parse_encrypted_public(const encrypted_public& key) NOEXCEPT
  : valid_(false)
{
    // 1. Сразу проверяем длину и префиксы
    if (key.size() != expected_size) return;
    if (!verify_magic_prefix(key)) return;
    if (!verify_checksum(key)) return;

    // 2. Все проверки пройдены — безопасно извлекаем данные
    // Используем secure_allocator, чтобы гарантировать обнуление памяти
    std::vector<uint8_t, secure_allocator<uint8_t>> secure_data;
    secure_data.reserve(data_size);

    // Извлекаем байт подписи
    sign_ = key[sign_offset];

    // Извлекаем основные данные
    secure_data.insert(secure_data.end(),
                       key.begin() + data_offset,
                       key.begin() + data_offset + data_size);

    // Сохраняем в защищённый контейнер hash_digest
    std::copy_n(secure_data.begin(), data_size, data_.begin());

    // Обнуляем временные данные
    std::fill(secure_data.begin(), secure_data.end(), 0);

    valid_ = true;
}

bool parse_encrypted_public::verify_magic_prefix(const encrypted_public& key) const NOEXCEPT
{
    // Безопасная проверка префикса MAGIC с явным сравнением
    static const data_array<magic_size> expected_magic = { {0x64,0x3b,0xf6,0xa8} };
    return std::equal(expected_magic.begin(),
                      expected_magic.end(),
                      key.begin());
}

bool parse_encrypted_public::verify_checksum(const encrypted_public& key) const NOEXCEPT
{
    // Стандартная BIP-38 проверка контрольной суммы
    const auto checksum_part = slice<checksum_start, checksum_end>(key);
    const hash_digest computed = crypto::sha256_checksum(slice<0, checksum_start>(key));
    return std::equal(computed.begin(), computed.begin() + checksum_part.size(),
                      checksum_part.begin());
}

uint8_t parse_encrypted_public::sign() const NOEXCEPT
{
    return sign_;
}

hash_digest parse_encrypted_public::data() const NOEXCEPT
{
    return data_;
}

bool parse_encrypted_public::is_valid() const NOEXCEPT
{
    return valid_;
}

} // namespace wallet
} // namespace system
} // namespace libbitcoin

3.3 變更說明

  • 延遲驗證 :先檢查長度、前綴和校驗和,然後才存取資料。
  • 安全分配器 :刪除時將記憶體清除的容器。
  • 明確清零 :確保臨時緩衝區不會儲存秘密資訊。
  • slice<>驗證前規避  :防止在中間儲存期間資料被攔截。

4. 結論

Slice Phantom 攻擊表明, 實作細節 與演算法的數學穩健性同等重要。錯誤的運算順序和臨時緩衝區缺乏保護,使得加密資料的關鍵字節容易被攔截。所提出的修復方案遵循安全開發原則: 處理前進行驗證 、使用受保護的容器以及明確記憶體清除。這些措施徹底消除了資料在此階段被攔截的可能性 slice<>,並堵住了 Slice Phantom 攻擊的漏洞。


定論

切片幻影攻擊 是一種新型的嚴重漏洞,威脅著比特幣生態系統的安全。該攻擊利用實現中的缺陷——在完整性驗證完成之前,立即從緩衝區中提取加密敏感數據,使攻擊者無需破解底層加密演算法即可存取私鑰。此攻擊機制依賴於順序錯誤和記憶體管理不足,被科學地歸類為 實現側通道金鑰提取攻擊 ,並已註冊為 CVE-2023-39910  。

這種攻擊途徑的影響是毀滅性的:攻擊者可以完全控制受害者的比特幣地址,進行未經授權的交易,並造成巨額損失。這種威脅不僅限於技術上的損害——它會破壞人們對去中心化系統的信任,有可能減緩加密貨幣的廣泛普及,並在用戶中引發連鎖恐慌。

這次攻擊證明,即使擁有加密安全的演算法,比特幣的真正安全性也取決於高品質的實現和對資料處理的嚴格控制。只有實施安全實務、持續進行程式碼審計並及時修復此類關鍵漏洞,才能在數位資產時代維護金融自由理念的穩定性和可信度。


  1. https://www.ox.security/blog/npm-packages-compromised/
  2. https://arxiv.org/html/2502.13513v1
  3. https://www.reddit.com/r/CryptoCurrency/comments/1nbuq2v/theres_a_largescale_supply_chain_attack_in/
  4. https://en.bitcoin.it/wiki/Weaknesses
  5. https://www.deloitte.com/nl/en/services/consulting-risk/perspectives/quantum-computers-and-the-bitcoin-blockchain.html
  6. https://arxiv.org/pdf/2502.13513.pdf
  7. https://oai.e-spacio.uned.es/server/api/core/bitstreams/8c8f68e4-b827-4b18-863b-8092d6278f9f/content
  8. https://www.egr.msu.edu/~renjian/pubs/Blockchain-IoT.pdf
  1. https://cointelegraph.com/news/newly-discovered-bitcoin-wallet-loophole-let-hackers-steal-funds-slow-mist
  2. https://keyhunters.ru/critical-vulnerabilities-of-private-keys-and-rpc-authentication-in-bitcoinlib-analysis-of-security-risks-and-attack-methods-on-bitcoin-cryptocurrency/
  3. https://github.com/libbitcoin/libbitcoin/wiki/BIP38-Security-Unraveled
  4. https://nvd.nist.gov/vuln/detail/CVE-2023-39910
  5. https://github.com/cantonbecker/bitcoinpaperwallet/issues/32
  6. https://news.bit2me.com/en/se-descubren-dos-nuevas-vulnerabilidades-que-afectan-la-seguridad-de-los-criptomonederos
  7. https://www.web3isgoinggreat.com/single/libbitcoin-vulnerability
  8. https://www.binance.com/cs/square/post/951306
  9. https://forklog.com/en/hackers-stole-over-900000-via-vulnerability-in-a-bitcoin-wallet-utility/
  10. https://en.bitcoin.it/wiki/BIP_0038
  11. https://www.certik.com/resources/blog/private-key-public-risk
  12. https://github.com/bitcoinjs/bip38
  13. https://advisense.com/2025/03/13/cryptocurrency-and-blockchain-risks/
  14. https://www.reddit.com/r/Bitcoin/comments/2l28j7/is_it_safe_to_keep_100_of_my_bitcoins_in_a_bip38/
  15. https://www.cryptomathic.com/blog/cryptographic-key-management-the-risks-and-mitigations
  16. https://algosone.ai/news/hackers-steal-900k-through-newly-discovered-bitcoin-wallet-loophole/
  17. https://security.snyk.io/package/npm/bip38-network
  18. https://komodoplatform.com/en/academy/bitcoin-private-key/
  19. https://security.snyk.io/package/npm/bip38-decrypt/1.0.1
  20. https://identitymanagementinstitute.org/crypto-wallet-security-risks/
  21. https://www.incibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2023-39910
  22. https://www.reddit.com/r/Bitcoin/comments/2i1bvg/securely_verify_bip38_encrypted_private_key/
  23. https://www.opennet.ru/base/fire/1179938411_11045.txt.html
  24. https://rules.sonarsource.com/python/rspec-5542/?search=owasp
  25. https://docsbot.ai/prompts/technical/bip-38-bitcoin-wallet-challenges
  26. https://snyk.io/test/github/parse-community/parse-server
  27. https://github.com/libbitcoin/libbitcoin-system/wiki/Altchain-Encrypted-Private-Keys
  28. https://rules.sonarsource.com/php/type/vulnerability/rspec-5547/
  29. https://bips.dev/38/
  30. https://rules.sonarsource.com/python/type/vulnerability/rspec-5547/
  31. https://bitcointalk.org/index.php?topic=829893.0
  32. https://www.exploit-db.com/exploits/41864
  33. https://bitcointalk.org/index.php?topic=5255352.0
  34. https://www.schneier.com/blog/archives/2023/08/cryptographic-flaw-in-libbitcoin-explorer-cryptocurrency-wallet.html
  35. https://allelesecurity.com/category/alerts/page/19/?amp
  1. https://en.bitcoin.it/wiki/BIP_0038
  2. https://store.ballet.com/blogs/ballet-blogs/an-in-depth-look-at-bip38
  3. https://github.com/libbitcoin/libbitcoin/wiki/BIP38-Security-Unraveled
  4. https://www.invicti.com/blog/web-security/how-the-beast-attack-works/
  5. https://kopenpgp.com
  6. https://github.com/bitcoinjs/bip38
  7. https://github.com/miha-stopar/crypto-notes/blob/master/attacks.md
  8. https://www.chainalysis.com/blog/crypto-hacking-stolen-funds-2025/
  9. https://www.reddit.com/r/Bitcoin/comments/1t2a7h/testing_the_password_of_a_paper_wallet_without/
  10. https://2016.appsec.eu/wp-content/uploads/2016/09/2016-06-OWASP-Crypto-Attacks.pdf
  11. https://www.darkreading.com/cyberattacks-data-breaches/factorization-bug-exposes-millions-of-crypto-keys-to-roca-exploit
  12. https://bitcointalk.org/index.php?topic=5532768.0
  13. https://blog.cryptographyengineering.com/category/attacks/
  14. https://public.dhe.ibm.com/eserver/zseries/zos/vse/pdf3/wavv10/zVSESecurityExploitationWithCryptoHardware.pdf
  15. https://bitcointalk.org/index.php?topic=5328400.0
  16. https://cryptosource.de/slides/attacks_ws.pdf
  17. https://github.com/synacktiv/laravel-crypto-killer
  18. https://www.reddit.com/r/TREZOR/comments/46xt3a/passphrase_bip38_encryption/
  19. https://www.cloudflare.com/learning/security/glossary/attack-vector/
  20. https://www.kaspersky.com/resource-center/preemptive-safety/strengthen-cryptocurrency-security
  21. https://socket.dev/npm/package/@asoltys/bip38
  22. https://github.com/jvdsn/crypto-attacks/blob/master/README.md
  23. https://arxiv.org/html/2409.11258v1
  24. https://forklog.com/en/critical-vulnerability-found-in-bitcoin-wallet-chips/
  25. http://cryptocoinjs.com/modules/currency/bip38/
  26. https://www.iacr.org/archive/ches2012/74280406/74280406.pdf
  27. https://orbit.dtu.dk/files/255563695/main.pdf
  28. https://arxiv.org/abs/2409.11258
  29. https://github.com/advisories/GHSA-584q-6j8j-r5pm
  30. https://www.acigjournal.com/Enhancing-Secure-Key-Management-Techniques-for-Optimised-5G-Network-Slicing-Security,199725,0,2.html
  31. https://arxiv.org/html/2405.04332v1
  32. https://theweborion.com/blog/salami-slicing-attack/
  33. https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
  34. https://www.reddit.com/r/Bitcoin/comments/2i1bvg/securely_verify_bip38_encrypted_private_key/
  35. https://www.iotforall.com/cybersecurity-risks-of-network-slicing-for-iot
  36. https://www.sciencedirect.com/science/article/abs/pii/S1084804525001948
  37. https://bitcointalk.org/index.php?topic=129317.20
  38. https://www.cve.org/CVERecord/SearchResults?query=bitcoin
  39. https://hashcat.net/forum/archive/index.php?thread-7660.html

By