瞬態存儲漏洞導致以太坊項目遭30萬美元攻擊 安全團隊解析關鍵細節

robot
摘要生成中

瞬態存儲漏洞引發30萬美元鏈上攻擊事件分析

2025年3月30日,某以太坊鏈上槓杆交易項目遭受攻擊,導致超30萬美元資產損失。安全團隊對此事件進行了深入分析,現將結果分享如下:

背景知識

Solidity 0.8.24版本引入了瞬態存儲(transient storage)特性,這是一種新的數據存儲位置。其主要特點包括:

  1. 低gas成本:TSTORE和TLOAD操作的gas成本固定爲100。
  2. 交易內持久性:數據在整個交易期間保持有效。
  3. 自動清除:交易結束後,瞬態存儲自動重置爲零。

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

攻擊原因

本次事件的根本原因是,函數中使用tstore進行瞬態存儲的值在函數調用結束後並未被清空。攻擊者利用這一特性,構造特定的惡意地址繞過權限檢查,從而轉出代幣。

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

攻擊步驟

  1. 攻擊者創建兩個惡意代幣A和B,並在某DEX上爲這兩個代幣創建池子注入流動性。

  2. 攻擊者調用Vault合約的initialize函數,以A代幣爲抵押品代幣,B代幣爲債務代幣創建槓杆交易市場。

  3. 攻擊者調用Vault合約的mint函數,存入債務代幣B鑄造槓杆代幣。在此過程中,DEX池子地址被第一次瞬態存儲。

  4. 當DEX池子進行兌換操作時,會回調Vault合約的uniswapV3SwapCallback函數。該函數使用tload從瞬態存儲中取值驗證調用者身分,並將鑄造的數量進行第二次瞬態存儲。

  5. 攻擊者創建一個惡意合約,其地址與第二次瞬態存儲的值相同。

  6. 攻擊者通過該惡意合約直接調用Vault合約的uniswapV3SwapCallback函數轉出代幣。由於瞬態存儲中的值未被清空,導致身分驗證被錯誤通過。

  7. 最後,攻擊者通過攻擊合約(A代幣)調用Vault合約的uniswapV3SwapCallback函數,將Vault合約中的其他代幣(如WBTC、WETH)轉出獲利。

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

資金流向分析

據鏈上反洗錢與追蹤工具分析,攻擊者盜取了約30萬美元的資產,包括:

  • 17,814.8626 USDC
  • 1.4085 WBTC
  • 119.871 WETH

隨後,攻擊者將WBTC和USDC兌換爲WETH,共計193.1428 WETH被轉入某混幣工具。攻擊者的初始資金來源於該混幣工具轉入的0.3 ETH。

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

致命殘留:一場由瞬態存儲引發的30萬美元鏈上劫案

安全建議

  1. 項目方應根據業務邏輯在函數調用結束後立即使用tstore(key, 0)清除瞬態存儲中的值。

  2. 加強合約代碼審計與安全測試,避免類似漏洞。

  3. 謹慎使用新引入的特性,充分了解其潛在風險。

  4. 建立多重驗證機制,不要僅依賴單一的身分驗證方法。

  5. 定期進行安全評估和漏洞掃描,及時修復發現的問題。

本次攻擊事件再次強調了區塊鏈項目在使用新技術特性時需要格外謹慎,同時也凸顯了持續性安全審計的重要性。開發者應當時刻關注最新的安全最佳實踐,並在代碼實現中嚴格遵循。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 7
  • 分享
留言
0/400
Degen Whisperervip
· 07-16 00:47
割韭菜的一天又开始了
回復0
养老金毁灭者vip
· 07-16 00:47
30w又润了
回復0
AirDropMissedvip
· 07-16 00:43
又被割了一波韭菜
回復0
ruggedNotShruggedvip
· 07-16 00:37
格局小了 现在这点攻击都不算事
回復0
笨蛋鲸鱼vip
· 07-16 00:28
又有小项目被割韭菜了
回復0
RugPull预警机vip
· 07-16 00:21
又一个合约擦屁股没擦干净被爆
回復0
摇摆的小韭菜vip
· 07-16 00:19
近期以太坊3000+上方游走!未来会继母3000+以上
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)