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, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
14 лайків
Нагородити
14
6
Поділіться
Прокоментувати
0/400
LonelyAnchorman
· 18год тому
Ще один старий проект зник.
Переглянути оригіналвідповісти на0
WalletDivorcer
· 18год тому
Це занадто коротко.
Переглянути оригіналвідповісти на0
HodlNerd
· 18год тому
статистично кажучи, ці переповнення помилок стають передбачуваними... потрібно кращий аналіз теорії ігор, чесно кажучи
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 всебічне тестування безпеки та регулярний огляд коду є ключовими заходами для забезпечення безпеки коштів користувачів.