Analisis Insiden Serangan $300.000 yang Disebabkan oleh Kerentanan Penyimpanan Sementara di On-Chain
Pada 30 Maret 2025, sebuah proyek perdagangan leveraj on-chain diserang, menyebabkan kerugian aset lebih dari 300.000 dolar. Tim keamanan telah melakukan analisis mendalam terhadap peristiwa ini, dan berikut adalah hasilnya:
Latar Belakang
Serangan terjadi di jaringan Ethereum, menargetkan sebuah proyek perdagangan dengan leverage. Penyerang memanfaatkan celah terkait penyimpanan transien dalam kontrak proyek tersebut.
Pengetahuan Dasar
Versi Solidity 0.8.24 memperkenalkan fitur penyimpanan sementara (transient storage), yang merupakan lokasi penyimpanan data baru. Ciri-ciri utamanya meliputi:
Biaya gas rendah: Operasi TSTORE dan TLOAD mengkonsumsi tetap 100 gas
Persistensi dalam transaksi: Data tetap valid selama periode transaksi.
Pembersihan otomatis: secara otomatis direset ke nol setelah transaksi selesai
Penyebab Kerentanan
Penyebab mendasar dari serangan ini adalah bahwa nilai yang disimpan secara transien menggunakan tstore dalam kontrak tidak dihapus setelah pemanggilan fungsi selesai. Ini memungkinkan penyerang memanfaatkan fitur ini untuk membangun alamat tertentu, melewati pemeriksaan izin, dan mengeluarkan token.
Proses Serangan
Penyerang membuat dua token jahat A dan B, dan menciptakan kumpulan likuiditas untuk mereka di suatu DEX.
Panggil fungsi initialize dari kontrak tujuan untuk membuat pasar perdagangan dengan leverage menggunakan token A sebagai jaminan dan token B sebagai token utang.
Memanggil fungsi mint untuk menyimpan token B yang dicetak sebagai token leverage, di mana dua operasi penyimpanan sementara dilakukan selama proses tersebut.
Buat kontrak jahat yang memiliki alamat yang sama dengan nilai penyimpanan transien kedua.
Dengan memanggil fungsi callback kontrak target melalui kontrak jahat ini, melewati pemeriksaan izin untuk mentransfer token.
Terakhir, dengan menyerang kontrak (token A) kembali memanggil fungsi callback, mentransfer token lain (seperti WBTC, WETH) untuk mendapatkan keuntungan.
Analisis Aliran Dana
Penyerang berhasil mencuri sekitar 300.000 dolar aset, termasuk:
17.814,8626 USDC
1.4085 WBTC
119.871 WETH
Kemudian, penyerang menukar WBTC dan USDC menjadi WETH, dan akhirnya mentransfer 193.1428 WETH ke suatu layanan pencampuran.
Modal awal penyerang (0,3 ETH) juga berasal dari layanan pencampuran koin tersebut.
Ringkasan dan Saran
Inti dari serangan ini adalah memanfaatkan sifat penyimpanan sementara yang menjaga nilai tetap selama periode transaksi, sehingga dapat melewati verifikasi izin kontrak. Untuk mencegah serangan serupa, disarankan kepada pihak proyek:
Segera setelah pemanggilan fungsi selesai, gunakan tstore(key, 0) untuk menghapus nilai dalam penyimpanan sementara.
Memperkuat audit kode kontrak dan pengujian keamanan.
Gunakan fitur bahasa baru dengan hati-hati, dan pahami potensi risikonya.
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.
7 Suka
Hadiah
7
6
Bagikan
Komentar
0/400
PensionDestroyer
· 7jam yang lalu
Lagi ada suckers yang mengirim.
Lihat AsliBalas0
TestnetFreeloader
· 8jam yang lalu
Aduh, ini gratisan banget ya, sampai proyek sendiri saja tidak bisa dipegang.
Lihat AsliBalas0
LootboxPhobia
· 8jam yang lalu
Sial, sial, ada saudara lain yang terkena masalah.
Lihat AsliBalas0
BearMarketMonk
· 8jam yang lalu
Mengambil keuntungan juga telah menarik kontrak.
Lihat AsliBalas0
DeFiAlchemist
· 8jam yang lalu
ah, lagi-lagi domba korban untuk seni gelap eksploitasi kontrak pintar... *mengatur bola kristal* kerentanan penyimpanan sementara ini seperti retakan dalam segel hermetik alkimia protokol
Kerentanan penyimpanan sementara menyebabkan proyek on-chain diserang sebesar 300.000 dolar AS, saran pencegahan dari para ahli.
Analisis Insiden Serangan $300.000 yang Disebabkan oleh Kerentanan Penyimpanan Sementara di On-Chain
Pada 30 Maret 2025, sebuah proyek perdagangan leveraj on-chain diserang, menyebabkan kerugian aset lebih dari 300.000 dolar. Tim keamanan telah melakukan analisis mendalam terhadap peristiwa ini, dan berikut adalah hasilnya:
Latar Belakang
Serangan terjadi di jaringan Ethereum, menargetkan sebuah proyek perdagangan dengan leverage. Penyerang memanfaatkan celah terkait penyimpanan transien dalam kontrak proyek tersebut.
Pengetahuan Dasar
Versi Solidity 0.8.24 memperkenalkan fitur penyimpanan sementara (transient storage), yang merupakan lokasi penyimpanan data baru. Ciri-ciri utamanya meliputi:
Penyebab Kerentanan
Penyebab mendasar dari serangan ini adalah bahwa nilai yang disimpan secara transien menggunakan tstore dalam kontrak tidak dihapus setelah pemanggilan fungsi selesai. Ini memungkinkan penyerang memanfaatkan fitur ini untuk membangun alamat tertentu, melewati pemeriksaan izin, dan mengeluarkan token.
Proses Serangan
Analisis Aliran Dana
Penyerang berhasil mencuri sekitar 300.000 dolar aset, termasuk:
Kemudian, penyerang menukar WBTC dan USDC menjadi WETH, dan akhirnya mentransfer 193.1428 WETH ke suatu layanan pencampuran.
Modal awal penyerang (0,3 ETH) juga berasal dari layanan pencampuran koin tersebut.
Ringkasan dan Saran
Inti dari serangan ini adalah memanfaatkan sifat penyimpanan sementara yang menjaga nilai tetap selama periode transaksi, sehingga dapat melewati verifikasi izin kontrak. Untuk mencegah serangan serupa, disarankan kepada pihak proyek: