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

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

Проект Poolz зазнав атаки через вразливість переповнення арифметичних операцій, втрати склали близько 66,5 тисячі доларів

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

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

Деталі атаки

Зловмисник здійснив цю атаку за наступними кроками:

  1. Спочатку обміняв певну кількість токенів MNZ на децентралізованій біржі.

  2. Потім було викликано функцію CreateMassPools у контракті Poolz. Ця функція мала б дозволити користувачам масово створювати ліквідні池 і надавати початкову ліквідність, але в ній є серйозна вразливість.

  3. Проблема полягає в функції getArraySum. Ця функція використовується для обчислення кількості початкової ліквідності, наданої користувачем, але не змогла правильно обробити випадок переповнення цілого числа.

  4. Зловмисник майстерно сконструював вхідні параметри, так що масив _StartAmount містить числа, що перевищують максимальне значення uint256. Це призвело до переповнення результату накопичення, в результаті чого повернуте значення дорівнює 1.

  5. Оскільки контракт використовує початкове значення _StartAmount при запису властивостей пулу, а не фактичну кількість токенів, які були переведені, зловмиснику достатньо перевести 1 токен, щоб створити пул ліквідності, що значно перевищує фактичний.

  6. Нарешті, зловмисник викликав функцію withdraw, щоб вивести велику кількість несанкціонованих токенів, завершивши весь процес атаки.

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

Вкрадені активи

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

  • 2 805 805 MEE
  • 525 134 ESNC
  • 774 997 ДОН
  • 2 007 504 238 ASW
  • 6 510 689 КМОН
  • 2 521 065 ПУЛЗ
  • 35,976,107 DCD
  • 760 845 ПОРТІВ

Зловмисник вже обміняв частину вкрадених токенів на BNB, але на момент звіту ці кошти ще не були переведені з адреси зловмисника.

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

Рекомендації щодо запобігання

Щоб запобігти подібним вразливостям через арифметичний переповнень, експерти радять вжити такі заходи:

  1. Використовуйте новішу версію компілятора Solidity, ці версії автоматично виконують перевірку переповнень під час компіляції.

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

  3. Проведення всебічного аудиту коду, з особливою увагою до частин, що стосуються великих числових обчислень.

  4. Впровадити строгу перевірку введення, щоб забезпечити, що параметри, надані користувачем, знаходяться в розумних межах.

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

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 8
  • Поділіться
Прокоментувати
0/400
GateUser-a5fa8bd0vip
· 07-23 01:44
Знову проблеми з контрактами, тьфу-тьфу.
Переглянути оригіналвідповісти на0
SellTheBouncevip
· 07-20 10:40
Ще один невдаха падіння до нуля, знайомий сюжет
Переглянути оригіналвідповісти на0
DataBartendervip
· 07-20 02:14
Послухавши вашу розмову, вип'ю чашку чаю.
Переглянути оригіналвідповісти на0
GasFeeCryingvip
· 07-20 02:13
Знову чорна історія, втекла, втекла.
Переглянути оригіналвідповісти на0
LazyDevMinervip
· 07-20 02:13
Ще один випадок попередження про нульове переповнення
Переглянути оригіналвідповісти на0
DEXRobinHoodvip
· 07-20 02:13
Ще один чорний, хто наступний?
Переглянути оригіналвідповісти на0
SandwichVictimvip
· 07-20 02:08
Ще один проект, обдурювати людей, як лохів, втік.
Переглянути оригіналвідповісти на0
ClassicDumpstervip
· 07-20 02:05
Знову прийшов той, хто шукає смерті.
Переглянути оригіналвідповісти на0
  • Закріпити