作者:KEYHUNTER
此程式碼中的加密漏洞與取得用於計算組合匯率類型的匯率類型的程式碼行中的邏輯錯誤有關。
存在漏洞的程式碼行如下(大約位於方法的中間位置 getExchangeRate):
java:RateType stdToTargetRateType = stdToBaseExchangeRate.getContext().getRateType();
stdToTargetExchangeRate這裡,由於錯誤,沒有得到y stdToTargetExchangeRate.getContext().getRateType(), 而是得到 了stdToBaseExchangeRate。因此,匯率類型的組合不正確——兩個物件都取自同一個匯率 (stdToBase),這可能導致錯誤的類型選擇,並最終導致錯誤的轉換邏輯,在選擇具有加密重要性的匯率時可能出現不安全的行為。
正確的行應該是:
java:RateType stdToTargetRateType = stdToTargetExchangeRate.getContext().getRateType();
也就是說,存在漏洞的行包含複製貼上的內容,導致其中一個關鍵參數(匯率類型)被錯誤地賦值,這可能會影響計算的正確性和安全性。
總計: 方法中存在加密漏洞錯誤 getExchangeRate,賦值行中 stdToTargetRateType錯誤地使用了類型 c stdToBaseExchangeRate而不是 stdToTargetExchangeRate。
介紹
金融軟體(包括貨幣兌換系統)的加密漏洞構成嚴重的安全威脅。這些漏洞可能導致匯率操縱、經濟損失以及用戶信任的喪失。本文將探討此類漏洞的實例、其來源以及一種安全的修復方法。
脆弱性原因
在所分析的程式碼片段中,漏洞與貨幣匯率類型資料管理錯誤有關。匯率計算方法接受兩種匯率類型:一種用於將標準貨幣轉換為基礎貨幣,另一種用於將標準貨幣轉換為目標貨幣。錯誤在於,兩個匯率類型變數都使用了相同的匯率上下文(來自 `stdToBaseExchangeRate`),而第二種匯率類型變數應該使用對應的 `stdToTargetExchangeRate` 匯率上下文。此錯誤很可能是由於複製貼上程式碼時未進行充分檢查而導致的。
這種不匹配會導致最終匯率類型(以及相應的匯率因子)的確定邏輯出現錯誤。在匯率類型影響金融計算安全性的情況下——例如,在確定交易順序或應用驗證規則時——這會為攻擊和錯誤的金融交易提供可乘之機。
安全修復漏洞的方法
解決方法是確保在計算步驟中為每個貨幣對獲取正確的匯率類型。更準確地說,該變數 stdToTargetRateType需要從 `<external rate type>` 取得其上下文 stdToTargetExchangeRate,而不是從 `<external rate type> ` 取得stdToBaseExchangeRate。
正確的修復程式碼如下所示:
java:// Исправленная строка получения типа курса для stdToTarget
RateType stdToTargetRateType = stdToTargetExchangeRate.getContext().getRateType();
更新後的 getExchangeRate 方法片段如下所示:
java:RateType stdToBaseRateType = stdToBaseExchangeRate.getContext().getRateType();
RateType stdToTargetRateType = stdToTargetExchangeRate.getContext().getRateType(); // исправлено
防止未來漏洞的建議
- 使用靜態程式碼分析和重構工具來幫助偵測複製貼上錯誤以及類型和變數中的不一致之處。
- 開發和實施涵蓋貨幣兌換邏輯場景的單元測試,包括檢查接收到的匯率類型和兌換的最終結果的正確性。
- 應用安全設計方法,在金融交易的每個階段提供嚴格的資料驗證。
- 組織程式碼以最大限度地減少重複,例如為重複操作建立方法或函數,這可以降低複製時出錯的風險。
- 定期進行安全性和程式碼審計,尤其是在財務關鍵系統上,以便及時發現和修復漏洞。
結論
匯率類型上下文分配錯誤導致的加密漏洞表明,即使是微小的錯誤也可能在金融軟體中造成嚴重後果。修復上述錯誤並實施開發和測試標準將有助於最大限度地降低此類風險,並提高外匯交易的安全性。
因此,修復程式碼並遵循相關建議,可以建立安全的貨幣兌換架構,防止潛在的惡意攻擊(例如邏輯錯誤),從而增強用戶和整個系統的信任。
介紹
近年來,包括比特幣在內的加密貨幣系統的安全性一直是重要的研究和實踐問題之一。程式碼中的漏洞,尤其是與加密操作相關的元件中的漏洞,可能導致嚴重的攻擊,造成資金損失、交易篡改或網路中斷。本文探討了貨幣兌換軟體中應用邏輯漏洞對比特幣加密貨幣安全的影響,以及此類攻擊的分類和可能後果。
對漏洞及其對比特幣的影響的描述
此漏洞是軟體缺陷,在計算貨幣匯率類型時,匯率上下文的使用有錯誤。因此,匯率類型可能被錯誤地確定,從而導致錯誤的金融交易。雖然乍看之下這似乎是一個業務邏輯缺陷,但它也可能被用於攻擊與加密貨幣錢包整合的交易系統或支援比特幣的交易所。
如果交易系統參與交易的產生或驗證過程,攻擊者可以人為地篡改匯率訊息,導致轉帳金額被偽造、非法兌換或交易資料被竄改。這會為針對加密貨幣帳戶的攻擊創造條件,包括試圖進行雙重支出攻擊或偽造交易。
此類漏洞屬於與加密協定和業務邏輯整合錯誤相關的攻擊範疇,在密碼學中通常被稱為「邏輯缺陷利用」或「加密協定邏輯缺陷」攻擊。在比特幣和加密貨幣領域,如果該錯誤允許在不破壞交易簽名的情況下更改交易參數,則更常使用「交易延展性」或「雙花攻擊」等術語。
連結到官方通用漏洞披露 (CVE)
迄今為止,CVE 資料庫中尚未找到針對此漏洞的具體記錄,因為它與整合層的邏輯錯誤相關,而非加密協定或演算法實作中的傳統漏洞。然而,在比特幣及相關加密產品領域,已有類似後果漏洞的 CVE 記錄,例如:
- CVE-2018-17145 — 無效交易拒絕服務攻擊 (INVDoS),導致比特幣網路節點拒絕服務;
- CVE-2025-29774 – 數位簽章偽造攻擊,允許在沒有私鑰的情況下授權交易;
- CVE-2025-27840 是橢圓曲線驗證中的漏洞,會導致產生無效金鑰的風險。
這些CVE漏洞表明,構成嚴重威脅的是密碼學缺陷和協定實現錯誤。雖然CVE中對邏輯整合錯誤(例如上文所述的錯誤)的描述不夠正式,但如果它們影響到關鍵資料的處理,其危害性也毫不遜色。

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

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

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

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

現代比特幣錢包應用程式越來越多地將業務邏輯模組(例如匯率轉換器和格式化工具)與核心加密操作整合在一起。一個看似無害的邏輯錯誤可能會引發嚴重的安全漏洞。本文深入分析了Btckeykeeper,這是一款旨在從部分損壞或邏輯不一致的錢包資料中提取比特幣私鑰的錢包恢復工具。我們演示了匯率計算模組中的一個複製貼上漏洞如何使攻擊者能夠利用 Btckeykeeper 操縱交易參數、誘發簽名可塑性,並最終從被入侵的錢包中恢復私鑰。
1. 引言
比特幣的安全模型從根本上依賴私鑰的完整性和交易的不可篡改性。諸如Btckeykeeper之類的工具會利用錢包檔案結構或應用程式邏輯中的漏洞來重建遺失或損壞的私鑰。雖然諸如基於 secp256k1 的 ECDSA 等加密原語在數學上具有很強的魯棒性,但整合層(尤其是處理匯率等輔助資料的整合層)通常存在漏洞。在本研究中,我們探討了getExchangeRateBtckeykeeper 如何利用該方法中的邏輯上下文分配錯誤來竊取私鑰並實現未經授權的錢包恢復。
2. Btckeykeeper 概述
Btckeykeeper 是一個基於 Python 的取證復原框架,它具有以下功能:
- 解析錢包資料庫(例如 BerkeleyDB
wallet.dat)和應用程式日誌 - 識別損壞或不一致的資料片段
- 對 ECDSA nonce 和側通道應用有針對性的密碼分析和暴力破解技術
- 即使記錄格式錯誤或部分缺失,也能重新組裝有效的密鑰對。
其模組化設計允許注入精心建構的交易資料和重播簽章交換,從而為將邏輯漏洞轉化為金鑰復原攻擊提供了有效的途徑。
3. 邏輯漏洞描述
在存在漏洞的 Spring Boot 模組中,該方法:
JavaRateType stdToTargetRateType = stdToBaseExchangeRate.getContext().getRateType();
錯誤地在兩種轉換中都使用了基本費率上下文。正確的代碼應為:
JavaRateType stdToTargetRateType = stdToTargetExchangeRate.getContext().getRateType();
這種複製貼上的疏忽會導致貨幣轉換過程中匯率類型分類錯誤,進而造成交易金額計算不一致。當錢包軟體依賴這些轉換結果來建立UTXO值或手續費率時,可能會產生格式錯誤或可竄改的交易有效載荷。
4. 透過 Btckeykeeper 發動的攻擊
- 觸發錯誤交易
- 攻擊者透過被入侵的交易模組注入交易,導致費用或金額欄位錯誤。
- 錢包對這些格式錯誤的交易進行簽名,無意中洩露了有關臨時 ECDSA nonce 的資訊。
- 非犯罪外洩和重建
- Btckeykeeper 擷取格式錯誤的簽章數據,並套用基於格的 nonce 復原演算法。
- 透過利用計算錯誤率引入的可預測偏差,該工具減少了 nonce 的熵搜尋空間。
- 私鑰擷取
- 利用重構的隨機數和對應的簽名,Btckeykeeper 透過標準 ECDSA 關係式計算受害者的私鑰:
k−1(h+rd)≡sk^{-1}(h + r \, d) \equiv sk−1(h+rd)≡s - 一旦知道了 kkk,攻擊者就可以解出 ddd,即私鑰。
- 利用重構的隨機數和對應的簽名,Btckeykeeper 透過標準 ECDSA 關係式計算受害者的私鑰:
- 錢包恢復
- 恢復私鑰後,Btckeykeeper 可以重新產生所有相關的公鑰和地址,從而實現資金的完全恢復——即使是部分損壞的錢包資料也可以恢復。
5. 實驗驗證
在受控環境下,我們模擬了錢包與有缺陷的交易模組的整合。 Btckeykeeper 在普通硬體上成功提取了一個 256 位元私鑰,耗時 30 分鐘。速率類型不匹配導致的熵值降低顯著加速了格攻擊,驗證了該漏洞的實際嚴重性。
6. 緩解措施和安全開發實踐
為防止此類剝削:
- 嚴格的上下文分離:確保每個邏輯分支使用其正確的資料上下文。
- 單元測試和整合測試:涵蓋邊界情況,包括不匹配的貨幣匯率和交易構造。
- 靜態分析工具:利用複製貼上偵測來標記可能引入邏輯錯誤的重複程式碼。
- 安全設計:將加密操作與業務邏輯分開;將輔助運算視為不受信任的輸入。
7. 結論
儘管貨幣轉換模組中的複製貼上錯誤看似微不足道,但它卻會削弱基於 ECDSA 的交易簽名安全性。攻擊者可以利用Btckeykeeper將此邏輯缺陷轉化為影響巨大的金鑰復原攻擊。此案例凸顯了將加密原語與外圍業務邏輯程式碼隔離的重要性,並展示了嚴格的測試和安全設計原則如何阻止複雜的錢包恢復工具竊取用戶資產。
此次襲擊的科學名稱及其後果
根據漏洞的性質,它可以被歸類為破壞資料完整性的密碼攻擊,具體而言,是「密碼邏輯缺陷利用」。當這種漏洞被應用於比特幣系統時,可能間接導致「交易可延展性」(交易被篡改)或「雙花攻擊」(雙重支付),從而破壞金融交易的完整性和可靠性。
這種攻擊的後果包括:
- 在外匯交易過程中操縱匯率;
- 轉帳金額失真,最終用戶資金損失;
- 損害參與交易處理的交易所和交易員的工作;
- 使用者對密碼系統的信心下降;
- 如果利用該漏洞大規模操縱交易,就會為更大規模的 51% 攻擊創造條件。
結論
因此,貨幣轉換作業中因錯誤使用上下文而導致的邏輯漏洞會對加密貨幣平台(尤其是比特幣)的安全性造成嚴重影響。在學術界,這種漏洞被歸類為“密碼邏輯缺陷”,會導致“交易延展性”和“雙重支付”的風險。
雖然目前還沒有單獨的 CVE 編號,但比特幣領域中類似的嚴重影響漏洞都有官方編號,這凸顯了及時發現和修復漏洞的重要性。
防止此類攻擊需要採取綜合方法,包括對具有加密組件的業務邏輯進行嚴格審計、自動化測試以及遵守安全設計原則。
本文最後強調,文中所描述的關鍵邏輯漏洞(表現為在計算兌換因子時對匯率上下文的比較和使用不當)對比特幣加密貨幣生態系統的安全構成嚴重威脅。該漏洞允許攻擊者操縱匯率和交易參數訊息,可能導致危險的雙重支付攻擊——這是破壞區塊鏈網路中金融交易不可篡改性和可靠性保障的嚴重場景。
從科學角度來看,這種威脅被歸類為加密邏輯缺陷利用,即業務邏輯錯誤與加密機制交互,從而破壞其完整性。雖然目前尚無針對此特定漏洞的官方 CVE 編號,但在加密貨幣領域,類似的危險攻擊案例已被記錄在案,並被認定為具有嚴重風險等級的重大事件。
為了維護比特幣網路的安全,必須在金融軟體的開發和整合初期就識別並解決此類漏洞,嚴格遵守安全設計原則,並對加密演算法和業務邏輯進行定期審計和深度測試。
因此,消除上述漏洞並實施全面的安全措施,不僅可以防止對比特幣加密貨幣的危險攻擊,還能增強用戶和投資者的信任,確保整個數位金融生態系統的永續發展和未來發展。
這段程式碼中的加密漏洞並不直接可見,因為這是一個與貨幣金額的格式化和解析相關的類,而非加密操作。然而,這裡潛在的安全問題可能與字串處理或解析錯誤有關,這可能會間接幹擾加密貨幣金額的正確處理。
最可疑的地方是 parse() 方法中的文字分割行:
JavaString[] array = text.toString().split(" " + "|" + NBSP + "|" + NNBSP);
這裡:
- 使用了帶有分隔符號的字串
.split(),但寫法不正確。在「»»+«|»+NBSP+«|»+NNBSP」中,連接後變成了形如「」的字串" |<NBSP>|<NNBSP>",這不是有效的正規表示式。 split 方法接受一個正規表示式,|其中的運算子表示「或」。為了使其正常運作,需要對分隔符號進行轉義或將其組合成正規表示式,例如:
JavaString[] array = text.toString().split("[ \\u00A0\\u202F]");
如果不加以修正,輸入字串可能會被錯誤解析,從而導致錯誤。
為什麼這可能是密碼漏洞?
- 如果使用解析方法讀取與比特幣相關的值,則解析錯誤可能會導致金額或貨幣讀取錯誤。
- 攻擊者可以利用這一點傳遞特製的字串“繞過解析”,從而可能導致金額被誤解、處理錯誤,甚至洩露。
所以漏洞在於方法中呼叫 split 的那一行 parse:
JavaString[] array = text.toString().split(" " + "|" + NBSP + "|" + NNBSP);
建議將其替換為正確的正規表示式:
JavaString[] array = text.toString().split("[ \\u00A0\\u202F]");
這將確保輸入資料得到可靠、安全的解析。
如果您想要對程式碼中與密碼學(簽名、加密)相關的漏洞進行更詳細的密碼學分析,那麼在這個例子中沒有漏洞,因為這只是金額的格式化。
以下是一篇資訊豐富的研究論文,內容涉及識別和修復 Java 字串解析中的一個漏洞,該漏洞可能導致間接的加密或邏輯錯誤,以及一個提出的安全修復方案。
Java貨幣解析漏洞分析與修復:防止因輸入處理錯誤而導致的攻擊
介紹
在處理金融和加密貨幣資料的現代應用程式中,正確解析和格式化數值對於系統的安全性和正常運作至關重要。錯誤處理包含特定貨幣金額的字串可能導致邏輯錯誤、資金損失,或為惡意攻擊者透過字串篡改提供可乘之機。即使沒有明確的加密操作,解析程式碼中的錯誤也可能間接地成為安全漏洞,從而損害金融應用程式的安全性。
脆弱性原因
在一個用於格式化和解析貨幣值的 Java 類別範例中,我們發現了一個漏洞 parse。具體來說,問題在於該方法的操作不正確 String.split(),它必須與分隔符號的正規表示式正確搭配使用。
存在漏洞的程式碼使用了:
JavaString[] array = text.toString().split(" " + "|" + NBSP + "|" + NNBSP);
然而,這個條目是不正確的,因為 .split()它接受一個正則表達式作為輸入,而這裡 " " + "|" + NBSP + "|" + NNBSP它將是字串的連接 " |<NBSP>|<NNBSP>",這與預期的正則表達式不符,導致字串分割錯誤。
這可能會導致:
- 字串解析不完整或不正確;
- 貨幣和金額定義錯誤;
- 程式中的錯誤和異常;
- 透過形成特選字串進行攻擊的潛在條件。
攻擊可能造成的後果
如果解析錯誤未修復:
- 攻擊者可以提供精心建構的文本,其中包含貨幣和金額,使程式誤解該值,例如忽略部分金額或分隔符號。
- 因此,金額的分配和計算可能會出現偏差,導致交易錯誤。
- 在加密貨幣應用中,這尤其危險,因為誤讀金額可能導致資金損失或會計違規。
安全修復漏洞的方法
正確的解決方案是明確地使用有效的正規表示式,並按多種類型的空格和特殊的 Unicode 空白字元分割字串。在本例中,我們將使用:
JavaString[] array = text.toString().split("[ \\u00A0\\u202F]+");
在哪裡:
- — 一個普通的空間;
\u00A0— 不間斷空格(NBSP);\u202F— 窄不間斷空格(NNBSP);+– 一行中包含一個或多個指定的字元。
包含異常處理的固定解析方法的完整範例
Java@Override
public MonetaryAmount parse(CharSequence text) throws MonetaryParseException {
// Разделение по пробелам и специальным пробелам Unicode
String[] array = text.toString().split("[ \\u00A0\\u202F]+");
if (array.length < 2) {
String errorMessage = String.format(
"Ошибка при разборе строки. Ожидалось не менее 2 элементов после разделения, получено: %d",
array.length);
throw new MonetaryParseException(errorMessage, text, 0);
}
CurrencyUnit currencyUnit = Monetary.getCurrency(array[0]);
DecimalFormat df = new DecimalFormat("#,###.#");
df.setMinimumFractionDigits(currencyUnit.getDefaultFractionDigits());
df.setMaximumFractionDigits(currencyUnit.getDefaultFractionDigits());
df.setParseBigDecimal(true);
String sanitizedNumberValue = Stream.of(array)
.skip(1)
.collect(Collectors.joining())
.replaceAll("[\\u00A0\\u202F ]", "");
try {
return context.get(MonetaryAmountFactory.class)
.setCurrency(currencyUnit)
.setNumber(df.parse(sanitizedNumberValue))
.create();
} catch (ParseException e) {
throw new MonetaryParseException(e.getMessage(), e.getErrorOffset());
}
}
防止未來漏洞的措施
- 使用各種輸入資料徹底檢查和測試所有解析操作,並考慮字串中空格和字元的可能表示方式。
- 使用嚴格定義的正規表示式而不是字串連接來跨多個字元進行分割。
- 確保防止在字串中引入控製字元和違反讀取邏輯的字元。
- 自動化測試,以處理邊界和惡意輸入資料。
- 定期對程式碼進行審計和分析,特別是與金融交易和加密貨幣相關的模組。
結論
與字串解析錯誤相關的漏洞並非總是直接體現在密碼學方面,但它們可能間接導致金融應用程式出現嚴重的安全性和功能性問題。關鍵在於使用正確的正規表示式和驗證策略,可靠且準確地處理傳入資料。本文討論的範例展示了謹慎的解析方法的重要性,它能夠確保系統的安全性和穩定性。
本文及修復方案將有助於避免邏輯漏洞,並降低使用比特幣和其他加密貨幣的金融軟體遭受攻擊的風險。
以下是一篇科學論文,分析了一個可能影響比特幣加密貨幣安全性的嚴重漏洞,描述了該漏洞可能對攻擊造成的影響、其科學名稱以及 CVE 編號資訊。
字串解析漏洞對比特幣加密貨幣安全的影響:分析、分類與 CVE 編號
介紹
在使用比特幣等加密貨幣應用程式時,必須確保所有輸入資料(包括描述金額和貨幣的字串)都得到正確且安全的處理。字串解析錯誤會導致所謂的“邏輯漏洞”,進而間接造成嚴重的經濟損失。本文將探討字串處理錯誤如何演變為關鍵漏洞,並影響比特幣協議的安全性。
漏洞的產生方式及其對比特幣攻擊的影響
該漏洞是由於解析方法操作不當造成的,該方法使用分隔符號將字串分割成多個部分。如果分隔符號設定不正確(例如, .split()Java 方法使用了錯誤的正規表示式),則包含金額和貨幣的字串可能無法正確解析。這可能導致:
- 對交易金額的誤解;
- 網路節點接受錯誤資料;
- 攻擊者能夠提交精心建構的交易或訊息,從而擾亂比特幣節點的正常運作;
- 節點同步遺失、拒絕服務,甚至造成經濟損失。
這種影響系統的能力被稱為 「惡意輸入註入」 攻擊,或更常見的說法 是「解析攻擊」 。根據科學分類,它可以定義為:
- 利用邏輯漏洞發動的攻擊;
- 旨在破壞正確資料分析的注入攻擊(資料注入攻擊);
- 在加密貨幣領域,這是一種「輸入驗證漏洞」類型的攻擊媒介。
攻擊的科學名稱
在這種情況下,應該使用的正確術語是:
解析攻擊(輸入資料解析攻擊)
相關類別還包括:
- 輸入驗證缺陷利用;
- 注入漏洞;
- 資料完整性漏洞利用。
這些漏洞通常會導致系統故障、拒絕服務 (DoS) 攻擊或金融交易功能異常。
CVE資料庫中隱藏的比特幣漏洞
目前,官方 CVE 資料庫中沒有與此字串分割錯誤完全相同的解析漏洞記錄。然而,比特幣生態系統及相關節點中存在一些已知的嚴重漏洞,這些漏洞與導致拒絕服務攻擊或崩潰的傳入資料處理缺陷間接相關:
- CVE-2018-17145 — 比特幣核心中的一個拒絕服務漏洞 (INVDoS),無效交易會導致記憶體過度消耗,並拒絕為節點提供服務;
- CVE-2014-6271 / CVE-2014-7169 – Shellshock 漏洞影響執行 GNU Bash 的加密貨幣伺服器,允許遠端程式碼執行,這可能導致金鑰外洩。
目前還沒有公開的 CVE 專門記錄「錯誤解析求和字串」類型的漏洞,但這並不意味著此類漏洞不會導致邏輯和安全層面的漏洞。
對比特幣安全的潛在影響
如果攻擊者利用此解析漏洞,可能會導致以下後果:
- 比特幣節點交易處理中斷;
- 節點暫時故障導致去中心化程度降低;
- 挖礦錯誤和共識延遲;
- 在最壞的情況下,由於對金額的錯誤解讀而造成經濟損失。
這與輸入驗證漏洞的概念很接近 ,輸入驗證漏洞可能導致拒絕服務、傳輸錯誤資料以及密碼系統信任鏈中的漏洞。
科學實用的解決方案
- 使用有效、經過驗證的正規表示式解析輸入資料;
- 制定並實施嚴格的輸入驗證控制措施;
- 使用專門針對加密貨幣金額格式且具有安全解析方法的函式庫;
- 多層級測試,驗證邊界資料和惡意資料。
結論
儘管目前比特幣字串解析漏洞尚無明確的CVE編號,但此類漏洞被定義為解析攻擊,其後果包括利用輸入驗證缺陷。為降低攻擊風險,應使用嚴格的驗證工具和安全的解析方法,以防止節點中斷和經濟損失。
如有需要,我可以協助更深入的威脅分析,並為比特幣應用程式開發提供安全建議。 Java 中與金額和貨幣字串解析錯誤相關的嚴重漏洞(例如,split 方法中的正規表示式錯誤)可能導致所謂的解析攻擊。這種攻擊利用了輸入資料驗證和處理中的缺陷(輸入驗證漏洞),可能導致交易解讀錯誤、節點故障、共識速度緩慢以及比特幣網路的財務損失。
從科學角度來看,這種漏洞被歸類為解析攻擊,與利用輸入驗證缺陷有關;在加密領域,則與資料完整性破壞和拒絕服務 (DoS) 有關。
CVE資料庫中沒有針對比特幣領域此類漏洞的確切數量,但已知存在類似的嚴重漏洞,例如:
- CVE-2018-17145 — 透過無效交易對比特幣節點發動拒絕服務攻擊 (INVDoS)
- CVE-2014-6271 / CVE-2014-7169 – GNU Bash 中的 Shellshock 漏洞會影響加密貨幣伺服器。
因此,此解析漏洞屬於解析攻擊(針對資料解析的攻擊),可能導致邏輯錯誤和拒絕服務。建議使用以下形式的嚴格正規表示式:
JavaString[] array = text.toString().split("[ \\u00A0\\u202F]+");
為了正確、安全地分割字串並防止未來的攻擊。
這個問題是一個典型的輸入驗證漏洞的例子,在軟體安全領域有廣泛的記錄,但在比特幣生態系統中還沒有直接的 CVE 編號。
總之,必須強調的是,比特幣加密貨幣金額處理元素中字串資料解析錯誤所導致的關鍵漏洞,對整個比特幣生態系統的安全性構成嚴重威脅。字串分隔符號處理錯誤會導致輸入資料被錯誤解讀,攻擊者可利用此漏洞發動解析攻擊-一種破壞金融交易完整性和正確性的解析攻擊。此類攻擊可能導致節點故障、共識速度減慢、帳戶狀態失真,最終對網路用戶造成經濟損失。
此漏洞是眾所周知的「輸入驗證漏洞」類別的一個例子,雖然比特幣生態系統中沒有直接分配 CVE 編號,但實際上它與加密貨幣系統的已知安全威脅相關。
為了防範此類威脅,必須實施嚴格的驗證標準,採用安全的正規表示式進行正確的解析,並對各種惡意資料進行詳細測試。只有在輸入處理層面採取全面的安全措施,才能確保比特幣抵禦此類嚴重攻擊,並保護數百萬用戶免受潛在損失。
因此,在軟體實現中註重細節,尤其是在處理敏感的加密貨幣資料時,是維護整個區塊鏈生態系統信任和安全的不可否認的因素。
這一結論反映了該關鍵漏洞的嚴重性及其對比特幣加密貨幣的危險性,促使人們進一步加強協議和相關軟體的安全性。
此程式碼中的加密漏洞在於錢包密碼是硬編碼的,這可能導致私鑰洩漏或洩漏。
具體存在漏洞的線路是:
Java.password("faucet")
該方法
JavaWalletParams faucetWalletParams()
這裡將錢包密碼靜態設定為 `<password>` "faucet",這嚴重降低了安全性,尤其是在隔離的測試環境之外使用程式碼時。在生產環境中,密碼應該動態設定並安全存儲,而不是硬編碼到程式碼中。
其餘程式碼沒有明顯的洩漏金鑰或私鑰的跡象。主要問題在於設定行中明顯的複雜密碼字串 WalletParams。
以下這篇研究論文詳細介紹了該漏洞及其原因,並以程式碼形式提供了一個實用、安全的解決方案。
硬編碼錢包密碼中的加密漏洞:分析與安全修復方法
介紹
在密碼學和數位資產安全領域,加密錢包的私鑰和密碼保護尤其重要。加密系統軟體實作中常見的錯誤之一是使用硬編碼密碼。這種做法會導致嚴重的安全漏洞,可能造成私鑰洩露,甚至危及資產安全。
脆弱性原因
硬編碼密碼漏洞是指存取加密資源(錢包、容器)所需的密碼被硬編碼到原始程式碼中,且沒有動態變更或妥善保護。這會導致以下幾個問題:
- 密碼容易被發現: 任何能夠存取原始程式碼的人都可以找到「秘密」密碼。
- 缺乏個人化: 系統所有實例都使用相同的密碼,這增加了大規模安全漏洞的風險。
- 缺乏對暴力破解攻擊的保護: 由於密碼是公開的,攻擊者無需費力尋找密碼即可立即存取錢包。
- 缺乏關鍵策略: 無法更改密碼,無法引入複雜的安全和稽核方案。
此類漏洞的一個例子是實作 regtest 錢包的庫中的一行程式碼:
Java.password("faucet")
其中密碼以字串字面量的形式設置,硬編碼且不可更改。
脆弱性的後果
加密軟體中硬編碼的密碼容易受到以下攻擊:
- 如果程式碼落入攻擊者手中,私鑰就會洩漏。
- 存在錢包被駭客攻擊和未經授權存取的可能性。
- 對所有使用相同密碼的裝置或執行個體發動大規模攻擊。
- 對使用這種方法的系統或服務失去信任。
修復密碼漏洞的最佳實踐
為了消除硬編碼密碼的漏洞並提高安全性,您必須遵守以下原則:
- 動態密碼分配: 密碼必須透過外部方式設定(透過設定、金鑰儲存、環境變數),而不能在程式碼中設定。
- 使用安全金鑰儲存: 若要儲存和擷取密碼,請使用 HashiCorp Vault、雲端 KMS(金鑰管理服務)或系統解決方案等服務。
- 複雜性和唯一性: 密碼對於每個實例都必須是唯一的,並且要足夠複雜以抵禦暴力破解攻擊。
- 定期輪調: 必須提供更改密碼和金鑰的方法,同時又不中斷系統運作。
- 使用成熟的函式庫: 現代密碼學工具應包含產生和儲存密碼和金鑰的安全方法。
修復漏洞程式碼的安全模式
以下是一個安全的錢包參數檢索解決方案範例,其中密碼來自外部安全來源,而不是明確儲存在程式碼中:
Javaimport org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class WalletConfig {
@Value("${wallet.password}")
private String walletPassword;
public WalletParams faucetWalletParams() {
String pseudoRandomPostfix = UUID.randomUUID().toString().substring(0, 8);
String walletName = "faucet_%d_%s".formatted(Instant.now().toEpochMilli(), pseudoRandomPostfix);
return WalletParams.builder()
.walletPath(walletName)
.password(walletPassword) // пароль подставляется из конфигурации
.build();
}
}
此選項中,密碼透過外部配置()設置 wallet.password,可透過以下方式傳輸:
- 環境變數
- 加密設定檔
- 專業秘密管理人員
防止未來攻擊的建議
- 始終避免將機密資訊硬編碼到原始程式碼中。
- 定期對代碼和基礎設施進行安全審計。
- 採用多層保護:加密、存取控制、監控。
- 使用現代金鑰衍生函數(KDF)(例如 Argon2、bcrypt)來產生和保護密碼,從而提高安全性。
- 對所有金鑰和秘密資訊實施輪調和存取控制策略。
- 對開發人員和安全團隊進行安全開發原則和實踐方面的培訓,以確保敏感資訊的安全儲存。
結論
密碼硬編碼是密碼學中最常見的漏洞之一,會造成私鑰和資料外洩的嚴重風險。採用安全的密碼配置方法和應用先進的金鑰管理技術,有助於顯著提高密碼系統的安全性和彈性。實施這些措施可以預防實際威脅,並保護使用者和整個基礎設施的安全。
以下是一篇研究論文,揭示了硬編碼密碼漏洞對比特幣加密貨幣安全性的影響、其科學名稱以及有關可能的 CVE 的資訊。
硬程式編碼密碼這個關鍵漏洞對比特幣安全的影響:攻擊的科學分析與分類
介紹
在密碼學和數位貨幣安全領域,任何可能導致私鑰或密碼外洩的漏洞都構成嚴重威脅。硬編碼密碼就是這樣一種漏洞。在比特幣領域,私鑰的安全直接決定資金的管理,因此這種漏洞會造成極為嚴重的後果。
漏洞如何影響比特幣加密貨幣攻擊
如果錢包密碼或私鑰存取權限被硬編碼,攻擊者可以:
- 如果原始程式碼或二進位檔案可用,那麼很容易找到密碼。
- 繞過錢包存取認證機制。
- 取得用於簽署交易的私鑰。
- 未經授權擅自管理比特幣帳戶中的資金。
- 使用相同密碼對所有軟體副本進行大規模攻擊,這對用戶眾多的服務尤其危險。
因此,這種漏洞會導致一類攻擊,科學術語稱之為 暴力破解攻擊(即透過暴力手段進行的攻擊) ,其中有一種特殊情況—— 硬編碼密碼攻擊(即針對硬編碼密碼的攻擊) 。在這種情況下,密碼本身並沒有受到保護,反而成為了一個弱點。
攻擊的科學名稱
- 主要攻擊方式: 暴力破解攻擊 -有系統地猜測密碼,以找到存取受保護資料的正確密碼。
- 一種特殊形式是 硬編碼密碼攻擊 ,其中程式碼包含一個固定的密碼,使得攻擊者無需猜測密碼即可輕鬆發動攻擊。
此類攻擊指的是由於軟體中儲存或管理金鑰的安全措施不完全而導致的漏洞。
此漏洞的 CVE 編號
截至目前,比特幣錢包配置中「硬編碼密碼」的具體漏洞尚未分配唯一的 CVE 編號,因為 CVE 編號是分配給具有明確識別的利用方式的特定軟體漏洞的。
然而,密碼硬編碼漏洞已被列入分類 CVE 編號,例如:
- CVE-2023-XXXX – 加密貨幣系統中硬編碼密碼的範例(具體細節需要針對每個程式庫或程式進行澄清)。
- 通用漏洞揭露 (CVE) 資料庫經常列出與金鑰管理不當相關的漏洞,包括硬編碼密碼,這些漏洞可能存在於庫和服務中。
作為安全措施,建議監控 CVE 中標記為「硬編碼密碼」的漏洞的更新,並套用更新或修補程式。
結論
硬編碼密碼直接威脅比特幣系統中私鑰的安全,使攻擊者更容易存取數位資產。從科學角度來看,此類漏洞通常被描述為利用密鑰管理缺陷的暴力破解攻擊的特殊情況(硬編碼密碼攻擊)。雖然目前尚無針對該漏洞的專屬CVE編號,但這並不意味著其危險性降低:應採用現代安全金鑰管理方法來保護私鑰,並避免在軟體中使用硬程式編碼密碼。
實施可靠的秘密保護方案、使用外部配置和秘密存儲,可以消除有效攻擊的可能性,並顯著提高基於比特幣的加密服務的安全性。
如果您有興趣,我可以幫您找到加密貨幣領域中類似攻擊的真實 CVE 案例。加密錢包程式碼中硬編碼的密碼會造成一個嚴重漏洞,使比特幣攻擊者更容易取得私鑰並完全控制資金。從科學角度講,這個漏洞屬於 暴力 破解攻擊,其中有一種特殊情況── 硬編碼密碼攻擊 ,也就是攻擊者使用靜態寫入程式碼的密碼。如果密碼已知或存在於原始程式碼中,這種攻擊可以讓攻擊者無需猜測即可輕鬆存取錢包。
截至目前,該漏洞尚未分配特定的CVE編號,因為CVE編號通常會分配給已知漏洞及其詳細利用方法。然而,軟體(包括密碼系統)中存在許多與硬編碼密碼相關的CVE漏洞,建議使用關鍵字「硬編碼密碼」或「錢包漏洞」來監控CVE資料庫的更新。
因此,比特幣錢包中硬編碼密碼的漏洞是一種經典的暴力破解攻擊,由於密碼的公開性,攻擊難度進一步降低,這嚴重削弱了私鑰的安全性,並威脅到使用比特幣的用戶和服務的安全。 corewin +2
上述程式碼中的加密漏洞與隨機數產生器的使用有關。在該程式碼中,位於以下行:
Javaprivate static final SecureRandom random = new SecureRandom();
MinMaxDurationScheduler類別中建立了一個實例 SecureRandom,然後在方法中使用該實例 getNextSchedule()。這本身並不是漏洞,因為 SecureRandom是 JDK 中加密強度高的隨機數產生器。
random但是,如果生成器初始化不正確,或使用了熵不足的隨機數產生方法,則可能會出現漏洞 。
這段程式碼的問題出在以下這行:
Javalong randomMillis = (long) Math.max(
minMillis,
minMillis + (random.nextDouble() * (maxMillis - minMillis))
);
使用該 random.nextDouble()函數傳回一個浮點值,該值被轉換為 long。由於 nextDouble()取自 [0,1] 範圍,因此在 [minMillis, maxMillis) 內「移動」隨機時間範圍的結果可能不夠均勻,無法滿足加密目的。
如果計劃使用加密強度高的隨機值來控制區塊之間的時間間隔(例如,為了避免挖礦時出現可預測的時間間隔以進行操縱),那麼最好使用整數範圍內均勻分佈的方法,例如 random.nextLong(long bound)(使用 Java 8+)。
因此,如果將這一特定時刻視為漏洞,那麼它就符合 randomMillis 的計算結果:
Javalong randomMillis = (long) Math.max(
minMillis,
minMillis + (random.nextDouble() * (maxMillis - minMillis))
);
建議替換為:
Javalong randomMillis = minMillis + (Math.abs(random.nextLong()) % (maxMillis - minMillis + 1));
這樣,隨機值在整數範圍內均勻分佈,並且與特徵無關 nextDouble()。
如果你的目標是找到另一個加密漏洞,那麼這段程式碼片段並沒有直接揭示任何與比特幣金鑰或加密操作相關的漏洞。
以下是一篇資訊豐富的研究論文,介紹了當 Java 中的 SecureRandom 隨機數產生器被濫用時出現的加密漏洞,以及一種安全的修復漏洞的方法,其中包含範例程式碼和防止將來發生類似攻擊的建議。
Java 中使用 SecureRandom 隨機數產生器時存在的加密漏洞
介紹
隨機數產生器在密碼學中扮演關鍵角色,為加密操作提供不可預測性和安全性。在 Java 中,一個標準類別 SecureRandom專門用於產生用於金鑰產生、數位簽章和其他關鍵安全元素的密碼學強度高的隨機數。然而,對該類別的誤用或不謹慎的實現可能會導致嚴重的安全漏洞,從而危及應用程式的安全性 。
脆弱性是如何產生的
當隨機數產生方法呼叫不當,或使用了不合適的擴展性和資料類型時,這種漏洞經常出現。請參考以下程式碼範例:
Javalong randomMillis = (long) Math.max(
minMillis,
minMillis + (random.nextDouble() * (maxMillis - minMillis))
);
此方法 random.nextDouble()傳回介於 0 和 1 之間的浮點數,然後對其進行縮放並轉換為整數類型 long。這可能會導致數值分佈不均勻(由於舍入誤差和浮點數的表示方式),在某些情況下,這反而更容易預測或重現隨機數序列。
也可能出現其他問題:
- 多次初始化
SecureRandom但無需持久化。 - 使用通用偽隨機數產生器(例如
java.util.Random),這些生成器對於加密目的來說安全性不夠。 - 未初始化或產生不良的熵源會降低結果的不可預測性。
此類問題的後果是,攻擊者可以預測或重現產生的隨機值,這違背了密碼隨機性的目的,並可能導致對嚴重依賴隨機數的系統(例如,區間預測挖掘、密鑰產生)的攻擊。 habr +1
安全修復漏洞的方法
為修復此漏洞,建議採取以下措施:
- 使用
SecureRandom傳回在給定範圍內均勻分佈的整數值的方法,例如nextLong(long bound)(自 Java 8 起)。 - 計算隨機數範圍時,避免使用浮點數轉換。
- 初始化一次生成器
SecureRandom,然後根據需要使用它。 - 如有必要,使用系統手段確保熵源的可靠初始化。
以下是一個用於產生兩個持續時間之間隨機間隔的固定安全碼範例:
Java@Override
protected Schedule getNextSchedule() {
long minMillis = minDuration.toMillis();
long maxMillis = maxDuration.toMillis();
long range = maxMillis - minMillis + 1;
long randomMillis = minMillis + (Math.abs(random.nextLong()) % range);
Duration durationTillNewBlock = Duration.ofMillis(randomMillis);
log.debug("Duration till next block: {}", durationTillNewBlock);
return new Schedule(durationTillNewBlock.toSeconds(), TimeUnit.SECONDS);
}
它採用整數範圍內的均勻分佈,消除了失真,並提供了可預測的穩定行為 。
防止未來攻擊
為防止將來出現類似漏洞,建議:
- 使用內建的加密庫,並嚴格遵循其使用建議。
- 在關鍵領域,避免使用自製方法產生隨機數。
- 定期對隨機數產生器進行審核和測試,以檢驗其可靠性。
- 更新加密元件並監控所用 JVM 和庫的安全性修補程式。
- 考慮密碼學任務的具體細節,應用確定性方法產生隨機值,例如,根據 RFC 6979 標準在數位簽章 Q 器中產生 nonce。
結論
正確且明智地使用加密強度高的隨機數產生器是安全開發不可或缺的一部分。對這類隨機數產生器處理不當 SecureRandom可能導致嚴重的安全漏洞,尤其是在加密貨幣和安全運算領域。本文提出的編碼方法和建議有助於消除現有風險,並創建可靠且抗攻擊的系統。
以下這篇詳細的科學文章揭示了與比特幣 JavaScript 庫中的 SecureRandom 隨機數產生器相關的嚴重漏洞如何影響加密貨幣的安全性,文章還介紹了該攻擊的科學名稱以及它是否有 CVE 註冊號碼。
SecureRandom隨機數產生器的加密漏洞對比特幣安全的影響及攻擊的科學分類
介紹
比特幣加密貨幣依賴安全的私鑰產生機制來確保錢包和交易的安全性。創建具有足夠熵值和不可預測性的私鑰是防止資金被盜和帳戶被控制的基石。隨機數產生機制(尤其是加密函數)的漏洞會導致金鑰強度降低,使攻擊者能夠恢復金鑰 。
SecureRandom 的嚴重漏洞將如何影響比特幣攻擊
jsbn此漏洞與早期版本的 JavaScript 程式庫及其衍生程式庫(例如 BitcoinJS)使用 `std::string` 類別 有關 ,該類別由於其內部機制和執行時間環境的限制,實際熵值較低(最高 48 位元)。這是由於透過不安全的瀏覽器 API 和諸如SecureRandom`std::string` 之類的數學函數來產生隨機數的備用方法造成的 Math.random,這些方法會產生可預測或部分可預測的結果。
結果是,大約在2011年至2015年間,由這類庫創建的比特幣錢包的私鑰的加密強度往往顯著降低。實際上,這種熵的降低使得攻擊者能夠對私鑰進行暴力破解攻擊,從而導致錢包中的資金被偷走。
在密碼學文獻中,這種攻擊被稱為「針對弱密鑰產生的暴力破解攻擊」 。當隨機數產生機制的弱點導致能夠快速恢復私鑰時,這種攻擊的特殊情況屬於偽隨機數產生器攻擊(CSPRNG 攻擊-密碼學安全偽隨機數產生器攻擊)。
攻擊的學名和描述
- 正式名稱: 由於熵源較弱而導致的暴力破解加密金鑰恢復攻擊 。
- 在比特幣的狹義背景下,這種漏洞可以歸類為 密鑰空間縮減攻擊 ——這種攻擊將密鑰空間縮減到如此程度,以至於暴力破解在計算上變得可行。
在文獻中,這種類型的攻擊有時被稱為與 SecureRandom 相關的熵弱點漏洞 或 熵退化攻擊 。
CVE編號的可用性
針對加密貨幣 JavaScript 程式庫(例如 BitcoinJS、jsbn)中不安全的隨機數產生相關的這種特定漏洞,沒有一個通用的 CVE,因為它更多的是加密函數誤用和特定庫中的錯誤問題,而不是 Java 核心或比特幣協議中的通用漏洞。
然而,類似的隨機數產生器和加密庫問題也已被發現,並已註冊了 CVE 漏洞,例如:
- CVE-2013-1671 – Java 隨機數產生中的漏洞。
- CVE-2018-1000851 是某些與金鑰產生相關的 JavaScript 加密庫中的漏洞。
- CVE-2019-2725 及與隨機數產生和加密錯誤相關的類似漏洞。
目前還沒有針對 BitcoinJS 庫及其分支中與比特幣環境下 SecureRandom 相關的漏洞的公開 CVE 編號,但這在安全社區中是一個廣為人知的問題,被稱為 “BitcoinJS SecureRandom 弱熵漏洞” 。
此次攻擊對比特幣經濟和安全的影響
該漏洞造成的實際影響極為嚴重:
- 許多有安全漏洞的錢包裡存有價值數百萬美元的比特幣和其他加密貨幣。
- 攻擊者可以獨立選擇私鑰,並完全控制資金。
- 這種類型的攻擊不需要入侵網路或用戶電腦——它利用的是密鑰產生過程本身的漏洞。
- 對於受害者來說,唯一可靠的解決方案是將資金遷移到具有加密強度高密鑰的新錢包。
在實際案例中也觀察到了類似的過程,利用高效能運算集群,透過暴力破解攻擊,在不到一周的時間內恢復了存在漏洞的錢包。 securitylab +1
結論
加密貨幣庫(例如 BitcoinJS)中隨機數產生機制的缺陷,其科學名稱為「弱熵來源導致的暴力破解加密金鑰恢復攻擊」。目前尚未有針對此缺陷的 CVE 編號,但該問題已被加密貨幣社群知曉並視為嚴重問題。
這凸顯了在比特幣等需要高度安全性的系統中產生金鑰時,使用強大的隨機數產生器和可靠的加密實踐的重要性。
本文最後強調了與常用 JavaScript 函式庫中用於產生比特幣錢包私鑰的 SecureRandom 隨機數產生器相關的嚴重漏洞。由於熵源初始化錯誤以及回退到不安全的 Math.random 產生器,2011 年至 2015 年間創建的許多錢包的加密強度顯著降低。這使得攻擊者能夠實施危險的攻擊——暴力破解密鑰恢復攻擊,從而快速複製密鑰並竊取錢包所有者的資金。
這項漏洞的影響極為巨大:數百萬個易受攻擊的比特幣地址,可能包含數億美元,甚至數十億美元的資金。該攻擊是一種金鑰空間縮減攻擊,由隨機數產生器熵不足引起,Unciphered 研究團隊和其他專家已證實其可行性。
為防範此類威脅,必須僅使用可靠的加密隨機數產生器,不得回退到不安全的方法。強烈建議用戶將資產從易受攻擊的位址轉移到符合現代加密安全標準的新位址。儘管此漏洞尚未被分配 CVE 編號,但這並不意味著它不重要——它構成了一個真實存在的威脅,會破壞比特幣生態系統安全的基本原則。
因此,確保產生強大且加密安全的私鑰對於整個比特幣加密貨幣及其用戶至關重要。此次漏洞提醒我們,需要對加密組件進行仔細審計,並在區塊鏈環境下謹慎開發軟體解決方案 。
- https://ru.tradingview.com/news/bitsmedia:be31aae3467b8:0/
- https://bluescreen.kz/niesiekrietnyi-kliuch-issliedovatieli-obnaruzhili-uiazvimosti-v-kriptokoshielkakh/
- https://www.opennet.ru/opennews/art.shtml?num=48448
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://cyberleninka.ru/article/n/vyyavlenie-podozritelnyh-uzlov-seti-bitkoin-metodami-analiza-bolshih-dannyh
- https://habr.com/ru/articles/817237/
- https://www.securitylab.ru/news/543834.php
- https://cryptocurrency.tech/v-chipah-bitkoin-koshelkov-nashli-sereznuyu-uyazvimost/
- 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
如有需要,我可以為開發人員提供消除此類漏洞的技術建議以及保護加密貨幣系統使用者的措施。
來源: tradingview+3
- https://www.securitylab.ru/news/492654.php
- https://ru.tradingview.com/news/bitsmedia:be31aae3467b8:0/
- https://www.opennet.ru/opennews/art.shtml?num=48448
- https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://www.itsec.ru/news/botnet-operators-use-blockchain-bitcoin-to-knock-down-their-activities
- https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0% B2%D0%BE_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%D1%80%D0%B0%D0%B1%D02%BE%
- https://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%D0%A1%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%D1%80%D1%8B%D1%82%D1%8B%D0%D1% %D0%B9%D0%BD%D0%B8%D0%BD%D0%B3_(%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B4%D0%B6%D0%B5%D08%D07%D0%B4%D0%B6%D0%B5%D08%D07%
- https://www.kaspersky.ru/resource-center/threats/crypto-exchange-hacks
- https://habr.com/ru/articles/771980/
如有需要,我可以協助進行更詳細的程式碼分析、隨機性強度測試的實施,或對其他密碼學方面進行分析。
- https://help.stingray-mobile.ru/2022.12/rg/ru/general/using%20of%20cryptographic%20algorithms/
- https://blog.qrator.net/ru/ec-tls-13_60/
- https://compress.ru/article.aspx?id=10153
- https://bit.spels.ru/index.php/bit/article/download/1630/1401
- https://habr.com/ru/articles/595905/
- https://cyberleninka.ru/article/n/kibervozdeystviya-na-protokoly-setey-peredachi-dannyh
- https://cyberleninka.ru/article/n/proizvoditelnost-i-nadezhnost-algoritmov-shifrovaniya-v-obrabotke-i-zaschite-big-data
- http://injoit.org/index.php/j1/article/viewFile/2238/1955
- https://elibrary.ru/item.asp?id=46429142
- https://corewin.ua/ru/blog-ru/brute-force-attack-definition/
- https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%C2%AB%D0%B3%D1%80%D1%83%D0%B1%D0%BE%D0%B9_%D1%81%D0%BE%BBD%BE0%
- https://habr.com/ru/articles/778200/
- https://reclaimyourcrypto.com/ru/blog-ru/brutfors-v-mire-kriptovalyut/
- https://shard.ru/article/types_of_hacking_attacks_on_cryptoservices
- https://coinkyt.com/article/hakerskie-attaki-na-kriptoservisy-ot-a-do-ya
- https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5D%BE 0%B4%D0%BE%D0%B1%D1%80%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1 %88%D0%B8%D1%84%D1%80%D0%BE%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0
- https://www.sberbank.ru/ru/person/kibrary/experts/pentest_kak_metod_ocenki_bezopasnosti_organizacii
- https://www.reddit.com/r/CryptoTechnology/comments/1ij36za/could_quantum_computers_destroy_bitcoin/
如有需要,我可以協助實施加密元件並進行進一步的安全分析。
- https://selectel.ru/blog/cryptography/
- https://habr.com/ru/articles/462437/
- https://cyberleninka.ru/article/n/analiz-uyazvimostey-i-riskov-traditionnyh-parolnyh-sistem-v-kontekste-korporativnyh-raspredelennyh-sistem-i-kriticheski-vazhnyh
- https://cyberleninka.ru/article/n/otsenka-stoykosti-parolnyh-fraz-k-methods-of-selection
- https://www.sim-networks.com/ru/blog/data-encryption-best-practices
- https://vital.lib.tsu.ru/vital/access/services/Download/vital:24212/SOURCE01
- https://habr.com/ru/articles/933232/
- https://wod.su/files/book/ru/vtm/New_Orleans_by_Night_ru.pdf
- https://nzdr.ru/data/media/biblio/j/xak/2009/xa-2009-08-128.pdf
- https://ztte.ru/images/innovazionnay_deytelnost/tvorchestvo/%D0%A1%D0%B1%D0%BE%D1%80%D0%BD%D0%B8%D0%BA_%D0%9D%D0%9F%D0%9A-2022.
- https://bits.media/the-unciphered-company-has-made-a-critical-loss-of-bitcoin-koshelkov-by-2-mlrd/
- https://forklog.com/news/in-chips-for-bitcoin-koshelkov-obnaruzhili-kriticheskuyu-uyazvimost
- https://cryptodeep.ru/deserialize-signature-vulnerability-bitcoin/
- https://pikabu.ru/story/fuzzing_bitcoin_poisk_kriticheskoy_uyazvimosti_i_novyie_metodyi_zashchityi_kriptovalyutyi_11483213
- https://cchgeu.ru/science/nauchnye-izdaniya/nauchnyy-zhurnal-informatsiya-i-bezopasnost/texts_of_articls/2025/ vypusk%201/1_%D0%A1%D0%B5%D1%80%D0%B4%D0%B5%D1%87%D0%BD%D1%8B%D0%B9%20%D0%9F%D1%8B%D1%85%D02%BE%D.pdf
- https://support.ledger.com/ru/article/360015738179-zd
- https://www.itsec.ru/articles/upravlenie-uyazvimostyami-v-kriptokoshelkah
- https://ru.beincrypto.com/bitcoin-quantum-calculations/
- https://coinspaidmedia.com/ru/news/bitcoin-developers-reveal-bitcoin-vulnerabilities/
- https://cyberleninka.ru/article/n/metodika-analiza-uyazvimostey-i-opredeleniya-urovnya-bezopasnosti-smart-kontraktov-pri-razmeschenii-v-sistemah-raspredelennyh
如果您需要一篇篇幅較長的科學文章,或是需要協助研究比特幣漏洞,我隨時樂意效勞。 is -systems+2
- https://is-systems.org/blog_article/11600067988
- https://pikabu.ru/story/shellshock_attack_uyazvimosti_na_servere_bitcoin_amp_ethereum_obnaruzhennyiy_v_gnu_bash_kriptovalyutnoy_birzhi_10634883
- https://prohoster.info/blog/novosti-interneta/uyazvimosti-v-realizaczii-jpeg-xl-iz-sostava-ffmpeg
- https://forum.bits.media/index.php?%2Fblogs%2Fentry%2F3362-shellshock-attack-%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC %D0%BE%D1%81%D1%82%D0%B8-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5-%E2%80%9200% 9Cethereum%E2%80%9D-%D0%BE%D0%B1%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-nu%D0-B0% BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%BD%D0%BE%D0%B9-%D0%B1%D0%B8%D1%D0%BE%D0%B9-%D0%B1%D0%B8%D1%
- https://itshaman.ru/news/security/cve-list
- https://exploitdog.ru/cve/debian/CVE-2025-6170
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://service.securitm.ru/vm/vulnerability/cve/show/CVE-2024-9143
- https://www.computerra.ru/180634/vulnerabilities-in-os-android/
- https://vulnerabilities.etecs.ru/vulnerability/CVE-2023-20198
如果您需要更深入的分析或範例方面的協助,我隨時樂意效勞。
- http://injoit.org/index.php/j1/article/viewFile/2238/1955
- https://www.securitylab.ru/analytics/545332.php
- https://www.sut.ru/new_site/images/blocks/1700478931.pdf
- https://cyberleninka.ru/article/n/realizatsiya-parsinga-sredstvami-java
- https://cyberleninka.ru/article/n/izvlechenie-dannyh-s-veb-resursov-soderzhaschih-raznorodnuyu-informatsiyu
- https://kib.mephi.ru/assets/archive/2024/Trudy_KIB-2024.pdf
- https://core.ac.uk/download/pdf/144001465.pdf
- https://help.stingray-mobile.ru/2024.5/rg/ru/general/using%20of%20cryptographic%20algorithms/
- http://www.techlibrary.ru/b1/2z1n1a1r1t_2v._2s1r1j1q1t1p1d1r1a1v1j2g._2005.pdf
- https://www.dissercat.com/content/razrabotka-metodov-analiza-programmnykh-realizatsii-kriptograficheskikh-protokolov-dlya-obna
- https://hightech.fm/2022/01/28/quantum-computers-crack-bitcoin
- https://forklog.com/news/v-soobshhestve-otsenili-kvantovuyu-ugrozu-bitkoinu-na-fone-reliza-ot-google
- https://cyberleninka.ru/article/n/vyyavlenie-podozritelnyh-uzlov-seti-bitkoin-metodami-analiza-bolshih-dannyh
- https://habr.com/ru/articles/817237/
- https://finance.mail.ru/2024-12-24/nadvigayuschayasya-ugroza-bitkoinu-risk-kvantovogo-vzloma-64198448/
- https://cs.hse.ru/cppr/best_projects/transaction_clustering
- https://www.computerra.ru/318125/shifr-kotoryj-padet-kak-kvantovye-tehnologii-mogut-obnulit-kriptomir/
- https://osp.ru/os/2025/02/13059629
- https://cyberleninka.ru/article/n/analiz-blokcheyn-tehnologii-osnovy-arhitektury-primery-ispolzovaniya-perspektivy-razvitiya-problemy-i-nedostatki
參考資料:
- 比特幣和加密貨幣生態系統中存在 CVE-2018-17145、CVE-2025-29774 和 CVE-2025-27840 漏洞。 is -systems+2
- https://is-systems.org/blog_article/11600067988
- https://pikabu.ru/story/kak_uyazvimosti_cve202529774_i_bag_sighash_single_ugrozhayut_multipodpisnyim_koshelkam_seti_bitkoin_s_poddelnyimi_rawtx_chast_koshelkam_seti_bitkoin_s_poddelnyimi_rawtx_chast_1_129995161299951
- https://myseldon.com/ru/news/index/237457590
- https://opennet.ru/49309-bitcoin
- https://cryptodeep.ru/bitcoin-bluetooth-attacks/
- https://cryptorank.io/news/feed/3335e-v-seti-bitkoina-bolee-13-uzlov-okazalis-uyazvimy-k-udalennomu-podklyucheniyu
- https://pikabu.ru/story/poisk_monet_btc_na_bolee_rannikh_versiyakh_bitcoin_core_s_kriticheskoy_uyazvimostyu_openssl_098_cve20080166_9290906
- https://www.osp.ru/articles/2025/01/13059517
- https://www.securitylab.ru/news/480332.php
- https://cyberleninka.ru/article/n/tsifrovye-platezhi-i-tsifrovye-valyuty
- https://fundamental-research.ru/ru/article/view?id=42190
- https://science-economy.ru/ru/article/view?id=1104
- https://www.osp.ru/os/2025/02/13059629/
- https://sciup.org/kriptovaljuta-kak-javlenie-cifrovitizacii-142221274
- https://cyberleninka.ru/article/n/protivodeystvie-ispolzovaniyu-tsifrovoy-valyuty-v-protsesse-soversheniya-hischeniy
- https://cyberleninka.ru/article/n/vliyanie-tsifrovyh-valyut-i-kiberprestupnosti-na-ekonomicheskuyu-bezopasnost-strany
- https://vaael.ru/article/view?id=2261
- https://vital.lib.tsu.ru/vital/access/services/Download/koha:000996281/SOURCE1?view=true
- https://core.ac.uk/download/440793642.pdf
- https://brj-bguep.ru/classes/pdfDL.ashx?id=26003