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
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.
11 Suka
Hadiah
11
6
Bagikan
Komentar
0/400
TokenGuru
· 21jam yang lalu
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.