Доброго ранку GMX зазнав значних атак на безпеку, втративши понад 40 мільйонів доларів
Нещодавно відома децентралізована торговельна платформа GMX зазнала серйозної безпекової події, що призвела до втрат понад 40 мільйонів доларів. Зловмисники скористалися вразливістю повторного входу та здійснили атаку через короткі позиції в умовах активованої функції важелів.
Основна проблема цієї атаки полягала в неправильному використанні функції executeDecreaseOrder. Першим параметром цієї функції повинна бути адреса зовнішнього рахунку, але зловмисник хитро передав адресу смарт-контракту. Це дозволило зловмиснику повторно входити в систему під час процесу викупу, маніпулюючи внутрішнім станом, в результаті чого витягнуті активи значно перевищили фактичну вартість GLP, яку він мав.
В нормальному функціонуванні GMX, GLP є токеном постачальника ліквідності, що представляє частку активів пулу фондів (таких як USDC, ETH, WBTC) для користувачів. Коли користувач викуповує GLP, система обчислює кількість активів, які потрібно повернути, на основі частки GLP, що належить користувачеві, та поточної загальної вартості активів під управлінням (AUM). Обчислення AUM включає кілька факторів, у тому числі загальну вартість кожного токену в пулі, нереалізований прибуток і збитки по глобальним коротким позиціям тощо.
Однак, коли платформа активувала функцію торгівлі з кредитним плечем, зловмисники знайшли спосіб скористатися вразливістю системи. Перед викупом GLP зловмисники відкрили великі короткі позиції WBTC. Оскільки як тільки коротка позиція була відкрита, вона збільшила загальний обсяг короткої позиції, в умовах, коли ціна не змінилася, система розглядала цю частину короткої позиції як нереалізовані збитки. Ця частина "збитків" помилково була включена до "активів" сховища, що призвело до штучного підвищення AUM. Хоча насправді сховище не отримало додаткової вартості, розрахунок викупу базувався на цьому завищеному AUM, внаслідок чого зловмисники отримали активи, що значно перевищують їх належну частку.
Ця подія виявила суттєві недоліки платформи в проектуванні механізму важелів та захисту від повторних викликів. Основна проблема полягає в надмірній довірі до логіки викупу активів на AUM, що не забезпечує належної безпекової перевірки його складових (таких як невизначені збитки). Водночас, ключові функції не мають обов'язкових перевірок щодо ідентичності виконавця (чи це зовнішній рахунок, чи смарт-контракт).
Ця безпекова подія ще раз нагадує розробникам проектів на блокчейні, що при проведенні чутливих фінансових операцій необхідно забезпечити, щоб стан системи не міг бути зловмисно маніпульований. Особливо при впровадженні складної фінансової логіки (такої як торгівля з кредитним плечем, деривативи) потрібно суворо запобігати ризикам системного характеру, пов'язаним з атаками повторного входу та забрудненням стану. Для користувачів це також є попередженням, що при участі в проектах децентралізованих фінансів потрібно бути більш обережними, звертати увагу на безпеку проекту та здатність до управління ризиками.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
GMX зазнав атаки з безпеки на суму 40 мільйонів доларів США, механізм важелів має суттєві недоліки.
Доброго ранку GMX зазнав значних атак на безпеку, втративши понад 40 мільйонів доларів
Нещодавно відома децентралізована торговельна платформа GMX зазнала серйозної безпекової події, що призвела до втрат понад 40 мільйонів доларів. Зловмисники скористалися вразливістю повторного входу та здійснили атаку через короткі позиції в умовах активованої функції важелів.
Основна проблема цієї атаки полягала в неправильному використанні функції executeDecreaseOrder. Першим параметром цієї функції повинна бути адреса зовнішнього рахунку, але зловмисник хитро передав адресу смарт-контракту. Це дозволило зловмиснику повторно входити в систему під час процесу викупу, маніпулюючи внутрішнім станом, в результаті чого витягнуті активи значно перевищили фактичну вартість GLP, яку він мав.
В нормальному функціонуванні GMX, GLP є токеном постачальника ліквідності, що представляє частку активів пулу фондів (таких як USDC, ETH, WBTC) для користувачів. Коли користувач викуповує GLP, система обчислює кількість активів, які потрібно повернути, на основі частки GLP, що належить користувачеві, та поточної загальної вартості активів під управлінням (AUM). Обчислення AUM включає кілька факторів, у тому числі загальну вартість кожного токену в пулі, нереалізований прибуток і збитки по глобальним коротким позиціям тощо.
Однак, коли платформа активувала функцію торгівлі з кредитним плечем, зловмисники знайшли спосіб скористатися вразливістю системи. Перед викупом GLP зловмисники відкрили великі короткі позиції WBTC. Оскільки як тільки коротка позиція була відкрита, вона збільшила загальний обсяг короткої позиції, в умовах, коли ціна не змінилася, система розглядала цю частину короткої позиції як нереалізовані збитки. Ця частина "збитків" помилково була включена до "активів" сховища, що призвело до штучного підвищення AUM. Хоча насправді сховище не отримало додаткової вартості, розрахунок викупу базувався на цьому завищеному AUM, внаслідок чого зловмисники отримали активи, що значно перевищують їх належну частку.
Ця подія виявила суттєві недоліки платформи в проектуванні механізму важелів та захисту від повторних викликів. Основна проблема полягає в надмірній довірі до логіки викупу активів на AUM, що не забезпечує належної безпекової перевірки його складових (таких як невизначені збитки). Водночас, ключові функції не мають обов'язкових перевірок щодо ідентичності виконавця (чи це зовнішній рахунок, чи смарт-контракт).
Ця безпекова подія ще раз нагадує розробникам проектів на блокчейні, що при проведенні чутливих фінансових операцій необхідно забезпечити, щоб стан системи не міг бути зловмисно маніпульований. Особливо при впровадженні складної фінансової логіки (такої як торгівля з кредитним плечем, деривативи) потрібно суворо запобігати ризикам системного характеру, пов'язаним з атаками повторного входу та забрудненням стану. Для користувачів це також є попередженням, що при участі в проектах децентралізованих фінансів потрібно бути більш обережними, звертати увагу на безпеку проекту та здатність до управління ризиками.