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