Poolz подвергся атаке переполнения, понес убытки около 66,5 тысячи долларов
Недавно проект Poolz в сети Ethereum, Binance и Polygon подвергся хакерской атаке, что привело к значительным убыткам. Согласно данным на блокчейне, атака произошла 15 марта 2023 года и затронула несколько токенов, общая стоимость которых составляет примерно 665000 долларов.
Злоумышленник воспользовался уязвимостью переполнения арифметики в контракте Poolz для осуществления этой атаки. Основная проблема возникла в функции CreateMassPools, которая позволяет пользователям массово создавать ликвидные пулы и предоставлять начальную ликвидность. Злоумышленник с помощью тщательно сконструированных входных параметров заставил функцию getArraySum вызвать переполнение, в результате чего в системе было зафиксировано огромное значение при вводе всего лишь 1 токена.
Процесс атаки следующий:
Атакующий сначала обменял некоторые токены MNZ через децентрализованную биржу.
Затем вызывается функция CreateMassPools, используя уязвимость функции getArraySum. Эта функция возвращает 1 из-за переполнения при суммировании массива _StartAmount, введенного пользователем, тогда как фактически записанное значение является значительно большим.
В конце концов, злоумышленник вызвал функцию withdraw, чтобы вывести средства и завершить весь процесс атаки.
Это событие вновь подчеркивает серьезность проблемы арифметического переполнения в смарт-контрактах. Чтобы предотвратить подобные проблемы, разработчики должны рассмотреть возможность использования более новых версий компилятора Solidity, которые автоматически выполняют проверку на переполнение в процессе компиляции. Для проектов, использующих более ранние версии Solidity, можно использовать сторонние библиотеки безопасности для решения проблемы переполнения целых чисел.
Эта атака также напоминает нам о том, что при работе с умными контрактами, требующими значительных вычислений, необходимо проявлять особую осторожность, чтобы гарантировать надлежащее управление всеми возможными крайними случаями. В то же время регулярные проверки безопасности и программы поощрения за уязвимости также являются эффективными мерами для обеспечения безопасности проекта.
Посмотреть Оригинал
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.
11 Лайков
Награда
11
6
Поделиться
комментарий
0/400
TokenGuru
· 22ч назад
Ай-яй-яй, старый проект тоже завалился. Переводите деньги, быстрее остановитесь. Не закидывайте токены, войдите в позицию.
Посмотреть ОригиналОтветить0
just_another_wallet
· 07-12 03:38
Снова провалился, ай.
Посмотреть ОригиналОтветить0
TokenomicsTherapist
· 07-12 03:28
Еще один непрофессиональный проект обречен.
Посмотреть ОригиналОтветить0
FlashLoanLord
· 07-12 03:28
Дай мне помочь тебе с кастрюлей.
Посмотреть ОригиналОтветить0
ForumMiningMaster
· 07-12 03:20
Проблемы со смарт-контрактами возникают каждый день!
Poolz подвергся атаке переполнения арифметики, потеряв 665000 долларов США.
Poolz подвергся атаке переполнения, понес убытки около 66,5 тысячи долларов
Недавно проект Poolz в сети Ethereum, Binance и Polygon подвергся хакерской атаке, что привело к значительным убыткам. Согласно данным на блокчейне, атака произошла 15 марта 2023 года и затронула несколько токенов, общая стоимость которых составляет примерно 665000 долларов.
Злоумышленник воспользовался уязвимостью переполнения арифметики в контракте Poolz для осуществления этой атаки. Основная проблема возникла в функции CreateMassPools, которая позволяет пользователям массово создавать ликвидные пулы и предоставлять начальную ликвидность. Злоумышленник с помощью тщательно сконструированных входных параметров заставил функцию getArraySum вызвать переполнение, в результате чего в системе было зафиксировано огромное значение при вводе всего лишь 1 токена.
Процесс атаки следующий:
Атакующий сначала обменял некоторые токены MNZ через децентрализованную биржу.
Затем вызывается функция CreateMassPools, используя уязвимость функции getArraySum. Эта функция возвращает 1 из-за переполнения при суммировании массива _StartAmount, введенного пользователем, тогда как фактически записанное значение является значительно большим.
В конце концов, злоумышленник вызвал функцию withdraw, чтобы вывести средства и завершить весь процесс атаки.
Это событие вновь подчеркивает серьезность проблемы арифметического переполнения в смарт-контрактах. Чтобы предотвратить подобные проблемы, разработчики должны рассмотреть возможность использования более новых версий компилятора Solidity, которые автоматически выполняют проверку на переполнение в процессе компиляции. Для проектов, использующих более ранние версии Solidity, можно использовать сторонние библиотеки безопасности для решения проблемы переполнения целых чисел.
Эта атака также напоминает нам о том, что при работе с умными контрактами, требующими значительных вычислений, необходимо проявлять особую осторожность, чтобы гарантировать надлежащее управление всеми возможными крайними случаями. В то же время регулярные проверки безопасности и программы поощрения за уязвимости также являются эффективными мерами для обеспечения безопасности проекта.