OrionProtocol mengalami serangan reentrancy dan kehilangan 2,9 juta dolar aset enkripsi

Analisis Insiden Serangan Reentrancy pada OrionProtocol

Pada 2 Februari 2023 sore, sebuah platform DEX mengalami serangan reentrancy akibat celah kontrak di Ethereum dan Binance Smart Chain, dengan total kerugian sekitar 2,9 juta dolar AS dalam aset kripto, di mana termasuk 2.844.766 USDT di Ethereum dan 191.606 BUSD di Binance Smart Chain.

Ringkasan Proses Serangan

Penyerang pertama-tama menerapkan kontrak token khusus dan melakukan operasi pemindahan dan otorisasi yang relevan. Selanjutnya, penyerang meminjam dana melalui fungsi swap dari suatu DEX dan memanggil metode swapThroughOrionPool di platform target untuk menukar token. Jalur pertukaran mencakup alamat kontrak token yang dibuat oleh penyerang, yang memungkinkan penyerang untuk mengeksekusi operasi callback selama proses transaksi.

Dalam proses penukaran, penyerang memanfaatkan fungsi callback dalam kontrak token yang mereka buat, untuk memanggil metode depositAsset dari platform target secara berulang, yang menyebabkan jumlah setoran terakumulasi. Akhirnya, penyerang menyelesaikan keuntungan melalui operasi penarikan.

Analisis Serangan Re-entrancy OrionProtocol dengan PoC

Aliran Dana

Sumber dana awal penyerang berasal dari dompet panas suatu platform perdagangan besar. 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 dari kerentanan muncul di dalam fungsi doSwapThroughOrionPool. Fungsi ini memperbarui variabel curBalance setelah melakukan transfer token, tetapi tidak mempertimbangkan risiko serangan reentrancy yang mungkin ada. Penyerang berhasil melakukan panggilan ulang ke fungsi depositAsset dengan menambahkan logika callback dalam fungsi transfer token kustom, yang mengakibatkan variabel curBalance diperbarui secara tidak tepat.

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 dengan PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Reproduksi Serangan

Peneliti berhasil mereproduksi proses serangan dan menyediakan kode POC yang relevan. Hasil pengujian menunjukkan bahwa penyerang dapat memperoleh dana tambahan dengan memanfaatkan kerentanan kontrak.

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis serangan Reentrancy OrionProtocol dengan PoC

Saran Keamanan

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

  1. Pertimbangkan dengan saksama kemungkinan situasi tak terduga yang mungkin ditimbulkan oleh berbagai jenis token dan jalur pertukaran.
  2. Mengikuti pola pengkodean "Cek-Dampak-Interaksi" (Checks-Effects-Interactions), yaitu terlebih dahulu melakukan pemeriksaan status, kemudian memperbarui status kontrak, dan terakhir berinteraksi dengan kontrak eksternal.
  3. Menerapkan mekanisme keamanan seperti kunci reentrancy untuk mencegah serangan reentrancy.
  4. Untuk panggilan eksternal, terutama yang melibatkan operasi transfer dana, harus sangat hati-hati dan dilakukan audit keamanan secara menyeluruh.

Dengan mengambil langkah-langkah ini, risiko serangan terhadap kontrak pintar dapat dikurangi secara signifikan, meningkatkan keamanan dan stabilitas proyek. Dalam ekosistem Web3, memastikan keamanan kontrak sangat penting untuk menjaga kepercayaan pengguna dan keamanan aset.

ETH2.58%
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
  • 4
  • Bagikan
Komentar
0/400
LiquidatedNotStirredvip
· 17jam yang lalu
Kerentanan reentrancy sangat menyakitkan
Lihat AsliBalas0
NFT_Therapyvip
· 17jam yang lalu
Sekali lagi melihat celah kontrak
Lihat AsliBalas0
GateUser-40edb63bvip
· 18jam yang lalu
Sekali lagi menjadi korban peretasan
Lihat AsliBalas0
NotGonnaMakeItvip
· 18jam yang lalu
Sudah menjadi suckers 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)