Poolz mengalami serangan kerentanan overflow aritmatika, kehilangan sekitar 66,5 ribu dolar AS
Baru-baru ini, sebuah insiden serangan terhadap Poolz menarik perhatian luas dari komunitas cryptocurrency. Menurut data pemantauan di blockchain, serangan terjadi pada 15 Maret 2023, melibatkan beberapa chain seperti Ethereum, BNB Chain, dan Polygon. Serangan ini mengakibatkan berbagai token mengalami kerugian dengan total nilai sekitar 66,5 ribu dolar.
Penyerang memanfaatkan kerentanan overflow aritmetika dalam kontrak pintar Poolz. Secara spesifik, masalah terletak pada fungsi getArraySum dalam fungsi CreateMassPools. Fungsi ini, saat menghitung jumlah token, mengalami masalah overflow yang menyebabkan jumlah token yang sebenarnya masuk tidak sesuai dengan jumlah yang tercatat.
Proses serangan secara umum adalah sebagai berikut:
Penyerang pertama-tama menukarkan beberapa token MNZ di sebuah bursa terdesentralisasi.
Kemudian memanggil fungsi CreateMassPools. Fungsi ini seharusnya memungkinkan pengguna untuk membuat kumpulan likuiditas secara massal dan menyediakan likuiditas awal.
Dalam proses CreatePool, karena masalah overflow pada fungsi getArraySum, penyerang hanya perlu mentransfer 1 token, tetapi sistem mencatat nilai yang jauh lebih besar daripada jumlah sebenarnya.
Terakhir, penyerang menarik token yang jauh melebihi jumlah yang sebenarnya mereka simpan melalui fungsi withdraw, sehingga menyelesaikan serangan.
Kejadian ini sekali lagi menyoroti pentingnya dan risiko potensial dari operasi aritmatika dalam kontrak pintar. Untuk mencegah masalah serupa, pengembang harus mempertimbangkan untuk menggunakan versi terbaru dari kompiler Solidity, yang secara otomatis melakukan pemeriksaan overflow. Untuk proyek yang menggunakan versi Solidity yang lebih lama, disarankan untuk menggunakan pustaka SafeMath dari OpenZeppelin untuk menangani operasi integer, guna menghindari risiko overflow.
Peristiwa ini mengingatkan kita bahwa dalam pengembangan blockchain dan kontrak pintar, keamanan harus selalu menjadi prioritas utama. Audit kode secara berkala, menggunakan pustaka yang terverifikasi, serta mengambil langkah-langkah keamanan yang komprehensif sangat penting untuk melindungi aset pengguna dan memelihara reputasi 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.
5 Suka
Hadiah
5
2
Bagikan
Komentar
0/400
GweiTooHigh
· 22jam yang lalu
Ini adalah overflows lagi. Sekarang masih ada proyek yang melakukan kesalahan dasar ini.
Lihat AsliBalas0
bridge_anxiety
· 22jam yang lalu
Proyek tua ini juga memiliki celah? Sulit untuk bertahan.
Poolz mengalami serangan overflow aritmatika dengan kerugian sebesar 66,5 ribu dolar AS
Poolz mengalami serangan kerentanan overflow aritmatika, kehilangan sekitar 66,5 ribu dolar AS
Baru-baru ini, sebuah insiden serangan terhadap Poolz menarik perhatian luas dari komunitas cryptocurrency. Menurut data pemantauan di blockchain, serangan terjadi pada 15 Maret 2023, melibatkan beberapa chain seperti Ethereum, BNB Chain, dan Polygon. Serangan ini mengakibatkan berbagai token mengalami kerugian dengan total nilai sekitar 66,5 ribu dolar.
Penyerang memanfaatkan kerentanan overflow aritmetika dalam kontrak pintar Poolz. Secara spesifik, masalah terletak pada fungsi getArraySum dalam fungsi CreateMassPools. Fungsi ini, saat menghitung jumlah token, mengalami masalah overflow yang menyebabkan jumlah token yang sebenarnya masuk tidak sesuai dengan jumlah yang tercatat.
Proses serangan secara umum adalah sebagai berikut:
Penyerang pertama-tama menukarkan beberapa token MNZ di sebuah bursa terdesentralisasi.
Kemudian memanggil fungsi CreateMassPools. Fungsi ini seharusnya memungkinkan pengguna untuk membuat kumpulan likuiditas secara massal dan menyediakan likuiditas awal.
Dalam proses CreatePool, karena masalah overflow pada fungsi getArraySum, penyerang hanya perlu mentransfer 1 token, tetapi sistem mencatat nilai yang jauh lebih besar daripada jumlah sebenarnya.
Terakhir, penyerang menarik token yang jauh melebihi jumlah yang sebenarnya mereka simpan melalui fungsi withdraw, sehingga menyelesaikan serangan.
Kejadian ini sekali lagi menyoroti pentingnya dan risiko potensial dari operasi aritmatika dalam kontrak pintar. Untuk mencegah masalah serupa, pengembang harus mempertimbangkan untuk menggunakan versi terbaru dari kompiler Solidity, yang secara otomatis melakukan pemeriksaan overflow. Untuk proyek yang menggunakan versi Solidity yang lebih lama, disarankan untuk menggunakan pustaka SafeMath dari OpenZeppelin untuk menangani operasi integer, guna menghindari risiko overflow.
Peristiwa ini mengingatkan kita bahwa dalam pengembangan blockchain dan kontrak pintar, keamanan harus selalu menjadi prioritas utama. Audit kode secara berkala, menggunakan pustaka yang terverifikasi, serta mengambil langkah-langkah keamanan yang komprehensif sangat penting untuk melindungi aset pengguna dan memelihara reputasi proyek.