Poolz столкнулся с атакой на уязвимость арифметического переполнения, убытки составили около 665 тысяч долларов США
Недавно инцидент с атакой на Poolz привлек широкое внимание криптовалютного сообщества. Согласно данным мониторинга на блокчейне, атака произошла 15 марта 2023 года и затронула несколько сетей, включая Ethereum, BNB Chain и Polygon. В результате этой атаки несколько токенов понесли убытки на общую сумму около 665 000 долларов США.
Атакующий использовал уязвимость переполнения арифметики в смарт-контракте Poolz. В частности, проблема заключается в функции getArraySum в функции CreateMassPools. Эта функция при расчете количества токенов из-за проблемы переполнения приводит к несоответствию между фактически переведенным количеством токенов и записанным количеством.
Атака происходит примерно следующим образом:
Злоумышленник сначала обменял некоторые токены MNZ на одной из децентрализованных бирж.
Затем была вызвана функция CreateMassPools. Эта функция должна была позволить пользователям массово создавать пулы ликвидности и предоставлять начальную ликвидность.
В процессе CreatePool из-за проблемы переполнения функции getArraySum злоумышленник может внести всего 1 токен, но система регистрирует значение, значительно превышающее фактическое количество.
Наконец, злоумышленник извлек токены, значительно превышающие фактическую сумму, которую он внес, с помощью функции withdraw, завершив атаку.
Это событие еще раз подчеркивает важность и потенциальные риски арифметических операций в смарт-контрактах. Чтобы предотвратить подобные проблемы, разработчики должны рассмотреть возможность использования более новых версий компилятора Solidity, которые автоматически выполняют проверку на переполнение. Для проектов, использующих более старые версии Solidity, рекомендуется использовать библиотеку SafeMath от OpenZeppelin для обработки целочисленных операций, чтобы избежать риска переполнения.
Это событие напоминает нам о том, что безопасность всегда должна быть приоритетом в разработке блокчейна и смарт-контрактов. Регулярные аудиты кода, использование проверенных библиотек и принятие комплексных мер безопасности крайне важны для защиты активов пользователей и поддержания репутации проекта.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
5 Лайков
Награда
5
2
Поделиться
комментарий
0/400
GweiTooHigh
· 9ч назад
Снова переполнение. Сейчас есть проекты, которые совершают эту примитивную ошибку.
Посмотреть ОригиналОтветить0
bridge_anxiety
· 9ч назад
Этот старый проект тоже имеет уязвимости? Трудно держаться.
Poolz подвергся атаке переполнения арифметики, понес убытки в 665000 долларов США
Poolz столкнулся с атакой на уязвимость арифметического переполнения, убытки составили около 665 тысяч долларов США
Недавно инцидент с атакой на Poolz привлек широкое внимание криптовалютного сообщества. Согласно данным мониторинга на блокчейне, атака произошла 15 марта 2023 года и затронула несколько сетей, включая Ethereum, BNB Chain и Polygon. В результате этой атаки несколько токенов понесли убытки на общую сумму около 665 000 долларов США.
Атакующий использовал уязвимость переполнения арифметики в смарт-контракте Poolz. В частности, проблема заключается в функции getArraySum в функции CreateMassPools. Эта функция при расчете количества токенов из-за проблемы переполнения приводит к несоответствию между фактически переведенным количеством токенов и записанным количеством.
Атака происходит примерно следующим образом:
Злоумышленник сначала обменял некоторые токены MNZ на одной из децентрализованных бирж.
Затем была вызвана функция CreateMassPools. Эта функция должна была позволить пользователям массово создавать пулы ликвидности и предоставлять начальную ликвидность.
В процессе CreatePool из-за проблемы переполнения функции getArraySum злоумышленник может внести всего 1 токен, но система регистрирует значение, значительно превышающее фактическое количество.
Наконец, злоумышленник извлек токены, значительно превышающие фактическую сумму, которую он внес, с помощью функции withdraw, завершив атаку.
Это событие еще раз подчеркивает важность и потенциальные риски арифметических операций в смарт-контрактах. Чтобы предотвратить подобные проблемы, разработчики должны рассмотреть возможность использования более новых версий компилятора Solidity, которые автоматически выполняют проверку на переполнение. Для проектов, использующих более старые версии Solidity, рекомендуется использовать библиотеку SafeMath от OpenZeppelin для обработки целочисленных операций, чтобы избежать риска переполнения.
Это событие напоминает нам о том, что безопасность всегда должна быть приоритетом в разработке блокчейна и смарт-контрактов. Регулярные аудиты кода, использование проверенных библиотек и принятие комплексных мер безопасности крайне важны для защиты активов пользователей и поддержания репутации проекта.