OrionProtocol mengalami serangan reentrancy, hampir 3 juta dolar aset dicuri

robot
Pembuatan abstrak sedang berlangsung

OrionProtocol mengalami serangan reentrancy yang menyebabkan kerugian hampir 3 juta dolar

Pada 2 Februari 2023, kontrak OrionProtocol di Ethereum dan Binance Chain mengalami serangan reentrancy akibat adanya celah keamanan. Penyerang berhasil mencuri sekitar 2,9 juta dolar aset kripto, termasuk 2.844.766 USDT di Ethereum dan 191.606 BUSD di BSC.

Analisis Proses Serangan

Penyerang pertama-tama menyebarkan kontrak Token kustom dan melakukan persiapan yang diperlukan. Selanjutnya, penyerang meminjam dana melalui metode swap UNI-V2 dan memanggil metode swapThroughOrionPool dari kontrak ExchangeWithAtomic untuk menukar token. Jalur pertukaran mencakup alamat kontrak Token yang dibuat oleh penyerang, yang membuka jalan untuk serangan callback berikutnya.

Dalam proses penukaran, karena kontrak Token penyerang mencakup logika panggilan balik, setiap operasi transfer akan memicu pemanggilan ulang metode depositAsset dari kontrak ExchangeWithAtomic. Ini menyebabkan jumlah setoran secara keliru terakumulasi, yang pada akhirnya memungkinkan penyerang untuk menarik dana melebihi jumlah yang sebenarnya mereka setorkan.

Analisis Serangan Re-Entrancy OrionProtocol disertai PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Sumber Kerentanan

Masalah inti terletak pada fungsi doSwapThroughOrionPool dan _doSwapTokens dari kontrak ExchangeWithAtomic. Fungsi-fungsi ini memperbarui variabel curBalance setelah melakukan transfer token, tetapi tidak memiliki langkah pencegahan terhadap serangan reentrancy. Penyerang memanfaatkan metode callback transfer dari Token kustom untuk memanggil metode depositAsset, yang menyebabkan curBalance diperbarui secara salah, sehingga memungkinkan penarikan dana yang berlebihan 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 Reentrancy OrionProtocol dengan PoC

Aliran Dana

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

Analisis serangan reentrancy OrionProtocol dengan PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Saran Keamanan

Untuk mencegah serangan serupa, pihak proyek harus memperhatikan hal-hal berikut:

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

  2. Ikuti pola "Pemeriksaan-Dampak-Interaksi" (Checks-Effects-Interactions) dalam menulis kode kontrak, yaitu terlebih dahulu melakukan pemeriksaan kondisi, kemudian memperbarui variabel status, dan terakhir berinteraksi dengan kontrak eksternal.

  3. Gunakan kunci reentrancy atau mekanisme serupa dalam fungsi kunci untuk mencegah serangan reentrancy.

  4. Untuk panggilan eksternal, terutama yang melibatkan operasi transfer dana, harus sangat hati-hati dan mempertimbangkan untuk menggunakan mode pembayaran tarik sebagai pengganti pembayaran dorong.

  5. Melakukan audit keamanan secara berkala untuk menemukan dan memperbaiki potensi kerentanan dengan cepat.

Dengan mengambil langkah-langkah ini, keamanan kontrak pintar dapat ditingkatkan secara signifikan dan risiko diserang dapat dikurangi. Dalam ekosistem Web3, keamanan selalu harus menjadi pertimbangan utama.

TOKEN9.1%
ETH4.04%
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
TokenTherapistvip
· 08-02 21:23
Ada orang yang tidak bisa berpikir dengan baik lagi?
Lihat AsliBalas0
LiquidatorFlashvip
· 08-02 21:16
Kerentanan reentrancy benar-benar adalah pembunuh utama kerugian Defi...
Lihat AsliBalas0
0xLuckboxvip
· 08-02 21:10
Tahun ini kenapa dicuri lagi?
Lihat AsliBalas0
TokenSherpavip
· 08-02 21:10
*sigh* lagi-lagi protokol gagal melakukan pemeriksaan reentrancy dasar... secara historis, ini dapat dicegah
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)