Poolz mengalami serangan kerentanan overflow aritmatika, kehilangan sekitar 66,5 ribu dolar AS
Baru-baru ini, proyek Poolz di jaringan Ethereum, Binance Smart Chain, dan Polygon mengalami serangan, yang mengakibatkan pencurian berbagai token dengan total nilai sekitar 66,5 ribu dolar AS. Serangan terjadi pada sekitar pukul 3:16 pagi UTC pada 15 Maret 2023.
Menurut data on-chain, serangan ini melibatkan berbagai token, termasuk MEE, ESNC, DON, ASW, KMON, POOLZ, dan lainnya. Penyerang telah menukar sebagian token yang dicuri menjadi BNB, tetapi saat ini dana tersebut belum dipindahkan.
Serangan terutama memanfaatkan celah overflow aritmatika dalam kontrak Poolz. Secara spesifik, masalah terletak pada fungsi getArraySum dalam fungsi CreateMassPools. Fungsi ini tidak menangani nilai besar dengan benar saat menghitung likuiditas awal untuk pembuatan kolam massal oleh pengguna, yang menyebabkan overflow integer.
Penyerang dengan cermat menyusun parameter input sehingga fungsi getArraySum mengembalikan nilai 1, sementara nilai _StartAmount yang sebenarnya adalah angka yang sangat besar. Dengan cara ini, penyerang hanya perlu mentransfer 1 token untuk mencatat jumlah besar likuiditas awal dalam sistem. Selanjutnya, penyerang memanggil fungsi withdraw untuk menarik "likuiditas" "palsu" ini, sehingga menyelesaikan serangan.
Untuk mencegah masalah serupa terjadi lagi, para ahli menyarankan pengembang untuk menggunakan versi compiler Solidity yang lebih baru, karena versi baru secara otomatis melakukan pemeriksaan overflow. Untuk proyek yang menggunakan versi Solidity yang lebih rendah, dapat mempertimbangkan untuk mengintegrasikan pustaka SafeMath dari OpenZeppelin untuk menangani operasi integer, guna menghindari risiko overflow.
Peristiwa ini sekali lagi mengingatkan kita bahwa penanganan keamanan operasi aritmetika dalam pengembangan kontrak pintar sangat penting. Para pengembang harus selalu waspada terhadap kemungkinan masalah overflow integer dan mengambil langkah-langkah yang tepat untuk melindungi keamanan kontrak.
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.
12 Suka
Hadiah
12
7
Bagikan
Komentar
0/400
CryptoPunster
· 07-09 19:50
Wah, ada masalah kontrak lagi. Para pemain sudah dipermainkan hingga celana dalam.
Lihat AsliBalas0
BoredRiceBall
· 07-08 04:48
Satu lagi celah muncul.
Lihat AsliBalas0
NotFinancialAdviser
· 07-06 20:27
Jumlah korban tidak terlalu besar ya~
Lihat AsliBalas0
LiquidationSurvivor
· 07-06 20:25
Kembali melihat proyek telanjang
Lihat AsliBalas0
SelfSovereignSteve
· 07-06 20:14
Satu lagi proyek airdrop dianggap bodoh telah doomed.
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, proyek Poolz di jaringan Ethereum, Binance Smart Chain, dan Polygon mengalami serangan, yang mengakibatkan pencurian berbagai token dengan total nilai sekitar 66,5 ribu dolar AS. Serangan terjadi pada sekitar pukul 3:16 pagi UTC pada 15 Maret 2023.
Menurut data on-chain, serangan ini melibatkan berbagai token, termasuk MEE, ESNC, DON, ASW, KMON, POOLZ, dan lainnya. Penyerang telah menukar sebagian token yang dicuri menjadi BNB, tetapi saat ini dana tersebut belum dipindahkan.
Serangan terutama memanfaatkan celah overflow aritmatika dalam kontrak Poolz. Secara spesifik, masalah terletak pada fungsi getArraySum dalam fungsi CreateMassPools. Fungsi ini tidak menangani nilai besar dengan benar saat menghitung likuiditas awal untuk pembuatan kolam massal oleh pengguna, yang menyebabkan overflow integer.
Penyerang dengan cermat menyusun parameter input sehingga fungsi getArraySum mengembalikan nilai 1, sementara nilai _StartAmount yang sebenarnya adalah angka yang sangat besar. Dengan cara ini, penyerang hanya perlu mentransfer 1 token untuk mencatat jumlah besar likuiditas awal dalam sistem. Selanjutnya, penyerang memanggil fungsi withdraw untuk menarik "likuiditas" "palsu" ini, sehingga menyelesaikan serangan.
Untuk mencegah masalah serupa terjadi lagi, para ahli menyarankan pengembang untuk menggunakan versi compiler Solidity yang lebih baru, karena versi baru secara otomatis melakukan pemeriksaan overflow. Untuk proyek yang menggunakan versi Solidity yang lebih rendah, dapat mempertimbangkan untuk mengintegrasikan pustaka SafeMath dari OpenZeppelin untuk menangani operasi integer, guna menghindari risiko overflow.
Peristiwa ini sekali lagi mengingatkan kita bahwa penanganan keamanan operasi aritmetika dalam pengembangan kontrak pintar sangat penting. Para pengembang harus selalu waspada terhadap kemungkinan masalah overflow integer dan mengambil langkah-langkah yang tepat untuk melindungi keamanan kontrak.