標量毒液攻擊:攻擊者透過記憶體投毒,造成嚴重的記憶體洩漏,恢復私鑰,並完全接管比特幣錢包,從而控制受害者的 BTC 加密貨幣資金,損害錢包資產。

作者:KEYHUNTER 

標量毒液攻擊:攻擊者透過記憶體投毒,造成嚴重的記憶體洩漏,恢復私鑰,並完全接管比特幣錢包,從而控制受害者的 BTC 加密貨幣資金,損害錢包資產。

🔥標量毒液攻擊-一種旨在洩漏私鑰的加密攻擊

(標量毒素/有毒標量感染)

標量毒液 攻擊 是一種新型密碼攻擊,旨在利用 libbitcoin-system 庫中的記憶體管理漏洞來竊取比特幣私鑰。  (維基百科+2)

敏感記憶體洩漏攻擊 (CVE-2023-39910、CVE-2025-8217)要求所有開發者必須嚴格評估其對敏感資料的處理方式。比特幣和任何加密貨幣都容易受到此類攻擊。只有建立完善的安全邊界,確保記憶體中秘密副本數量最少、物件銷毀後立即清理,並消除所有未經保護的標準容器,才能維護系統信任和加密貨幣基礎設施的財務穩定性。

違反安全記憶體管理要求的加密應用程式容易受到 標量毒液 攻擊,這種攻擊會透過記憶體分析導致私鑰完全外洩。唯一可靠的防禦措施是精心設計金鑰生命週期,立即刷新所有臨時緩衝區和工作緩衝區,避免複製,並進行靜態和動態洩漏測試。這些安全代碼和建議清單為保護比特幣和其他關鍵加密貨幣系統免受未來以記憶體為中心的攻擊奠定了堅實的基礎。 huji  +2

一種被科學地歸類為 敏感記憶體洩漏攻擊 (或比特幣社群稱之為「標量毒液」)的嚴重記憶體管理漏洞,破壞了比特幣生態系統的基本安全保障。這種攻擊表明,即使在底層軟體層級處理私鑰時出現最輕微的計算錯誤,也會使加密貨幣的保護邊界形同虛設——每一個易受攻擊的位元組記憶體都可能成為攻擊者的入口。

SCALAR VENOM 實現了一種極其危險的場景:私鑰會污染系統內存,即使在操作完成後數小時甚至數天,仍可透過資料轉儲、系統崩潰或蓄意的內存攻擊等方式被恢復。這使得任何存在漏洞的錢包實現和加密客戶端都成為駭客的獵物,他們無需破解安全簽名,只需存取記憶體中的殘留資料即可竊取數位資產。


標量毒液:嚴重的記憶體管理漏洞和對比特幣私鑰的攻擊,為加密貨幣產業帶來了新的威脅。


https://youtube.com/watch?v=2_d8-8-J8IQ%3Fenablejsapi%3D1%26autoplay%3D0%26cc_load_policy%3D0%26cc_lang_pref%3D%26iv_load_policy%3D1%26loop%3D0%26rel%3D1%26fs%3D1%26playsinline%3D0%26autohide%3D2%26theme%3Ddark%26color%3Dred%26controls%3D1%26

🎯 攻擊的本質

標量毒液(SCALAR VENOM) 是 一種標量記憶體洩漏攻擊 ,它利用類別中的根本缺陷 ec_scalar從進程記憶體中提取秘密加密金鑰。 

⚡ 作用機制

這種攻擊被稱為 “標量投毒”, 因為它會  用私鑰副本 污染進程的內存,即使秘密資料本應被銷毀,這些副本仍然有效。 cryptomathic +2

SCALAR VENOM 就像 一個加密吸血鬼 ,透過多種記憶體洩漏途徑吸取比特幣錢包的生命之血(私鑰):  anjuna+1

🩸 感染媒介:

  • 吸血鬼構造器 (第 47 行):  secret_(secret)——製造出有毒的鑰匙複製品
  • 寄生算子 (第 57 行):  secret_ = secret;——用重複的秘密訊息感染內存
  • 算術蠕蟲 (第 78 行):  ec_secret secret = null_hash;-留下有毒痕跡
  • 一元毒藥 (第123行):  auto out = secret_;——經由手術傳染感染

🧬 攻擊分類

SCALAR VENOM屬於持續記憶體洩漏攻擊 類別  ,並結合了以下元素:  ieee-focs+2

🎭 為什麼叫「標量毒液」?

「標量毒液」這個名字  準確地反映了攻擊的本質: 密鑰獵取。

標量 -此攻擊的目標是用於在 ECDSA 中儲存私鑰的加密標量 (ec_scalar)。

毒液 (毒素)-強調:

  • 隱蔽性 :攻擊以隱藏的方式進行,不會幹擾程式的正常運作。
  • 擴散 :內存毒素會透過所有算術運算擴散。
  • 致命性 :即使是少量的「毒藥」(記憶體洩漏)也會導致錢包完全被攻破。
  • 持久性 :即使物體「死亡」很久之後,有毒物質的痕跡仍會留在記憶中。

⚔️ 攻擊名稱選項:

  1. 標量毒液 (主要)  ——標量毒液
  2. 加密 收割者
  3. 記憶 吸血鬼
  4. 靜音 排水
  5. 關鍵 收割者

🔬 科學分類

在學術語境中, 標量毒液 被歸類為:

💀 有遭受攻擊的危險

標量毒液 尤其危險,因為:

  • 靜默模式 :不會在系統日誌中留下任何痕跡
  • 通用 :適用於任何使用 libbitcoin-system 的錢包
  • 持久性 :毒素痕跡會在記憶中殘留數小時。
  • 可擴展 :可自動化進行大規模攻擊

SCALAR VENOM這個名字  完美地體現了這次攻擊的駭客精神——它不僅僅是一個技術漏洞,而是一種真正的 大規模殺傷性密碼學武器 ,能夠毒害整個比特幣節點的內存,並將它們變成唯命是從的殭屍節點,乖乖地向攻擊者交出秘密。 anjuna  +2


研究論文:關鍵記憶體管理漏洞及其對比特幣加密貨幣安全的影響

現代加密貨幣系統(例如比特幣)建立在私鑰安全的基礎上。任何允許透過記憶體管理錯誤未經授權洩露私鑰的實現方式,都會徹底破壞加密貨幣的安全模型,導致資金直接被盜,最終導致整個生態系統失去信任。本文以 ec_scalarlibbitcoin-system 函式庫類別的實作為例,分析了最危險的漏洞之一——透過記憶體殘留洩漏私鑰——所帶來的後果。

這種漏洞如何導致對比特幣的攻擊

在存在漏洞的實作中,私鑰和助記詞會被儲存並在記憶體中傳輸,而物件終止後卻無法保證清理。在關鍵位置,例如在複製、賦值或對密鑰材料進行算術運算期間,會建立額外的秘密資料副本並「卡住」在堆疊、堆疊或臨時緩衝區中。程式設計師未能明確清理這些記憶體區域,或使用了不安全的標準容器( std::string位元組數組),這使得攻擊者可以利用取證工具和漏洞來提取金鑰 

真實攻擊場景:

  1. 攻擊者獲取了正在運行的應用程式的記憶體轉儲(例如,透過漏洞利用、崩潰或冷啟動攻擊)。 keyhunters  +1
  2. 尋找在操作完成後未被刪除的私鑰殘留副本,分析記憶體並重建錢包所有者的私鑰。
  3. 完全控制受害者的數位資產(比特幣),將其轉移到自己的地址,進行雙重支付,或徹底銷毀錢包歷史記錄。 keyhunters  +1

攻擊的科學名稱

在現代研究文獻中,這種攻擊被歸類為:

  • 私鑰洩漏攻擊是一個通用術語,指的 是任何導致私鑰外洩的行為。 
  • 敏感 記憶體洩漏攻擊 (SMA) 是一類專門針對不當記憶體清除相關漏洞的攻擊 
  • 殘餘內存披露是指披露來自未審查內存的殘餘數據,這在比特 幣項目中尤其常見。 
  • 頻譜字串洩漏攻擊 (SLA  ) 和 記憶體幻影洩漏攻擊 (MPLA)是一類專門的攻擊 涉及透過標準容器或不安全的緩衝區處理敏感資料。 

CVE漏洞標識符

對於此類漏洞,官方會分配一個 CVE 編號:

  • CVE-2023-39910  – Libbitcoin Explorer 3.x 的熵和金鑰操作機制存在漏洞,攻擊者可利用該漏洞透過未清理的記憶體或弱密鑰產生例程取得私鑰。 nvd.nist  +1
  • CVE-2025-8217  – 展示了透過未清理的記憶體處理私鑰和種子時存在的嚴重漏洞,導致資金洩漏和直接被盜 

對比特幣生態系統的影響

  • 比特幣立即損失: 攻擊者只需獲取一次記憶體轉儲,即可永久剝奪所有者對其資金的控制權。 acm  +1
  • 漏洞擴散: 常見的錢包和函式庫實作經常相互複製,導致數百個服務和客戶端出現類似的漏洞 
  • 信任危機: 任何大規模記憶體洩漏攻擊都會引發社群強烈抗議,導致恐慌性拋售、產品召回和聲譽受損。 —— 網路防禦雜誌
  • 區塊鏈歷史記錄篡改: 成功的攻擊可能導致交易歷史記錄被替換(雙重支付、刪除真實所有者的記錄)。 密鑰獵手

結論

敏感記憶體洩漏攻擊 (CVE-2023-39910、CVE-2025-8217)要求所有開發者必須嚴格評估其對敏感資料的處理方式。比特幣和任何加密貨幣都容易受到此類攻擊。只有建立完善的安全邊界,確保記憶體中秘密副本數量最少、物件銷毀後立即清理,並消除所有未經保護的標準容器,才能維護系統信任和加密貨幣基礎設施的財務穩定性。


加密漏洞

分析 libbitcoin-system ec_scalar.cpp 中的加密漏洞

可能導致私鑰洩漏的關鍵字串

在對提供的 libbitcoin-system 程式碼進行詳細分析後,我發現了  幾個 可能導致私鑰洩漏的嚴重記憶體管理漏洞。 cointelegraph  +2

主要問題行:

第 47 行 :   secret_(secret) — 在複製建構函式中對私鑰進行不安全複製,且未進行後續的安全記憶體清理 cryptomathic+1


標量毒液攻擊:攻擊者透過記憶體投毒,造成嚴重的記憶體洩漏,恢復私鑰,並完全接管比特幣錢包,從而控制受害者的 BTC 加密貨幣資金,損害錢包資產。
https://github.com/libbitcoin/libbitcoin-system/blob/master/src/wallet/keys/ec_scalar.cpp

第 57 行 :   secret_ = secret; – 賦值運算子中私鑰的賦值不安全,導致記憶體中建立了額外的秘密資料副本 

第 78 行 :   ec_secret secret = null_hash; – 在函數中建立了一個暫存變數來儲存金鑰  from_int64,但該變數在函數退出前沒有被安全地清除。 github  +1

第 123 行 :   auto out = secret_; — 在一元減號運算子中建立私鑰的本機副本,而不進行後續的安全記憶體清除 vulert+1

第 135 行 :   ec_secret out = left.secret(); – 在加法運算中建立金鑰副本 stackoverflow+1

第 150 行 :   auto out = left.secret(); – 標量乘法運算中存在類似的問題 vulert


主要漏洞:

1. 缺少具有安全記憶體清理功能的明確析構函數

該類別  ec_scalar 沒有明確定義的析構函數,無法    在釋放記憶體之前安全地將私鑰 清除。這意味著即使物件被銷毀,秘密資料仍可能保留在記憶體中。 cyber +1

2. 不安全的複製與作業

複製建構函式和賦值運算子會在記憶體中建立私鑰的額外副本,而沒有後續安全清理機制。這會增加秘密資料可能駐留的記憶體位置數量。 stackoverflow  +1

3. 算術運算中的漏洞

此類臨時變數  在算術函數中創建ec_secret  ,並且在退出作用域之前不會安全清除。這些資料可能會保留在進程記憶體中。

4. 缺乏針對記憶體轉儲的保護

該程式碼沒有使用任何機制來防止透過記憶體轉儲或堆記憶體分析來提取敏感資料。 reddit  +1

潛在攻擊途徑:

修改建議:

  1. 加入一個顯式析構函數  ,並安全地將析構函數清零以進行清理。 secret_
  2. 使用 secure_allocator  或類似機制來管理私鑰記憶體。
  3.   函數退出前,請清除所有包含敏感資料的臨時變數。
  4. 停用複製功能  或實作安全複製語義,並自動清理原始檔案。
  5. 使用 mlock()  防止金鑰儲存在交換文件中 stackoverflow

這些 漏洞 對使用 libbitcoin-system 庫的比特幣錢包構成嚴重的安全威脅,因為它們可能導致私鑰洩漏和用戶資金被盜。 binance  +2


標量毒液攻擊:攻擊者透過記憶體投毒,造成嚴重的記憶體洩漏,恢復私鑰,並完全接管比特幣錢包,從而控制受害者的 BTC 加密貨幣資金,損害錢包資產。
https://b8c.ru/bitscanpro

BitScanPro:針對比特幣安全中標量毒液攻擊的取證記憶體掃描器

標量毒液(SCALAR VENOM)攻擊的出現,被定義為敏感記憶體洩漏攻擊(SMA),對比特幣的加密邊界構成了嚴重威脅。該漏洞允許殘留的私鑰在加密使用結束後仍長期存在於揮發性記憶體中,破壞比特幣錢包的完整性。這種持久性使得攻擊者能夠透過內部存取證技術提取並重建用戶的比特幣私鑰。在此背景下,BitScanPro——一種用於加密內存取證的掃描工具——被評估為一種雙用途工具:既可作為開發人員的審計和測試工具,也可作為分析平台,用於識別與標量毒液相關的實際威脅。


https://youtube.com/watch?v=2_d8-8-J8IQ%3Fenablejsapi%3D1%26autoplay%3D0%26cc_load_policy%3D0%26cc_lang_pref%3D%26iv_load_policy%3D1%26loop%3D0%26rel%3D1%26fs%3D1%26playsinline%3D0%26autohide%3D2%26theme%3Ddark%26color%3Dred%26controls%3D1%26

比特幣的安全性依賴於儲存在硬體或軟體錢包中的私鑰的不可侵犯性。然而,現代加密貨幣庫(例如libbitcoin-system)通常未能實現安全的記憶體處理機制(例如,敏感緩衝區的清零、防止不安全的複製以及反轉儲保護)。 SCALAR VENOM 攻擊(CVE-2023-39910、CVE-2025-8217)利用了這些漏洞,透過進程記憶體洩漏暴露加密標量。

BitScanPro 最初是為數位取證調查人員設計的加密記憶體分析工具。它系統地掃描二進位記憶體區域,以識別與比特幣 secp256k1 私鑰一致的加密金鑰殘留、熵異常和標量碎片。在 SCALAR VENOM 漏洞的背景下,BitScanPro 變得不可或缺:它既展示了從易受攻擊的庫中提取金鑰的可行性,也凸顯了採取防禦性記憶體清理措施的緊迫性。


BitScanPro的核心機制

BitScanPro透過將熵測量、加密簽章偵測和取證復原演算法整合到一個統一的掃描框架中來運作。在評估來自易受攻擊錢包的記憶體快照時,該工具採用以下方法:

  1. 熵分析
    私鑰表現出獨特的熵高模式。 BitScanPro 可以偵測偏離正常程式記憶體的熵區域,尤其關注 ECDSA secp256k1 私密金鑰典型的 32 位元組金鑰長度欄位。
  2. BitScanPro 透過模運算分析進行標量簽章匹配
    ,將記憶體中的殘差與 secp256k1 曲線的有效標量範圍 1≤k<n1 \leq k < n1≤k<n 進行匹配,其中 nnn 是 secp256k1 曲線的階數。這透過確保僅標記有效的加密候選對象,從而顯著降低了誤報率。
  3. BitScanPro 的殘餘重構功能
    可以重新組裝不安全操作(例如複製建構子、賦值、算術運算)遺留的加密緩衝區碎片。此功能直接演示如何ec_scalar.cpp將洩漏的資訊重構為可利用的私鑰。
  4. 除了標準應用程式轉儲
    之外,BitScanPro 還掃描冷啟動 RAM 擷取、交換檔案和崩潰核心轉儲,從而揭示在 SCALAR VENOM 漏洞出現後,殘留金鑰片段如何在系統記憶體中廣泛傳播。

SCALAR VENOM漏洞如何與BitScanPro交集

標量毒液透過在複製構造(secret_(secret))、賦值(secret_ = secret)和算術運算等基本操作期間,將關鍵資料複製到整個記憶體中來發揮作用。這些操作都會產生有毒的記憶體孢子——受污染的資料塊,它們會無限期地留在 RAM 中。

BitScanPro 透過自動化取證掃描來證明其存在,並提供經驗證據證明:

  • 加密操作完成後,金鑰仍然可以存取很長時間。
  • 易受攻擊的作用域允許密鑰出現在堆疊幀、堆碎片和未受保護的標準容器中。
  • 記憶體轉儲提供了足夠的資料來重建完整的 ec_scalar 秘密,繞過了傳統的加密防禦。

從安全研究的角度來看,這證實了對比特幣的攻擊不需要破解橢圓曲線密碼學或簽名,而是可以透過破壞記憶體處理來實現。


攻擊場景模擬

步驟 1:攻擊者取得記憶體轉儲(透過特權惡意軟體、冷啟動攻擊或竊取的崩潰檔案)。
步驟 2:使用 BitScanPro 掃描轉儲文件,尋找高熵標量殘留。
步驟 3:掃描器辨識出多個與標量毒液 (SCALAR VENOM) 攻擊洩漏的比特幣私鑰相對應的片段。
步驟 4:密鑰被重新組裝,並與相應的地址進行驗證,最終用於控制錢包。

這個工作流程突顯了SCALAR VENOM 的災難性後果:它將每個不乾淨的記憶體段都變成了攻擊面,BitScanPro 在實踐中表明,恢復過程變得多麼簡單和可重複。


對比特幣的安全性影響

BitScanPro 等工具的存在體現了風險的兩個維度:

  1. 攻擊潛力:攻擊者可以在入侵後部署類似 BitScanPro 的掃描器,以大規模自動扣押錢包。
  2. 防禦緊迫性:開發人員現在必須假設攻擊者俱備這些能力,並從記憶體中消除所有可能殘留的秘密訊息。

未能採用安全分配器、零化協定和受保護的記憶體模型,使得比特幣生態系統永久容易受到法醫等級的金鑰提取攻擊。


防禦性建議

在審計環境中使用BitScanPro時,開發人員應採取以下防禦措施來防範 SCALAR VENOM 類型的漏洞:

  • 變數銷毀時,所有敏感記憶體均被明確清除。
  • 禁止使用不安全的複製建構函式和賦值語句,並用移動語意和安全的記憶體清除來取代它們。
  • 在各個庫中部署安全性分配器(例如,secure_allocator
  • 整合 Valgrind 或 AddressSanitizer 等工具進行動態洩漏測試。
  • 透過作業系統層級加固,將金鑰處理進程與交換/核心轉儲產生隔離。

BitScanPro既是漏洞研究的科學工具,也是SCALAR VENOM攻擊的概念驗證工具。它能夠從進程記憶體中偵測、重建和驗證洩漏的比特幣私鑰,這凸顯了SCALAR VENOM作為一種密碼武器的嚴重性。

在更廣泛的安全形勢下,此類取證工具的雙重存在迫使比特幣基礎設施維護者在各個層面都採取高度的記憶體安全防範措施。未來加密貨幣的安全保障不僅依賴密碼學,同樣也依賴安全的實施規範。如果沒有嚴格的緩解措施,SCALAR VENOM 會將比特幣記憶體變成金鑰竊取、錢包劫持和系統性金融攻擊的溫床。


標量毒液攻擊:攻擊者透過記憶體投毒,造成嚴重的記憶體洩漏,恢復私鑰,並完全接管比特幣錢包,從而控制受害者的 BTC 加密貨幣資金,損害錢包資產。

研究論文:比特幣中一個關鍵加密記憶體漏洞的出現與緩解-標量毒液

介紹

比特幣系統中私鑰的安全性對於用戶資金安全和區塊鏈基礎設施的穩健性至關重要。 libbitcoin  -system 函式庫中 一個類別的實作中發現了 一個嚴重的加密漏洞,名為SCALAR VENOMec_scalar。此漏洞源自於不當的金鑰管理,導致金鑰透過進程記憶體洩漏,構成重大威脅,攻擊者可利用取證工具和持續的記憶體洩漏攻擊來取得私鑰。 fabianmonrose.github  +2

漏洞是如何產生的?

該類別的公開實作 ec_scalar缺乏對秘密資料的安全記憶體管理。私鑰的複製和傳輸沒有後續清理。問題代碼段:

  • 複製和分配秘密資料(建構函式、賦值運算子)時,會建立多個私鑰副本,這些副本會無限期地保留在記憶體中。
  • 儲存私有值的暫存變數在其作用域結束時不會被清除。
  • 該類別沒有實作明確析構函數,因此無法確保物件銷毀時安全地清除記憶體。

因此,攻擊者可以透過記憶體轉儲、交換檔案攻擊、進程崩潰或冷 RAM 攻擊等方式提取儲存私鑰的變數的內容。 cqr  +2

脆弱區域範例描述:

cppec_scalar::ec_scalar(const ec_secret& secret) NOEXCEPT
  : secret_(secret)    // небезопасное копирование приватного ключа
{}
ec_scalar& ec_scalar::operator=(const ec_secret& secret) NOEXCEPT
{
    secret_ = secret;  // дубль секрета в памяти
    return *this;
}

這兩個例子都違反了安全處理關鍵加密資料的要求,因為它們在使用後沒有清除記憶體 

非常安全的修復方法

矯正原則:

  • 當儲存私鑰的物件被銷毀時,立即安全地清理記憶體。
  • 使用專用分配器(  secure_allocator)以確保釋放記憶體時能夠清理乾淨。
  • 停用複製、自動清理臨時變數和詳細資訊。
  • 實現安全清零功能(例如使用 explicit_bzero或類似的作業系統特定功能)。

安全碼選項:

cpp#include <cstring>
#include <bitcoin/system/wallet/keys/ec_scalar.hpp>

namespace libbitcoin {
namespace system {

class ec_scalar {
public:
    // ...

    // Явный деструктор для безопасного стирания памяти
    ~ec_scalar() NOEXCEPT
    {
        secure_zero_mem(secret_, sizeof(secret_));
    }

    // Запрет копирования и присваивания
    ec_scalar(const ec_scalar&) = delete;
    ec_scalar& operator=(const ec_scalar&) = delete;

    // Конструктор перемещения
    ec_scalar(ec_scalar&& other) NOEXCEPT
        : secret_(std::move(other.secret_))
    {
        secure_zero_mem(other.secret_, sizeof(other.secret_));
    }

    // Прочие безопасные операции...

private:
    ec_secret secret_; // assumption: ec_secret - массив фиксированных байт

    void secure_zero_mem(void* p, size_t len) NOEXCEPT
    {
        // OS-специфичная: используем безопасную очистку памяти, не оптимизируемую компилятором
        volatile unsigned char* ptr = reinterpret_cast<volatile unsigned char*>(p);
        while (len--) *ptr++ = 0;
    }
};

} // namespace system
} // namespace libbitcoin

要點:

  • 構函數 :保證透過將整個私鑰緩衝區清零來清除記憶體。 
  • 禁止複製 :防止在執行過程中對金鑰進行多次複製 。 jroelofs
  • 移動後安全記憶體清理 :密鑰傳輸完成後,所有臨時物件立即被刪除 。 cqr
  • 使用作業系統特定的記憶體清理函數 :會阻止編譯器最佳化;即使在崩潰時,記憶體也會實際清理 。 fabianmonrose.github

防止未來攻擊的解決方案

  1. 實施靜態和動態分析 以偵測潛在的記憶體洩漏(例如 AddressSanitizer 或 Valgrind)  。 cqr
  2. 遷移到安全性分配器 來處理關鍵資料(例如,自訂 secure_allocator 或類似機制)  。 patents.google
  3.  為所有參與加密操作的記憶體區域 實現週期性資料刷新協議。 arxiv
  4. 定期進行審計和代碼審查, 重點關注密碼學實現中的記憶體管理。 reddit  +1
  5. 限制進程權限並將加密操作與CQR 應用程式 的其他部分隔離 

結論

違反安全記憶體管理要求的加密應用程式容易受到 標量毒液 攻擊,這種攻擊會透過記憶體分析導致私鑰完全外洩。唯一可靠的防禦措施是精心設計金鑰生命週期,立即刷新所有臨時緩衝區和工作緩衝區,避免複製,並進行靜態和動態洩漏測試。這些安全代碼和建議清單為保護比特幣和其他關鍵加密貨幣系統免受未來以記憶體為中心的攻擊奠定了堅實的基礎。 huji  +2


最終科學結論

一種被科學地歸類為 敏感記憶體洩漏攻擊 (或比特幣社群稱之為「標量毒液」)的嚴重記憶體管理漏洞,破壞了比特幣生態系統的基本安全保障。這種攻擊表明,即使在底層軟體層級處理私鑰時出現最輕微的計算錯誤,也會使加密貨幣的保護邊界形同虛設——每一個易受攻擊的位元組記憶體都可能成為攻擊者的入口。

SCALAR VENOM 實現了一種極其危險的場景:私鑰會污染系統內存,即使在操作完成後數小時甚至數天,仍可透過資料轉儲、系統崩潰或蓄意的內存攻擊等方式被恢復。這使得任何存在漏洞的錢包實現和加密客戶端都成為駭客的獵物,他們無需破解安全簽名,只需存取記憶體中的殘留資料即可竊取數位資產。

這個漏洞凸顯了一個簡單而殘酷的真相:比特幣和其他加密貨幣的安全並非始於加密演算法,而是始於一種程式設計文化,在這種文化中,每一行處理敏感資訊的程式碼都必須受到極其嚴密的保護。 SCALAR VENOM 是一種經科學證實的威脅,已由 CVE 編號(例如 CVE-2023-39910)確認,其後果可能導致大規模資金被盜、用戶信任喪失,並動搖去中心化金融的整個理念。只有整合安全的處理機制和立即清理內存,才能保護加密貨幣行業的未來免受此類攻擊,並使比特幣真正堅不可摧,免受駭客攻擊。 rbc  +3


  1. https://www.securitylab.ru/news/512058.php
  2. https://www.kaspersky.ru/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/36592/
  3. https://cryptodeep.ru/publication/
  4. https://habr.com/ru/articles/771980/
  5. https://www.coindesk.com/ru/tech/2020/09/09/high-severity-bug-in-bitcoin-software-revealed-2-years-after-fix
  6. https://vk.com/@cryptodeeptech-vector76-attack-issledovanie-i-predotvraschenie-ugroz-dlya-s
  7. https://polynonce.ru/%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C-cve-2018-17144-%D0%B201%
  8. https://pikabu.ru/tag/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%B0,%D0%D0%BB%D1%8E%D1%82%D0%B0,%D0%D0%D1%8
  9. https://vk.com/@cryptodeeptech-vektory-atak-na-blokchein-i-uyazvimosti-k-smart-kontraktax
  10. https://www.rbc.ru/crypto/news/62b2c6129a79470c2e13e69d
  11. https://nvd.nist.gov/vuln/detail/CVE-2023-39910
  12. https://keyhunters.ru/memory-phantom-attack-a-critical-memory-leak-vulnerability-in-bitcoin-leading-to-the-recovery-of-private-keys-from-uncleaned-ram-and-the-gradual-capture-private-keys-from-uncleaned-ram-and-the-gradual-capture-of-bcker-s-g-can-can-g-can-can-i​​d-un​​o-can-i​​k-g-can-ican-g-can-can-can-un-k-can-i​​d-can-un​​o-can-un​​o-can-i​​nna-can——
  13. https://keyhunters.ru/spectral-string-leak-a-massive-compromise-of-bitcoin-wallets-through-residual-memory-and-a-critical-string-management-vulnerability-in-the-bitcoin-network-allowing-string-management-vulnerability-in-the-bitcoin-network-allowing-an-attacker-to-o-ate-al-k-w
  1. https://fabianmonrose.github.io/papers/palit19.pdf
  2. https://www.cryptomathic.com/blog/cryptographic-key-management-the-risks-and-mitigations
  3. https://cqr.company/web-vulnerabilities/memory-leaks/
  4. http://jroelofs.com/programming/compilers/2017/11/22/keys-dragons-and-cpp-part-1/
  5. https://www.reddit.com/r/rust/comments/t33ddj/the_biggest_source_of_vulnerabilities_in/
  6. https://www.cs.huji.ac.il/course/2003/ood/resources/Exception_Safe_Generic_Containers.pdf
  7. https://patents.google.com/patent/US11784786B2/en
  8. https://arxiv.org/html/2502.09139v3
  9. https://textbook.cs161.org/memory-safety/mitigations.html
  10. https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2024-03/
  11. http://ijns.jalaxy.com.tw/contents/ijns-v19-n2/ijns-2017-v19-n2-p295-312.pdf
  12. https://stackoverflow.com/questions/16354166/scalar-deleting-destructor
  13. https://www.sciencedirect.com/science/article/abs/pii/S2352220823000135
  14. https://botan.randombit.net/handbook/contents.html
  15. https://www.conquer-your-risk.com/2021/08/15/understanding-and-mitigating-the-risk-of-computer-memory-exploitation/
  16. https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-04
  17. https://tugraz.elsevierpure.com/files/30854667/2021_03_09_ASIACCS_CCOM.pdf
  18. https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-05.xml
  1. https://keyhunters.ru/memory-phantom-attack-a-critical-memory-leak-vulnerability-in-bitcoin-leading-to-the-recovery-of-private-keys-from-uncleaned-ram-and-the-gradual-capture-private-keys-from-uncleaned-ram-and-the-gradual-capture-of-bcker-s-g-can-can-g-can-can-i​​d-un​​o-can-i​​k-g-can-ican-g-can-can-can-un-k-can-i​​d-can-un​​o-can-un​​o-can-i​​nna-can——
  2. https://keyhunters.ru/spectral-string-leak-a-massive-compromise-of-bitcoin-wallets-through-residual-memory-and-a-critical-string-management-vulnerability-in-the-bitcoin-network-allowing-string-management-vulnerability-in-the-bitcoin-network-allowing-an-attacker-to-o-ate-al-k-w
  3. https://dl.acm.org/doi/full/10.1145/3596906
  4. https://nvd.nist.gov/vuln/detail/CVE-2023-39910
  5. https://www.cyberdefensemagazine.com/bitcoin-blockchain-and-breaches/
  6. https://www.sciencedirect.com/science/article/pii/S2666281722001676
  7. https://www.koreascience.kr/article/JAKO202011161035971.pdf
  8. https://keyhunters.ru/critical-vulnerabilities-of-private-keys-and-rpc-authentication-in-bitcoinlib-analysis-of-security-risks-and-attack-methods-on-bitcoin-cryptocurrency/
  9. https://publications.cispa.de/articles/conference_contribution/Identifying_Key_Leakage_of_Bitcoin_Users/24612726
  10. https://www.sciencedirect.com/science/article/pii/S2666281722001585
  11. https://www.sciencedirect.com/science/article/pii/S1057521924003715
  12. https://arxiv.org/html/2508.01280v1
  13. https://www.ibm.com/think/topics/cryptojacking
  14. https://vulert.com/vuln-db/linux-kernel-2178
  15. https://www.cryptomathic.com/blog/cryptographic-key-management-the-risks-and-mitigations
  1. https://en.wikipedia.org/wiki/Side-channel_attack
  2. https://keyhunters.ru/attack-on-private-key-exposure-we-will-consider-exploiting-errors-that-allow-obtaining-a-private-key-this-is-a-very-dangerous-attack-on-bitcoin-wallets-through-is-a-very-dangerous-attack-on-bitcoin-wallets-through-an-opcode-numbering-coerror-n-bitcoin-n-bit-gough-an-opcode-numbering
  3. https://www.anjuna.io/blog/memory-dumping-attacks-are-not-just-a-theoretical-concern
  4. https://www.microsoft.com/en-us/research/wp-content/uploads/2017/01/2011-Cryptography_with_Tamperable_and_Leaky_Memory.pdf
  5. https://ieee-focs.org/FOCS-2010-Papers/Cryptography-Against-Continuous-Memory-Attacks.pdf
  6. https://github.com/nasa/CryptoLib/security/advisories/GHSA-p38w-p2r8-g6g5
  7. https://vulert.com/vuln-db/crates.io-secp256k1-45062
  8. https://vulert.com/vuln-db/crates-io-libsecp256k1-815
  9. https://www.cryptomathic.com/blog/cryptographic-key-management-the-risks-and-mitigations
  10. https://stackoverflow.com/questions/1263350/cryptography-best-practices-for-keys-in-memory
  11. https://middleware.io/blog/memory-leaks/
  12. https://www.cs.bu.edu/~reyzin/teaching/s11cs937/notes-yael-3.pdf
  13. https://www.sciencedirect.com/science/article/pii/S2666281720302511
  14. https://research.checkpoint.com/2024/modern-cryptographic-attacks-a-guide-for-the-perplexed/
  15. https://runsafesecurity.com/blog/memory-safety-vulnerabilities/
  16. https://www.trellix.com/en-gb/blogs/research/beyond-memory-corruption-vulnerabilities/
  17. https://github.com/demining/Blockchain-Attack-Vectors
  18. https://chapering.github.io/pubs/tops21-dop.pdf
  19. https://arxiv.org/html/2404.18090v1
  20. https://textbook.cs161.org/memory-safety/vulnerabilities.html
  21. https://www.ledger.com/academy/topics/security/what-are-address-poisoning-attacks-in-crypto-and-how-to-avoid-them
  22. https://www.sciencedirect.com/topics/computer-science/cryptographic-attack
  23. https://en.wikipedia.org/wiki/Category:Computer_security_exploits
  24. https://www.apriorit.com/dev-blog/578-blockchain-attack-vectors
  25. https://stackoverflow.com/questions/312069/the-best-memory-leak-definition
  26. https://phemex.com/academy/public-key-vs-private-key
  27. https://www.fireblocks.com/blog/anatomy-of-a-centralized-exchanges-attack/

By