Euler Finance mengalami flash loan attack, kehilangan hampir 200 juta USD
Pada 13 Maret 2023, proyek Euler Finance mengalami serangan besar-besaran Pinjaman Flash, yang mengakibatkan kerugian sekitar 197 juta dolar AS. Serangan ini melibatkan 6 jenis token yang berbeda, dan merupakan salah satu peristiwa keamanan terbesar di bidang DeFi baru-baru ini.
Analisis Proses Serangan
Penyerang pertama-tama mendapatkan Pinjaman Flash sebesar 30 juta DAI dari suatu platform pinjaman, kemudian menerapkan dua kontrak kunci: satu untuk operasi pinjaman dan yang lainnya untuk likuidasi.
Langkah-langkah utama dari serangan adalah sebagai berikut:
Menyimpan 20 juta DAI ke dalam Protokol Euler, mendapatkan 19,5 juta eDAI.
Memanfaatkan fitur leverage 10x dari Euler Protocol, meminjam 1,956 juta eDAI dan 2 juta dDAI.
Menggunakan sisa 10 juta DAI untuk membayar sebagian utang dan menghancurkan dDAI yang sesuai.
Meminjamkan kembali jumlah eDAI dan dDAI yang setara.
Donasikan 100 juta eDAI melalui fungsi donateToReserves, kemudian aktifkan likuidasi, dan dapatkan 310 juta dDAI dan 250 juta eDAI.
Terakhir, menarik 38,9 juta DAI, mengembalikan pokok pinjaman flash sebesar 30 juta DAI, dan laba bersih sekitar 8,87 juta DAI.
Penyebab Kerentanan
Masalah inti dari serangan ini terletak pada fungsi donateToReserves milik Euler Finance yang kurang melakukan pemeriksaan likuiditas yang diperlukan. Berbeda dengan fungsi kunci lainnya (seperti mint), donateToReserves tidak memanggil fungsi checkLiquidity untuk memverifikasi status aset pengguna.
Dalam keadaan normal, checkLiquidity akan memanggil modul RiskManager untuk memastikan jumlah eToken pengguna selalu lebih besar dari jumlah dToken. Namun, karena fungsi donateToReserves melewati langkah ini, penyerang dapat memanipulasi akun mereka sendiri untuk masuk ke dalam status yang dapat dilikuidasi, sehingga melakukan serangan.
Saran Keamanan
Untuk proyek DeFi, terutama platform yang melibatkan fungsi pinjaman, perlu memperhatikan hal-hal berikut dengan saksama:
Pastikan semua fungsi kunci mencakup pemeriksaan keamanan yang diperlukan, terutama verifikasi likuiditas.
Melakukan audit keamanan secara menyeluruh sebelum kontrak diluncurkan, dengan fokus pada pengembalian dana, deteksi likuiditas, dan penyelesaian utang serta langkah-langkah inti lainnya.
Secara berkala melakukan review kode dan pemindaian kerentanan, untuk segera menemukan dan memperbaiki risiko yang potensial.
Membangun dan memperbaiki mekanisme manajemen risiko, menetapkan batas pinjaman dan ambang likuidasi yang wajar.
Pertimbangkan untuk memperkenalkan langkah-langkah keamanan tambahan seperti multi-signature atau time lock untuk mencegah kehilangan dana dalam jumlah besar secara cepat.
Kejadian ini sekali lagi menyoroti pentingnya keamanan DeFi. Pihak proyek harus terus meningkatkan kesadaran keamanan, mengambil langkah perlindungan berlapis, untuk memastikan keamanan aset pengguna. Pada saat yang sama, pengguna juga perlu tetap waspada saat berpartisipasi dalam proyek DeFi, memahami risiko yang mungkin ada.
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.
9 Suka
Hadiah
9
6
Posting ulang
Bagikan
Komentar
0/400
DAOdreamer
· 07-26 01:35
Keamanan harus diutamakan, audit itu sangat penting!
Lihat AsliBalas0
StakeHouseDirector
· 07-25 22:05
Satu proyek lagi dicuri, sudah pergi.
Lihat AsliBalas0
GasWaster
· 07-23 02:23
Hacker jahat lagi berkeliaran
Lihat AsliBalas0
MemecoinResearcher
· 07-23 02:19
analisis sentimen sedang berjalan... aaand sudah hilang
Lihat AsliBalas0
ForkThisDAO
· 07-23 02:14
Satu lagi yang diluncurkan tanpa pemeriksaan keamanan.
Euler Finance mengalami serangan pinjaman flash sebesar 197 juta dolar AS, keamanan Keuangan Desentralisasi kembali menjadi perhatian.
Euler Finance mengalami flash loan attack, kehilangan hampir 200 juta USD
Pada 13 Maret 2023, proyek Euler Finance mengalami serangan besar-besaran Pinjaman Flash, yang mengakibatkan kerugian sekitar 197 juta dolar AS. Serangan ini melibatkan 6 jenis token yang berbeda, dan merupakan salah satu peristiwa keamanan terbesar di bidang DeFi baru-baru ini.
Analisis Proses Serangan
Penyerang pertama-tama mendapatkan Pinjaman Flash sebesar 30 juta DAI dari suatu platform pinjaman, kemudian menerapkan dua kontrak kunci: satu untuk operasi pinjaman dan yang lainnya untuk likuidasi.
Langkah-langkah utama dari serangan adalah sebagai berikut:
Menyimpan 20 juta DAI ke dalam Protokol Euler, mendapatkan 19,5 juta eDAI.
Memanfaatkan fitur leverage 10x dari Euler Protocol, meminjam 1,956 juta eDAI dan 2 juta dDAI.
Menggunakan sisa 10 juta DAI untuk membayar sebagian utang dan menghancurkan dDAI yang sesuai.
Meminjamkan kembali jumlah eDAI dan dDAI yang setara.
Donasikan 100 juta eDAI melalui fungsi donateToReserves, kemudian aktifkan likuidasi, dan dapatkan 310 juta dDAI dan 250 juta eDAI.
Terakhir, menarik 38,9 juta DAI, mengembalikan pokok pinjaman flash sebesar 30 juta DAI, dan laba bersih sekitar 8,87 juta DAI.
Penyebab Kerentanan
Masalah inti dari serangan ini terletak pada fungsi donateToReserves milik Euler Finance yang kurang melakukan pemeriksaan likuiditas yang diperlukan. Berbeda dengan fungsi kunci lainnya (seperti mint), donateToReserves tidak memanggil fungsi checkLiquidity untuk memverifikasi status aset pengguna.
Dalam keadaan normal, checkLiquidity akan memanggil modul RiskManager untuk memastikan jumlah eToken pengguna selalu lebih besar dari jumlah dToken. Namun, karena fungsi donateToReserves melewati langkah ini, penyerang dapat memanipulasi akun mereka sendiri untuk masuk ke dalam status yang dapat dilikuidasi, sehingga melakukan serangan.
Saran Keamanan
Untuk proyek DeFi, terutama platform yang melibatkan fungsi pinjaman, perlu memperhatikan hal-hal berikut dengan saksama:
Pastikan semua fungsi kunci mencakup pemeriksaan keamanan yang diperlukan, terutama verifikasi likuiditas.
Melakukan audit keamanan secara menyeluruh sebelum kontrak diluncurkan, dengan fokus pada pengembalian dana, deteksi likuiditas, dan penyelesaian utang serta langkah-langkah inti lainnya.
Secara berkala melakukan review kode dan pemindaian kerentanan, untuk segera menemukan dan memperbaiki risiko yang potensial.
Membangun dan memperbaiki mekanisme manajemen risiko, menetapkan batas pinjaman dan ambang likuidasi yang wajar.
Pertimbangkan untuk memperkenalkan langkah-langkah keamanan tambahan seperti multi-signature atau time lock untuk mencegah kehilangan dana dalam jumlah besar secara cepat.
Kejadian ini sekali lagi menyoroti pentingnya keamanan DeFi. Pihak proyek harus terus meningkatkan kesadaran keamanan, mengambil langkah perlindungan berlapis, untuk memastikan keamanan aset pengguna. Pada saat yang sama, pengguna juga perlu tetap waspada saat berpartisipasi dalam proyek DeFi, memahami risiko yang mungkin ada.