Poolz зазнав атаки переповнення арифметики, втративши 66,5 тисяч доларів США

robot
Генерація анотацій у процесі

Poolz зазнав атаки переповнення арифметики, збитки склали 665 тисяч доларів США

15 березня вночі Poolz зазнав атаки в мережах Ethereum, Binance Smart Chain та Polygon, внаслідок чого було вкрадено кілька токенів на загальну суму близько 665 тисяч доларів. Зловмисники використали уразливість арифметичного переповнення в смарт-контракті, що дозволило їм успішно отримати велику кількість токенів.

Poolz зазнав атаки через проблему переповнення, втратили близько 665K доларів!

Зловмисники створюють масові пулі ліквідності, викликаючи функцію CreateMassPools. У цій функції є критична вразливість, яка дозволяє зловмисникам обійти звичайну перевірку ліквідності за допомогою ретельно сконструйованих параметрів. Зокрема, зловмисники використовують проблему переповнення цілих чисел у функції getArraySum.

Під час атаки хакери спочатку обміняли невелику кількість токенів MNZ на одному з децентралізованих бірж. Потім вони викликали функцію CreateMassPools, в якій існувала вразливість. Ця функція повинна була використовуватися для масового створення ліквідних пулів і надання початкової ліквідності, але через дефект функції getArraySum зловмисники змогли ввести фальшиву ліквідність, що значно перевищує реальний обсяг внесків.

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

Функція getArraySum під час накопичення переданого масиву _StartAmount через проблему переповнення в кінцевому підсумку повертає значення 1. Однак функція CreatePool все ще використовує початкове значення _StartAmount для запису. Це призводить до того, що зловмисник, перевівши лише 1 токен, може зафіксувати в системі велику кількість фальшивої ліквідності.

Після виконання цього етапу зловмисник просто викликає функцію withdraw для виведення токенів, завершуючи весь процес атаки.

Poolz зазнав атаки через переповнення арифметичних даних, збитки становлять близько 665 тисяч доларів!

Ця подія ще раз підкреслила важливість безпеки аритметичних операцій у смарт-контрактах. Щоб уникнути подібних проблем, розробникам слід розглянути можливість використання новіших версій компілятора Solidity, які можуть автоматично виконувати перевірку переповнення на етапі компіляції. Для проєктів, що використовують старі версії Solidity, рекомендується інтегрувати бібліотеку SafeMath від OpenZeppelin для обробки проблем переповнення цілих чисел.

Ця атака нагадує нам, що в екосистемі блокчейн навіть незначні вразливості в коді можуть призвести до серйозних економічних втрат. Тому повна перевірка коду та постійні оновлення безпеки є надзвичайно важливими для захисту активів користувачів.

Poolz зазнав атаки через переповнення арифметики, збитки становлять близько 665K доларів!

Переглянути оригінал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Нагородити
  • 3
  • Поділіться
Прокоментувати
0/400
GweiWatchervip
· 07-14 06:30
Ще одна уразливість контракту.
Переглянути оригіналвідповісти на0
SignatureCollectorvip
· 07-14 06:18
66w просто так зникли??
Переглянути оригіналвідповісти на0
Whale_Whisperervip
· 07-14 06:04
Знову бачимо смартконтракти bug
Переглянути оригіналвідповісти на0
  • Закріпити