OrionProtocol diserang dengan serangan reentrancy, 2,9 juta dolar AS dicuri

robot
Pembuatan abstrak sedang berlangsung

Kerentanan Kontrak OrionProtocol Mengakibatkan Kerugian 2,9 Juta Dolar

Pada tanggal 2 Februari 2023, kontrak OrionProtocol di Ethereum dan Binance Smart Chain mengalami serangan reentrancy, mengakibatkan kerugian sekitar 2,9 juta dolar AS. Kerugian spesifik termasuk 2.844.766 USDT di rantai Ethereum dan 191.606 BUSD di rantai Binance Smart.

Analisis Proses Serangan

Penyerang pertama-tama menyebarkan kontrak Token khusus dan melakukan operasi transfer dan otorisasi yang relevan. Selanjutnya, penyerang meminjam dana melalui metode swap dari suatu DEX dan memanggil metode swapThroughOrionPool dari OrionProtocol untuk pertukaran token. Jalur pertukaran mencakup alamat kontrak Token yang dibuat oleh penyerang.

Saat menjalankan metode swapThroughOrionPool, karena kontrak Token penyerang menyertakan fungsi callback, metode depositAsset dapat dipanggil ulang selama proses transfer. Ini menyebabkan jumlah setoran dihitung ulang, dan akhirnya penyerang memperoleh keuntungan berlebih melalui operasi penarikan.

Analisis serangan reentrancy OrionProtocol dengan PoC

Arah Aliran Dana

Modal awal penyerang berasal dari dompet panas suatu platform perdagangan. Dari 1.651 ETH yang diperoleh penyerang, 657,5 ETH masih tersisa di alamat dompet penyerang, sementara sisanya telah dipindahkan melalui layanan pencampuran koin.

Analisis serangan reentrancy OrionProtocol dengan PoC

Inti Kerentanan

Masalah terletak pada fungsi doSwapThroughOrionPool. Fungsi ini melakukan operasi transfer terlebih dahulu sebelum memperbarui variabel curBalance saat mengeksekusi _doSwapTokens. Penyerang memanfaatkan metode transfer fungsi Token kustom untuk memanggil metode depositAsset, yang menyebabkan curBalance diperbarui secara tidak benar. Hal ini memungkinkan penyerang untuk menarik dana berlebih melalui fungsi withdraw setelah melunasi pinjaman kilat.

Analisis Serangan Re-entrancy OrionProtocol dengan PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis Serangan Re-entrancy OrionProtocol dengan PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis Serangan Re-entrancy OrionProtocol dengan PoC

Analisis serangan Reentrancy OrionProtocol dengan PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis serangan reentrancy OrionProtocol dengan PoC

Analisis Serangan Re-entrancy OrionProtocol dengan PoC

Saran Keamanan

Untuk kontrak pintar yang memiliki fungsi pertukaran token, pengembang perlu mempertimbangkan hal-hal berikut:

  1. Pertimbangkan kemungkinan situasi tak terduga yang dapat disebabkan oleh berbagai Token dan jalur pertukaran.
  2. Mengikuti pola pengkodean "Cek-Dampak-Interaksi" (Checks-Effects-Interactions), yaitu pertama melakukan pemeriksaan status, kemudian memperbarui status kontrak, dan terakhir berinteraksi dengan kontrak eksternal.
  3. Perbarui variabel status kunci sebelum melakukan panggilan eksternal.
  4. Terapkan mekanisme keamanan seperti pengunci reentrancy.
  5. Melakukan audit keamanan menyeluruh terhadap kontrak.

Dengan mengambil langkah-langkah ini, risiko serangan terhadap kontrak pintar dapat secara signifikan dikurangi, meningkatkan keamanan dan stabilitas proyek.

TOKEN4.07%
ETH2.27%
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
  • 1
  • Bagikan
Komentar
0/400
BoredStakervip
· 16jam yang lalu
Ini adalah serangan reentrancy lagi.
Lihat AsliBalas0
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)