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

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

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

Недавно в сети Ethereum, Binance Smart Chain и Polygon произошло нападение на Poolz. Согласно данным мониторинга в цепочке, атака произошла 15 марта 2023 года в 3:16 UTC (. В этой атаке были задействованы несколько токенов, включая MEE, ESNC, DON, ASW, KMON, POOLZ и другие, общие потери составили примерно 665 000 долларов.

![Poolz подвергся атаке из-за проблемы с переполнением арифметики, ущерб составил около 665K долларов!])https://img-cdn.gateio.im/webp-social/moments-974bc1b1f017458e935bb53bf55cef3e.webp(

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

Процесс атаки выглядит следующим образом:

  1. Злоумышленник сначала обменял небольшое количество токенов MNZ на одной из децентрализованных бирж.

  2. Затем вызывается функция CreateMassPools, передавая тщательно составленные параметры. Массив _StartAmount содержит два значения: одно - большое число, близкое к пределу uint256, и одно - нормальное количество токенов.

  3. Из-за операции сложения в функции getArraySum произошло переполнение, и в конечном итоге возвращаемое значение равно 1. Тем не менее, контракт по-прежнему использует исходное значение _StartAmount при записи атрибутов пула.

  4. Это приводит к тому, что злоумышленник фактически переводит только 1 токен, но в контракте фиксируется огромное количество ликвидности.

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

![Poolz подвергся атаке из-за проблемы с переполнением арифметики, убытки составили около 665K долларов! ])https://img-cdn.gateio.im/webp-social/moments-7726863222e36bd3db4e3408503ba81c.webp(

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

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

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

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

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

  5. Рассмотрите возможность внедрения механизмов, таких как многоподписка или замок времени, чтобы выиграть время для реагирования в экстренных ситуациях.

![Poolz подвергся атаке из-за переполнения арифметики, убытки составили около 665K долларов!])https://img-cdn.gateio.im/webp-social/moments-207e83ef73f5ece4adee71f4f42674f3.webp(

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

![Poolz подвергся атаке из-за проблемы с переполнением вычислений, убытки составили около 665K долларов!])https://img-cdn.gateio.im/webp-social/moments-915eae1e1853f3d04d16dbac2b8c504a.webp(

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 4
  • Поделиться
комментарий
0/400
zkProofInThePuddingvip
· 07-31 01:15
Слишком черный и убыточный, слишком слабо.
Посмотреть ОригиналОтветить0
DaisyUnicornvip
· 07-31 01:15
Смотрите, как цветут уязвимости, да? Еще одна неудачно рассчитанная приманка переполнилась!
Посмотреть ОригиналОтветить0
CryptoPhoenixvip
· 07-31 01:14
Еще один проект рухнул... Восстановление веры займет время[翻白眼], но рынок всегда сможет восстановиться!
Посмотреть ОригиналОтветить0
ChainWanderingPoetvip
· 07-31 00:55
66w...даже стихов о деньгах не написать.
Посмотреть ОригиналОтветить0
  • Закрепить