Euler Finance mengalami serangan Pinjaman Flash senilai 200 juta dolar AS, celah pada smart contract menjadi penyebabnya.

robot
Pembuatan abstrak sedang berlangsung

Euler Finance mengalami serangan pinjaman flash, kehilangan hampir 200 juta dolar

Pada 13 Maret, proyek Euler Finance mengalami serangan flash loan karena adanya kerentanan dalam kontrak pintarnya, yang mengakibatkan kerugian besar sekitar 197 juta USD. Serangan ini melibatkan 6 jenis token cryptocurrency yang berbeda.

Analisis Kerentanan Euler Finance: Bagaimana Terkena Pinjaman Flash, Kerugian 1,97 Miliar Dolar!

Analisis Proses Serangan

Penyerang pertama-tama mendapatkan Pinjaman Flash senilai 30 juta DAI dari platform peminjaman tertentu, dan menyebarkan dua kontrak kunci: satu untuk operasi peminjaman, dan satu lagi untuk likuidasi.

Kemudian, penyerang mengunci 20 juta DAI ke dalam kontrak Euler Protocol dan memperoleh sekitar 19,5 juta eDAI. Dengan memanfaatkan fitur leverage 10x dari Euler Protocol, penyerang lebih lanjut meminjam 195,6 juta eDAI dan 200 juta dDAI.

Selanjutnya, penyerang menggunakan sisa 10 juta DAI untuk membayar sebagian utang, menghancurkan dDAI yang sesuai. Kemudian meminjam kembali jumlah yang sama dari eDAI dan dDAI.

Langkah kunci adalah, penyerang memanfaatkan kerentanan fungsi donateToReserves untuk menyumbang 10 kali lipat dari jumlah dana yang harus dibayar kembali, yaitu 100 juta eDAI. Tindakan ini memungkinkan penyerang untuk memicu mekanisme likuidasi, sehingga memperoleh 310 juta dDAI dan 250 juta eDAI.

Akhirnya, penyerang memperoleh 38,9 juta DAI melalui fungsi penarikan, mengembalikan 30 juta DAI dari Pinjaman Flash, dan akhirnya meraih keuntungan sekitar 8,87 juta DAI.

Analisis Kerentanan Euler Finance: Bagaimana Mengalami Pinjaman Flash, Kerugian 1,97 Miliar Dolar AS!

Analisis Kerentanan Euler Finance: Bagaimana Terjadi Pinjaman Flash Attack, Kerugian 1,97 Juta Dolar!

Analisis Kerentanan Euler Finance: Bagaimana Terkena serangan pinjaman flash, kehilangan 1,97 juta dolar!

Analisis Kerentanan Euler Finance: Bagaimana diserang oleh Pinjaman Flash, kehilangan 1,97 miliar dolar!

Analisis Kerentanan Euler Finance: Bagaimana Mengalami serangan pinjaman flash, kerugian 1,97 juta dolar!

Analisis Kerentanan Euler Finance: Bagaimana Mengalami Pinjaman Flash Attack, Kerugian 1,97 Miliar Dollar!

Analisis Kerentanan Euler Finance: Bagaimana Mengalami serangan Pinjaman Flash, kerugian sebesar 1,97 miliar dolar!

Analisis Kerentanan Euler Finance: Bagaimana Terjadi Pinjaman Flash, Kerugian 1,97 Juta Dolar!

Analisis Kerentanan Euler Finance: Bagaimana Terjadi Pinjaman Flash Attack, Kerugian 1,97 Juta Dolar!

Analisis Penyebab Kerentanan

Inti dari kerentanan serangan ini terletak pada fungsi donateToReserves dari Euler Finance yang tidak memiliki pemeriksaan likuiditas yang diperlukan. Berbeda dengan fungsi kunci lainnya (seperti fungsi mint), fungsi donateToReserves tidak memanggil checkLiquidity untuk melakukan verifikasi likuiditas pengguna.

Dalam kondisi normal, fungsi checkLiquidity akan memastikan bahwa jumlah eToken pengguna lebih besar dari jumlah dToken dengan memanggil modul RiskManager, untuk menjaga keamanan sistem. Namun, karena fungsi donateToReserves tidak memiliki langkah kunci ini, penyerang dapat memanipulasi status akun mereka sehingga memenuhi syarat untuk dilikuidasi, dan kemudian melakukan likuidasi untuk mendapatkan keuntungan.

Analisis Kerentanan Euler Finance: Bagaimana Menghadapi Pinjaman Flash, Kerugian 1,97 Miliar Dolar!

Saran Keamanan

Untuk serangan semacam ini, kami menyarankan kepada pengembang proyek blockchain:

  1. Lakukan audit keamanan menyeluruh sebelum peluncuran kontrak pintar, terutama fokus pada pinjaman dana, manajemen likuiditas, dan penyelesaian utang.

  2. Terapkan pemeriksaan keamanan yang ketat pada semua fungsi yang mungkin mempengaruhi status aset pengguna, termasuk tetapi tidak terbatas pada verifikasi likuiditas.

  3. Secara berkala melakukan tinjauan kode dan pemindaian kerentanan, serta segera memperbaiki potensi risiko keamanan.

  4. Membangun mekanisme manajemen risiko yang lengkap, menetapkan batas pinjaman dan ambang likuidasi yang wajar.

  5. Pertimbangkan untuk memperkenalkan langkah-langkah keamanan tambahan seperti multi-signature atau time lock untuk mencegah kehilangan dana dalam jumlah besar.

Dengan mengambil langkah-langkah pencegahan ini, keamanan proyek DeFi dapat meningkat secara signifikan dan mengurangi risiko terkena serangan serupa.

EUL0.16%
Lihat Asli
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.
  • Hadiah
  • 7
  • Posting ulang
  • Bagikan
Komentar
0/400
ServantOfSatoshivip
· 07-19 18:22
Kecelakaan terjadi lagi, benar-benar menyedihkan.
Lihat AsliBalas0
MercilessHalalvip
· 07-19 08:53
Kembali ke zona buta kontrak
Lihat AsliBalas0
DYORMastervip
· 07-17 03:24
Sekali lagi kontrak terjebak
Lihat AsliBalas0
StableNomadvip
· 07-17 03:24
Satu proyek lagi yang menjadi batu bata
Lihat AsliBalas0
LightningSentryvip
· 07-17 03:19
Sekali lagi dicuri sedikit keuntungan
Lihat AsliBalas0
just_another_fishvip
· 07-17 03:11
Audit kontrak sangat penting
Lihat AsliBalas0
BitcoinDaddyvip
· 07-17 02:56
Kecelakaan smart contract terjadi lagi
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)