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