Euler Finance mengalami serangan pinjaman flash, kehilangan hampir 200 juta dolar AS
Pada 13 Maret 2023, proyek Euler Finance mengalami kerugian besar sekitar $197 juta akibat serangan pinjaman flash karena celah kontrak. Penyerang memanfaatkan celah dalam fungsi donateToReserves dari Etoken di proyek yang kurang memiliki pemeriksaan likuiditas, dan melalui beberapa operasi dengan berbagai jenis mata uang, mereka memperoleh keuntungan yang sangat besar.
Analisis Proses Serangan
Penyerang pertama-tama mendapatkan pinjaman flash 30 juta DAI dari suatu platform pinjaman, kemudian menyebarkan dua kontrak untuk peminjaman dan likuidasi. Langkah utama serangan adalah sebagai berikut:
Menyimpan 20 juta DAI ke dalam kontrak Protokol Euler, mendapatkan 19,5 juta eDAI.
Menggunakan fungsi pinjaman leverage 10x dari Euler Protocol, meminjam 195,6 juta eDAI dan 200 juta dDAI.
Menggunakan sisa 10 juta DAI untuk membayar sebagian utang dan menghancurkan dDAI yang sesuai, kemudian meminjam kembali jumlah eDAI dan dDAI yang setara.
Melalui fungsi donateToReserves, sumbangkan 100 juta eDAI, kemudian panggil fungsi liquidate untuk melakukan likuidasi, memperoleh 310 juta dDAI dan 250 juta eDAI.
Terakhir, menarik 38,9 juta DAI, setelah mengembalikan Pinjaman Flash, keuntungan sekitar 8,87 juta DAI.
Penyebab Kerentanan
Alasan utama keberhasilan serangan adalah kurangnya pemeriksaan likuiditas yang diperlukan dalam fungsi donateToReserves pada kontrak Euler Finance. Berbeda dengan fungsi kunci lainnya seperti mint, fungsi donateToReserves tidak memanggil checkLiquidity untuk verifikasi likuiditas pengguna, yang memungkinkan penyerang memanipulasi status akun mereka sehingga memenuhi syarat likuidasi, dan dengan demikian menyelesaikan serangan.
Saran Keamanan
Untuk serangan semacam ini, disarankan kepada proyek DeFi:
Melakukan audit keamanan menyeluruh sebelum kontrak diluncurkan, untuk memastikan keamanan kode.
Perhatikan secara khusus pada aspek-aspek penting seperti pengembalian dana, deteksi likuiditas, dan penyelesaian utang dalam proyek pinjaman.
Pastikan semua fungsi yang mungkin mempengaruhi status aset pengguna menerapkan pemeriksaan keamanan yang ketat.
Secara berkala melakukan pemindaian kerentanan dan evaluasi keamanan, serta segera memperbaiki risiko yang potensial.
Membangun mekanisme respons darurat untuk merespons dan menangani dengan cepat saat terjadi insiden keamanan.
Peristiwa ini sekali lagi menyoroti pentingnya keamanan kontrak pintar, mengingatkan pengembang dan pengguna proyek Web3 untuk selalu waspada dan bersama-sama menjaga keamanan dan stabilitas ekosistem blockchain.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
13 Suka
Hadiah
13
7
Bagikan
Komentar
0/400
DeFiGrayling
· 16jam yang lalu
又一个漏洞Rekt
Lihat AsliBalas0
SignatureVerifier
· 18jam yang lalu
jelas tidak cukupnya validasi input... *sigh* hari lain, eksploitasi lain
Lihat AsliBalas0
ForumLurker
· 18jam yang lalu
Saya sudah bilang jangan sentuh Keuangan Desentralisasi
Lihat AsliBalas0
GasFeeCrier
· 18jam yang lalu
Sekali lagi rugi sampai celana hilang.
Lihat AsliBalas0
SundayDegen
· 18jam yang lalu
Satu lagi yang meninggal mendadak
Lihat AsliBalas0
mev_me_maybe
· 18jam yang lalu
Apakah ini lagi celah kontrak? Sudah jalan lama.
Lihat AsliBalas0
GasWaster
· 18jam yang lalu
bruh hari lain eksploitasi lain... gas terbuang pada audit yang gagal smh
Euler Finance mengalami serangan Pinjaman Flash senilai 200 juta USD, dengan celah kontrak sebagai penyebab utama.
Euler Finance mengalami serangan pinjaman flash, kehilangan hampir 200 juta dolar AS
Pada 13 Maret 2023, proyek Euler Finance mengalami kerugian besar sekitar $197 juta akibat serangan pinjaman flash karena celah kontrak. Penyerang memanfaatkan celah dalam fungsi donateToReserves dari Etoken di proyek yang kurang memiliki pemeriksaan likuiditas, dan melalui beberapa operasi dengan berbagai jenis mata uang, mereka memperoleh keuntungan yang sangat besar.
Analisis Proses Serangan
Penyerang pertama-tama mendapatkan pinjaman flash 30 juta DAI dari suatu platform pinjaman, kemudian menyebarkan dua kontrak untuk peminjaman dan likuidasi. Langkah utama serangan adalah sebagai berikut:
Menyimpan 20 juta DAI ke dalam kontrak Protokol Euler, mendapatkan 19,5 juta eDAI.
Menggunakan fungsi pinjaman leverage 10x dari Euler Protocol, meminjam 195,6 juta eDAI dan 200 juta dDAI.
Menggunakan sisa 10 juta DAI untuk membayar sebagian utang dan menghancurkan dDAI yang sesuai, kemudian meminjam kembali jumlah eDAI dan dDAI yang setara.
Melalui fungsi donateToReserves, sumbangkan 100 juta eDAI, kemudian panggil fungsi liquidate untuk melakukan likuidasi, memperoleh 310 juta dDAI dan 250 juta eDAI.
Terakhir, menarik 38,9 juta DAI, setelah mengembalikan Pinjaman Flash, keuntungan sekitar 8,87 juta DAI.
Penyebab Kerentanan
Alasan utama keberhasilan serangan adalah kurangnya pemeriksaan likuiditas yang diperlukan dalam fungsi donateToReserves pada kontrak Euler Finance. Berbeda dengan fungsi kunci lainnya seperti mint, fungsi donateToReserves tidak memanggil checkLiquidity untuk verifikasi likuiditas pengguna, yang memungkinkan penyerang memanipulasi status akun mereka sehingga memenuhi syarat likuidasi, dan dengan demikian menyelesaikan serangan.
Saran Keamanan
Untuk serangan semacam ini, disarankan kepada proyek DeFi:
Melakukan audit keamanan menyeluruh sebelum kontrak diluncurkan, untuk memastikan keamanan kode.
Perhatikan secara khusus pada aspek-aspek penting seperti pengembalian dana, deteksi likuiditas, dan penyelesaian utang dalam proyek pinjaman.
Pastikan semua fungsi yang mungkin mempengaruhi status aset pengguna menerapkan pemeriksaan keamanan yang ketat.
Secara berkala melakukan pemindaian kerentanan dan evaluasi keamanan, serta segera memperbaiki risiko yang potensial.
Membangun mekanisme respons darurat untuk merespons dan menangani dengan cepat saat terjadi insiden keamanan.
Peristiwa ini sekali lagi menyoroti pentingnya keamanan kontrak pintar, mengingatkan pengembang dan pengguna proyek Web3 untuk selalu waspada dan bersama-sama menjaga keamanan dan stabilitas ekosistem blockchain.