Протокол Poolz подвергся атаке с арифметическим переполнением, в результате которой было потеряно около $665 000
Недавно инцидент с атакой на протокол Poolz привлек внимание отрасли. Согласно данным на блокчейне, атака произошла 15 марта 2023 года и затронула несколько сетей, включая Ethereum, BNB Chain и Polygon. Злоумышленники, воспользовавшись уязвимостью арифметического переполнения в смарт-контракте, успешно украли большое количество токенов на общую сумму около 66,5 тысячи долларов.
Атакующие в основном нацелились на функцию CreateMassPools протокола Poolz. Эта функция изначально предназначалась для того, чтобы позволить пользователям массово создавать ликвидные пулы и предоставлять начальную ликвидность. Однако, из-за проблемы с арифметическим переполнением в функции getArraySum, атакующие смогли воспользоваться этой уязвимостью.
Конкретно, злоумышленник передает определенный массив _StartAmount, что приводит к тому, что сумма превышает максимальное значение uint256, в результате чего возвращаемое значение становится равным 1. Это позволяет злоумышленнику внести всего 1 токен и зарегистрировать в системе депозит, значительно превышающий фактическое количество. Затем злоумышленник может использовать функцию withdraw для извлечения этих несуществующих токенов.
Данный инцидент затрагивает несколько токенов, включая MEE, ESNC, DON, ASW, KMON, POOLZ и другие. Нападающий обменял часть полученных токенов на BNB, но на момент составления отчета эти средства еще не были переведены с адреса нападающего.
Чтобы предотвратить повторение подобных проблем, эксперты отрасли рекомендуют разработчикам предпринять следующие меры:
Используйте более новую версию компилятора Solidity, которая будет автоматически выполнять проверку переполнения во время компиляции.
Для проектов, использующих более низкие версии Solidity, можно рассмотреть возможность внедрения библиотеки SafeMath от OpenZeppelin для решения проблемы переполнения целых чисел.
Укрепить аудит кода, особенно обращая внимание на функции и операции, которые могут привести к арифметическим переполнениям.
Регулярно проводить оценку безопасности и сканирование на уязвимости, своевременно устранять выявленные проблемы.
Этот инцидент еще раз напоминает разработчикам блокчейн-проектов и пользователям о том, что в быстро развивающейся экосистеме криптовалют безопасность всегда остается приоритетным фактором. Инвесторам также следует оставаться бдительными и обращать внимание на безопасность проектов и технические возможности.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
7 Лайков
Награда
7
2
Поделиться
комментарий
0/400
MetaNomad
· 10ч назад
Слишком много уязвимостей, мы почти не успеваем их проверять.
Poolz Протокол подвергся атаке с арифметическим переполнением, убыток составил 66.5万美元
Протокол Poolz подвергся атаке с арифметическим переполнением, в результате которой было потеряно около $665 000
Недавно инцидент с атакой на протокол Poolz привлек внимание отрасли. Согласно данным на блокчейне, атака произошла 15 марта 2023 года и затронула несколько сетей, включая Ethereum, BNB Chain и Polygon. Злоумышленники, воспользовавшись уязвимостью арифметического переполнения в смарт-контракте, успешно украли большое количество токенов на общую сумму около 66,5 тысячи долларов.
Атакующие в основном нацелились на функцию CreateMassPools протокола Poolz. Эта функция изначально предназначалась для того, чтобы позволить пользователям массово создавать ликвидные пулы и предоставлять начальную ликвидность. Однако, из-за проблемы с арифметическим переполнением в функции getArraySum, атакующие смогли воспользоваться этой уязвимостью.
Конкретно, злоумышленник передает определенный массив _StartAmount, что приводит к тому, что сумма превышает максимальное значение uint256, в результате чего возвращаемое значение становится равным 1. Это позволяет злоумышленнику внести всего 1 токен и зарегистрировать в системе депозит, значительно превышающий фактическое количество. Затем злоумышленник может использовать функцию withdraw для извлечения этих несуществующих токенов.
Данный инцидент затрагивает несколько токенов, включая MEE, ESNC, DON, ASW, KMON, POOLZ и другие. Нападающий обменял часть полученных токенов на BNB, но на момент составления отчета эти средства еще не были переведены с адреса нападающего.
Чтобы предотвратить повторение подобных проблем, эксперты отрасли рекомендуют разработчикам предпринять следующие меры:
Используйте более новую версию компилятора Solidity, которая будет автоматически выполнять проверку переполнения во время компиляции.
Для проектов, использующих более низкие версии Solidity, можно рассмотреть возможность внедрения библиотеки SafeMath от OpenZeppelin для решения проблемы переполнения целых чисел.
Укрепить аудит кода, особенно обращая внимание на функции и операции, которые могут привести к арифметическим переполнениям.
Регулярно проводить оценку безопасности и сканирование на уязвимости, своевременно устранять выявленные проблемы.
Этот инцидент еще раз напоминает разработчикам блокчейн-проектов и пользователям о том, что в быстро развивающейся экосистеме криптовалют безопасность всегда остается приоритетным фактором. Инвесторам также следует оставаться бдительными и обращать внимание на безопасность проектов и технические возможности.