Poolz зазнав безпекового витоку, втрати цифрових активів складають близько 66,5 тисяч доларів США
Нещодавно інцидент з безпекою, що стосується багатоланцюгових активів, привернув увагу галузі. Згідно з моніторингом даних на ланцюгу, 15 березня 2023 року о 3:16 за UTC проект Poolz на мережах Ethereum, BNB Chain та Polygon зазнав атаки. Цей інцидент торкнувся різних токенів, включаючи MEE, ESNC, DON, ASW, KMON, POOLZ тощо, загалом близько 665 тисяч доларів активів постраждали.
Зловмисник скористався вразливістю смарт-контракту для виконання ряду операцій. Спочатку в певній децентралізованій біржі обміняв певну кількість токенів MNZ, а потім викликав функцію CreateMassPools. Ця функція повинна була використовуватися для масового створення пулів ліквідності та надання початкової ліквідності, але в ній є ризик арифметичного переповнення у функції getArraySum.
Конкретно, зловмисник, шляхом ретельно сконструйованих параметрів, призвів до того, що сума елементів масиву _StartAmount перевищила діапазон представлення типу uint256. Це призвело до переповнення накопичувального результату до 1, тоді як контракт все ще реєстрував властивості пулу згідно з початковим значенням _StartAmount. Таким чином, зловмисник всього лише повинен внести 1 токен, щоб зафіксувати в системі велику кількість неправдивої ліквідності.
Нарешті, зловмисник викликав функцію withdraw для вилучення коштів, завершивши весь процес атаки. Наразі частина вкрадених активів була обміняна на BNB, але ще не була переведена з адреси зловмисника.
Ця подія ще раз підкреслила важливість безпеки смарт-контрактів. Щоб запобігти подібним проблемам, розробникам рекомендується використовувати новіші версії компілятора Solidity, які містять механізм перевірки на переповнення. Для ранніх версій також можна розглянути можливість впровадження сторонніх бібліотек безпеки, таких як OpenZeppelin, для підвищення безпеки коду.
Ця подія нагадує нам, що в швидко розвиваючійся сфері блокчейну безпека завжди повинна бути першочерговим фактором. Команди проектів повинні більше уваги приділяти аудитам коду та тестуванню на вразливості, а користувачі також повинні підвищити обізнаність про ризики та обережно брати участь у нових проектах. Лише створивши більш здорову та безпечну екосистему, ми можемо сприяти стійкому розвитку всієї галузі.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
22 лайків
Нагородити
22
6
Поділіться
Прокоментувати
0/400
MetaNeighbor
· 07-20 11:30
Ще один проект шахрайство.
Переглянути оригіналвідповісти на0
BoredApeResistance
· 07-19 15:48
Ще один проект невдах звалився
Переглянути оригіналвідповісти на0
BearMarketBro
· 07-19 06:53
Знову невдахи обдурювали людей, як лохів
Переглянути оригіналвідповісти на0
ApeShotFirst
· 07-18 23:17
Знову вразливість переповнення? невдахи вже обдурюють людей, як лохів
Проект Poolz зазнав хакерської атаки, 665 тисяч доларів США цифрового активу постраждало.
Poolz зазнав безпекового витоку, втрати цифрових активів складають близько 66,5 тисяч доларів США
Нещодавно інцидент з безпекою, що стосується багатоланцюгових активів, привернув увагу галузі. Згідно з моніторингом даних на ланцюгу, 15 березня 2023 року о 3:16 за UTC проект Poolz на мережах Ethereum, BNB Chain та Polygon зазнав атаки. Цей інцидент торкнувся різних токенів, включаючи MEE, ESNC, DON, ASW, KMON, POOLZ тощо, загалом близько 665 тисяч доларів активів постраждали.
Зловмисник скористався вразливістю смарт-контракту для виконання ряду операцій. Спочатку в певній децентралізованій біржі обміняв певну кількість токенів MNZ, а потім викликав функцію CreateMassPools. Ця функція повинна була використовуватися для масового створення пулів ліквідності та надання початкової ліквідності, але в ній є ризик арифметичного переповнення у функції getArraySum.
Конкретно, зловмисник, шляхом ретельно сконструйованих параметрів, призвів до того, що сума елементів масиву _StartAmount перевищила діапазон представлення типу uint256. Це призвело до переповнення накопичувального результату до 1, тоді як контракт все ще реєстрував властивості пулу згідно з початковим значенням _StartAmount. Таким чином, зловмисник всього лише повинен внести 1 токен, щоб зафіксувати в системі велику кількість неправдивої ліквідності.
Нарешті, зловмисник викликав функцію withdraw для вилучення коштів, завершивши весь процес атаки. Наразі частина вкрадених активів була обміняна на BNB, але ще не була переведена з адреси зловмисника.
Ця подія ще раз підкреслила важливість безпеки смарт-контрактів. Щоб запобігти подібним проблемам, розробникам рекомендується використовувати новіші версії компілятора Solidity, які містять механізм перевірки на переповнення. Для ранніх версій також можна розглянути можливість впровадження сторонніх бібліотек безпеки, таких як OpenZeppelin, для підвищення безпеки коду.
Ця подія нагадує нам, що в швидко розвиваючійся сфері блокчейну безпека завжди повинна бути першочерговим фактором. Команди проектів повинні більше уваги приділяти аудитам коду та тестуванню на вразливості, а користувачі також повинні підвищити обізнаність про ризики та обережно брати участь у нових проектах. Лише створивши більш здорову та безпечну екосистему, ми можемо сприяти стійкому розвитку всієї галузі.