Аналіз події атаки на мережу Cellframe за допомогою Термінові позики
1 червня 2023 року о 10:07:55 (UTC+8) мережа Cellframe зазнала хакерської атаки на смарт-ланцюзі через проблеми з обчисленням кількості токенів під час процесу міграції ліквідності. Ця атака призвела до прибутку хакера близько 76 112 доларів.
Основна причина атаки
Проблеми з обчисленнями під час процесу міграції ліквідності стали основною причиною цієї атаки.
Детальний опис процесу атаки
Зловмисник спочатку отримує 1000 BNB та 500000 токенів New Cell через Термінові позики. Потім всі токени New Cell обмінюються на BNB, що призводить до майже нульової кількості BNB у пулі. Нарешті, 900 BNB обмінюються на токени Old Cell.
Варто зауважити, що зловмисник додав ліквідність Old Cell та BNB перед здійсненням атаки, отримавши Old lp.
Далі зловмисник викликає функцію міграції ліквідності. У цей момент у новому пулі майже немає BNB, а в старому пулі майже немає токенів Old Cell.
Процес міграції включає такі етапи:
Видалити стару ліквідність та повернути відповідну кількість токенів користувачеві
Додати нову ліквідність відповідно до пропорцій нового пулу
Оскільки в старому пулі практично немає токенів Old Cell, кількість BNB, отриманих при видаленні ліквідності, зростає, тоді як кількість токенів Old Cell зменшується. Це призводить до збільшення значень Resoult і Token1.
Користувачам потрібно лише додати невелику кількість BNB та токенів New Cell для отримання ліквідності, а надлишкові BNB і токени Old Cell будуть повернуті користувачеві.
Нарешті, зловмисник видаляє ліквідність нової ліквідності та обмінює повернуті токени Old Cell на BNB. У цей момент у старому пулі є велика кількість токенів Old Cell, але немає BNB, зловмисник знову обмінює токени Old Cell на BNB, завершуючи прибуток. Потім зловмисник повторює операцію міграції.
Підсумки та рекомендації
Під час міграції ліквідності слід всебічно враховувати зміни в кількостях двох токенів у нових і старих пулах, а також поточну ціну токенів. Прямий розрахунок на основі кількостей двох валют у торговій парі може бути легко маніпульованим.
Крім того, для забезпечення безпеки команда проекту повинна провести комплексний аудит безпеки перед запуском коду. Це не лише допоможе виявити потенційні вразливості, але й підвищить загальну безпеку та надійність системи.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Cellframe Network зазнав флеш-атаки, унаслідок вразливості міграції ліквідності було завдано збитків на суму 76,112 доларів США.
Аналіз події атаки на мережу Cellframe за допомогою Термінові позики
1 червня 2023 року о 10:07:55 (UTC+8) мережа Cellframe зазнала хакерської атаки на смарт-ланцюзі через проблеми з обчисленням кількості токенів під час процесу міграції ліквідності. Ця атака призвела до прибутку хакера близько 76 112 доларів.
Основна причина атаки
Проблеми з обчисленнями під час процесу міграції ліквідності стали основною причиною цієї атаки.
Детальний опис процесу атаки
Зловмисник спочатку отримує 1000 BNB та 500000 токенів New Cell через Термінові позики. Потім всі токени New Cell обмінюються на BNB, що призводить до майже нульової кількості BNB у пулі. Нарешті, 900 BNB обмінюються на токени Old Cell.
Варто зауважити, що зловмисник додав ліквідність Old Cell та BNB перед здійсненням атаки, отримавши Old lp.
Далі зловмисник викликає функцію міграції ліквідності. У цей момент у новому пулі майже немає BNB, а в старому пулі майже немає токенів Old Cell.
Процес міграції включає такі етапи:
Оскільки в старому пулі практично немає токенів Old Cell, кількість BNB, отриманих при видаленні ліквідності, зростає, тоді як кількість токенів Old Cell зменшується. Це призводить до збільшення значень Resoult і Token1.
Користувачам потрібно лише додати невелику кількість BNB та токенів New Cell для отримання ліквідності, а надлишкові BNB і токени Old Cell будуть повернуті користувачеві.
Підсумки та рекомендації
Під час міграції ліквідності слід всебічно враховувати зміни в кількостях двох токенів у нових і старих пулах, а також поточну ціну токенів. Прямий розрахунок на основі кількостей двох валют у торговій парі може бути легко маніпульованим.
Крім того, для забезпечення безпеки команда проекту повинна провести комплексний аудит безпеки перед запуском коду. Це не лише допоможе виявити потенційні вразливості, але й підвищить загальну безпеку та надійність системи.