Poolz подвергся атаке переполнения арифметики, потеряв 665000 долларов США.

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

Недавно платформа Poolz подверглась атаке в сетях Ethereum, Binance Smart Chain и Polygon, в результате чего было украдено большое количество токенов на общую сумму около 665 000 долларов США. Атака произошла 15 марта 2023 года в 3:16 утра (UTC).

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

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

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

Злоумышленник использовал уязвимость переполнения арифметики в контракте Poolz. Конкретно, проблема заключалась в функции getArraySum в функции CreateMassPools. Эта функция при вычислении количества токенов переполнила значение, так как сумма превышала максимальное значение типа uint256, в результате чего возвращаемое значение стало равным 1.

Процесс атаки следующий:

  1. Нападающий сначала обменял некоторые токены MNZ через один DEX.

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

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

  4. Наконец, злоумышленник вызывает функцию withdraw для вывода токенов, завершив атаку.

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

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

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

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 5
  • Репост
  • Поделиться
комментарий
0/400
ValidatorVibesvip
· 8ч назад
смех... еще одна атака переполнения. Протокол аудиты это буквально управление 101 frfr
Посмотреть ОригиналОтветить0
MetaverseVagrantvip
· 8ч назад
Снова черно и мрачно, 660 тысяч также смеют называть Хакером
Посмотреть ОригиналОтветить0
IntrovertMetaversevip
· 8ч назад
Почему контракт такой плохой?
Посмотреть ОригиналОтветить0
OnChainSleuthvip
· 8ч назад
Снова раскрыл карты.
Посмотреть ОригиналОтветить0
SurvivorshipBiasvip
· 8ч назад
Маленькая атака оказалась такой жестокой.
Посмотреть ОригиналОтветить0
  • Закрепить