作者:KEYHUNTER
在 BitcoinLib 提供的程式碼中,SQL 查詢字串可能存在洩漏私鑰的漏洞:
Python:wallets = con.execute(text(
'SELECT w.name, k.private, w.owner, w.network_name, k.account_id, k.address, w.witness_type FROM wallets AS w '
'INNER JOIN keys AS k ON w.main_key_id = k.id WHERE multisig=0')).fetchall()
k.private這裡,從資料庫中檢索包含私鑰的字段,然後將私鑰傳遞給函數:
Pythonw = wallet_create_or_open(wallet[0], wallet[1], wallet[2], wallet[3], wallet[4], witness_type=wallet[6])
wallet私鑰在 哪裡 ? academy.suncrypto
問題在於,私鑰在記憶體或傳輸過程中沒有任何額外的保護措施,如果資料庫連接或日誌記錄不夠安全,就存在洩漏風險。此外,程式碼在處理私鑰時也缺乏安全檢查。
加密漏洞與私鑰從資料庫中提取並直接使用有關,這可能導致在資料庫、日誌、記憶體遭到破壞或惡意存取該進程時私鑰洩漏。
這是在導入邏輯和向未採取保護措施的函數傳輸私鑰的過程中,私鑰處理方面存在的漏洞 wallet_create_or_open。在請求私鑰以及隨後呼叫私鑰處理函數的程式碼行(大致對應於包含 SQL 查詢和錢包物件產生的程式碼行)中,存在一個潛在的洩漏點。
總結:
- 從資料庫中提取包含私鑰的易受攻擊字串:python
wallets = con.execute(text( 'SELECT w.name, k.private, w.owner, w.network_name, k.account_id, k.address, w.witness_type FROM wallets AS w ' 'INNER JOIN keys AS k ON w.main_key_id = k.id WHERE multisig=0')).fetchall() - 存在漏洞的 Python 程式碼行,其中私鑰被傳遞給錢包創建/打開函數。
w = wallet_create_or_open(wallet[0], wallet[1], wallet[2], wallet[3], wallet[4], witness_type=wallet[6])
這種未經加密、安全上下文和存取檢查就直接處理私鑰的做法,是這段程式碼洩露敏感資訊的主要密碼學漏洞。這是軟體處理私鑰時常見的難題,需要採用安全標準來處理記憶體和磁碟中的敏感資料。 polynonce +2
以下這篇詳細的研究論文解釋了與 BitcoinLib 庫中私鑰洩漏相關的加密漏洞的性質、造成此漏洞的原因,並提出了一種可靠且安全的修復程式碼的方法,以防止將來發生類似的攻擊。
BitcoinLib 私鑰洩漏加密漏洞:性質、原因和解決方案
介紹
在加密貨幣安全領域,私鑰是確保資金所有權和使用權的神聖資源。任何私鑰洩漏都會導致用戶資金完全喪失。在流行的加密庫(例如 Python 中的 BitcoinLib)中,確保私鑰的安全儲存和處理至關重要。然而,設計或實現上的錯誤可能導致安全漏洞,使私鑰洩露,從而給用戶帶來災難性後果。
脆弱性的出現
對 BitcoinLib 程式碼的檢查,特別是從資料庫導入金鑰的部分,揭示了以下問題場景:
Pythonwallets = con.execute(text(
'SELECT w.name, k.private, w.owner, w.network_name, k.account_id, k.address, w.witness_type FROM wallets AS w '
'INNER JOIN keys AS k ON w.main_key_id = k.id WHERE multisig=0')).fetchall()
for wallet in wallets:
w = wallet_create_or_open(wallet[0], wallet[1], wallet[2], wallet[3], wallet[4], witness_type=wallet[6])
這段文字中:
- 私鑰以明文形式從資料庫檢索,未經加密或遮罩處理。
- 私鑰將直接傳輸到錢包創建/開啟功能。
- 記憶體中和傳輸過程中私鑰的生命週期缺乏控制和保護。
主要脆弱性原因:
- 將私鑰以未加密的形式儲存在資料庫中, 會增加資料庫遭到未經授權存取時資訊外洩的風險。
- 在沒有安全通道和驗證的情況下公開傳輸私鑰 會導致私鑰透過日誌、記憶體轉儲和中間應用程式層外洩的風險。
- 記憶體中缺乏安全的金鑰處理 ——私鑰可能一直存在於未受保護的變數中,直到被清除。
- 密鑰導入操作缺乏身份驗證/授權訪問 ,這可能會使攻擊者在訪問此功能時獲取密鑰。
此類錯誤是導致資料外洩和金鑰外洩的常見原因,進而可能導致攻擊者完全控制錢包。 pikabu +2
脆弱性的後果
- 攻擊者如果獲得資料庫或匯入過程的存取權限,就可以獲得私鑰並完全控制相應的加密錢包。
- 以明文形式傳輸私鑰會增加透過側頻道(日誌、記憶體轉儲、網路協定)外洩的風險。
- 在傳輸和處理過程中,對金鑰的完整性和保密性缺乏控制,違反了密碼安全的基本原則。
一種安全的漏洞修補方法
關鍵原則:
- 資料庫中的私鑰必須加密 。在任何情況下,私鑰都不應以明文形式儲存。應使用強對稱加密,並使用單獨且安全儲存的安全金鑰。
- 金鑰的安全提取和傳輸 。從資料庫中提取私鑰時,必須僅在嚴格保護的環境中解密,且傳輸必須透過安全通道進行,金鑰在 RAM 中保留的時間必須盡可能短。
- 使用成熟的加密庫 來處理金鑰,從而確保安全的記憶體管理和使用後的清理。
- 私鑰存取操作的身份驗證和授權。
使用私鑰加密的修正程式碼範例
Pythonimport os
import base64
from cryptography.fernet import Fernet
import sqlalchemy as sa
from sqlalchemy.sql import text
from bitcoinlib.wallets import wallet_create_or_open
# Ключ шифрования хранится в среде (не в коде)
ENCRYPTION_KEY = os.getenv('BITCOINLIB_ENCRYPTION_KEY')
fernet = Fernet(ENCRYPTION_KEY)
DATABASE_TO_IMPORT = 'sqlite:///' + os.path.join(str(BCL_DATABASE_DIR), 'bitcoinlib_test.sqlite')
def decrypt_private_key(encrypted_key):
# Расшифровка приватного ключа
decrypted = fernet.decrypt(encrypted_key.encode())
return decrypted.decode()
def import_database_secure():
print(DATABASE_TO_IMPORT)
engine = sa.create_engine(DATABASE_TO_IMPORT)
con = engine.connect()
wallets = con.execute(text(
'SELECT w.name, k.private_encrypted, w.owner, w.network_name, k.account_id, k.address, w.witness_type '
'FROM wallets AS w INNER JOIN keys AS k ON w.main_key_id = k.id WHERE multisig=0')).fetchall()
for wallet in wallets:
print(f"Import wallet {wallet}")
# Безопасно расшифровываем приватный ключ прямо перед передачей
private_key = decrypt_private_key(wallet[12])
w = wallet_create_or_open(wallet, private_key, wallet[11], wallet[13], wallet[14], witness_type=wallet[15])
if __name__ == '__main__':
import_database_secure()
更正說明:
- 資料庫中現在儲存了一個欄位
private_encrypted——加密的私鑰。 cryptography加密和解密採用現代且安全的 Fernet 演算法(CBC 模式下的 AES-128,帶有 HMAC)的函式庫 。- 加密金鑰(
ENCRYPTION_KEY)是在安全環境中設定的,不儲存在原始碼中。 - 私鑰僅在必要時且僅在本機安全環境中解密。
- 最大限度地縮短私鑰在記憶體中保持未加密狀態的時間。
- 改進的金鑰管理安全性透過更高層級的存取控制和加密來防止金鑰洩漏。
安全建議
- 使用硬體安全模組(HSM)或類似方式管理私鑰。
- 在私人資料處理層面進行安全審計和滲透測試。
- 對涉及私鑰的關鍵操作實施存取監控。
- 確保定期更新加密庫及其相依性。
- 遵循最小權限原則存取資料庫和導入功能。
結論
BitcoinLib 中私鑰洩漏的加密漏洞是由於在儲存和處理敏感資料時缺乏必要的保護措施造成的。修復此類漏洞的方法是:在資料庫中對私鑰進行加密,並確保在檢索和使用過程中對其進行安全管理。
這些措施能夠提高安全性並降低洩漏風險,從而維護用戶加密資產的完整性和機密性。實施現代加密標準和保障金鑰生命週期的安全性是開發可靠加密貨幣應用的先決條件。
以下是一篇詳盡的研究論文,揭示了關鍵私鑰洩漏漏洞對比特幣加密貨幣安全的影響、該攻擊的科學名稱以及與此類漏洞相關的 CVE 資訊。

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

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

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

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

KeyVulnXplorer 系統性地調查分層確定性錢包中的缺陷,特別是那些基於 BIP32 實現的錢包。 KeyVulnXplorer 研究的一個值得注意的漏洞與錢包創建過程中私鑰順序驗證不當有關,這在歷史上曾導緻密鑰超出有效的 secp256k1 字段範圍。該工具應用了高階密碼分析技術,分析金鑰產生中的弱隨機性和違反密碼範圍約束的情況。透過映射暴露或錯誤產生的金鑰的熵和模式,KeyVulnXplorer 縮小了遺失或被盜錢包的暴力搜尋範圍,從而提高了在實現有缺陷的情況下成功恢復錢包的幾率。 b8c +1
利用私鑰漏洞
KeyVulnXplorer 針對的關鍵漏洞包括以下幾種:
- 不當的範圍驗證:在早期的比特幣核心 BIP32 程式碼中,私鑰有時會在未驗證是否落在有效橢圓曲線範圍內的情況下產生或匯入。這導致產生的密鑰在數學上無效,且具有可預測的模式,從而削弱了加密強度。 b8c
- 弱隨機性:使用熵不足或可預測種子創建的金鑰容易受到攻擊,因為攻擊者可以重構底層邏輯,執行受限暴力破解,並根據部分資訊恢復私鑰。 keyhunters +1
- 碰撞和弱密鑰攻擊:隨機數產生中的缺陷,例如使用不正確的值
secrets.randbelow(N),可能會產生超出允許範圍的密鑰,從而增加對碰撞攻擊的易感性——儘管暴力破解龐大的 secp256k1 域在計算上仍然具有挑戰性。
KeyVulnXplorer 整合了交易歷史分析和地址匹配功能,使研究人員能夠使用已知的公開資料測試候選金鑰,從而快速且合乎倫理地篩選出可能性。當漏洞文檔齊全、變更日誌可用且存在歷史實作錯誤時,這種方法尤其有效。 b8c
對比特幣安全的影響:錢包恢復與攻擊場景
私鑰管理的漏洞會對比特幣安全造成毀滅性影響:
- 私鑰提取:攻擊者利用這些漏洞,可以透過重構隨機性不足或超出安全範圍產生的金鑰來恢復遺失或被盜的錢包。 keyhunters +1
- 大規模資金外洩:此類攻擊,尤其是大規模攻擊,會使數百萬比特幣面臨風險,這已透過涉及數萬個使用有缺陷的庫或協議創建的密鑰和錢包的事件得到證實。
- 繞過密碼學:當金鑰超出有效範圍或確定性產生時,基本的密碼學保證就會被破壞,導致未經授權的資產恢復、雙重支付和交易篡改成為可能。
KeyVulnXplorer 在演示這些攻擊中的作用凸顯了嚴格執行加密標準、定期更新庫以及對錢包軟體進行全面審計的必要性——尤其是在丟失錢包恢復服務和白帽密碼分析研究的背景下。 b8c
科學分類和 CVE 參考資料
KeyVulnXplorer 研究和利用的攻擊類型通常被稱為金鑰外洩攻擊或金鑰管理不當漏洞。此類事件已被歸類到多個常用庫的 CVE 條目中,例如:
- CVE-2018-17144—解決導致金鑰可預測性的產生問題。 b8c
- CVE-2017-7526-密碼分析漏洞,可協助恢復私鑰。
CVE 系統中的正確記錄和追蹤有助於開發人員和安全專業人員識別、修補和監控與比特幣生態系統中使用的軟體相關的此類漏洞。
安全金鑰管理建議
為了降低 KeyVulnXplorer 指出的風險,以下最佳實踐至關重要:
- 強制嚴格驗證私鑰順序,確保所有金鑰都在有效的 secp256k1 範圍內。
- 使用高熵、密碼學上安全的金鑰產生演算法,並避免確定性模式。
- 僅以加密形式儲存私鑰,最大限度減少在記憶體和日誌中的暴露,並透過強大的身份驗證和授權框架限制存取。密鑰獵手
- 定期進行軟體稽核、同儕審查和錢包庫更新,並吸取歷史漏洞資料庫的經驗教訓。
結論
KeyVulnXplorer著重展示了比特幣系統中加密漏洞的實際影響,特別是密鑰產生和管理不當如何導致私鑰洩露,並助長錢包恢復或被盜。其方法論既是對致力於建立彈性且值得信賴的加密貨幣基礎設施的開發者、研究人員和安全專業人員的警示,也是指南。 b8c +2
私鑰洩漏漏洞對比特幣安全的影響:科學分析與攻擊分類
介紹
私鑰是加密貨幣系統(尤其是比特幣)安全性的基礎要素。其保密性確保用戶對其資金擁有絕對控制權。任何私鑰的意外外洩都會導致用戶完全喪失對數位資產的控制權。與私鑰儲存和處理相關的關鍵漏洞可能成為攻擊用戶和大型系統的主要途徑。
漏洞如何影響比特幣安全
對於像 BitcoinLib 這樣的漏洞——私鑰從資料庫中提取出來,並以明文形式傳遞給應用程序,沒有加密或保護——擁有此進程訪問權限的惡意行為者可以執行以下操作:
- 私鑰洩漏 :取得私鑰後,攻擊者可以完全控制相應的比特幣地址並進行未經授權的交易。
- 從用戶錢包竊取資金, 且用戶無法追回。
- 流行軟體中的大規模漏洞或缺陷造成的巨大損失。
- 破壞 基礎設施和生態系統發展中的信任。
這種影響使得該漏洞對整個加密貨幣安全系統至關重要,不僅威脅到個人用戶,也威脅到市場的穩定。
攻擊的科學名稱
由於儲存和處理缺陷導致私鑰洩漏而引發的攻擊,最準確的科學名稱是 密鑰洩漏攻擊 ,或者更普遍地說, 是密鑰 洩漏攻擊。
如果金鑰透過系統中的間接資訊(例如日誌、記憶體轉儲)洩露,則此漏洞也與「側通道攻擊」的概念相關 。但在此案例中,主要問題是由於程式碼中密鑰處理不當而導致的資訊外洩。
在密碼學分類中,這些攻擊被歸類為金鑰管理不當漏洞和機密資料保護不力。
可用性和 CVE 編號
像這樣的漏洞在廣泛使用的加密庫中已被分配了 CVE 編號,但就 BitcoinLib 而言,目前可能還沒有直接記錄洩漏私鑰的 CVE 編號(根據目前的分析)。
然而,加密庫中類似的漏洞有以下 CVE 範例:
- CVE-2017-7526 是 libgcrypt 中的一個漏洞,允許透過側通道攻擊恢復 RSA 私鑰。
- CVE-2023-39910 是 Libbitcoin Explorer 中的漏洞範例,由於熵值較弱,會導致私鑰外洩。
- 針對特定私鑰洩漏漏洞的 CVE 編號因程式庫和實作而異,但類似攻擊類別的 CVE 編號對於風險評估和修補至關重要。
因此,對於因私鑰保護不當及其洩漏而導致的漏洞,CVE 術語將其歸類為金鑰管理不當、側通道攻擊或弱密碼學漏洞。
最終建議
為了防止比特幣生態系統中發生私鑰外洩攻擊,必須採取以下措施:
- 使用現代加密演算法對金鑰進行可靠的儲存加密。
- 最大限度地縮短私鑰在記憶體中保持未加密狀態的時間。
- 涉及私鑰的操作的身份驗證和存取控制。
- 定期進行程式碼審核並實施安全檢查(安全設計)。
- 監控已知的 CVE 並及時更新庫。
結論
BitcoinLib 中存在一個嚴重的私鑰洩漏漏洞,可能對比特幣的安全性造成嚴重損害,因為它會打開「金鑰洩漏攻擊」或「秘密金鑰洩漏攻擊」的大門。此類攻擊的特點是私鑰缺乏適當的保護,導致私鑰外洩和資金被盜。
維護私鑰安全是區塊鏈生態系統可靠運作和保護用戶金融資產的基石。
作為文章的最終、精彩且富有啟發性的結論,提出以下方案:
定論
BitcoinLib 中與私鑰洩漏相關的嚴重漏洞是比特幣加密貨幣面臨的最危險的攻擊之一——私鑰洩漏攻擊(金鑰揭露攻擊)。該漏洞的產生是由於私鑰以未加密的形式儲存和處理不當,使得攻擊者能夠透過存取資料庫或金鑰匯入過程,完全控制相應的比特幣地址和資金。
這項漏洞的影響遠不止於個人用戶,它威脅著整個比特幣區塊鏈生態系統的安全,降低用戶信任度,並為大規模資金竊取創造條件。在缺乏充分保護和加密的情況下直接篡改私鑰,違反了密碼學安全的基本原則,使得攻擊者能夠透過入侵記憶體、日誌和網路通道發動攻擊。
為防止此類重大威脅,必須對資料庫中的私鑰進行可靠的加密,最大限度地減少私鑰在記憶體中未加密的時間,使用具有安全金鑰管理的現代加密庫,並實施嚴格的身份驗證和存取控制機制。
因此,防止私鑰洩漏是維護比特幣網路可靠性和安全性的一個組成部分,沒有私鑰洩露,就無法保證數位資產的安全性和用戶對加密系統的信任。
這個結論反映了漏洞的本質、其危險性以及經科學驗證的未來防護措施,明確地將文章的重點放在比特幣及其整個生態系統的安全問題上。 bits +2
在以不安全的方式列印、記錄、儲存或傳輸私鑰的地方,可能會出現涉及秘密金鑰或私鑰洩漏的加密漏洞。
這段程式碼中,可能導致私鑰洩漏漏洞的行是:
- 第 158 行:
Pythonprint("Private Master key, to create multisig wallet on this machine:\n%s" % hdkey.wif_private())
私鑰會輸出到控制台(stdout),如果輸出沒有控制(例如輸出到日誌檔案或共用終端),則可能會導致洩漏。
- 第 168 行:
Pythonprint(wlt.main_key.wif)
匯出私鑰時,金鑰會再次以明文形式輸出到控制台。
create_wallet用於建立多重簽名附加金鑰的函數程式碼區塊中的以下幾行 (大約在第 108-112 行):
Pythonpassphrase = get_passphrase(args.passphrase_strength, args.yes, args.quiet)
key_list.append(HDKey.from_passphrase(passphrase, network=args.network))
如果 get_passphrase它向控制台列印安全短語(第 85-91 行),那麼這個詞也可能容易受到第三方存取。
- 在該函數
get_passphrase(第 84-91 行)中,該短語本身被輸出到控制台:
Pythonprint("Passphrase: %s" % passphrase)
這樣一來,在產生金鑰或使用密碼短語時,它們會被清晰地顯示出來,如果輸出配置不正確,則可能導致安全漏洞。
簡要說明脆弱之處:
| 行號 | 程式碼 | 漏洞描述 |
|---|---|---|
| 85 | print("Passphrase: %s" % passphrase) | 在控制台中顯示密碼短語,存在洩漏風險 |
| 158 | print("Private Master key...%s" % hdkey.wif_private()) | 將私鑰輸出到控制台 |
| 168 | print(wlt.main_key.wif) | 匯出時將私鑰輸出到控制台。 |
| 108-112 | 使用密碼短語呼叫 get_passphrase和建立 HDKey | 存在洩漏密碼短語和產生密鑰的風險 |
恢復
所提供程式碼的加密漏洞主要在於私鑰和密碼短語會以明文形式輸出到控制台(標準輸出),如果使用或記錄方式不當,則可能導致資訊外洩。更安全的方法是避免以明文形式輸出私有數據,並嚴格控制對輸出的存取。
以下這篇研究論文全面而深入地探討了與私鑰洩漏相關的密碼學漏洞的產生機制,並提出了一個安全的解決方案來修復此類漏洞。論文還包含一個修正後的安全程式碼範例。
涉及私鑰洩漏的加密漏洞:起源、影響和安全修復
介紹
在當今加密貨幣和數位資產日益普及的時代,確保私鑰安全已成為一項至關重要的任務。私鑰是密碼學保護的核心,其保密性直接關係到數位資產的安全。私鑰洩漏或處理不當會導致嚴重後果,包括資產被盜和用戶資訊外洩。
本文分析了與私鑰洩漏相關的漏洞的主要原因,並介紹了修復漏洞程式碼的安全方法和實際範例。
脆弱性的出現:機制與原因
導致私鑰洩漏的加密漏洞主要源自於對秘密資料的錯誤處理或顯示。讓我們來看看主要原因:
1. 公開輸出私有數據
許多加密貨幣應用程式會將私鑰、主金鑰或密碼短語以明文形式直接輸出到控制台或日誌檔案中。這使得任何能夠存取輸出或日誌的人都有可能取得敏感資料。
例如,在存在漏洞的程式碼中,密鑰和密碼短語是透過列印命令列印出來的,這會導致:
- 使用終端時隱私洩露
- 日誌中充斥著秘密訊息,
- 共享機器或伺服器存在安全風險。
2. 記憶體保護不足和密鑰暫時儲存不當
有時,開發人員會在記憶體中產生金鑰或秘密訊息,但並未實現使用後安全擦除資料的機制。這增加了透過記憶體攻擊竊取金鑰的風險。
3. 存取控制和身份驗證機制不完善
未能正確驗證對金鑰匯出或顯示功能的存取權限,會加劇外洩風險,因為這會導致危險功能在不受控制的情況下運作。
密碼漏洞的後果
洩漏私鑰會導致嚴重後果:
- 未經授權挪用資金
- 失去對數位資產的控制權,
- 損害用戶匿名性和安全性,
- 破壞人們對系統和開發者的信任。
以往涉及私鑰外洩的攻擊事件表明,用戶遭受經濟損失的可能性很高。
安全修補漏洞:建議與最佳實踐
安全原則
- 不得直接輸出私有資料 -私鑰和密碼短語絕不應在沒有適當加密或保護的情況下列印到公共輸出或儲存在日誌中。
- 加密和安全儲存 -敏感資料應使用可信任的加密庫進行加密儲存。解密密碼應由使用者互動式輸入,且不應在記憶體中儲存超過必要的時間。
- 盡量縮短密鑰在記憶體中的保存時間 -密鑰應僅在需要時才載入到記憶體中,並在使用後刪除。
- 存取控制 -只有授權使用者才能進行私鑰操作,並且只有在特殊請求的情況下才能進行操作。
- 稽核和日誌記錄 -日誌應排除敏感資訊,以防止資訊外洩。
以下是一個基於漏洞程式碼行的安全修復範例:
原危險線路:
Pythonprint("Private Master key, to create multisig wallet on this machine:\n%s" % hdkey.wif_private())
固定安全選項:
Pythondef safe_print_private_key(hdkey, output_to, allow_display=False):
if allow_display:
# В продакшене не рекомендуется передавать allow_display=True без строгой проверки
print("Private Master key (handle carefully):\n%s" % hdkey.wif_private(), file=output_to)
else:
print("Private key output disabled for security reasons.", file=output_to)
# Вызов функции в коде
safe_print_private_key(hdkey, output_to, allow_display=False)
預設情況下,私鑰不會輸出。您可以啟用私鑰輸出功能進行臨時測試。
對於生成函數中的密碼短語(例如 get_passphrase()),應刪除直接輸出:
Pythondef get_passphrase(strength, interactive=False, quiet=False):
passphrase = Mnemonic().generate(strength)
# Вывод пасспhrase убран, передача и хранение проводится через безопасные каналы
if not quiet and interactive:
print("Passphrase generated. Please back it up securely.")
confirmation = input("\nType 'yes' if you understood and backed up your key: ")
if confirmation.lower() != 'yes':
print("Exiting...")
sys.exit()
return passphrase
這樣可以確保在未經使用者需要和確認的情況下,不會直接輸出密碼短語。
其他措施:
- 使用硬體安全(HSM、TPM)儲存金鑰。
- 透過安全管道進行備份和還原。
- 引入密鑰輪換和撤銷策略,當懷疑密鑰洩漏時執行。
結論
私鑰和密碼短語處理不當導致的漏洞是加密貨幣系統面臨的最嚴重安全威脅之一。漏洞的主要來源是將秘密資訊公開輸出到控制台或日誌中。採取安全措施,例如停用輸出、加密、存取控制以及最大限度地縮短密鑰在記憶體中的停留時間,可以顯著降低風險。
所提供的程式碼修正範例展示了一種簡單而有效的消除此類漏洞的方法。遵循這些建議並實施多層私有資料保護,將最大限度地降低威脅,並顯著提高密碼系統的安全性。
如有需要,我可以協助準備詳細的技術審核報告,或為特定專案和任務提出建議。
以下是一篇內容詳盡的研究論文,涵蓋了私鑰洩漏漏洞對比特幣加密貨幣安全的影響,包括攻擊的科學名稱、對其影響的分析,以及與此類漏洞相關的可能 CVE 的資訊。
私鑰洩漏這項關鍵漏洞對比特幣加密貨幣安全性的影響:攻擊的科學分析與分類
介紹
在比特幣等加密系統中,私鑰是安全性的基礎要素,它提供交易認證和加密資產所有權證明。私鑰遺失或外洩會導致用戶資金完全被盜,造成不可挽回的經濟損失。本文將探討私鑰外洩漏洞如何影響比特幣網路安全,介紹對應攻擊的科學名稱,並提供與此類漏洞相關的官方CVE編號資訊。
關鍵漏洞:攻擊的本質和本質
什麼是私鑰外洩?
私鑰外洩是指原本僅供用戶使用且安全儲存的秘密加密金鑰被攻擊者取得的情況。原因可能包括:
- 軟體中密鑰處理不當(例如,將輸出開啟至日誌/控制台)。
- 加密庫和協定中的漏洞。
- 對密鑰儲存或受保護資料解密的攻擊。
- 社會工程和環境妥協。
攻擊的科學名稱
竊取私鑰的攻擊在科學上被稱為 「密鑰外洩攻擊」。這類攻擊屬於「加密金鑰外洩」 的範疇 。在加密貨幣和比特幣領域,此類攻擊通常被視為一種 「錢包金鑰洩漏」 。
根據具體的入侵方法,攻擊可能需要更精確的描述。例如:
- 側通道攻擊 -如果透過分析側通道提取金鑰。
- 記憶體轉儲攻擊 -如果金鑰是從 RAM 中取得的。
- 故障攻擊 -攻擊者在金鑰提取設備中造成錯誤。
- 位元翻轉攻擊 -當加密資料發生改變時(指在某些情況下修改密文)。
漏洞對比特幣的影響
如果比特幣地址的私鑰洩漏給攻擊者,他們就能完全控制與該地址關聯的所有資金。這意味著:
- 能夠代表用戶簽發和簽署交易。
- 在不洩漏身分風險的情況下竊取資金。
- 破壞金融交易的誠信。
專家表示,金鑰外洩是加密貨幣錢包遭受攻擊最常見的原因之一,用戶往往會損失資產且無法追回。
CVE 和官方分類
截至目前,私鑰外洩本身並沒有一個統一的 CVE 編號,因為漏洞可能存在於不同的元件和函式庫中。但是,有一些 CVE 編號與會導致金鑰洩漏的漏洞相關聯,例如:
- CVE-2014-2140 – OpenSSL 中隨機數產生機制的漏洞會影響金鑰安全。
- CVE-2020-0601 是 Windows 憑證處理中的漏洞,它會間接影響加密金鑰。
- CVE-2025-XXXX(假設的、預期的和典型的)是最近在 BitcoinJS 函式庫和其他函式庫中發現的漏洞,這些漏洞可能導致私鑰洩漏(例如 Randstorm 攻擊)。
特定的錢包實作或基礎設施也可能存在與金鑰安全漏洞相關的 CVE。
真實攻擊範例
對 Randstorm 漏洞的研究表明,由於 Bitcoin-js 庫中隨機數生成機制的缺陷,導致創建了數百萬個密鑰可預測的錢包(相關補丁的 CVE 已於 2014 年修復)。這使得攻擊者能夠選擇私鑰並完全控制用戶的資產 。
利用 AES-256-CBC 模式的漏洞對加密存儲(例如 Bitcoin Core Wallet.dat)進行位元翻轉攻擊,也會破壞儲存的完整性,並可能導致金鑰洩漏或篡改。 pikabu +1
結論和建議
- 私鑰外洩是一個嚴重的威脅,只能透過嚴格的金鑰儲存和保護方法在軟體層級加以應對。
- 必須嚴格控制私有資料的輸出和存儲,使用安全的API和硬體儲存。
- 密切注意您使用的加密庫的 CVE 和更新。
- 對開發人員和使用者進行金鑰安全教育至關重要。
如有必要,我可以提供針對特定 CVE 的詳細分析,或對所使用的加密庫中的漏洞進行分析。
總之,必須強調的是,比特幣生態系統中私鑰洩漏這個關鍵漏洞是加密貨幣系統安全面臨的最危險、最有害的威脅之一。私鑰洩漏後,攻擊者將自動完全控制相應地址的資金,從而進行未經授權的交易,導致資產不可逆轉的損失。這種攻擊,在科學上被稱為 金鑰 外洩攻擊,被認為是整個加密基礎設施必須應對的核心風險之一。
此類攻擊的實際例子不僅包括金鑰產生錯誤,還包括金鑰不受控制地輸出到日誌或控制台、加密簽章協定中的漏洞,以及金鑰儲存安全性方面的硬體和軟體缺陷。在某些情況下,此類漏洞會被賦予官方的 CVE 編號,這凸顯了其嚴重性以及亟需消除的必要性。
為了有效抵禦此類威脅,需要採取綜合措施:嚴格控制私鑰的處理,拒絕公開敏感數據,使用經過驗證的加密庫和硬體安全模組,以及定期進行軟體更新。只有這樣才能最大限度地降低攻擊風險,維護比特幣網路的完整性和信任度,並保護用戶免受經濟損失。
因此,私鑰外洩漏洞是加密貨幣開發和安全社群面臨的一個根本性挑戰,及時檢測、分析和修復對於維護整個去中心化金融生態系統的可靠性至關重要。
所提供的程式碼並未直接顯示加密漏洞,因為它是透過客戶端和快取與比特幣 JSON-RPC 互動的程式碼,沒有明確的加密操作(建立或驗證簽章、金鑰產生等)。
然而,如果我們考慮潛在的漏洞,最關鍵的一點是使用了快取方法 getUnchecked()。 cacheFacade.block()此方法可能從快取或外部來源取得資料塊,但沒有進行異常處理或完整性檢查。
引起懷疑的句子:
JavaBlock block0 = cacheFacade.block().getUnchecked(genesisBlockHash);
...
Block blockBest = cacheFacade.block().getUnchecked(blockChainInfo.getBestBlockHash());
如果 getUnchecked()沒有對區塊的真實性和完整性進行適當的驗證(例如,檢查區塊的雜湊值或數位簽章),則存在使用偽造或修改資料的風險,這是一種加密漏洞。
概括
呼叫中的兩行程式碼可能都存在加密漏洞:
JavaBlock block0 = cacheFacade.block().getUnchecked(genesisBlockHash);
Block blockBest = cacheFacade.block().getUnchecked(blockChainInfo.getBestBlockHash());
原因是缺乏數據認證,這可能導致使用損壞或偽造的區塊。
如果您需要了解密碼學漏洞的具體細節,則需要查看方法程式碼 以及內部 getUnchecked()的密碼檢查處理流程 。BlockCacheFacade
以下這篇詳盡的研究論文解釋了區塊鏈應用程式中區塊快取處理漏洞的性質、其發生的原因,並提出了一種安全的修復方法,提供了範例程式碼以防止攻擊。
分析區塊鏈客戶端塊快取處理中的加密漏洞及安全修復方法
介紹
現代區塊鏈系統(例如比特幣)依賴加密機制來確保區塊鏈資料免受偽造和未經授權的修改。為了提高效能,許多客戶端使用區塊緩存,這可以最大限度地減少對完整節點的請求次數,從而加快應用程式的運行速度。然而,如果未對區塊的完整性和真實性進行適當驗證就不當使用緩存,則可能導致引入加密漏洞,從而危及整個系統的安全。
本文分析了與比特幣 JSON-RPC 和快取互動的程式碼範例, cacheFacade.block().getUnchecked(hash)發現一個潛在漏洞:由於缺乏從快取中獲取的區塊資料真實性的可靠驗證,攻擊者可能透過引入偽造或損壞的區塊發動攻擊。本文探討了該漏洞的機制,描述了其潛在後果,並提供了一個安全的修復範例,同時提出了預防未來類似問題的建議。
脆弱性的本質及其發生的條件
未經授權使用快取塊
getUnchecked()區塊快取方法通常涉及快速檢索資料區塊,而無需進行深度錯誤檢查。如果快取將資料儲存在記憶體或本地儲存中,並且在補充或更新過程中沒有嚴格的加密驗證,那麼:
- 攻擊者或資料來源中的漏洞可能會注入篡改過的資料塊。
- 簽章或區塊哈希驗證可能會被跳過,從而允許接受無效資料。
- 使用這樣的區塊會導致應用程式邏輯出錯,甚至破壞區塊鏈的完整性。
無需進行加密完整性檢查
加密哈希函數(比特幣中使用的是 SHA-256 雙重哈希)和每個區塊的數位簽章確保了資料的不可篡改性。從快取中檢索任何區塊時,必須執行以下操作:
- 檢查區塊雜湊值是否與其標識符相符(區塊的 SHA256 值必須與作為金鑰傳遞的雜湊值相符)。
- 檢查資料塊結構和加密簽章的正確性(如果適用)。
缺少這些檢查會導致「邪惡」一方攻擊,篡改區塊數據以供進一步使用,並基於不可靠的資訊進行操作。
脆弱性的後果
- 如果在本地使用偽造區塊,則會破壞網路共識。
- 存在雙重支付攻擊的風險。
- 由於數據可以在不被察覺的情況下被更改,因此人們對系統的信任喪失了。
- 該漏洞可能成為利用其他漏洞的途徑,包括攻擊交易的加密簽章和創建無效交易。
一種可靠且安全的修復漏洞的方法
基本原則
為了消除使用區塊快取時存在的安全漏洞,必須做到以下幾點:
- 從快取中檢索資料塊時,會進行嚴格的資料驗證。 這包括將資料區塊雜湊值與快取金鑰進行比對,以及檢查資料區塊本身的結構和所有嵌入的加密元素。
- 快取更新僅基於已驗證的真實資料。 新資料塊只有在客戶端完全驗證其有效性後才會加入到快取中。
- 處理快取操作中的異常和錯誤。
getUnchecked()使用會傳回錯誤的方法,而不是會隱藏錯誤的 方法 。
修正後的程式碼範例
Javaimport java.security.GeneralSecurityException;
public Block getBlockSafely(Sha256Hash blockHash, CacheFacade cacheFacade, BitcoinClient bitcoinClient) throws IOException, GeneralSecurityException {
// Попытка получить блок из кэша
Block cachedBlock = cacheFacade.block().get(blockHash);
if (cachedBlock == null) {
// Если блока нет, загрузить из Bitcoin RPC
Block loadedBlock = bitcoinClient.getBlock(blockHash);
// Выполнить проверку целостности: сравнить хеш загруженного блока с ожидаемым
if (!loadedBlock.getHash().equals(blockHash)) {
throw new GeneralSecurityException("Hash mismatch - block data corrupted or tampered");
}
// Проверка криптографических подписей блока (если применимо)
// Например, можно добавить специализированный метод validateBlockCryptography(loadedBlock)
// который проверит подписи транзакций и прочие элементы безопасности
boolean valid = validateBlockCryptography(loadedBlock);
if (!valid) {
throw new GeneralSecurityException("Block cryptographic validation failed");
}
// Кэширование проверенного блока
cacheFacade.block().put(blockHash, loadedBlock);
return loadedBlock;
} else {
// В случае получения блока из кэша - дополнительно проверить хеш
if (!cachedBlock.getHash().equals(blockHash)) {
throw new GeneralSecurityException("Cached block hash mismatch - possible cache poisoning");
}
// Можно по желанию повторно проверить криптографические атрибуты
if (!validateBlockCryptography(cachedBlock)) {
throw new GeneralSecurityException("Cached block cryptographic validation failed");
}
return cachedBlock;
}
}
// Пример stub-метода для криптографической проверки блока
private boolean validateBlockCryptography(Block block) {
// Проверить цифровые подписи каждой транзакции
// Проверить корректность структуры блока
// Проверить отсутствия нарушения правил консенсуса
// Возвращаем true, если все проверки пройдены
return true;
}
解決方案解釋
- 此方法
getBlockSafely取代了使用 `return` 語句getUnchecked,僅在完全檢查後才傳回程式碼區塊。 - 將已載入區塊的雜湊值與預期雜湊值進行比較,以防止欺騙。
- 為了安全起見,增加了執行高級加密區塊驗證的功能。
- 只有當所有檢查都通過後,快取才會更新。
- 當發生錯誤時,會拋出異常以確保對操作結果的控制。
防止此類漏洞的建議
- 處理外部資料時,請使用具有錯誤處理的強型別方法。
- 對所有進入快取的資料實施加密驗證。
- 在密碼驗證中使用安全的庫和方法。
- 定期進行程式碼審計和測試,以發現可能的攻擊途徑。
- 培訓開發人員正確實施和使用加密機制。
結論
與區塊快取不安全使用相關的加密漏洞可能導致區塊鏈系統安全性的重大損失。區塊資料處理不當,包括缺乏對哈希值和加密簽章的驗證,會為區塊替換攻擊打開方便之門。
所提出的程式碼級解決方案展示瞭如何在從快取中檢索資料塊時實現嚴格的完整性和真實性檢查,從而顯著提高系統抵禦攻擊的能力。此外,建議採用系統化的安全方法,定期進行檢查並遵循最佳密碼學安全實務。
因此,採用綜合方法將確保區塊鏈資料的可靠保護,同時維護整個生態系統的信任和穩定性。
以下是一篇詳盡的研究論文,解釋了關鍵區塊快取漏洞對比特幣加密貨幣安全性的影響、該攻擊的科學名稱以及有關現有 CVE 的資訊。
關鍵區塊快取漏洞對比特幣加密貨幣安全的影響:科學分析和 CVE 合規性
介紹
比特幣作為一種去中心化的加密貨幣,依靠無可置疑的密碼學原理來確保區塊鏈資料的安全性和完整性。關鍵的安全因素是對構成區塊鏈的每個區塊和交易的密碼學屬性進行正確驗證。違反這些驗證可能導致嚴重的攻擊,從而威脅系統的完整性和穩定性。
本文探討了使用未經正確驗證的區塊快取(快取投毒)所帶來的嚴重漏洞及其對比特幣網路的影響。文章對該攻擊進行了科學分類,並檢查了其是否已收錄於國際通用漏洞披露(CVE)資料庫中。
漏洞如何影響比特幣安全
攻擊機制:緩存投毒
在這個例子中,漏洞的出現是因為應用程式在未正確檢查資料區塊的雜湊值和加密完整性的情況下就從快取中檢索資料區塊。如果攻擊者能夠將偽造的資料塊注入緩存, 就會發生緩存投毒 攻擊,具體表現為:
- 應用程式接收到偽造的區塊鏈數據;
- 依賴該區塊的進一步操作(例如驗證交易或計算餘額)將基於虛假資訊;
- 如果這些資料外洩到更廣泛的網路或影響其他節點,則存在共識被打破的風險;
- 可能會發動雙重支付攻擊,或建立無效交易並接受該交易。
對比特幣網路的影響
這種脆弱性的後果可能是災難性的:
- 利用易受攻擊的客戶端破壞節點信任。
- 如果錯誤資料進入記憶體池或在對等節點間傳播,則可能引發連鎖反應。
- 確認和共識過程中出現的錯誤。
- 可能存在可與其他已知漏洞結合的複雜攻擊。
攻擊的科學名稱
密碼學和區塊鏈系統中類似的漏洞被歸類為 快取 投毒攻擊,攻擊者會將惡意或虛假資料注入快取機制。在區塊鏈網路中,這種攻擊會取代本地快取中的區塊或區塊鏈資料。
從更廣泛的密碼學和軟體學意義上講,攻擊可以具有以下特徵:
- 緩存 投毒;
- 資料 完整性攻擊;
- 區塊哈希不匹配漏洞利用 。
與類似比特幣漏洞相關的現有 CVE
根據對 2025 年公開的 CVE 和比特幣資料庫的分析,尚未明確發現與上述漏洞性質完全相同的漏洞——即能夠透過偽造快取區塊資料和違反加密驗證來造成問題的漏洞。然而,比特幣核心的多個 CVE 中描述了類似且密切相關的威脅:
- CVE-2012-2459 – 存在一個漏洞,可以將一個有效的資料區塊變成一個無效的資料區塊,該無效資料區塊會被緩存,導致後續的有效資料區塊被拒絕,從而導致網路分裂。
- CVE-2014-0160 (Heartbleed)和其他 CVE 解決了導致加密金鑰外洩的記憶體保護問題,這與資料信任間接相關。
- 多個漏洞涉及拒絕服務和記憶體池資料操縱(例如 CVE-2024-52913)。
2025 年的公開清單(MITRE、NVD、CVE Details)中沒有直接命名為「比特幣區塊快取投毒」的 CVE,但該漏洞分類將包含在以下類別中:
- CWE-494:下載代碼時未進行完整性檢查
- CWE-347:加密簽章驗證不當
當發生嚴重事件並出現採用所述做法的補丁時,可能會指派新的 CVE。
結論和建議
- 比特幣用戶端中快取區塊驗證不當的一個嚴重漏洞,會助長 快取投毒 攻擊,從而破壞資料的加密完整性並危及網路安全。
- 目前還沒有一個確切的 CVE 編號能夠描述使用比特幣快取的這種漏洞的確切組合,但它與 CVE-2012-2459 及相關漏洞非常接近。
- 為防止攻擊,必須嚴格檢查從快取中檢索的所有區塊數據,驗證雜湊值,執行加密驗證,並應用安全的快取處理方法(請參閱上一篇文章中的修復範例)。
- 建議及時更新 Bitcoin Core 和第三方程式庫的安全性更新,以確保及時獲得修復程式和建議。
本文的最終結論可以寫成如下形式:
定論
本文詳細分析了比特幣客戶端在使用快取時,由於區塊資料處理和驗證不當而導致的關鍵漏洞。從快取中檢索區塊時,缺乏對哈希值和加密完整性的嚴格驗證,為諸如 緩存 投毒之類的攻擊提供了嚴重的機會。該漏洞允許攻擊者將偽造或損壞的區塊注入客戶端的本地內存,從而破壞比特幣網路的基本安全性。
這種攻擊會破壞共識,直接威脅比特幣加密貨幣,可能導致雙重支付,並削弱人們對系統的信任。由於比特幣網路依賴區塊的不可篡改性和可驗證性,因此,如果攻擊者未能正確驗證緩存,從而繞過這些檢查,將構成生存威脅。
從科學角度來看,這種漏洞屬於 快取 投毒攻擊,由於其會破壞資料完整性原則,因此在加密貨幣和區塊鏈系統中尤其危險。雖然目前尚未為此漏洞分配確切的 CVE 編號,但該問題與 CWE-494(未經完整性驗證的資料下載)和 CWE-347(加密簽章驗證不足)類別相關。
最後,要防範這種威脅,需要在快取和使用每個區塊之前實施嚴格的完整性檢查程序,包括雜湊驗證和加密驗證。開發者和安全研究人員應共同努力,及時發現此類漏洞,並加強加密貨幣系統的保護機制。
因此,所描述的漏洞和相關的危險攻擊對比特幣安全構成了嚴重挑戰,需要立即關注並採取全面的解決方案,以確保加密貨幣基礎設施的韌性和信任度。
這個結論著重分析了漏洞的規模及其對比特幣安全的重要性,並用科學術語加以佐證,強調了修復漏洞和後續安全監控的必要性。
- https://droomdroom.com/address-poisoning-attacks-explained/
- https://arxiv.org/pdf/1805.10259.pdf
- https://www.reddit.com/r/programming/comments/rvstgt/researcher_discovers_70_web_cache_poisoning/
- https://www.sciencedirect.com/science/article/abs/pii/S1389128624006091
- https://dl.acm.org/doi/10.1007/978-981-97-5609-4_42
如果您需要額外的技術分析、分析方面的協助,或需要尋找最新的 CVE,您可以隨時對比特幣專案的安全變更分支進行深入的稽核和監控。
- https://www.cvedetails.com/vulnerability-list/vendor_id-12094/Bitcoin.html
- https://bitcoinops.org/en/topics/cve/
- https://en.bitcoin.it/wiki/CVE-2013-2293
- https://www.wiz.io/vulnerability-database/cve/cve-2025-23419
- https://knowledge.broadcom.com/external/article/394669/mitigating-cve202529775-in-tanzu-applica.html
- https://www.cve.org/CVERecord/SearchResults?query=bitcoin
- https://cve.mitre.org/cgi-bin/cvekey.cgi
- https://nvd.nist.gov/vuln/detail/cve-2024-27061
- https://www.cve.org/CVERecord/SearchResults?query=blockchain
- https://access.redhat.com/security/cve/cve-2025-22866
如果您需要了解任何方面的更多細節或實際程式碼範例,請聯絡我們。本文基於確保區塊鏈安全和檢查快取資料完整性的現代方法。 cyberrus +3
- https://cyberrus.info/wp-content/uploads/2025/07/vokib-2025-3-st09-s063-071.pdf
- https://7universum.com/ru/tech/archive/item/19981
- https://habr.com/ru/articles/817237/
- http://safe-surf.ru/specialists/article/5278/658923/
- https://rb.ru/stories/bezopasnost-v-blokchejne/
- https://cyberleninka.ru/article/n/analiz-uyazvimostey-sistem-upravleniya-klyuchami-v-raspredelennyh-registrah-na-primere-blokcheyn-ibm
- https://cyberleninka.ru/article/n/analiz-blokcheyn-tehnologii-osnovy-arhitektury-primery-ispolzovaniya-perspektivy-razvitiya-problemy-i-nedostatki
- http://siit.ugatu.su/index.php/journal/article/view/253
- https://securitymedia.org/info/bezopasnost-blokcheyna-uyazvimosti-ataki-i-budushchee-zashchity.html
- https://cryptomus.com/ru/blog/4-hidden-and-rarely-discussed-security-threats-of-blockchain
- https://cryptodeep.ru/whitebox-attack/
- https://forklog.com/news/ai/iskusstvennyj-intellekt-slil-zakrytye-klyuchi-ot-kriptokoshelkov
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://forklog.com/news/in-chips-for-bitcoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
- https://top-technologies.ru/ru/article/view?id=37634
- https://pikabu.ru/story/bitflipping_attack_na_walletdat_riski_ispolzovaniya_aes256cbc_grozit_utechkoy_zakryityikh_klyuchey_bitcoin_core_chast_2_13153514
- https://habr.com/ru/articles/817237/
- https://cyberleninka.ru/article/n/teoreticheskie-aspekty-rassledovaniya-prestupleniy-svyazannyh-s-ispolzovaniem-kriptovalyut
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://habr.com/ru/articles/771980/
資料來源:
- 對加密貨幣私鑰外洩和金鑰外洩攻擊的分析 forklog+2
- 密碼攻擊分類與 CVE pikabu+1
- 比特幣錢包漏洞及其後果的實際案例 cyberleninka
- https://forklog.com/news/ai/iskusstvennyj-intellekt-slil-zakrytye-klyuchi-ot-kriptokoshelkov
- https://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:% D0%A3%D1%82%D0%B5%D1%87%D0%BA%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
- https://www.securitylab.ru/news/531465.php
- https://blog.kaspersky.kz/vulnerability-in-hot-cryptowallets-from-2011-2015/27215/
- https://pikabu.ru/story/bitflipping_attack_na_walletdat_riski_ispolzovaniya_aes256cbc_grozit_utechkoy_zakryityikh_klyuchey_bitcoin_core_chast_2_13153514
- https://pikabu.ru/story/bitflipping_attack_na_walletdat_riski_ispolzovaniya_aes256cbc_grozit_utechkoy_zakryityikh_klyuchey_bitcoin_core_chast_1_13153470ikh_klyuchey_bitcoin_core_chast_1_13153470
- https://www.reddit.com/r/Bitcoin/comments/zhwjy4/key_exfiltration_how_a_signing_device_could_leak/
- https://crew-c.com/ru/blog-ru/chto-takoe-sid-fraza-polnoe-rukovodstvo-po-seed-phrase-v-kriptovalyutah/
- https://cyberleninka.ru/article/n/teoreticheskie-aspekty-rassledovaniya-prestupleniy-svyazannyh-s-ispolzovaniem-kriptovalyut
- https://top-technologies.ru/ru/article/view?id=37634
資料來源:
- 私鑰產生的漏洞分析及橢圓曲線的階數 pikabu
- 現代資訊加密保護方法 na-journal
- 安全私鑰處理實踐和加密建議 cyberleninka
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://www.itsec.ru/articles/kriptografiya-i-kleptografiya
- https://na-journal.ru/5-2024-informacionnye-tekhnologii/12353-rol-kriptografii-v-zashchite-informacii-ot-utechki-po-tehnicheskim-kanalam
- https://cyberleninka.ru/article/n/tipologiya-uyazvimostey-sistem-elektronnyh-podpisey
- https://cyberleninka.ru/article/n/analiz-uyazvimostey-v-sistemah-shifrovaniya-primery-i-posledstviya
- https://books.ifmo.ru/file/pdf/929.pdf
- https://dblib.rsreu.ru/data/publications/6360_text.pdf
- https://www.osp.ru/os/2025/02/13059629/
- https://help.stingray-mobile.ru/2024.5/rg/ru/general/using%20of%20cryptographic%20algorithms/
- https://cyberrus.info/wp-content/uploads/2020/08/66-75-337-20_6.-Minakov.pdf
如有需要,我可以提供修復此類漏洞的建議。
- 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://polynonce.ru/%D0%BA%D0%B0%D0%BA-%D0%BF%D1%80%D0%BE%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%B2% D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%83%D1%82%D0%B8%D0%B5-%D1%83%D1%82%D085%
- https://habr.com/ru/articles/771980/
- https://forklog.com/news/in-chips-for-bitcoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://habr.com/ru/articles/430240/
- https://pikabu.ru/story/issledovanie_uyazvimosti_signature_malleability_i_komprometatsii_privatnogo_klyucha_v_podpisi_bitcoin_chast_1_12055351
- https://top-technologies.ru/ru/article/view?id=37634
- https://polynonce.ru/libbitcoin/
- https://pentest-russia.ru/blog/ataki-na-blokchejn-koshelki-i-smart-kontrakty-kak-hakery-voruyut-kriptovalyutu/
如有需要,我可提供關於特定 CVE 和攻擊技術細節的更多詳細資訊。
- https://polynonce.ru/%D0%BA%D0%B0%D0%BA-%D0%BF%D1%80%D0%BE%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%B2% D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%83%D1%82%D0%B8%D0%B5-%D1%83%D1%82%D085%
- https://habr.com/ru/articles/771980/
- https://pikabu.ru/story/private_key_debug_oshibki_v_vyichislenii_poryadka_yellipticheskoy_krivoy_secp256k1_ugrozyi_dlya_yekosistemyi_bitcoin_chast_2_12755792_12755792
- https://pikabu.ru/@CryptoDeepTech
- 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://phemex.com/ru/news/article/private_key_breach_affects_nearly_200_wallets_cause_unknown_10001
- https://www.binance.com/cs/square/post/951306
如有必要,我可以提供更多關於提高私鑰使用安全性的建議或範例。
- https://polynonce.ru/%D0%BA%D0%B0%D0%BA-%D0%BF%D1%80%D0%BE%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%D0%BE%D0%B4%D0%B8%D1%82-%85%B2% D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%83%D1%82%D0%B8%D0%B5-%D1%83%D1%82%D085%
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- 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://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://habr.com/ru/articles/430240/
- https://habr.com/ru/articles/817237/
- https://pikabu.ru/story/issledovanie_uyazvimosti_signature_malleability_i_komprometatsii_privatnogo_klyucha_v_podpisi_bitcoin_chast_1_12055351
- https://www.itsec.ru/articles/kriptografiya-kak-sredstvo-borby-s-utechkami
- https://pentest-russia.ru/blog/ataki-na-blokchejn-koshelki-i-smart-kontrakty-kak-hakery-voruyut-kriptovalyutu/
- https://cryptodeep.ru/signature-malleability/
- https://polynonce.ru/bitcoinlib/
- https://academy.suncrypto.in/bitcoinlib/
- https://www.linkedin.com/pulse/malicious-python-packages-target-popular-bitcoin-library-5jihf
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/?srsltid=AfmBOorXUkJylnSutl06P94TXj3N8k9Z7mqCi_MMZgDJZZQM
- https://www.youtube.com/watch?v=01LEyuNgRSQ
- https://academy.suncrypto.in/bitcoinlib/
- https://polynonce.ru/bitcoinlib/
- https://www.linkedin.com/pulse/malicious-python-packages-target-popular-bitcoin-library-5jihf
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/?srsltid=AfmBOorXUkJylnSutl06P94TXj3N8k9Z7mqCi_MMZgDJZZQM
- https://cointelegraph.com/explained/what-is-bitcoinlib-and-how-did-hackers-target-it
- https://www.youtube.com/watch?v=01LEyuNgRSQ
- https://www.ainvest.com/news/crypto-malware-targets-bitcoin-python-library-users-warned-2504/
- https://www.block-chain24.com/faq/chto-takoe-bitcoinlib-i-kak-hakery-ego-atakovali
- https://www.reversinglabs.com/blog/malicious-python-packages-target-popular-bitcoin-library
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://b8c.ru/page/12/
- https://b8c.ru/keyvulnxplorer/
- https://keyhunters.ru/collision-attacks-and-incorrect-private-keys-in-bitcoin-an-analysis-of-vulnerabilities-and-security-prospects/
- https://github.com/fredokun/piexplorer
- https://www.kaspersky.com/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/49943/
- 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://github.com/advisories/GHSA-584q-6j8j-r5pm
- https://media.ccc.de/v/38c3-dude-where-s-my-crypto-real-world-impact-of-weak-cryptocurrency-keys
- https://www.hackerone.com/blog/lessons-crypto-exploits
- https://www.serverion.com/uncategorized/how-to-detect-vulnerabilities-in-blockchain-nodes/
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://onlinelibrary.wiley.com/doi/full/10.1002/ajs4.351
- https://bitcointalk.org/index.php?topic=977070.0
- https://www.binance.com/cs/square/post/951306
- https://github.com/topics/btc-wallet
- https://security.snyk.io/vuln/SNYK-JS-MOBILECOINBLOCKEXPLORER-5406426