OrionProtocol mengalami serangan reentrancy senilai 2,9 juta dolar AS, analisis kerentanan dan saran pencegahan

robot
Pembuatan abstrak sedang berlangsung

Analisis Insiden Serangan Re-entrancy pada OrionProtocol

Ringkasan Peristiwa

Menurut data pemantauan di blockchain, pada tanggal 2 Februari 2023 pukul 15:40:20 UTC, OrionProtocol mengalami serangan reentrancy akibat celah kontrak di Ethereum dan Binance Smart Chain. Penyerang memperoleh keuntungan sebesar 2.844.766 USDT dari jaringan Ethereum dan 191.606 BUSD dari Binance Smart Chain, dengan total sekitar 2,9 juta dolar.

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis Proses Serangan

Detail serangan di jaringan Ethereum

Token kustom

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Dalam proses pertukaran, karena kontrak Token yang dibuat oleh penyerang mencakup fungsi callback, penyerang dapat memanggil kembali fungsi ExchangeWithAtomic.depositAsset melalui metode Token.Transfer secara berulang selama pelaksanaan ExchangeWithAtomic.swapThroughOrionPool. Ini menyebabkan jumlah setoran terus meningkat, dan akhirnya penyerang menyelesaikan keuntungan melalui operasi penarikan.

Analisis serangan re-entrancy OrionProtocol dengan PoC

Aliran Dana

Sumber dana awal penyerang berasal dari dompet panas di suatu platform trading besar. Dari 1.651 ETH yang diperoleh dalam serangan, 657,5 ETH masih tersisa di alamat dompet penyerang, sementara sisanya telah dipindahkan melalui layanan pengadukan.

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, tanpa mengikuti pola "Cek-Dampak-Interaksi" (Checks-Effects-Interactions). Penyerang memanfaatkan mekanisme callback yang ditambahkan di dalam fungsi transfer dari Token kustom, dengan memanggil fungsi depositAsset secara berulang sebelum curBalance diperbarui, menyebabkan kesalahan dalam perhitungan saldo.

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

Analisis serangan reentrancy OrionProtocol dengan PoC

Analisis serangan reentrancy OrionProtocol dengan PoC

Saran Pencegahan

  1. Pihak proyek dalam merancang kontrak yang melibatkan fungsi pertukaran token perlu mempertimbangkan berbagai jenis Token dan risiko keamanan yang mungkin ditimbulkan oleh jalur pertukaran.

  2. Ikuti dengan ketat standar pengkodean "Pemeriksaan-Efek-Interaksi", yaitu melakukan pemeriksaan kondisi terlebih dahulu, kemudian memperbarui variabel status, dan terakhir melakukan panggilan eksternal.

  3. Untuk fungsi yang mungkin memiliki risiko reentrancy, gunakan mekanisme perlindungan seperti reentrancy lock.

  4. Tambahkan pemeriksaan saldo sebelum dan sesudah operasi kunci untuk memastikan atomisitas dan konsistensi transaksi.

  5. Secara berkala melakukan audit kode dan pengujian keamanan, untuk segera menemukan dan memperbaiki potensi kerentanan.

  6. Pertimbangkan untuk menerapkan batasan jumlah transaksi atau batasan frekuensi transaksi untuk mengurangi kerugian yang disebabkan oleh serangan tunggal.

Dengan mengambil langkah-langkah ini, proyek dapat secara signifikan meningkatkan keamanan kontrak dan mengurangi risiko terkena serangan serupa. Dalam ekosistem Web3 yang berkembang pesat, keamanan selalu harus menjadi faktor yang dipertimbangkan dengan serius.

TOKEN-11.09%
ETH-3.42%
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
BearMarketGardenervip
· 11jam yang lalu
Sekali lagi reentrancy, semua sayuran telah habis.
Lihat AsliBalas0
Token_Sherpavip
· 21jam yang lalu
ugh... hari lain, serangan reentrancy lain. kapan para pengembang akan belajar untuk memeriksa efek-interaksi smh
Lihat AsliBalas0
SmartContractWorkervip
· 21jam yang lalu
Sekali lagi terkena reentrancy, masih baik.
Lihat AsliBalas0
gas_fee_therapistvip
· 21jam yang lalu
Ini adalah reentrancy lagi, jalan buntu.
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)