OrionProtocol mengalami serangan reentrancy dengan kerugian 2,9 juta dolar AS. Analisis kerentanan keamanan dan saran pencegahan.

robot
Pembuatan abstrak sedang berlangsung

Analisis Insiden Serangan Re-Entrant pada OrionProtocol

Pada tanggal 2 Februari 2023 sore, Orion Protocol di Ethereum dan Binance Smart Chain mengalami serangan reentrancy akibat kerentanan kontrak, yang mengakibatkan kerugian sekitar 2,9 juta dolar AS. Penyerang memanfaatkan kerentanan dalam kontrak dengan membuat kontrak Token khusus untuk melakukan operasi callback, sehingga berhasil melakukan serangan reentrancy.

Analisis Proses Serangan

Penyerang pertama-tama membuat kontrak Token khusus, dan melakukan operasi transfer dan otorisasi terkait. Selanjutnya, penyerang meminjam melalui metode swap di DEX tertentu, dan memanggil metode swapThroughOrionPool dari OrionProtocol untuk menukar token. Selama proses penukaran, penyerang memanfaatkan kontrak Token yang mereka buat untuk melakukan callback, memanggil metode depositAsset secara berulang, yang menyebabkan jumlah deposit terakumulasi. Akhirnya, penyerang menyelesaikan keuntungan melalui operasi penarikan.

Analisis serangan reentrancy OrionProtocol dengan PoC

Arus Dana

Modal awal penyerang berasal dari akun dompet panas di suatu platform perdagangan. Dari 1651 ETH yang diperoleh, 657,5 ETH masih tersisa di alamat dompet penyerang, sementara sisanya telah dipindahkan melalui alat pencampuran koin.

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis Kerentanan

Masalah inti terletak pada fungsi doSwapThroughOrionPool. Fungsi ini memperbarui variabel curBalance setelah melakukan transfer token, tetapi tidak mempertimbangkan risiko serangan reentrancy yang mungkin ada. Penyerang dapat menambahkan logika callback dalam fungsi transfer token kustom, yang menyebabkan curBalance diperbarui secara salah, sehingga memungkinkan terjadinya serangan.

Analisis Serangan Reentrancy OrionProtocol dengan PoC

Analisis serangan reentrancy OrionProtocol dengan PoC

OrionProtocol Analisis Serangan Reentrancy dengan PoC

Analisis serangan reentrancy OrionProtocol dengan PoC

Reproduksi Serangan

Para peneliti telah menyediakan sebagian kode POC yang mensimulasikan proses serangan. Hasil pengujian menunjukkan bahwa dengan memanfaatkan celah dalam kontrak, mereka berhasil mereplikasi aliran dana yang mirip dengan serangan yang sebenarnya.

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 Keamanan

  1. Dalam pengembangan kontrak, harus mempertimbangkan risiko potensial yang mungkin ditimbulkan oleh berbagai Token dan jalur pertukaran.
  2. Mematuhi standar pengkodean "Cek-Dampak-Interaksi" (Checks-Effects-Interactions), lakukan penilaian terlebih dahulu, kemudian perbarui variabel status, dan terakhir lakukan panggilan eksternal.
  3. Perkuat langkah-langkah perlindungan terhadap serangan reentrancy, seperti menggunakan kunci reentrancy dan metode lainnya.
  4. Melakukan audit keamanan yang menyeluruh, dengan perhatian khusus pada fungsi-fungsi yang mungkin dapat dimanfaatkan untuk serangan reentrancy.
  5. Secara berkala memperbarui dan mengoptimalkan kode kontrak, serta segera memperbaiki celah yang ditemukan.

Kejadian ini sekali lagi mengingatkan pihak proyek Web3 untuk sangat memperhatikan keamanan kontrak pintar. Pengembang kontrak harus lebih berhati-hati dalam menangani logika yang melibatkan transfer dana, dan mempertimbangkan berbagai kemungkinan skenario serangan. Selain itu, melakukan audit keamanan secara berkala dan program bug bounty juga merupakan cara efektif untuk menjaga keamanan proyek.

TOKEN2.68%
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
  • Bagikan
Komentar
0/400
MevTearsvip
· 07-23 02:41
Bodoh! Sekali lagi tentang reentrancy yang sudah basi
Lihat AsliBalas0
MetaMiseryvip
· 07-21 02:18
Sudah datang lagi untuk dianggap bodoh, menyedihkan
Lihat AsliBalas0
RetailTherapistvip
· 07-20 20:40
还有 siapa terjebak
Lihat AsliBalas0
PositionPhobiavip
· 07-20 03:55
Sekali lagi kontrak pintar mengalami kegagalan.
Lihat AsliBalas0
CryptoTherapistvip
· 07-20 03:55
mari kita lakukan beberapa pernapasan sadar sebelum kita membahas trauma masuk kembali ini
Lihat AsliBalas0
RektCoastervip
· 07-20 03:45
Skema rekurisi masuk ulang klasik, sudah sering dibahas.
Lihat AsliBalas0
SnapshotDayLaborervip
· 07-20 03:33
Lagi-lagi dipotong kupon klip, menyedihkan
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)