Poolz mengalami serangan overflow aritmatika dengan kerugian sebesar 665.000 dolar AS, proyek multi-rantai terpengaruh.

Poolz mengalami serangan overflow aritmatika, mengalami kerugian sekitar 66,5 ribu dolar AS

Baru-baru ini, proyek Poolz di beberapa jaringan blockchain diserang, menyebabkan banyak token dicuri dengan total nilai sekitar 66,5 ribu dolar AS. Serangan ini terjadi pada 15 Maret 2023, mempengaruhi kontrak Poolz di beberapa jaringan seperti Ethereum, BNB Chain, dan Polygon.

Penyerang memanfaatkan celah overflow aritmatika dalam kontrak pintar Poolz. Secara spesifik, masalah terletak pada fungsi getArraySum dalam fungsi CreateMassPools. Fungsi ini, saat menghitung likuiditas awal kolam, menyebabkan penyerang hanya perlu mentransfer sedikit token untuk menciptakan ilusi likuiditas yang besar karena overflow integer.

Poolz mengalami serangan akibat masalah overflow aritmatika, kehilangan sekitar 665K dolar!

Proses serangan adalah sebagai berikut:

  1. Penyerang pertama-tama menukarkan sejumlah kecil token MNZ di DEX tertentu.

  2. Selanjutnya memanggil fungsi CreateMassPools yang memiliki celah. Fungsi ini memungkinkan pengguna untuk membuat kumpulan likuiditas secara massal dan memberikan likuiditas awal.

  3. Saat menghitung jumlah likuiditas awal, fungsi getArraySum mengalami overflow bilangan bulat. Jumlah array yang dimasukkan oleh penyerang melebihi nilai maksimum yang dapat diwakili oleh uint256, menyebabkan nilai pengembalian fungsi menjadi 1.

  4. Namun, kontrak masih menggunakan nilai array _StartAmount yang asli saat mencatat atribut kolam. Ini menyebabkan penyerang sebenarnya hanya mentransfer 1 token, tetapi dicatat memiliki likuiditas yang besar.

  5. Terakhir, penyerang memanggil fungsi withdraw untuk menarik dana, menyelesaikan serangan.

Poolz diserang karena masalah overflow aritmatika, mengalami kerugian sekitar 665K dolar!

Kejadian ini mengungkapkan bahaya dari overflow aritmetika dalam kontrak pintar. Untuk mencegah masalah serupa, pengembang harus mempertimbangkan untuk menggunakan versi terbaru dari compiler Solidity, yang secara otomatis melakukan pemeriksaan overflow. Untuk proyek yang menggunakan versi Solidity yang lebih lama, dapat menggunakan pustaka SafeMath dari OpenZeppelin untuk menangani operasi integer, guna menghindari risiko overflow.

Poolz diserang karena masalah overflow aritmatika, kehilangan sekitar 665K dolar AS!

Serangan kali ini sekali lagi menekankan pentingnya perhatian khusus terhadap keamanan operasi aritmatika saat mengembangkan dan mengaudit kontrak pintar. Pada saat yang sama, pihak proyek juga harus secara teratur melakukan audit keamanan untuk segera menemukan dan memperbaiki potensi kerentanan, demi melindungi keamanan aset pengguna.

Poolz mengalami serangan karena masalah overflow aritmatika, mengalami kerugian sekitar 665K USD!

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
  • 6
  • Bagikan
Komentar
0/400
OnChainDetectivevip
· 7jam yang lalu
melihat pola serangan ini sebelumnya... kesalahan rookie overflow integer. kapan para pengembang akan belajar untuk menggunakan safeMath smh
Lihat AsliBalas0
AirdropGrandpavip
· 7jam yang lalu
Ini adalah stack overflow lagi, benar-benar buruk.
Lihat AsliBalas0
CryptoSurvivorvip
· 7jam yang lalu
Kekurangan kecil seperti ini dapat ditemukan, benar-benar seperti lalat yang berkerumun.
Lihat AsliBalas0
FrogInTheWellvip
· 7jam yang lalu
Sudah overflow lagi... Apakah audit keamanan mengerti?
Lihat AsliBalas0
AlwaysAnonvip
· 7jam yang lalu
Satu proyek lagi sudah berhenti.
Lihat AsliBalas0
HodlTheDoorvip
· 7jam yang lalu
Belum cukup dapat barang gratis sudah bangkrut ya
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)