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

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

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

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

Згідно з моніторингом даних на блокчейні, ця атака торкнулася кількох токенів, включаючи 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, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Поділіться
Прокоментувати
0/400
AirdropGrandpavip
· 57хв. тому
Ще один провал смартконтракту
Переглянути оригіналвідповісти на0
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
  • Закріпити