血印攻擊是一種破壞性極強的漏洞,它會洩漏比特幣錢包中的私鑰以及恢復私鑰的方法。該漏洞使攻擊者能夠完全控制錢包,合法地簽署任何交易,並永久提取所有比特幣資金。

作者:KEYHUNTER 

血印攻擊(密鑰洩漏攻擊)

涉及私鑰從記憶體洩露的嚴重加密漏洞會導致科學文獻中所謂的「密鑰洩露攻擊」或「密鑰洩露攻擊」。這類漏洞並非總是具有通用的 CVE 編號,但每種特定的洩漏方式(例如,序列化錯誤、隨機數產生器漏洞)都會被記錄在一個單獨的 CVE 編號中。可靠的記憶體保護和對私鑰的妥善處理對於比特幣和整個加密產業的安全至關重要。

涉及私鑰在記憶體中洩漏或其未受保護處理的關鍵漏洞,仍然是整個比特幣生態系統面臨的最危險、最具破壞性的風險之一。這種漏洞使攻擊者能夠完全控制地址:只需一個洩露的密鑰,即可合法簽署任何交易並永久提取所有資金,且無法恢復。這種攻擊——在科學上被稱為“密鑰洩露攻擊”、“私鑰洩露攻擊”或“密鑰暴露攻擊”——如果密鑰在內存中處理時沒有嚴格的安全協議,並且在每次使用後沒有立即清理,那麼去中心化安全性的概念就形同虛設 

利用此類漏洞不僅會導致用戶個人資產被盜,還會破壞全球加密貨幣基礎設施的信任,引發大規模詐欺、雙重支付等行為,並對加密貨幣產業造成嚴重的財務和聲譽損失。歷史攻擊經驗表明,私鑰管理中的錯誤和保護措施的疏忽會威脅到比特幣透明性、獨立性和可靠性的基本原則。


關鍵私鑰漏洞與「金鑰外洩攻擊」:對比特幣加密貨幣安全的致命威脅


研究論文:私鑰記憶體洩漏對比特幣網路攻擊的影響及漏洞的科學分類

比特幣網路的加密安全性是基於錢包所有者所持有的私鑰的不可訪問性。私鑰用於簽署交易和轉移加密資產的控制權——它是資金所有權的唯一證明。由於記憶體管理錯誤或疏忽大意導致的私鑰洩漏是比特幣加密貨幣最危險的漏洞之一 


脆弱性發生的機制

脆弱性的本質

在使用私鑰進行加密操作(例如 ECDSA 簽名)時,開發人員通常會使用標準變數或記憶體容器。如果金鑰使用後記憶體沒有清零,或金鑰傳輸不安全,則可以透過 RAM 轉儲、交換文件或側通道攻擊(例如冷啟動攻擊、側通道攻擊)來恢復秘密資料。攻擊者一旦獲取此類信息,即可完全破壞地址的安全性 


該漏洞對比特幣安全的影響

攻擊者的能力

  • 資金竊盜: 一旦攻擊者獲得私鑰,他們就可以為該地址建立任何簽名,以所有者的身分簽署交易並轉移所有資金。 keyhunters  +1
  • 雙重支付: 攻擊者可以創建衝突交易並試圖再次花費相同的代幣,從而破壞共識的信任。
  • 大規模後果: 熱門錢包中的一個漏洞可能會感染數百萬個位址,並導致大規模加密貨幣盜竊 
  • 聲譽和信任的喪失: 大量資金的洩漏破壞了去中心化安全的基本原則。

歷史實例

  • 金鑰產生過程中的漏洞(例如 Randstorm 漏洞、JavaScript 實作中的錯誤)導致大規模錢包被盜,損失高達數百萬美元。 密鑰獵人
  • 私鑰序列化過程中未加密和完整性方面的問題已被授予 CVE 編號,並導致了現實世界的攻擊 

攻擊的科學名稱和分類

術語

  • 私鑰 洩漏是一種根本性的安全漏洞,指私鑰被未經授權的第三方獲取,無論私鑰是透過記憶體、網路、檔案系統還是日誌等途徑獲得的 
  • 密鑰洩漏 攻擊(有時也稱為私鑰洩漏攻擊)。
  • 密鑰恢復攻擊 (密鑰恢復攻擊是科學出版物中更常用的術語;它不僅指直接洩露,還指基於間接證據提取密鑰的基本方法)。
  • 記憶體殘留 攻擊(或冷 啟動 攻擊) 是一種特殊情況 。 citp.princeton +2

CVE條目

目前沒有針對「私鑰外洩」的通用 CVE 編號:此類漏洞涵蓋多種原因和表現形式(序列化錯誤、未受保護的儲存、產生錯誤等)。然而,許多特定的私鑰外洩案例都有其專屬的 CVE 編號:  keyhunters+1

  • CVE 範例(並非完整列表,但反映了此類問題):
    • CVE-2018-17096 是 Bitcoin Core 中隨機數產生器的漏洞,允許恢復私鑰。
    • CVE-2025-29774 是一個嚴重的序列化漏洞,它會以未加密的方式儲存和傳輸私鑰。
    • 在 CVE 中,儲存或傳輸金鑰時未加密的漏洞被統稱為「金鑰管理不當」。

對比特幣生態系統的影響

  • 對被盜地址完全失去控制權。
  • 對網路本身信任的攻擊正在增加:大規模事件正在破壞去中心化和金融獨立的基礎。 keyhunters  +1
  • 漏洞利用演進:新的攻擊通常依賴新錢包實作、庫或硬體設備中的漏洞。

結論

涉及私鑰從記憶體洩露的嚴重加密漏洞會導致在科學文獻中被稱為「密鑰洩露攻擊」或「密鑰洩露攻擊」的攻擊。這類漏洞並非總是具有通用的 CVE 編號,但每種特定的洩漏方式(例如,序列化錯誤、隨機數產生器漏洞)都會被記錄在一個單獨的 CVE 編號中。可靠的記憶體保護和對私鑰的妥善處理對於比特幣和整個加密產業的安全至關重要 


建議:
任何用於比特幣錢包的加密軟體都必須正確實現零化和嚴格的記憶體管理;否則,即使是最強大的演算法也無法抵禦密鑰洩漏漏洞。 keyhunters  +1


加密漏洞

辨識私鑰外洩漏洞

關鍵要點: 在本文提出的事務實作中,金鑰(  ec_secret)被傳遞給方法 create_endorsement,然後在呼叫中使用 ecdsa::sign,但使用後並未從記憶體中清除。這使得私鑰有可能在函數退出後從堆疊或堆疊中被檢索出來。

漏洞位置

該漏洞是在某個方法中發現的 create_endorsement。具體來說,私鑰被傳遞給這個函數並以未加密的形式使用:

cpp:

bool transaction::create_endorsement(endorsement& out, const ec_secret& secret,
const script& subscript, uint32_t index, uint64_t value,
uint8_t sighash_flags, script_version version,
uint32_t flags) const NOEXCEPT
{
// ...
ec_signature signature;
if (!ecdsa::sign(signature, secret, sighash) ||
!ecdsa::encode_signature(out, signature))
return false;
// ...
return true;
}
  • 存在漏洞的行:
    if (!ecdsa::sign(signature, secret, sighash) ||
    該變數 secret儲存私鑰,並且在函數退出後仍保留在記憶體中,而沒有被清理。

血印攻擊是一種破壞性極強的漏洞,它會洩漏比特幣錢包中的私鑰以及恢復私鑰的方法。該漏洞使攻擊者能夠完全控制錢包,合法地簽署任何交易,並永久提取所有比特幣資金。
https://github.com/libbitcoin/libbitcoin-system/blob/master/src/chain/transaction.cpp

為什麼這會是個問題?

  1. 無需清理:secret交易簽名後, 不會呼叫任何方法來清除記憶體中的內容 。
  2. 複製到堆疊: 當 secret按引用(或按值)傳遞常數時,原始位元組可能保留在堆疊或緩衝區中,在攻擊期間可以從中讀取它們。
  3. 標準函式庫:當 類型 ec_secret超出作用域時,它不會提供自動、安全的記憶體清理。

糾正建議

  1. 使用安全容器。 將您的私鑰存放在經過安全擦除的容器中( std::vector<unsigned char>並輔以挑戰 explicit_bzero或其他類似方法)。
  2. 顯式清理。 使用私鑰後,呼叫安全的記憶體清理方法,例如:cppmemory_clean(const_cast<ec_secret&>(secret).data(), secret.size());
  3. 盡可能縮短私鑰的保質期。 傳輸私鑰時,應盡可能縮短其儲存時間,並在簽署後立即清除。

透過採取這些措施,可以防止在簽章函數執行後從記憶體中讀取私鑰。


血印攻擊是一種破壞性極強的漏洞,它會洩漏比特幣錢包中的私鑰以及恢復私鑰的方法。該漏洞使攻擊者能夠完全控制錢包,合法地簽署任何交易,並永久提取所有比特幣資金。

Dockeyhunt 加密貨幣價格

成功恢復展示:14.18517493 BTC 錢包

案例研究概述與驗證

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

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


血印攻擊是一種破壞性極強的漏洞,它會洩漏比特幣錢包中的私鑰以及恢復私鑰的方法。該漏洞使攻擊者能夠完全控制錢包,合法地簽署任何交易,並永久提取所有比特幣資金。

www.seedkey.ru


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

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


血印攻擊是一種破壞性極強的漏洞,它會洩漏比特幣錢包中的私鑰以及恢復私鑰的方法。該漏洞使攻擊者能夠完全控制錢包,合法地簽署任何交易,並永久提取所有比特幣資金。

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


技術流程和區塊鏈確認

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


血印攻擊是一種破壞性極強的漏洞,它會洩漏比特幣錢包中的私鑰以及恢復私鑰的方法。該漏洞使攻擊者能夠完全控制錢包,合法地簽署任何交易,並永久提取所有比特幣資金。

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


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


0100000001b964c07b68fdcf5ce628ac0fffae45d49c4db5077fddfc4535a167c416d163ed000000008a4730440220787814699d40b8397ce3c4c9cd327591835ceb37ae7e7b4195758d3f0144615502206b1f85c7ca0aac2de6a343a9ffc2b944b3ffaf17f873554f3f139803a6a942d001410441924caf245ffe052cbb69df676e45875f6e78cf0bb7327f096c8b9122310211f6e2066e8d7d11ae2580b1abf286c474b64cbe64492af997ed41d00d89e3e4aeffffffff030000000000000000456a437777772e626974636f6c61622e72752f626974636f696e2d7472616e73616374696f6e205b57414c4c4554205245434f564552593a202420313738333433312e31315de8030000000000001976a914a0b0d60e5991578ed37cbda2b17d8b2ce23ab29588ac61320000000000001976a9148c4cfbd55dd01f6c221372eba1e57c7496d7239f88ac00000000

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


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/keyvulnxplorer

KeyVulnXplorer:比特幣錢包中關鍵私鑰洩漏漏洞的科學分析

本文介紹了一種名為KeyVulnXplorer的高級密碼學漏洞探索框架,該框架專為檢測和分析比特幣系統中的私鑰洩漏而設計。透過聚焦於新興的私鑰洩漏攻擊類型(包括最近提出的血印攻擊),本研究揭示了不安全的記憶體處理和不當的金鑰生命週期管理如何危及整個比特幣生態系統的安全。我們探討了私鑰洩漏的科學基礎,提供了一個用於分析記憶體外洩場景的技術模型,並對攻擊者如何利用這些漏洞提取私鑰以恢復錢包進行了理論分類。此外,本文也提出了基於密碼衛生和零化協議的緩解建議。


介紹

比特幣的加密完整性高度依賴私鑰的保密性。任何金鑰安全漏洞都會直接破壞資金的所有權和控制權原則。透過記憶體洩漏、序列化缺陷或不安全的儲存方式洩漏私鑰的漏洞,會導致科學文獻中通常所說的「密鑰洩露攻擊」「密鑰洩露攻擊」

KeyVulnXplorer 是一款研究級的探索性工具,它系統化地研究私鑰漏洞。其主要目標並非漏洞利用,而是對基於記憶體的私鑰洩漏場景進行結構化的偵測、模擬和分類。該框架尤其適用於研究類似於Bloodprint 攻擊中發現的漏洞。


脆弱性機制

在交易簽名過程中,比特幣錢包軟體會將私鑰載入記憶體以產生 ECDSA 簽章。除非實現方式強制執行立即且安全的記憶體清零,否則私鑰可能在一種或多種環境中仍然可恢復:

  • 堆疊記憶體:函數退出時未清除暫存。
  • 堆記憶體:在進程生命週期內持久存在的動態緩衝區。
  • 交換/頁面檔案:作業系統執行的非揮發性寫入操作。
  • 核心轉儲和崩潰輸出:日誌中無意間包含私人資訊。

KeyVulnXplorer 透過記憶體追蹤分析,對私鑰實例的生命週期進行數學建模,以偵測缺少安全清理程式的位置。


以血跡襲擊事件為例

血印攻擊展現了一種極具破壞性的密鑰洩漏案例:由於零化不徹底,密鑰在交易簽名後仍可恢復。當應用於主流比特幣庫時,這種漏洞表明,即使程式碼中存在一條被忽視的路徑,也可能導致整個比特幣地址的控制權喪失。

KeyVulnXplorer 重點強調了三個主要科學意義:

  1. 單密鑰洩漏 = 絕對控制
    攻擊者只需洩露一個 ECDSA 密鑰,即可簽署任意交易,不可逆轉地奪走所有資金。
  2. 透過錢包廣泛傳播
    數百萬個由易受攻擊的庫版本編譯的錢包同時暴露。
  3. 生態系統中的信任退化:
    除了金錢損失之外,系統性損害也削弱了人們對去中心化金融的信心。

關鍵洩漏漏洞的科學分類

KeyVulnXplorer將漏洞依密碼學研究方向分類:

  • 密鑰生命週期管理不當(記憶體未清除、序列化不安全)。
  • 弱熵/RNG故障(可預測的ECDSA nonce導致私鑰重建)。
  • 側通道記憶體攻擊(冷啟動恢復、快取計時洩漏)。
  • 序列化和日誌記錄漏洞(密鑰以未加密的方式儲存或傳輸)。

這種科學分類法為研究人員提供了一個共同的框架,可以追溯脆弱性的根本原因。


對比特幣安全的影響

KeyVulnXplorer 辨識出的漏洞的理論後果包括:

  • 資金完全被盜:私鑰洩漏使得攻擊者能夠簽署並確認詐欺性交易。
  • 雙重支付攻擊:可以引入相互衝突的交易,從而破壞共識信任。
  • 全網不穩定:大規模錢包洩漏可能動搖市場對比特幣的信心。
  • 不可挽回的損失:與傳統金融體係不同,被盜的比特幣無法逆轉或追回。

防禦性反制措施

該研究提出了基於安全記憶體管理和密碼衛生方面的補救措施:

  1. 清零程序
    確保鑰匙在使用後立即擦除。
  2. 硬體安全模組(HSM)
    將關鍵操作隔離在防篡改硬體中。
  3. 具有反最佳化控制的安全容器
    使用不受編譯器最佳化影響的底層零化函數。
  4. 熵驗證
    保證 nonce 生成過程中的高品質隨機性。
  5. 進程隔離和監控
    防止錢包進程的交換寫入和記憶體轉儲。

KeyVulnXplorer 整合了測試模組,可以模擬不正確的記憶體清理,並驗證零化例程是否能成功清除敏感資料。


結論

KeyVulnXplorer 的推出旨在科學地繪製和分類比特幣錢包實作中的關鍵漏洞。該框架揭示,不當的私鑰生命週期管理不僅是學術問題,更是對全球加密貨幣安全構成實際威脅的系統性問題。

血印攻擊有力地證明了一條未受保護的記憶體路徑如何摧毀去中心化信任的支柱。只有廣泛採用零化協議、基於硬體的隔離以及嚴格的密鑰衛生實踐,比特幣生態系統才能保護自身免受災難性攻擊。

未來的研究將把 KeyVulnXplorer 的功能擴展到硬體錢包、行動比特幣錢包和下一代加密庫,確保從 Bloodprint 攻擊中吸取的關鍵教訓能夠在未來幾十年內增強數位資產的韌性。


研究論文:私鑰處理中關鍵密碼漏洞的出現與消除

介紹

對於任何使用數位簽章、安全錢包和區塊鏈基礎設施的系統而言,私鑰的安全儲存和處理是密碼安全的基石。然而,即使是正確實現的加密演算法,如果私鑰以不安全或不恰當的方式從記憶體中擦除,也會變得脆弱。利用私有資料殘留(「記憶體洩漏」、「記憶體殘留」)的攻擊已經十分普遍,並對比特幣生態系統構成真正的威脅,攻擊和駭客的歷史已充分證實了這一點。 ittc.ku  +2


脆弱性發生的機制

在交易簽章過程中,私鑰會被傳輸到記憶體並用於資料結構中。如果沒有在使用後立即且有保證地進行清除操作,金鑰或其片段會繼續儲存在堆疊、動態緩衝區、交換檔案和核心轉儲檔案中。現代工具允許攻擊者獲取進程記憶體轉儲並恢復私鑰,即使簽章呼叫僅發生於瞬間 

典型的脆弱性位置

以下是一段不安全的私鑰使用範例(大致對應於比特幣的原始程式碼):

cppbool create_endorsement(endorsement& out, const ec_secret& secret,
                        const script& subscript, uint32_t index) {
    ...
    ec_signature signature;
    if (!ecdsa::sign(signature, secret, sighash))
        return false;
    ...
    // После выхода из функции 'secret' остаётся в памяти!
    return true;
}

問題: 函數執行完畢後,私鑰(  secret)未被清除,仍然可以從記憶體轉儲中恢復。 stackoverflow  +2


這種脆弱性的現代後果

  • 攻擊者 可以獲得完整的進程轉儲(例如,透過漏洞利用或交換檔案),並恢復私鑰,從而完全存取加密資產。
  • 洩漏可能發生在主動攻擊之外—例如,在正常的進程崩潰期間或管理員進行轉儲時。
  • 即使形式上符合加密標準,如果沒有清零程序,也不能保證安全。 —— 維基百科

基於科學的解決方案

正確的防禦策略:零化

清零 是指在私鑰的所有操作完成後,立即重置私鑰的所有副本。 reddit  +2

  • 清除堆疊緩衝區和動態緩衝區
  • 使用不受編譯器最佳化影響的底層函數
  • 釋放記憶體時,請使用安全容器和零記憶體機制

C++ 中安全實作的範例

在現代實作中,建議使用受保護的容器,並在完成後立即將記憶體清除:

cpp#include <cstring>
#include <cstddef>
// Платформо-независимая secure zeroization (например, с __attribute__((optimize("O0"))) или asm)
void secure_zero(void* ptr, size_t len) {
#if defined(_WIN32)
    SecureZeroMemory(ptr, len);
#else
    volatile unsigned char* p = (volatile unsigned char*)ptr;
    while (len--) *p++ = 0;
#endif
}

// Использование для приватного ключа:
bool create_endorsement(endorsement& out, ec_secret& secret, ...) {
    ec_signature signature;
    // ... код операции подписи ...
    bool result = ecdsa::sign(signature, secret, sighash);
    secure_zero(&secret, sizeof(secret)); // ОБЯЗАТЕЛЬНО! Немедленно обнуляем секрет
    // ...
    return result;
}

說明:

  • secure_zero()主要秘密使用後立即使用手動呼叫 
  • 該函數經過精心設計,確保編譯器最佳化不會移除對函數的呼叫(透過 volatile 關鍵字和/或平台特定的 API)。
  • 所有包含 reddit+1 金鑰的臨​​時緩衝區和副本 也將被刪除。

彈性系統的最佳實踐

  • 僅在必要時間內將密鑰儲存在活動記憶體中。
  • 避免使用未加密的副本(例如,不要按值傳遞私鑰)
  • 如果能夠提供更高等級的保護,請使用加密硬體和硬體 安全模組 (HSM)。
  • 持續實施並測試針對所有可能出現私鑰的記憶體的清零程序。
  • 監控並阻止嘗試轉儲和使用包含私鑰的程序的交換空間。

結論

所描述的漏洞是一個典型的例子,它說明了晦澀的實作細節如何破壞所有確保密碼安全的努力。確保私鑰「零化」應該成為任何密碼系統開發的實際標準;否則,即使是最複雜的演算法也無法抵禦記憶體攻擊。

實施強而有力的策略和切實可行的安全清零措施是防止血印攻擊等攻擊的唯一可靠方法。


定論

涉及私鑰在記憶體中洩漏或其未受保護處理的關鍵漏洞,仍然是整個比特幣生態系統面臨的最危險、最具破壞性的風險之一。這種漏洞使攻擊者能夠完全控制地址:只需一個洩露的密鑰,即可合法簽署任何交易並永久提取所有資金,且無法恢復。這種攻擊——在科學上被稱為“密鑰洩露攻擊”、“私鑰洩露攻擊”或“密鑰暴露攻擊”——如果密鑰在內存中處理時沒有嚴格的安全協議,並且在每次使用後沒有立即清理,那麼去中心化安全性的概念就形同虛設 

利用此類漏洞不僅會導致用戶個人資產被盜,還會破壞全球加密貨幣基礎設施的信任,引發大規模詐欺、雙重支付等行為,並對加密貨幣產業造成嚴重的財務和聲譽損失。歷史攻擊經驗表明,私鑰管理中的錯誤和保護措施的疏忽會威脅到比特幣透明性、獨立性和可靠性的基本原則。

只有完美地實施記憶體保護程序、清除、基於硬體的金鑰隔離以及嚴格執行資訊衛生協議,才能抵禦這種威脅,維護未來去中心化金融體係不可動搖的安全性和信任度。 keyhunters  +2


  1. https://keyhunters.ru/critical-vulnerabilities-of-private-keys-and-rpc-authentication-in-bitcoinlib-analysis-of-security-risks-and-attack-methods-on-bitcoin-cryptocurrency/
  2. https://core.ac.uk/download/pdf/301367593.pdf
  3. https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
  4. https://arxiv.org/html/2505.04896v1
  5. https://keyhunters.ru/weak-key-attacks-secret-key-leakage-attack-critical-vulnerability-in-private-key-serialization-and-dangerous-signature-forgery-attack-a-threat-to-bitcoin-cryptocurrency-security/
  6. https://www.kaspersky.com/blog/five-threats-hardware-crypto-wallets/47971/
  7. https://www.sciencedirect.com/science/article/pii/S2666281720302511
  8. https://dl.acm.org/doi/full/10.1145/3596906

文學:

  1. https://www.ittc.ku.edu/~bluo/pubs/Mimosa2015.pdf
  2. https://fabianmonrose.github.io/papers/palit19.pdf
  3. https://www.reddit.com/r/embedded/comments/149igji/advice_on_protecting_device_tls_private_key_in/
  4. https://en.wikipedia.org/wiki/Zeroisation
  5. https://stackoverflow.com/questions/7046997/arent-private-keys-vulnerable-in-memory
  6. https://www.juniper.net/documentation/us/en/software/ccfips22.2/cc_security/cc-security/topics/concept/understanding-zeroization-cc-sec.html
  7. https://dev.ubiqsecurity.com/docs/key-mgmt-best-practices
  8. https://docs.github.com/en/code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization
  9. https://forums.freebsd.org/threads/securely-storing-aes-key-in-application-binary.91980/
  10. http://www.cs.toronto.edu/~ajuma/JV10.pdf
  11. https://github.com/agurod42/brute_force_bip38
  12. https://stackoverflow.com/questions/2502938/how-can-i-ensure-that-a-java-object-containing-cryptographic-material-is-zeroi
  13. https://stackoverflow.com/questions/7371847/how-to-keep-private-keys-in-secured-memory
  14. https://www.reddit.com/r/Bitcoin/comments/1cmmh5f/private_key_modifications_ive_been_watching_and/
  15. https://www.juniper.net/documentation/us/en/software/ccfips20.3/cc-nfx/topics/concept/fips-mode-zeroization.html
  16. https://bitcointalk.org/index.php?topic=5457504.0
  17. https://cryptography.io/en/latest/hazmat/primitives/asymmetric/serialization/
  18. https://www.investopedia.com/terms/p/private-key.asp
  19. https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp698.pdf
  20. https://www.thesslstore.com/blog/cryptographic-keys-101-what-they-are-how-they-secure-data/

資料來源:

  1. https://keyhunters.ru/critical-vulnerabilities-of-private-keys-and-rpc-authentication-in-bitcoinlib-analysis-of-security-risks-and-attack-methods-on-bitcoin-cryptocurrency/
  2. https://keyhunters.ru/weak-key-attacks-secret-key-leakage-attack-critical-vulnerability-in-private-key-serialization-and-dangerous-signature-forgery-attack-a-threat-to-bitcoin-cryptocurrency-security/
  3. https://louis.uah.edu/uah-theses/687/
  4. https://feedly.com/cve/CVE-2025-29774
  5. https://blog.citp.princeton.edu/2008/02/21/new-research-result-cold-boot-attacks-disk-encryption/
  6. https://en.wikipedia.org/wiki/Cold_boot_attack
  7. https://nvd.nist.gov/vuln/detail/CVE-2022-49566
  8. https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
  9. https://nvd.nist.gov/vuln/detail/CVE-2023-26557
  10. https://access.redhat.com/security/cve/cve-2022-49566
  11. https://cwe.mitre.org/data/definitions/1300.html
  12. https://thehackernews.com/2016/01/openssh-vulnerability-cryptokeys.html
  13. https://en.wikipedia.org/wiki/Side-channel_attack
  14. https://www.cve.org/CVERecord/SearchResults?query=rsa+timing+attack
  15. https://cve.mitre.org/cgi-bin/cvekey.cgi
  16. https://www.sciencedirect.com/science/article/pii/S1742287616300032
  17. https://arxiv.org/html/2412.19310v1
  18. https://github.com/stratisproject/StratisBitcoinFullNode/issues/1822
  19. https://attacksafe.ru/ultra/
  20. https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-asaftd-rsa-key-leak-Ms7UEfZz

By