Euler Finance mengalami serangan Pinjaman Flash senilai 197 juta dolar AS, fungsi donateToReserves memiliki celah.

robot
Pembuatan abstrak sedang berlangsung

Euler Finance mengalami serangan pinjaman flash, mengalami kerugian hampir 200 juta dolar.

Pada 13 Maret 2023, proyek Euler Finance mengalami serangan pinjaman flash yang signifikan. Menurut data pemantauan di blockchain, penyerang memanfaatkan celah dalam kontrak proyek, berhasil mencuri sekitar 197 juta USD, melibatkan 6 jenis token yang berbeda.

Analisis Kerentanan Euler Finance: Bagaimana Terkena flash loan attack, Kerugian 1.97 Miliar Dolar!

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 satu lagi untuk likuidasi.

Langkah-langkah utama dari serangan adalah sebagai berikut:

  1. Mengunci 20 juta DAI dalam kontrak Protokol Euler, mendapatkan 19,5 juta eDAI.

  2. Memanfaatkan fitur leverage 10x dari Euler Protocol, meminjam 195,6 juta eDAI dan 200 juta dDAI.

  3. Menggunakan sisa 10 juta DAI untuk membayar sebagian utang, dan menghancurkan dDAI yang sesuai.

  4. Meminjam kembali jumlah yang sama dari eDAI dan dDAI.

  5. M捻ng捻gunakan fungsi donateToReserves untuk mendonasikan 100 juta eDAI, kemudian memanggil fungsi liquidate untuk melakukan likuidasi, mendapatkan 310 juta dDAI dan 250 juta eDAI.

  6. Terakhir, menarik 38,9 juta DAI, mengembalikan 30 juta Pinjaman Flash, dengan keuntungan bersih sekitar 8,87 juta DAI.

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

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

Analisis Kerentanan Euler Finance: Bagaimana Diserang dengan Pinjaman Flash, Kerugian 1.97 Miliar Dolar!

Analisis Kerentanan Euler Finance: Bagaimana Mengalami Pinjaman Flash, Kerugian 1.97 Miliar Dolar!

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

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

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

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

Analisis Penyebab Kerentanan

Inti dari serangan ini adalah kerentanan pada fungsi donateToReserves dalam kontrak Euler Finance yang tidak memiliki pemeriksaan likuiditas yang diperlukan. Berbeda dengan fungsi kunci lainnya (seperti fungsi mint), fungsi donateToReserves tidak melakukan operasi checkLiquidity, yang memungkinkan penyerang untuk memanipulasi status akun mereka agar memenuhi syarat untuk dilikuidasi.

Dalam kondisi normal, fungsi checkLiquidity akan memanggil modul RiskManager untuk memastikan jumlah eToken pengguna selalu lebih besar dari jumlah dToken. Namun, karena fungsi donateToReserves tidak memiliki langkah kunci ini, penyerang dapat melewati mekanisme keamanan dan mendapatkan keuntungan secara tidak sah.

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

Saran Keamanan

Untuk serangan semacam ini, proyek blockchain harus:

  1. Melakukan audit keamanan menyeluruh sebelum kontrak diluncurkan, untuk memastikan kualitas dan keamanan kode.

  2. Perhatikan dengan khusus pada tahap kunci seperti pelunasan dana, deteksi likuiditas, dan likuidasi utang dalam proyek pinjaman.

  3. Pastikan semua fungsi yang mungkin mempengaruhi status aset pengguna menyertakan langkah pemeriksaan keamanan yang diperlukan.

  4. Secara berkala melakukan review kode dan pemindaian kerentanan, segera memperbaiki risiko potensial.

  5. Pertimbangkan untuk memperkenalkan mekanisme tanda tangan ganda atau kunci waktu dan langkah-langkah keamanan tambahan lainnya untuk memberikan waktu penyangga dalam menghadapi keadaan darurat.

Kejadian ini sekali lagi menekankan pentingnya keamanan kontrak pintar. Pihak proyek harus selalu memprioritaskan keamanan, melalui praktik keamanan yang berkelanjutan dan inovasi teknologi, untuk bersama-sama membangun ekosistem Web3 yang lebih aman dan dapat diandalkan.

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

Lihat Asli
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.
  • Hadiah
  • 5
  • Bagikan
Komentar
0/400
liquidation_surfervip
· 07-11 22:36
Pinjaman Flash lagi bermasalah
Lihat AsliBalas0
ZKSherlockvip
· 07-11 21:59
Audit kontrak terlalu longgar
Lihat AsliBalas0
ResearchChadButBrokevip
· 07-10 21:58
Sulit sekali mencegah kerentanan kontrak.
Lihat AsliBalas0
UnluckyMinervip
· 07-10 21:51
Kode reviewnya tidak ketat ya
Lihat AsliBalas0
ForumMiningMastervip
· 07-10 21:49
Sebuah celah kembali dimanfaatkan
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)