Proyek Euler Finance mengalami flash loan attack, mengalami kerugian hampir 200 juta dolar.
Pada 13 Maret 2023, proyek Euler Finance mengalami flash loan attack yang mengakibatkan kerugian besar sekitar 197 juta USD. Penyerang memanfaatkan celah dalam kontrak proyek, dan melalui beberapa operasi, mereka berhasil melaksanakan serangan tersebut. Saat ini, dana yang dicuri masih tersimpan di akun penyerang.
Analisis Proses Serangan
Penyerang pertama-tama meminjam 30 juta DAI dari platform pinjaman dengan Pinjaman Flash, dan menerapkan dua kontrak: satu kontrak pinjaman dan satu kontrak likuidasi.
Penyerang menyetorkan 20 juta DAI yang dipinjam ke dalam kontrak Euler Protocol, dan mendapatkan 19,5 juta eDAI.
Dengan memanfaatkan fungsi leverage dari Protokol Euler, penyerang meminjam 195,6 juta eDAI dan 200 juta dDAI.
Penyerang menggunakan sisa 10 juta DAI untuk membayar sebagian utang, menghancurkan 10 juta dDAI, lalu meminjam kembali 195,6 juta eDAI dan 200 juta dDAI.
Langkah Kunci: Penyerang memanggil fungsi donateToReserves, menyumbangkan 100 juta eDAI, kemudian melakukan likuidasi melalui fungsi liquidate, mendapatkan 310 juta dDAI dan 250 juta eDAI.
Terakhir, penyerang menarik 38,9 juta DAI, mengembalikan 30 juta DAI dari Pinjaman Flash, dan akhirnya meraup keuntungan 8,87 juta DAI.
Penyebab Kerentanan
Alasan utama keberhasilan serangan adalah adanya cacat dalam fungsi donateToReserves di kontrak Euler Finance. Dibandingkan dengan fungsi kunci lainnya, fungsi ini tidak memiliki langkah pemeriksaan likuiditas yang diperlukan (checkLiquidity). Pemeriksaan ini seharusnya memastikan bahwa jumlah eToken pengguna lebih besar dari jumlah dToken untuk menjaga kesehatan kontrak.
Karena kurangnya pemeriksaan kunci ini, penyerang dapat membuat dirinya berada dalam keadaan yang dapat dilikuidasi melalui operasi tertentu, kemudian memanfaatkan hal ini untuk menyelesaikan serangan.
Saran Keamanan
Untuk proyek pinjaman serupa, perlu diperhatikan beberapa poin kunci berikut:
Keamanan mekanisme pengembalian dana
Komprehensifitas Deteksi Likuiditas
Ketelitian Proses Likuidasi Utang
Sebelum kontrak diluncurkan, melakukan audit keamanan yang menyeluruh dan profesional adalah sangat penting. Ini tidak hanya dapat menemukan potensi kerentanan, tetapi juga dapat memastikan keamanan dan stabilitas keseluruhan kontrak.
Peristiwa ini sekali lagi menekankan pentingnya keamanan kontrak di bidang keuangan terdesentralisasi. Pihak proyek harus selalu mengutamakan keamanan untuk melindungi aset pengguna dan menjaga perkembangan ekosistem secara keseluruhan.
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.
10 Suka
Hadiah
10
7
Bagikan
Komentar
0/400
SeasonedInvestor
· 11jam yang lalu
Satu kontrak lagi telah dibongkar
Lihat AsliBalas0
tx_pending_forever
· 22jam yang lalu
smart contract terlalu tidak cerdas
Lihat AsliBalas0
airdrop_whisperer
· 22jam yang lalu
Keamanan smart contract sulit
Lihat AsliBalas0
GasFeeCrier
· 22jam yang lalu
Sebuah pesta celah lagi
Lihat AsliBalas0
screenshot_gains
· 22jam yang lalu
Dompet dengan celah lagi
Lihat AsliBalas0
OnchainArchaeologist
· 22jam yang lalu
Kontraknya bermasalah lagi
Lihat AsliBalas0
probably_nothing_anon
· 22jam yang lalu
Tidak ada salahnya mendapatkan Bitcoin secara gratis
Euler Finance mengalami serangan pinjaman flash dengan kerugian hampir 200 juta dolar.
Proyek Euler Finance mengalami flash loan attack, mengalami kerugian hampir 200 juta dolar.
Pada 13 Maret 2023, proyek Euler Finance mengalami flash loan attack yang mengakibatkan kerugian besar sekitar 197 juta USD. Penyerang memanfaatkan celah dalam kontrak proyek, dan melalui beberapa operasi, mereka berhasil melaksanakan serangan tersebut. Saat ini, dana yang dicuri masih tersimpan di akun penyerang.
Analisis Proses Serangan
Penyerang pertama-tama meminjam 30 juta DAI dari platform pinjaman dengan Pinjaman Flash, dan menerapkan dua kontrak: satu kontrak pinjaman dan satu kontrak likuidasi.
Penyerang menyetorkan 20 juta DAI yang dipinjam ke dalam kontrak Euler Protocol, dan mendapatkan 19,5 juta eDAI.
Dengan memanfaatkan fungsi leverage dari Protokol Euler, penyerang meminjam 195,6 juta eDAI dan 200 juta dDAI.
Penyerang menggunakan sisa 10 juta DAI untuk membayar sebagian utang, menghancurkan 10 juta dDAI, lalu meminjam kembali 195,6 juta eDAI dan 200 juta dDAI.
Langkah Kunci: Penyerang memanggil fungsi donateToReserves, menyumbangkan 100 juta eDAI, kemudian melakukan likuidasi melalui fungsi liquidate, mendapatkan 310 juta dDAI dan 250 juta eDAI.
Terakhir, penyerang menarik 38,9 juta DAI, mengembalikan 30 juta DAI dari Pinjaman Flash, dan akhirnya meraup keuntungan 8,87 juta DAI.
Penyebab Kerentanan
Alasan utama keberhasilan serangan adalah adanya cacat dalam fungsi donateToReserves di kontrak Euler Finance. Dibandingkan dengan fungsi kunci lainnya, fungsi ini tidak memiliki langkah pemeriksaan likuiditas yang diperlukan (checkLiquidity). Pemeriksaan ini seharusnya memastikan bahwa jumlah eToken pengguna lebih besar dari jumlah dToken untuk menjaga kesehatan kontrak.
Karena kurangnya pemeriksaan kunci ini, penyerang dapat membuat dirinya berada dalam keadaan yang dapat dilikuidasi melalui operasi tertentu, kemudian memanfaatkan hal ini untuk menyelesaikan serangan.
Saran Keamanan
Untuk proyek pinjaman serupa, perlu diperhatikan beberapa poin kunci berikut:
Sebelum kontrak diluncurkan, melakukan audit keamanan yang menyeluruh dan profesional adalah sangat penting. Ini tidak hanya dapat menemukan potensi kerentanan, tetapi juga dapat memastikan keamanan dan stabilitas keseluruhan kontrak.
Peristiwa ini sekali lagi menekankan pentingnya keamanan kontrak di bidang keuangan terdesentralisasi. Pihak proyek harus selalu mengutamakan keamanan untuk melindungi aset pengguna dan menjaga perkembangan ekosistem secara keseluruhan.