Poolz зазнав атаки через вразливість арифметичного переповнення, збитки склали 665 тисяч доларів
Нещодавно подія атаки на крос-чейн платформу Poolz привернула увагу галузі. Зловмисники використали вразливість арифметичного переповнення в смарт-контракті, успішно викравши велику кількість токенів з кількох мереж, таких як Ethereum, BNB Chain і Polygon, завдавши збитків, які оцінюються приблизно в 665 тисяч доларів.
Згідно з даними блокчейну, атака сталася 15 березня 2023 року вночі. Зловмисники отримали кілька токенів, включаючи MEE, ESNC, DON, ASW, KMON, POOLZ тощо. Наразі частина вкрадених коштів була обміняна на BNB, але ще не була переведена на інші адреси.
Зловмисники в основному використовували вразливість функції CreateMassPools у смарт-контракті Poolz. Ця функція дозволяє користувачам масово створювати ліквідні пулі та надавати початкову ліквідність. Проблема полягає у функції getArraySum, яка використовується для обчислення кількості токенів, які надходять. Зловмисники, за допомогою ретельно складених вхідних даних, змусили результати накопичення перевищити межі типу uint256, що призвело до переповнення і повернення значення 1.
Цей арифметичний переповненість дозволяє атакаючому всього лише внести 1 токен, щоб зафіксувати в системі величезну ліквідність, що перевищує фактичну кількість. Потім атакуючий легко витягнув велику кількість несанкціонованих токенів, викликавши функцію withdraw.
Щоб запобігти повторенню подібних інцидентів, експерти з безпеки рекомендують розробникам використовувати новіші версії Solidity для компіляції контрактів, оскільки нові версії автоматично виконують перевірку переповнення. Для проектів, що використовують старіші версії Solidity, можна розглянути можливість впровадження бібліотеки SafeMath від OpenZeppelin для вирішення проблеми переповнення цілих чисел.
Ця подія ще раз підкреслює важливість безпеки аудиту смарт-контрактів, особливо при обробці великих числових обчислень, до яких потрібно ставитися з особливою обережністю. Для проектів DeFi всебічне тестування безпеки та регулярний огляд коду є ключовими заходами для забезпечення безпеки коштів користувачів.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
20 лайків
Нагородити
20
9
Поділіться
Прокоментувати
0/400
liquiditea_sipper
· 07-23 19:26
Знову знову знову атака переповнення, ніколи не закінчується.
Переглянути оригіналвідповісти на0
OnchainDetective
· 07-23 18:30
Адреса гаманець для атаки переповнення вже має підозрілі записи взаємодії Hmm
Переглянути оригіналвідповісти на0
MevShadowranger
· 07-22 14:54
Знову стара пастка переповнення...
Переглянути оригіналвідповісти на0
LonelyAnchorman
· 07-20 20:07
Ще один старий проект зник.
Переглянути оригіналвідповісти на0
WalletDivorcer
· 07-20 20:06
Це занадто коротко.
Переглянути оригіналвідповісти на0
HodlNerd
· 07-20 19:59
статистично кажучи, ці переповнення помилок стають передбачуваними... потрібно кращий аналіз теорії ігор, чесно кажучи
Poolz зазнав атаки переповнення арифметики, багато ланцюгів втратили 66,5 тисяч доларів США.
Poolz зазнав атаки через вразливість арифметичного переповнення, збитки склали 665 тисяч доларів
Нещодавно подія атаки на крос-чейн платформу Poolz привернула увагу галузі. Зловмисники використали вразливість арифметичного переповнення в смарт-контракті, успішно викравши велику кількість токенів з кількох мереж, таких як Ethereum, BNB Chain і Polygon, завдавши збитків, які оцінюються приблизно в 665 тисяч доларів.
Згідно з даними блокчейну, атака сталася 15 березня 2023 року вночі. Зловмисники отримали кілька токенів, включаючи MEE, ESNC, DON, ASW, KMON, POOLZ тощо. Наразі частина вкрадених коштів була обміняна на BNB, але ще не була переведена на інші адреси.
Зловмисники в основному використовували вразливість функції CreateMassPools у смарт-контракті Poolz. Ця функція дозволяє користувачам масово створювати ліквідні пулі та надавати початкову ліквідність. Проблема полягає у функції getArraySum, яка використовується для обчислення кількості токенів, які надходять. Зловмисники, за допомогою ретельно складених вхідних даних, змусили результати накопичення перевищити межі типу uint256, що призвело до переповнення і повернення значення 1.
Цей арифметичний переповненість дозволяє атакаючому всього лише внести 1 токен, щоб зафіксувати в системі величезну ліквідність, що перевищує фактичну кількість. Потім атакуючий легко витягнув велику кількість несанкціонованих токенів, викликавши функцію withdraw.
Щоб запобігти повторенню подібних інцидентів, експерти з безпеки рекомендують розробникам використовувати новіші версії Solidity для компіляції контрактів, оскільки нові версії автоматично виконують перевірку переповнення. Для проектів, що використовують старіші версії Solidity, можна розглянути можливість впровадження бібліотеки SafeMath від OpenZeppelin для вирішення проблеми переповнення цілих чисел.
Ця подія ще раз підкреслює важливість безпеки аудиту смарт-контрактів, особливо при обробці великих числових обчислень, до яких потрібно ставитися з особливою обережністю. Для проектів DeFi всебічне тестування безпеки та регулярний огляд коду є ключовими заходами для забезпечення безпеки коштів користувачів.