Poolz mengalami serangan kerentanan overflow aritmatika, kehilangan mencapai 665.000 dolar AS
Baru-baru ini, sebuah insiden serangan terhadap platform lintas rantai Poolz menarik perhatian industri. Penyerang memanfaatkan kerentanan overflow aritmatika dalam kontrak pintar, berhasil mencuri sejumlah besar token dari berbagai jaringan seperti Ethereum, BNB Chain, dan Polygon, dengan kerugian diperkirakan sekitar 665.000 dolar.
Menurut data on-chain, serangan ini terjadi pada dini hari 15 Maret 2023. Penyerang memperoleh berbagai token, termasuk MEE, ESNC, DON, ASW, KMON, POOLZ, dan lainnya. Saat ini, sebagian dari dana yang dicuri telah ditukarkan menjadi BNB, tetapi belum dipindahkan ke alamat lain.
Penyerang terutama memanfaatkan celah pada fungsi CreateMassPools dalam kontrak pintar Poolz. Fungsi ini memungkinkan pengguna untuk membuat kolam likuiditas secara massal dan menyediakan likuiditas awal. Masalah terletak pada fungsi getArraySum, yang digunakan untuk menghitung jumlah token yang masuk. Penyerang dengan data input yang dirancang dengan cermat, membuat hasil penjumlahan melebihi batas tipe uint256, menyebabkan nilai kembali setelah overflow menjadi 1.
Overflows aritmatika ini memungkinkan penyerang hanya perlu mentransfer 1 token, untuk mencatat likuiditas besar yang jauh melebihi jumlah yang sebenarnya dalam sistem. Kemudian, penyerang dengan mudah mengekstrak sejumlah besar token yang tidak sah dengan memanggil fungsi withdraw.
Untuk mencegah terulangnya kejadian serupa, para ahli keamanan menyarankan pengembang untuk menggunakan versi Solidity yang lebih baru untuk mengompilasi kontrak, karena versi baru secara otomatis akan melakukan pemeriksaan overflow. Untuk proyek yang menggunakan versi Solidity yang lebih lama, dapat mempertimbangkan untuk mengintegrasikan pustaka SafeMath dari OpenZeppelin untuk mengatasi masalah overflow integer.
Peristiwa ini sekali lagi menyoroti pentingnya audit keamanan kontrak pintar, terutama saat menangani perhitungan nilai besar yang memerlukan kehati-hatian ekstra. Untuk proyek DeFi, pengujian keamanan yang komprehensif dan tinjauan kode secara berkala adalah langkah kunci untuk memastikan keamanan dana pengguna.
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.
20 Suka
Hadiah
20
9
Bagikan
Komentar
0/400
liquiditea_sipper
· 07-23 19:26
Serangan overflow lagi lagi lagi, tidak ada habisnya.
Lihat AsliBalas0
OnchainDetective
· 07-23 18:30
Dompet alamat serangan overflow sudah memiliki catatan interaksi yang mencurigakan Hmm.
Lihat AsliBalas0
MevShadowranger
· 07-22 14:54
又是老jebakan的溢出套路...
Lihat AsliBalas0
LonelyAnchorman
· 07-20 20:07
Satu lagi proyek lama yang gagal.
Lihat AsliBalas0
WalletDivorcer
· 07-20 20:06
Ini terlalu pendek, ya?
Lihat AsliBalas0
HodlNerd
· 07-20 19:59
secara statistik, bug overflow ini semakin dapat diprediksi... perlu analisis teori permainan yang lebih baik sejujurnya
Poolz diserang oleh serangan overflow aritmatika, kerugian multi-rantai sebesar 66,5 ribu dolar AS
Poolz mengalami serangan kerentanan overflow aritmatika, kehilangan mencapai 665.000 dolar AS
Baru-baru ini, sebuah insiden serangan terhadap platform lintas rantai Poolz menarik perhatian industri. Penyerang memanfaatkan kerentanan overflow aritmatika dalam kontrak pintar, berhasil mencuri sejumlah besar token dari berbagai jaringan seperti Ethereum, BNB Chain, dan Polygon, dengan kerugian diperkirakan sekitar 665.000 dolar.
Menurut data on-chain, serangan ini terjadi pada dini hari 15 Maret 2023. Penyerang memperoleh berbagai token, termasuk MEE, ESNC, DON, ASW, KMON, POOLZ, dan lainnya. Saat ini, sebagian dari dana yang dicuri telah ditukarkan menjadi BNB, tetapi belum dipindahkan ke alamat lain.
Penyerang terutama memanfaatkan celah pada fungsi CreateMassPools dalam kontrak pintar Poolz. Fungsi ini memungkinkan pengguna untuk membuat kolam likuiditas secara massal dan menyediakan likuiditas awal. Masalah terletak pada fungsi getArraySum, yang digunakan untuk menghitung jumlah token yang masuk. Penyerang dengan data input yang dirancang dengan cermat, membuat hasil penjumlahan melebihi batas tipe uint256, menyebabkan nilai kembali setelah overflow menjadi 1.
Overflows aritmatika ini memungkinkan penyerang hanya perlu mentransfer 1 token, untuk mencatat likuiditas besar yang jauh melebihi jumlah yang sebenarnya dalam sistem. Kemudian, penyerang dengan mudah mengekstrak sejumlah besar token yang tidak sah dengan memanggil fungsi withdraw.
Untuk mencegah terulangnya kejadian serupa, para ahli keamanan menyarankan pengembang untuk menggunakan versi Solidity yang lebih baru untuk mengompilasi kontrak, karena versi baru secara otomatis akan melakukan pemeriksaan overflow. Untuk proyek yang menggunakan versi Solidity yang lebih lama, dapat mempertimbangkan untuk mengintegrasikan pustaka SafeMath dari OpenZeppelin untuk mengatasi masalah overflow integer.
Peristiwa ini sekali lagi menyoroti pentingnya audit keamanan kontrak pintar, terutama saat menangani perhitungan nilai besar yang memerlukan kehati-hatian ekstra. Untuk proyek DeFi, pengujian keamanan yang komprehensif dan tinjauan kode secara berkala adalah langkah kunci untuk memastikan keamanan dana pengguna.