Sisa penyimpanan transien menyebabkan kerugian aset $300.000 di on-chain, pengembang harus waspada terhadap risiko fitur baru

Residual Mematikan: Analisis Peristiwa $300.000 yang Dihasilkan oleh Penyimpanan Transien di Rantai

Pada 30 Maret 2025, sebuah sistem pemantauan keamanan on-chain mendeteksi bahwa proyek perdagangan leverage di jaringan Ethereum mengalami serangan, yang mengakibatkan kerugian aset lebih dari 300.000 dolar AS. Tim keamanan melakukan analisis mendalam terhadap peristiwa ini, dan kini membagikan hasilnya sebagai berikut:

Residual Fatal: Sebuah Perampokan 300.000 Dolar di链上 yang Dipicu oleh Penyimpanan Transien

Latar Belakang

Versi Solidity 0.8.24 memperkenalkan fitur penyimpanan transien berdasarkan EIP-1153. Ini adalah lokasi penyimpanan data baru yang memberikan cara penyimpanan sementara yang efektif selama transaksi dengan biaya rendah bagi pengembang. Karakteristik utama dari penyimpanan transien meliputi:

  1. Biaya gas rendah: Operasi mengkonsumsi 100 gas tetap, jauh lebih rendah dibandingkan dengan operasi penyimpanan biasa.
  2. Persistensi dalam transaksi: Data tetap valid selama periode transaksi.
  3. Pembersihan otomatis: Setelah transaksi selesai, penyimpanan transien secara otomatis direset menjadi nol.

Dampak Mematikan: Sebuah Perampokan 300.000 Dolar AS di On-Chain yang Dipicu oleh Penyimpanan Transien

Analisis Peristiwa

Penyebab mendasar dari kejadian ini adalah bahwa nilai yang disimpan sementara menggunakan tstore dalam fungsi tidak dihapus setelah pemanggilan fungsi selesai, yang memungkinkan penyerang memanfaatkan sifat ini untuk membangun alamat jahat tertentu dan melewati pemeriksaan izin untuk mentransfer token.

Langkah-langkah serangan adalah sebagai berikut:

  1. Penyerang membuat dua token jahat A dan B, dan membuat kolam likuiditas untuk dua token ini di suatu DEX.

Dampak Mematikan: Sebuah Perampokan $300.000 on-chain yang Dipicu oleh Penyimpanan Transien

  1. Panggil fungsi initialize dari kontrak tujuan, menggunakan token A sebagai jaminan dan token B sebagai token utang untuk membuat pasar perdagangan dengan leverage.

Kekurangan Fatal: Sebuah perampokan sebesar 300.000 dolar AS yang disebabkan oleh penyimpanan transien

  1. Memanggil fungsi mint, menyimpan token utang B untuk mencetak token lever. Dalam proses ini, alamat kolam DEX dan jumlah yang dicetak disimpan secara sementara.

Residue Mematikan: Sebuah Perampokan 300.000 Dolar AS di On-Chain yang Dipicu oleh Penyimpanan Transien

  1. Buat kontrak jahat dengan alamat yang sama dengan jumlah yang dicetak di penyimpanan sementara.

Dampak Mematikan: Sebuah perampokan $300.000 on-chain yang disebabkan oleh penyimpanan transien

  1. Memanggil fungsi callback dari kontrak target melalui kontrak jahat, memanfaatkan nilai yang tersisa di penyimpanan transien untuk melewati otentikasi.

Dampak Mematikan: Sebuah Perampokan $300.000 yang Dipicu oleh Penyimpanan Transien

  1. Terakhir, penyerang memperoleh keuntungan dengan menyerang kontrak dan langsung memanggil fungsi callback dari kontrak target, sehingga mentransfer token lainnya (seperti WBTC, WETH) keluar.

Dampak Fatal: Sebuah Perampokan 300.000 Dolar AS di on-chain yang Dipicu oleh Penyimpanan Transien

Arah Aliran Dana

Menurut data dari alat analisis on-chain, penyerang mencuri sekitar 300.000 dolar aset, termasuk:

  • 17,814.8626 USDC
  • 1.4085 WBTC
  • 119.871 WETH

Aset-aset ini kemudian ditukarkan menjadi WETH, total 193.1428 WETH ditransfer ke suatu alat anonim. Sumber dana awal penyerang berasal dari 0.3 ETH yang ditransfer ke alat tersebut.

Dampak Fatal: Sebuah perampokan $300.000 yang dipicu oleh penyimpanan transien

Saran Keamanan

  1. Pihak proyek harus segera menggunakan tstore(key, 0) untuk membersihkan nilai yang ada di penyimpanan sementara setelah panggilan fungsi selesai berdasarkan logika bisnis.

Ketinggalan Mematikan: Sebuah Perampokan 300.000 Dolar AS di on-chain yang Dipicu oleh Penyimpanan Transien

  1. Memperkuat audit kode kontrak dan pengujian keamanan, dengan perhatian khusus pada fitur bahasa baru yang diperkenalkan dan potensi risikonya.

Residue Mematikan: Sebuah Perampokan 300.000 Dolar AS yang Dipicu oleh Penyimpanan Transien

  1. Menerapkan mekanisme verifikasi ganda untuk menghindari kerugian aset besar akibat satu celah.

Residue Mematikan: Sebuah Perampokan 300.000 Dolar on-chain yang Dipicu oleh Penyimpanan Transien

  1. Melakukan evaluasi keamanan dan pemindaian kerentanan secara berkala, serta memperbaiki masalah potensial dengan tepat waktu.

Residual Memorable: Sebuah Perampokan $300,000 on-chain yang Dipicu oleh Penyimpanan Transien

  1. Pertimbangkan untuk memperkenalkan sistem pemantauan keamanan untuk memantau perilaku transaksi yang abnormal secara real-time.

Residue Mematikan: Sebuah Perampokan 300 Ribu Dolar yang Dipicu oleh Penyimpanan Transien

Peristiwa ini sekali lagi mengingatkan kita bahwa perlu berhati-hati saat mengadopsi teknologi baru, serta memahami sepenuhnya karakteristik dan potensi risikonya. Pada saat yang sama, praktik keamanan yang berkelanjutan dan audit berkala sangat penting untuk menjaga keamanan proyek on-chain.

Residual mematikan: Sebuah perampokan on-chain senilai 300.000 dolar yang disebabkan oleh penyimpanan sementara

Penyisaan Mematikan: Sebuah Perampokan 300.000 Dolar AS di chain yang Dipicu oleh Penyimpanan Transien

Residuum Mematikan: Sebuah Perampokan 300.000 Dolar AS di On-Chain yang Dipicu oleh Penyimpanan Transien

Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • 5
  • Bagikan
Komentar
0/400
MemeTokenGeniusvip
· 07-22 16:28
30w dolar begitu saja hilang? Berapa banyak orang yang mati?
Lihat AsliBalas0
WhaleStalkervip
· 07-21 21:55
Satu lagi smart contract jatuh ke dalam jebakan.
Lihat AsliBalas0
GateUser-1a2ed0b9vip
· 07-19 16:59
Ada orang lain yang mengalami kegagalan. Siapa yang menyuruhmu untuk serakah?
Lihat AsliBalas0
ProxyCollectorvip
· 07-19 16:55
lagi dipermainkan 30w, tsk tsk
Lihat AsliBalas0
BugBountyHuntervip
· 07-19 16:50
Kecepatan tangan menangkap bug MAX yang sebenarnya!
Lihat AsliBalas0
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)