OrionProtocol mengalami serangan reentrancy senilai 2,9 juta dolar AS. Analisis proses serangan dan saran pencegahan.

robot
Pembuatan abstrak sedang berlangsung

Analisis Insiden Serangan Re-Entry pada OrionProtocol

Pada 2 Februari 2023, OrionProtocol mengalami serangan reentrancy di Ethereum dan Binance Smart Chain, yang mengakibatkan kerugian sekitar 2,9 juta dolar AS. Penyerang memanfaatkan celah kontrak untuk mencuri 2.844.766 USDT di rantai Ethereum dan 191.606 BUSD di rantai Binance Smart.

Proses Penyerangan

Penyerang pertama-tama membuat kontrak Token kustom dan melakukan operasi transfer dan otorisasi terkait. Selanjutnya, penyerang meminjam melalui metode swap dari DEX tertentu, dan memanggil metode ExchangeWithAtomic.swapThroughOrionPool untuk menukar token. Jalur pertukaran mencakup alamat kontrak Token yang dibuat oleh penyerang.

Dalam proses penukaran, karena adanya mekanisme callback dalam kontrak Token penyerang, penyerang dapat terus memanggil metode ExchangeWithAtomic.depositAsset melalui Token.Transfer, sehingga memungkinkan terjadinya serangan reentrancy. Ini menyebabkan jumlah setoran ditambahkan secara berulang, dan akhirnya penyerang berhasil mendapatkan keuntungan melalui operasi penarikan.

Analisis Serangan Re-Entrancy OrionProtocol dengan PoC

Arah Aliran Dana

Modal awal penyerang berasal dari akun dompet panas di suatu platform perdagangan. Dari 1.651 ETH yang diperoleh, 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 dalam fungsi doSwapThroughOrionPool. Fungsi ini memanggil fungsi _doSwapTokens, yang memperbarui variabel curBalance setelah operasi transfer. Penyerang memanfaatkan fungsi transfer dari Token kustom yang ditambahkan dengan fitur callback, memanggil kembali fungsi depositAsset sebelum curBalance diperbarui, yang menyebabkan pembaruan curBalance yang salah. Akhirnya, setelah membayar kembali pinjaman kilat, penyerang menarik dana tambahan melalui fungsi withdraw.

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 Re-entrancy OrionProtocol dengan PoC

Analisis Serangan Re-Entry OrionProtocol dengan PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Saran Pencegahan

Untuk mencegah serangan serupa, disarankan kepada pihak proyek untuk memperhatikan hal-hal berikut saat merancang kontrak:

  1. Pertimbangkan kemungkinan situasi tak terduga yang dapat ditimbulkan oleh berbagai Token dan berbagai jalur pertukaran.
  2. Mengikuti pola pengkodean "Cek-Dampak-Interaksi" (Checks-Effects-Interactions), yaitu pertama melakukan pemeriksaan kondisi, kemudian memperbarui variabel status, dan terakhir melakukan panggilan eksternal.
  3. Gunakan kunci reentrancy sebelum dan sesudah operasi penting untuk mencegah serangan reentrancy.
  4. Melakukan verifikasi keamanan terhadap kontrak Token yang dipanggil dari luar.
  5. Secara rutin melakukan audit kode dan pengujian keamanan, serta segera menemukan dan memperbaiki potensi kerentanan.

Dengan mengambil langkah-langkah ini, proyek dapat secara signifikan meningkatkan keamanan dan stabilitas kontrak, serta meminimalkan risiko serangan.

Lihat Asli
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Hadiah
  • 7
  • Bagikan
Komentar
0/400
AirdropHunterXiaovip
· 14jam yang lalu
Proyek blockchain lagi-lagi terkena dampak.
Lihat AsliBalas0
MemecoinResearchervip
· 14jam yang lalu
ngmi... sepertinya kutukan reentrancy menyerang lagi fr fr
Lihat AsliBalas0
NightAirdroppervip
· 14jam yang lalu
Setiap hari dihack, sangat menyedihkan
Lihat AsliBalas0
rugpull_survivorvip
· 14jam yang lalu
play people for suckers satu kali masih ada berikutnya
Lihat AsliBalas0
LightningLadyvip
· 14jam yang lalu
Keterampilan dalam codingnya cukup baik ya
Lihat AsliBalas0
PrivacyMaximalistvip
· 14jam yang lalu
Sebuah proyek lain yang melakukan Rug Pull.
Lihat AsliBalas0
NotFinancialAdviservip
· 14jam yang lalu
Ada proyek yang telah diambil 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)