Проект Poolz зазнав атаки, збитки склали близько 66,5 тисяч доларів США
Нещодавно випадок атаки на багатоланцюговий проект Poolz привернув увагу галузі. Згідно з даними моніторингу блокчейну, атака сталася 15 березня 2023 року і стосувалася трьох ланцюгів: Ethereum, Binance та Polygon.
Зловмисники успішно вкрали кілька видів токенів, включаючи MEE, ESNC, DON, ASW, KMON, POOLZ та інші, загальна вартість яких становить близько 665 тисяч доларів США. Наразі частина вкрадених активів була обміняна на BNB, але ще не була переведена з гаманця зловмисників.
Ця атака в основному використовувала вразливість арифметичного переповнення в смарт-контракті проекту Poolz. Зловмисник, викликавши функцію CreateMassPools, вдало використав проблему переповнення цілих чисел у функції getArraySum. Конкретно, зловмисник сконструював спеціальний масив, в результаті чого сума перевищила максимальне значення uint256, що призвело до повернення значення функції 1.
Однак контракт використовував первісні вхідні значення під час запису властивостей пулу, а не фактичну кількість токенів, що надійшли. Це дозволило зловмиснику просто надіслати 1 токен і записати величезне значення в системі. Потім зловмисник через функцію withdraw вилучив значно більше токенів, ніж було фактично внесено, завершивши атаку.
Ця подія ще раз підкреслила важливість безпеки смарт-контрактів. Щоб уникнути подібних проблем, розробники повинні розглянути можливість використання новіших версій компілятора Solidity, які вбудовані з функцією перевірки переповнення. Для проектів, що використовують старі версії Solidity, можна застосувати бібліотеку SafeMath, надану OpenZeppelin, щоб уникнути ризику переповнення цілих чисел.
Ця атака нагадує нам, що навіть на перший погляд прості математичні операції можуть нести серйозні загрози безпеці в контексті блокчейну. Розробники проектів повинні бути більш обережними при проектуванні та перевірці смарт-контрактів, щоб забезпечити безпеку активів користувачів.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
11 лайків
Нагородити
11
3
Поділіться
Прокоментувати
0/400
ForeverBuyingDips
· 12год тому
Знову вкрали дірку в смартконтракті
Переглянути оригіналвідповісти на0
NFTHoarder
· 12год тому
Один день не бачити, і вже з'явився новий проект для заробляння!
Poolz зазнав атаки хакера, багатоцільові активи втратили 66,5 тисячі доларів США
Проект Poolz зазнав атаки, збитки склали близько 66,5 тисяч доларів США
Нещодавно випадок атаки на багатоланцюговий проект Poolz привернув увагу галузі. Згідно з даними моніторингу блокчейну, атака сталася 15 березня 2023 року і стосувалася трьох ланцюгів: Ethereum, Binance та Polygon.
Зловмисники успішно вкрали кілька видів токенів, включаючи MEE, ESNC, DON, ASW, KMON, POOLZ та інші, загальна вартість яких становить близько 665 тисяч доларів США. Наразі частина вкрадених активів була обміняна на BNB, але ще не була переведена з гаманця зловмисників.
Ця атака в основному використовувала вразливість арифметичного переповнення в смарт-контракті проекту Poolz. Зловмисник, викликавши функцію CreateMassPools, вдало використав проблему переповнення цілих чисел у функції getArraySum. Конкретно, зловмисник сконструював спеціальний масив, в результаті чого сума перевищила максимальне значення uint256, що призвело до повернення значення функції 1.
Однак контракт використовував первісні вхідні значення під час запису властивостей пулу, а не фактичну кількість токенів, що надійшли. Це дозволило зловмиснику просто надіслати 1 токен і записати величезне значення в системі. Потім зловмисник через функцію withdraw вилучив значно більше токенів, ніж було фактично внесено, завершивши атаку.
Ця подія ще раз підкреслила важливість безпеки смарт-контрактів. Щоб уникнути подібних проблем, розробники повинні розглянути можливість використання новіших версій компілятора Solidity, які вбудовані з функцією перевірки переповнення. Для проектів, що використовують старі версії Solidity, можна застосувати бібліотеку SafeMath, надану OpenZeppelin, щоб уникнути ризику переповнення цілих чисел.
Ця атака нагадує нам, що навіть на перший погляд прості математичні операції можуть нести серйозні загрози безпеці в контексті блокчейну. Розробники проектів повинні бути більш обережними при проектуванні та перевірці смарт-контрактів, щоб забезпечити безпеку активів користувачів.