Poolz подвергся атаке, что привело к убыткам примерно в 665 тысяч долларов США
На днях инцидент с атакой на Poolz привлек широкое внимание криптовалютного сообщества. Согласно данным на блокчейне, атака произошла 15 марта 2023 года и затронула несколько сетей, включая Ethereum, BNB Chain и Polygon. Злоумышленники использовали уязвимость арифметического переполнения в смарт-контракте, успешно похитив большое количество токенов, общая стоимость которых составляет почти 665 000 долларов.
Атака затронула несколько токенов, включая MEE, ESNC, DON, ASW, KMON, POOLZ и другие. Часть токенов, полученных злоумышленниками, была обменена на BNB, но на данный момент эти средства еще не были переведены.
Процесс атаки в основном делится на три этапа:
Злоумышленник сначала обменял определенное количество токенов MNZ через одну децентрализованную биржу.
Затем злоумышленник вызвал функцию CreateMassPools. Эта функция должна была позволить пользователям массово создавать пулы ликвидности и предоставлять первоначальную ликвидность. Однако из-за проблемы с арифметическим переполнением в функции getArraySum злоумышленник смог воспользоваться этой уязвимостью. В частности, массив _StartAmount, переданный злоумышленником, содержал значения, превышающие предел uint256, что привело к переполнению суммы и окончательному возвращаемому значению 1. Это позволило злоумышленнику внести всего 1 токен и зарегистрировать в системе ликвидность, значительно превышающую фактическое количество.
Наконец, злоумышленник, вызвав функцию withdraw, извлек токены и завершил весь процесс атаки.
Данная ситуация вновь подчеркивает важность безопасности смарт-контрактов, особенно при работе с большими числовыми вычислениями. Чтобы предотвратить подобные проблемы, разработчикам следует рассмотреть возможность использования более новых версий языка программирования Solidity, которые автоматически выполняют проверку на переполнение в процессе компиляции. Для проектов, использующих более старые версии Solidity, рекомендуется воспользоваться библиотекой SafeMath от OpenZeppelin для предотвращения проблем с переполнением целых чисел.
Этот инцидент с атакой напоминает нам о том, что в быстро развивающейся области блокчейна безопасность всегда является приоритетом. Проектам необходимо постоянно пересматривать и обновлять свои меры безопасности, а пользователи также должны оставаться бдительными и осторожно участвовать в различных DeFi-активностях.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Poolz подвергся атаке с переполнением арифметики, потеряв 665 000 долларов США.
Poolz подвергся атаке, что привело к убыткам примерно в 665 тысяч долларов США
На днях инцидент с атакой на Poolz привлек широкое внимание криптовалютного сообщества. Согласно данным на блокчейне, атака произошла 15 марта 2023 года и затронула несколько сетей, включая Ethereum, BNB Chain и Polygon. Злоумышленники использовали уязвимость арифметического переполнения в смарт-контракте, успешно похитив большое количество токенов, общая стоимость которых составляет почти 665 000 долларов.
Атака затронула несколько токенов, включая MEE, ESNC, DON, ASW, KMON, POOLZ и другие. Часть токенов, полученных злоумышленниками, была обменена на BNB, но на данный момент эти средства еще не были переведены.
Процесс атаки в основном делится на три этапа:
Злоумышленник сначала обменял определенное количество токенов MNZ через одну децентрализованную биржу.
Затем злоумышленник вызвал функцию CreateMassPools. Эта функция должна была позволить пользователям массово создавать пулы ликвидности и предоставлять первоначальную ликвидность. Однако из-за проблемы с арифметическим переполнением в функции getArraySum злоумышленник смог воспользоваться этой уязвимостью. В частности, массив _StartAmount, переданный злоумышленником, содержал значения, превышающие предел uint256, что привело к переполнению суммы и окончательному возвращаемому значению 1. Это позволило злоумышленнику внести всего 1 токен и зарегистрировать в системе ликвидность, значительно превышающую фактическое количество.
Данная ситуация вновь подчеркивает важность безопасности смарт-контрактов, особенно при работе с большими числовыми вычислениями. Чтобы предотвратить подобные проблемы, разработчикам следует рассмотреть возможность использования более новых версий языка программирования Solidity, которые автоматически выполняют проверку на переполнение в процессе компиляции. Для проектов, использующих более старые версии Solidity, рекомендуется воспользоваться библиотекой SafeMath от OpenZeppelin для предотвращения проблем с переполнением целых чисел.
Этот инцидент с атакой напоминает нам о том, что в быстро развивающейся области блокчейна безопасность всегда является приоритетом. Проектам необходимо постоянно пересматривать и обновлять свои меры безопасности, а пользователи также должны оставаться бдительными и осторожно участвовать в различных DeFi-активностях.