Sebuah Perampokan On-Chain yang Dipicu oleh Penyimpanan Transien: Di Balik Kerugian $300.000
Pada 30 Maret 2025, sebuah proyek perdagangan leverage di jaringan Ethereum yang bernama SIR.trading diserang, mengakibatkan kerugian aset lebih dari 300.000 dolar AS. Tim keamanan melakukan analisis mendalam terhadap peristiwa ini, mengungkapkan rincian dan penyebab serangan tersebut.
Latar Belakang Peristiwa
Penyerang memanfaatkan fitur penyimpanan transien yang diperkenalkan dalam versi Solidity 0.8.24. Lokasi penyimpanan data baru ini bertujuan untuk menyediakan cara penyimpanan sementara yang efektif selama transaksi dengan biaya rendah. Karakteristik utama dari penyimpanan transien meliputi:
Biaya gas rendah: Biaya transaksi tetap sebesar 100 gas.
Persistensi dalam transaksi: Data tetap valid selama periode transaksi.
Penghapusan otomatis: Setelah transaksi selesai, penyimpanan secara otomatis direset menjadi nol.
Sumber Serangan
Penyebab utama serangan adalah bahwa nilai yang disimpan secara sementara menggunakan tstore dalam fungsi tidak dihapus setelah pemanggilan fungsi selesai. Hal ini memungkinkan penyerang untuk membangun alamat jahat tertentu, melewati pemeriksaan izin dan mentransfer token.
Proses Serangan
Penyerang membuat dua token jahat A dan B, dan membuat kolam untuk kedua token tersebut di suatu DEX serta menyuntikkan likuiditas.
Penyerang memanggil fungsi initialize dari kontrak Vault untuk membuat pasar perdagangan leverage dengan token A sebagai jaminan dan token B sebagai token utang.
Penyerang memanggil fungsi mint dari kontrak Vault, menyimpan token utang B untuk mencetak token leverage. Selama proses ini, alamat kolam DEX dan jumlah yang dicetak disimpan secara sementara.
Penyerang membuat kontrak jahat dengan alamat yang sama dengan jumlah pencetakan yang disimpan secara transien sebelumnya.
Penyerang menggunakan kontrak jahat untuk memanggil fungsi callback dari kontrak Vault, dan karena nilai dalam penyimpanan sementara tidak dihapus, mereka berhasil melewati pemeriksaan izin.
Terakhir, penyerang secara langsung memanggil fungsi callback dari kontrak Vault melalui kontrak serangan, untuk mentransfer token lain (seperti WBTC, WETH) dan mendapatkan keuntungan.
Analisis Aliran Dana
Menurut data dari alat analisis on-chain, penyerang mencuri aset senilai sekitar 300.000 dolar AS, termasuk:
17.814,8626 USDC
1.4085 WBTC
119.871 WETH
Aset-aset ini kemudian dikonversi menjadi WETH, dan akhirnya dipindahkan ke alat anonim tertentu. Sumber dana awal penyerang adalah 0.3 ETH yang dipindahkan dari alat tersebut.
Saran Keamanan
Untuk mencegah serangan serupa, pihak proyek harus:
Segera gunakan tstore(key, 0) untuk menghapus nilai di penyimpanan sementara setelah pemanggilan fungsi selesai.
Memperkuat audit kode kontrak dan pengujian keamanan.
Gunakan fitur bahasa yang baru diperkenalkan dengan hati-hati, dan pahami risiko potensialnya.
Peristiwa ini sekali lagi menekankan pentingnya menjaga keseimbangan antara keamanan dan penerapan teknologi baru dalam pengembangan proyek blockchain. Seiring dengan evolusi teknologi yang terus-menerus, pengembang dan ahli keamanan perlu tetap waspada untuk mengidentifikasi dan menghadapi tantangan keamanan baru dengan cepat.
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.
11 Suka
Hadiah
11
7
Bagikan
Komentar
0/400
MemeTokenGenius
· 19jam yang lalu
Bodoh banget menarik perhatian, langsung diluncurkan tanpa pengujian?
Lihat AsliBalas0
quiet_lurker
· 19jam yang lalu
Satu proyek lagi ditekan ke tanah dan digosok.
Lihat AsliBalas0
PumpBeforeRug
· 19jam yang lalu
Dengar-dengar kali ini langsung kabur~smart contract kecil celah
Lihat AsliBalas0
MEVHunter
· 19jam yang lalu
30w ini terlalu murah, Pinjaman Flash saja malas untuk dijalankan.
Kerentanan penyimpanan sementara menyebabkan proyek Ethereum diserang hacker senilai 300.000 dolar.
Sebuah Perampokan On-Chain yang Dipicu oleh Penyimpanan Transien: Di Balik Kerugian $300.000
Pada 30 Maret 2025, sebuah proyek perdagangan leverage di jaringan Ethereum yang bernama SIR.trading diserang, mengakibatkan kerugian aset lebih dari 300.000 dolar AS. Tim keamanan melakukan analisis mendalam terhadap peristiwa ini, mengungkapkan rincian dan penyebab serangan tersebut.
Latar Belakang Peristiwa
Penyerang memanfaatkan fitur penyimpanan transien yang diperkenalkan dalam versi Solidity 0.8.24. Lokasi penyimpanan data baru ini bertujuan untuk menyediakan cara penyimpanan sementara yang efektif selama transaksi dengan biaya rendah. Karakteristik utama dari penyimpanan transien meliputi:
Sumber Serangan
Penyebab utama serangan adalah bahwa nilai yang disimpan secara sementara menggunakan tstore dalam fungsi tidak dihapus setelah pemanggilan fungsi selesai. Hal ini memungkinkan penyerang untuk membangun alamat jahat tertentu, melewati pemeriksaan izin dan mentransfer token.
Proses Serangan
Penyerang membuat dua token jahat A dan B, dan membuat kolam untuk kedua token tersebut di suatu DEX serta menyuntikkan likuiditas.
Penyerang memanggil fungsi initialize dari kontrak Vault untuk membuat pasar perdagangan leverage dengan token A sebagai jaminan dan token B sebagai token utang.
Penyerang memanggil fungsi mint dari kontrak Vault, menyimpan token utang B untuk mencetak token leverage. Selama proses ini, alamat kolam DEX dan jumlah yang dicetak disimpan secara sementara.
Penyerang membuat kontrak jahat dengan alamat yang sama dengan jumlah pencetakan yang disimpan secara transien sebelumnya.
Penyerang menggunakan kontrak jahat untuk memanggil fungsi callback dari kontrak Vault, dan karena nilai dalam penyimpanan sementara tidak dihapus, mereka berhasil melewati pemeriksaan izin.
Terakhir, penyerang secara langsung memanggil fungsi callback dari kontrak Vault melalui kontrak serangan, untuk mentransfer token lain (seperti WBTC, WETH) dan mendapatkan keuntungan.
Analisis Aliran Dana
Menurut data dari alat analisis on-chain, penyerang mencuri aset senilai sekitar 300.000 dolar AS, termasuk:
Aset-aset ini kemudian dikonversi menjadi WETH, dan akhirnya dipindahkan ke alat anonim tertentu. Sumber dana awal penyerang adalah 0.3 ETH yang dipindahkan dari alat tersebut.
Saran Keamanan
Untuk mencegah serangan serupa, pihak proyek harus:
Peristiwa ini sekali lagi menekankan pentingnya menjaga keseimbangan antara keamanan dan penerapan teknologi baru dalam pengembangan proyek blockchain. Seiring dengan evolusi teknologi yang terus-menerus, pengembang dan ahli keamanan perlu tetap waspada untuk mengidentifikasi dan menghadapi tantangan keamanan baru dengan cepat.