Poolz mengalami serangan overflows aritmatika, kehilangan sekitar 66,5 ribu dolar AS
Baru-baru ini, proyek Poolz di jaringan Ethereum, Binance, dan Polygon diserang oleh peretas, menyebabkan kerugian besar. Menurut data di blockchain, serangan terjadi pada 15 Maret 2023, melibatkan berbagai token dengan total nilai sekitar 665.000 dolar.
Penyerang memanfaatkan celah overflow aritmatika dalam kontrak Poolz untuk melaksanakan serangan ini. Masalah utama muncul di dalam fungsi CreateMassPools, yang memungkinkan pengguna untuk membuat kumpulan likuiditas secara massal dan memberikan likuiditas awal. Penyerang, melalui parameter input yang dirancang dengan cermat, membuat fungsi getArraySum menghasilkan overflow, sehingga hanya dengan memasukkan 1 token, sistem mencatat nilai yang sangat besar.
Proses serangan adalah sebagai berikut:
Penyerang pertama-tama menukarkan beberapa token MNZ melalui bursa terdesentralisasi.
Selanjutnya, panggil fungsi CreateMassPools dan manfaatkan kerentanan dari fungsi getArraySum di dalamnya. Fungsi ini mengembalikan 1 karena terjadi overflow saat menjumlahkan array _StartAmount yang dimasukkan oleh pengguna, sementara nilai yang sebenarnya tercatat adalah angka yang jauh lebih besar.
Terakhir, penyerang menarik dana dengan memanggil fungsi withdraw, menyelesaikan seluruh proses serangan.
Peristiwa ini sekali lagi menyoroti seriusnya masalah overflow aritmatika dalam kontrak pintar. Untuk mencegah masalah serupa, pengembang harus mempertimbangkan untuk menggunakan versi terbaru dari compiler Solidity, yang secara otomatis melakukan pemeriksaan overflow selama proses kompilasi. Untuk proyek yang menggunakan versi Solidity yang lebih lama, dapat menggunakan pustaka keamanan pihak ketiga untuk mengatasi masalah overflow integer.
Serangan kali ini juga mengingatkan kita bahwa saat menangani kontrak pintar yang melibatkan banyak perhitungan, kita harus sangat berhati-hati, memastikan bahwa semua kemungkinan kasus batas ditangani dengan baik. Selain itu, melakukan audit keamanan secara berkala dan program bug bounty juga merupakan langkah efektif untuk menjaga keamanan proyek.
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.
14 Suka
Hadiah
14
7
Bagikan
Komentar
0/400
LazyDevMiner
· 07-14 00:24
ratusan ribu Air lah Air lah
Lihat AsliBalas0
TokenGuru
· 07-12 10:21
Aduh proyek lama juga gagal, segera hentikan transfer uang, jangan masukkan posisi koin.
Lihat AsliBalas0
just_another_wallet
· 07-12 03:38
Lagi-lagi mengalami kegagalan, sigh.
Lihat AsliBalas0
TokenomicsTherapist
· 07-12 03:28
Satu lagi proyek yang tidak profesional sudah doomed
Poolz mengalami serangan overflow aritmatika, kehilangan 665.000 dolar AS
Poolz mengalami serangan overflows aritmatika, kehilangan sekitar 66,5 ribu dolar AS
Baru-baru ini, proyek Poolz di jaringan Ethereum, Binance, dan Polygon diserang oleh peretas, menyebabkan kerugian besar. Menurut data di blockchain, serangan terjadi pada 15 Maret 2023, melibatkan berbagai token dengan total nilai sekitar 665.000 dolar.
Penyerang memanfaatkan celah overflow aritmatika dalam kontrak Poolz untuk melaksanakan serangan ini. Masalah utama muncul di dalam fungsi CreateMassPools, yang memungkinkan pengguna untuk membuat kumpulan likuiditas secara massal dan memberikan likuiditas awal. Penyerang, melalui parameter input yang dirancang dengan cermat, membuat fungsi getArraySum menghasilkan overflow, sehingga hanya dengan memasukkan 1 token, sistem mencatat nilai yang sangat besar.
Proses serangan adalah sebagai berikut:
Penyerang pertama-tama menukarkan beberapa token MNZ melalui bursa terdesentralisasi.
Selanjutnya, panggil fungsi CreateMassPools dan manfaatkan kerentanan dari fungsi getArraySum di dalamnya. Fungsi ini mengembalikan 1 karena terjadi overflow saat menjumlahkan array _StartAmount yang dimasukkan oleh pengguna, sementara nilai yang sebenarnya tercatat adalah angka yang jauh lebih besar.
Terakhir, penyerang menarik dana dengan memanggil fungsi withdraw, menyelesaikan seluruh proses serangan.
Peristiwa ini sekali lagi menyoroti seriusnya masalah overflow aritmatika dalam kontrak pintar. Untuk mencegah masalah serupa, pengembang harus mempertimbangkan untuk menggunakan versi terbaru dari compiler Solidity, yang secara otomatis melakukan pemeriksaan overflow selama proses kompilasi. Untuk proyek yang menggunakan versi Solidity yang lebih lama, dapat menggunakan pustaka keamanan pihak ketiga untuk mengatasi masalah overflow integer.
Serangan kali ini juga mengingatkan kita bahwa saat menangani kontrak pintar yang melibatkan banyak perhitungan, kita harus sangat berhati-hati, memastikan bahwa semua kemungkinan kasus batas ditangani dengan baik. Selain itu, melakukan audit keamanan secara berkala dan program bug bounty juga merupakan langkah efektif untuk menjaga keamanan proyek.