OrionProtocol mengalami serangan reentrancy dengan 2,9 juta dolar AS dana dicuri

robot
Pembuatan abstrak sedang berlangsung

Analisis Serangan Reentrancy pada OrionProtocol

Pada 2 Februari 2023 sore, kontrak OrionProtocol di Ethereum dan Binance Smart Chain mengalami serangan reentrancy karena adanya celah. Penyerang meraih keuntungan sebesar 2.844.766 USDT di jaringan Ethereum dan 191.606 BUSD di jaringan Binance Smart Chain, dengan total sekitar 2,9 juta dolar AS.

Analisis serangan reentrancy OrionProtocol dengan PoC

Analisis Proses Serangan

Penyerang pertama-tama menyebarkan kontrak Token kustom dan melakukan persiapan terkait. Selanjutnya, penyerang melakukan pinjaman melalui fungsi swap dari suatu DEX, dan memanggil metode swapThroughOrionPool dari OrionProtocol untuk menukar token. Jalur pertukaran mencakup alamat kontrak Token yang dibuat oleh penyerang, yang mempersiapkan serangan callback di kemudian hari.

Saat menjalankan metode swapThroughOrionPool, serangan terjadi karena kontrak Token penyerang mengandung logika callback, yang menyebabkan serangan reentrancy selama proses transfer. Penyerang memanfaatkan metode Token.Transfer untuk memanggil fungsi ExchangeWithAtomic.depositAsset berulang kali, sehingga jumlah setoran terus bertambah. Akhirnya, penyerang berhasil mendapatkan keuntungan melalui operasi penarikan.

Analisis Serangan Re-entrancy OrionProtocol dengan PoC

Aliran Dana

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

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis Kerentanan

Masalah inti terletak pada fungsi doSwapThroughOrionPool. Fungsi ini memiliki cacat logika saat menjalankan operasi _doSwapTokens. Secara spesifik, kontrak hanya memperbarui variabel curBalance setelah transfer selesai, yang memberi kesempatan bagi penyerang. Penyerang menambahkan logika callback dalam fungsi transfer Token kustom, secara berulang memanggil fungsi depositAsset, yang menyebabkan pembaruan curBalance menjadi salah. Akhirnya, setelah melunasi pinjaman kilat, penyerang berhasil menarik dana yang berlebihan.

Analisis Serangan Re-entrance 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 Reentrancy OrionProtocol dengan PoC

Analisis serangan reentrancy OrionProtocol beserta PoC

Saran Pencegahan

Untuk menghindari serangan serupa, pihak proyek harus memperhatikan hal-hal berikut saat merancang kontrak:

  1. Saat mengimplementasikan fungsi pertukaran mata uang digital, perlu mempertimbangkan secara menyeluruh berbagai jenis Token dan potensi risiko keamanan yang mungkin ditimbulkan oleh jalur pertukaran.

  2. Ikuti secara ketat standar pengkodean "Cek-Dampak-Interaksi" (Checks-Effects-Interactions), yaitu melakukan pemeriksaan status terlebih dahulu, kemudian memperbarui status kontrak, dan terakhir melakukan panggilan eksternal.

  3. Terapkan penguncian reentrancy dalam operasi kunci untuk mencegah terjadinya serangan reentrancy.

  4. Lakukan audit kode secara berkala untuk mendeteksi dan memperbaiki potensi kerentanan keamanan dengan tepat waktu.

  5. Pertimbangkan untuk memperkenalkan mekanisme penarikan yang tertunda, untuk memberikan kesempatan intervensi manual pada transaksi yang mencurigakan.

Dengan mengambil langkah-langkah ini, keamanan kontrak pintar dapat ditingkatkan secara signifikan dan risiko serangan dapat dikurangi. Dalam ekosistem Web3, keamanan selalu menjadi faktor yang paling utama.

TOKEN6.22%
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
  • 8
  • Bagikan
Komentar
0/400
LidoStakeAddictvip
· 07-17 03:22
Ini adalah babi lagi.
Lihat AsliBalas0
NervousFingersvip
· 07-14 05:42
又一项目被Kupon Klip啊...
Lihat AsliBalas0
TokenUnlockervip
· 07-14 04:00
Satu lagi kerentanan reentrancy yang tidak terkunci?
Lihat AsliBalas0
GasSavingMastervip
· 07-14 03:59
Teknologi saat ini juga tidak terlalu bagus.
Lihat AsliBalas0
PanicSeller69vip
· 07-14 03:58
Lagi meledak, ya Tuhan
Lihat AsliBalas0
PortfolioAlertvip
· 07-14 03:37
Satu lagi korban dari celah kontrak...
Lihat AsliBalas0
SerumSqueezervip
· 07-14 03:36
Ini sudah berapa kali bocor dan berlubang lagi?
Lihat AsliBalas0
ForkTonguevip
· 07-14 03:33
Ini lagi serangan reentrancy, apakah proyek-proyek ini tidak belajar dari pelajaran?
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)