OrionProtocol mengalami serangan reentrancy sebesar 2,9 juta dolar AS, analisis pencurian dana dan saran pencegahan

robot
Pembuatan abstrak sedang berlangsung

Analisis Insiden Serangan Reentrancy pada OrionProtocol

Pada 2 Februari 2023 sore, kontrak OrionProtocol di Ethereum dan Binance Smart Chain mengalami serangan reentrancy karena adanya celah. Penyerang berhasil mencuri dana sekitar 2,9 juta dolar AS, termasuk 2.844.766 USDT di jalur Ethereum dan 191.606 BUSD di jalur Binance Smart Chain.

Analisis Proses Serangan

Penyerang pertama-tama menyebarkan kontrak Token kustom, dan melakukan operasi transfer dan otorisasi pada Token tersebut, mempersiapkan untuk serangan selanjutnya. Kemudian, penyerang memanfaatkan fungsi swap Uniswap V2 untuk meminjam, dan memanggil metode ExchangeWithAtomic.swapThroughOrionPool dari OrionProtocol untuk menukarkan token.

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Jalur pertukaran diatur sebagai: USDC → Token Kustom Penyerang → USDT

Dalam proses penukaran, karena kontrak Token kustom penyerang mencakup fungsi callback, saat transfer Token dilakukan, metode ExchangeWithAtomic.depositAsset dapat dipanggil kembali. Serangan reentrancy ini menyebabkan jumlah deposit dihitung ulang, yang akhirnya memungkinkan penyerang untuk menarik dana yang melebihi jumlah yang sebenarnya disetorkan.

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Aliran Dana

Sumber dana awal penyerang berasal dari dompet panas suatu platform perdagangan besar. Dari 1.651 ETH yang diperoleh melalui serangan, 657,5 ETH masih tersisa di alamat dompet penyerang, sementara sisa jumlahnya telah dipindahkan melalui layanan pencampuran koin.

Analisis Serangan Re-entrancy OrionProtocol dengan PoC

Analisis Kerentanan

Masalah inti dari kerentanan muncul dalam fungsi doSwapThroughOrionPool. Fungsi ini memperbarui variabel curBalance setelah melakukan transfer token, yang menciptakan kondisi untuk serangan reentrancy. Penyerang dengan menambahkan logika callback dalam fungsi transfer Token kustom dapat memanggil fungsi depositAsset secara berulang sebelum curBalance diperbarui, yang menyebabkan kesalahan dalam perhitungan saldo.

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

Saran Pencegahan

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

  1. Terapkan kontrol akses dan manajemen hak yang ketat.
  2. Ikuti pola "Pemeriksaan-Dampak-Interaksi" (Checks-Effects-Interactions) saat menulis kontrak pintar.
  3. Gunakan pengunci reentrancy atau mekanisme serupa untuk mencegah serangan reentrancy.
  4. Untuk fungsi yang melibatkan pertukaran token, perlu mempertimbangkan risiko keamanan yang mungkin ditimbulkan oleh berbagai jenis Token dan jalur pertukaran.
  5. Lakukan audit keamanan yang komprehensif, termasuk analisis statis, pengujian dinamis, dan tinjauan manual.
  6. Memantau aktivitas kontrak secara berkelanjutan, membangun mekanisme respons cepat.

Kejadian ini sekali lagi menekankan bahwa keamanan harus selalu menjadi prioritas utama dalam pengembangan dan penerapan kontrak pintar. Pihak proyek perlu terus meningkatkan langkah-langkah keamanan untuk melindungi aset pengguna dan menjaga reputasi platform.

TOKEN-2.16%
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
  • 7
  • Posting ulang
  • Bagikan
Komentar
0/400
CryptoCrazyGFvip
· 2jam yang lalu
Kembali lagi koin dicuri, tidak heran ini adalah Bear Market yang mendorong kinerja.
Lihat AsliBalas0
FUD_Vaccinatedvip
· 08-14 03:57
Sekali lagi Dianggap Bodoh
Lihat AsliBalas0
GateUser-aa7df71evip
· 08-13 22:35
Sekali lagi, para suckers, lihat analisis kelas kecil di belakang saya.
Lihat AsliBalas0
CoinBasedThinkingvip
· 08-13 22:34
Ini lagi permainan lama reentrancy.
Lihat AsliBalas0
HalfBuddhaMoneyvip
· 08-13 22:29
Satu lagi klasik kegagalan smart contract, uang para suckers tidak aman lagi.
Lihat AsliBalas0
NewPumpamentalsvip
· 08-13 22:26
Ini adalah serangan reentrancy lagi, kapan ini akan berakhir?
Lihat AsliBalas0
ShibaOnTheRunvip
· 08-13 22:23
Sudah diserang lagi, agak panik.
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)