Poolz подвергся атаке арифметического переполнения, убытки составили 665 тысяч долларов, затронуты многоцепочечные активы.

robot
Генерация тезисов в процессе

Poolz подвергся атаке из-за уязвимости переполнения арифметики, убытки составили около 66,5 тысячи долларов США

15 марта 2023 года в凌晨, Poolz подвергся атаке на сетях Ethereum, BNB Chain и Polygon, что привело к потерям различных токенов на общую сумму около 665000 долларов США. Нападающий использовал уязвимость арифметического переполнения в смарт-контракте, успешно обойдя ограничения на перевод средств.

Согласно мониторингу данных в блокчейне, эта атака затрагивает несколько токенов, включая MEE, ESNC, DON, ASW, KMON, POOLZ и другие. Злоумышленник уже обменял часть прибыльных токенов на BNB, но в настоящее время эти средства еще не были переведены.

Poolz подвергся атаке из-за проблемы с переполнением арифметики, убытки составили около 665K долларов!

Процесс атаки в основном делится на три этапа:

  1. Атакующий сначала обменял небольшое количество токенов MNZ через DEX.

  2. Затем была вызвана функция CreateMassPools в контракте Poolz. Эта функция должна была использоваться для массового создания ликвидностных пулов и предоставления начальной ликвидности, но в ней есть критическая уязвимость.

  3. Уязвимость обнаружена в функции getArraySum. Эта функция выполняет суммирование, перебирая массив _StartAmount, но не учитывает ситуацию переполнения. Злоумышленник тщательно сконструировал массив, который приводит к переполнению uint256, в результате чего функция возвращает значение 1, в то время как фактическое значение _StartAmount является огромным числом.

  4. В конце концов, атакующий вызывает функцию withdraw для извлечения средств, завершая весь процесс атаки.

Poolz подвергся атаке из-за переполнения при вычислениях, убытки составили около 665K долларов!

Этот инцидент еще раз подчеркивает опасность проблемы арифметического переполнения в смарт-контрактах. Чтобы предотвратить подобные атаки, разработчики должны рассмотреть следующие рекомендации:

  1. Используйте более новую версию компилятора Solidity, в которой встроен механизм проверки на переполнение.

  2. В низких версиях Solidity можно использовать сторонние библиотеки безопасности, такие как SafeMath от OpenZeppelin, для выполнения операций с целыми числами.

  3. Провести полную проверку кода, уделяя особое внимание частям, связанным с математическими вычислениями.

  4. Реализуйте многофакторную подпись и другие дополнительные меры безопасности для добавления уровня защиты к критическим операциям.

Poolz подвергся атаке из-за проблемы с переполнением арифметики, убытки составляют около 665K долларов!

Это событие снова напоминает нам, что в экосистеме блокчейна код является законом. Команды разработчиков должны всегда быть на чеку и постоянно совершенствовать практики безопасности, чтобы защитить активы пользователей и репутацию проекта.

Poolz подвергся атаке из-за проблемы с переполнением арифметики, убытки составили около 665K долларов!

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Поделиться
комментарий
0/400
DataPickledFishvip
· 08-05 23:17
Типичный новичок по написанию контрактов
Посмотреть ОригиналОтветить0
AltcoinMarathonervip
· 08-05 22:20
Еще одно препятствие в марафоне DeFi
Посмотреть ОригиналОтветить0
TokenVelocityvip
· 08-05 22:19
Почему наша защита такая плохая?
Посмотреть ОригиналОтветить0
ImpermanentPhobiavip
· 08-05 22:10
Контракт снова прорвал, переполнение
Посмотреть ОригиналОтветить0
ForkYouPayMevip
· 08-05 22:06
Еще один пример арифметического переполнения
Посмотреть ОригиналОтветить0
degenonymousvip
· 08-05 21:52
Защита от уязвимостей контрактов неэффективна
Посмотреть ОригиналОтветить0
  • Закрепить