Euler Finance mengalami serangan pinjaman flash dengan kerugian sebesar 1,97 juta dolar AS

robot
Pembuatan abstrak sedang berlangsung

Euler Finance mengalami serangan pinjaman flash, dengan kerugian mencapai 1,97 juta dolar AS

Pada 13 Maret 2023, proyek Euler Finance mengalami serangan flash loan karena celah kontrak, yang mengakibatkan kerugian besar. Penyerang memanfaatkan celah dalam fungsi donateToReserves kontrak yang tidak memiliki pemeriksaan likuiditas, dengan melakukan beberapa operasi untuk memperoleh sejumlah besar dana. Peristiwa ini melibatkan 6 jenis token, dengan total kerugian mencapai 197 juta dolar AS.

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

Analisis Proses Serangan

  1. Penyerang pertama-tama meminjam 30 juta DAI dari platform pinjaman flash dan menerapkan dua kontrak: kontrak pinjaman dan kontrak likuidasi.

  2. Penyerang menyetor 20 juta DAI ke dalam kontrak Protokol Euler, dan mendapatkan 195.000 eDAI.

  3. Memanfaatkan fungsi leverage 10x dari Protokol Euler, penyerang meminjam 1.956.000 eDAI dan 2.000.000 dDAI.

  4. Penyerang menggunakan sisa 10 juta DAI untuk membayar sebagian utang dan menghancurkan dDAI yang sesuai, kemudian meminjam kembali 1.956.000 eDAI dan 2.000.000 dDAI.

  5. Langkah Kunci: Penyerang memanggil fungsi donateToReserves, menyumbangkan 1 juta eDAI (10 kali lipat dari dana yang dikembalikan). Segera setelah itu, penyerang memanggil fungsi liquidate untuk melakukan likuidasi, mendapatkan 3,1 juta dDAI dan 2,5 juta eDAI.

  6. Terakhir, penyerang menarik 389.000 DAI dan mengembalikan pinjaman flash sebesar 30 juta DAI, akhirnya meraih keuntungan 8,87 juta DAI.

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

Analisis Penyebab Kerentanan

Masalah inti dari serangan ini terletak pada fungsi donateToReserves dalam kontrak Euler Finance yang tidak memiliki pemeriksaan likuiditas yang diperlukan. Berbeda dengan fungsi mint, fungsi donateToReserves tidak menjalankan langkah checkLiquidity, yang memungkinkan penyerang untuk menghindari pemeriksaan likuiditas yang normal.

Dalam keadaan normal, fungsi checkLiquidity akan memanggil modul RiskManager untuk memastikan jumlah eToken pengguna lebih besar dari jumlah dToken. Namun, karena fungsi donateToReserves tidak memiliki langkah penting ini, penyerang dapat memanfaatkan celah ini untuk terlebih dahulu membuat dirinya berada dalam kondisi yang dapat dilikuidasi, kemudian menyelesaikan operasi likuidasi.

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

Saran Keamanan

Untuk serangan semacam ini, kami menyarankan pihak proyek DeFi:

  1. Lakukan audit keamanan secara menyeluruh sebelum kontrak diluncurkan, untuk memastikan keamanan kontrak tersebut.

  2. Untuk proyek pinjaman, perlu memperhatikan dengan cermat aspek-aspek kunci seperti pengembalian dana, deteksi likuiditas, dan likuidasi utang.

  3. Setiap fungsi yang mungkin mempengaruhi status dana pengguna harus menerapkan pemeriksaan likuiditas yang ketat.

  4. Lakukan audit dan pembaruan kode secara berkala, segera perbaiki celah yang ditemukan.

  5. Pertimbangkan untuk memperkenalkan mekanisme tanda tangan ganda atau penguncian waktu sebagai langkah keamanan tambahan.

Kejadian kali ini mengingatkan kita bahwa dalam bidang DeFi yang berkembang pesat, keamanan kontrak selalu sangat penting. Pihak proyek perlu terus meningkatkan kesadaran akan keamanan dan mengambil langkah perlindungan ganda untuk melindungi keamanan aset pengguna.

Analisis Kerentanan Euler Finance: Bagaimana Mengalami flash loan attack, Kerugian 1,97 Miliar 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
  • 7
  • Bagikan
Komentar
0/400
HodlVeteranvip
· 07-13 01:44
Satu lubang lagi, pengemudi berpengalaman sudah menginjaknya selama sepuluh tahun dan masih terus menginjaknya.
Lihat AsliBalas0
DiamondHandsvip
· 07-13 01:36
Sudah meledak lagi
Lihat AsliBalas0
GasFeeCriervip
· 07-12 00:27
Kontrak ini terlalu main-main.
Lihat AsliBalas0
NftMetaversePaintervip
· 07-10 03:38
lagi satu eksploitasi primitif akibat verifikasi algoritmik yang tidak memadai...smh web3 sedang menangis rn
Lihat AsliBalas0
SocialAnxietyStakervip
· 07-10 03:26
Kontrak aman banget ya
Lihat AsliBalas0
StakeOrRegretvip
· 07-10 03:23
Bug bounty sangat diminati ya
Lihat AsliBalas0
BearMarketSurvivorvip
· 07-10 03:18
Satu lagi kerugian dalam pertempuran, pasar sudah diaktifkan.
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)