Poolz столкнулся с атакой арифметического переполнения, убытки составили около 665 000 долларов США
Недавно несколько проектов Poolz на различных блокчейн-сетях стали жертвами хакерских атак, в результате чего было похищено множество токенов на общую сумму около 66,5 тысяч долларов США. Эти атаки в основном произошли на таких сетях, как Ethereum, BNB Chain и Polygon.
Злоумышленник воспользовался уязвимостью переполнения арифметики в смарт-контракте Poolz. В частности, проблема заключается в функции getArraySum функции CreateMassPools. Эта функция выполняет суммирование, проходя по массиву _StartAmount, но не обрабатывает переполнение должным образом. Злоумышленник хитро сконструировал массив с огромными значениями, в результате чего сумма превышает диапазон uint256, и конечное значение возвращается как 1.
Процесс атаки следующий:
Злоумышленник сначала обменял некоторые токены MNZ на одном из DEX.
Затем вызывается функция CreateMassPools, передавая тщательно подобранные параметры. Хотя фактически переводится только 1 токен, _StartAmount фиксирует огромное значение.
В конце с помощью функции withdraw вывести средства и завершить атаку.
Этот инцидент касается различных токенов, включая MEE, ESNC, DON, ASW, KMON, POOLZ и других. Наибольшие убытки понесли токены ASW, более 2 миллиардов.
Чтобы предотвратить повторение подобных проблем, рекомендуется разработчикам использовать более новую версию компилятора Solidity, в которой встроена функция проверки на переполнение. Для проектов, использующих более ранние версии Solidity, можно рассмотреть возможность внедрения библиотеки SafeMath от OpenZeppelin для обработки проблем с переполнением целых чисел.
Эта атака снова напомнила о важности безопасности смарт-контрактов для проектов DeFi. Даже простые арифметические операции, если их неправильно обработать, могут привести к серьезным уязвимостям безопасности. Команды проектов должны уделять больше внимания аудиту кода и принимать необходимые меры безопасности для защиты активов пользователей.
Посмотреть Оригинал
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.
17 Лайков
Награда
17
4
Поделиться
комментарий
0/400
FarmHopper
· 07-06 08:17
Еще один проект провалился
Посмотреть ОригиналОтветить0
GasFeeWhisperer
· 07-06 08:12
Уязвимость переполнения может быть такой серьезной.
Poolz подвергся атаке переполнения арифметики, убытки от многосетевого взаимодействия составили 66,5 тысячи долларов США.
Poolz столкнулся с атакой арифметического переполнения, убытки составили около 665 000 долларов США
Недавно несколько проектов Poolz на различных блокчейн-сетях стали жертвами хакерских атак, в результате чего было похищено множество токенов на общую сумму около 66,5 тысяч долларов США. Эти атаки в основном произошли на таких сетях, как Ethereum, BNB Chain и Polygon.
Злоумышленник воспользовался уязвимостью переполнения арифметики в смарт-контракте Poolz. В частности, проблема заключается в функции getArraySum функции CreateMassPools. Эта функция выполняет суммирование, проходя по массиву _StartAmount, но не обрабатывает переполнение должным образом. Злоумышленник хитро сконструировал массив с огромными значениями, в результате чего сумма превышает диапазон uint256, и конечное значение возвращается как 1.
Процесс атаки следующий:
Злоумышленник сначала обменял некоторые токены MNZ на одном из DEX.
Затем вызывается функция CreateMassPools, передавая тщательно подобранные параметры. Хотя фактически переводится только 1 токен, _StartAmount фиксирует огромное значение.
В конце с помощью функции withdraw вывести средства и завершить атаку.
Этот инцидент касается различных токенов, включая MEE, ESNC, DON, ASW, KMON, POOLZ и других. Наибольшие убытки понесли токены ASW, более 2 миллиардов.
Чтобы предотвратить повторение подобных проблем, рекомендуется разработчикам использовать более новую версию компилятора Solidity, в которой встроена функция проверки на переполнение. Для проектов, использующих более ранние версии Solidity, можно рассмотреть возможность внедрения библиотеки SafeMath от OpenZeppelin для обработки проблем с переполнением целых чисел.
Эта атака снова напомнила о важности безопасности смарт-контрактов для проектов DeFi. Даже простые арифметические операции, если их неправильно обработать, могут привести к серьезным уязвимостям безопасности. Команды проектов должны уделять больше внимания аудиту кода и принимать необходимые меры безопасности для защиты активов пользователей.