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. Даже простые арифметические операции, если их неправильно обработать, могут привести к серьезным уязвимостям безопасности. Команды проектов должны уделять больше внимания аудиту кода и принимать необходимые меры безопасности для защиты активов пользователей.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
18 Лайков
Награда
18
6
Поделиться
комментарий
0/400
GateUser-3824aa38
· 07-09 07:43
Снова украли, да?
Посмотреть ОригиналОтветить0
LiquidatedDreams
· 07-09 06:59
Что снова случилось? Ах.
Посмотреть ОригиналОтветить0
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. Даже простые арифметические операции, если их неправильно обработать, могут привести к серьезным уязвимостям безопасности. Команды проектов должны уделять больше внимания аудиту кода и принимать необходимые меры безопасности для защиты активов пользователей.