Анализ инцидента атаки на заем срочных займов сети Cellframe
1 июня 2023 года в 10:07:55 (UTC+8) сеть Cellframe Network подверглась хакерской атаке на одной из платформ умных контрактов из-за проблемы с расчетом количества токенов в процессе миграции ликвидности. Эта атака привела к прибыли хакера в размере около 76,112 долларов.
Детали атаки
Атакующий сначала получил 1000 нативных токенов определенной смарт-цепочки и 500000 токенов New Cell через Срочные займы. Затем они обменяли все токены New Cell на нативные токены этой платформы, что привело к тому, что количество нативных токенов в ликвидностном пуле стало близким к нулю. В конце концов, атакующий обменял 900 нативных токенов на токены Old Cell.
Стоит отметить, что злоумышленник добавил ликвидность Old Cell и нативного токена перед проведением атаки, получив токены Old lp.
Процесс атаки
Нападающий вызывает функцию миграции ликвидности. В этот момент в новом пуле почти нет нативных токенов, а в старом пуле почти нет токенов Old Cell.
Процесс миграции включает: удаление старой ликвидности и возврат соответствующего количества токенов пользователям; добавление новой ликвидности в соответствии с пропорциями нового пула.
Поскольку в старом пуле практически нет токенов Old Cell, количество получаемых при удалении ликвидности нативных токенов увеличивается, а количество токенов Old Cell уменьшается.
Пользователю нужно добавить лишь небольшое количество нативных токенов и токенов New Cell, чтобы получить ликвидность, а избыточные нативные токены и токены Old Cell будут возвращены пользователю.
Атакующий удаляет ликвидность нового пула и обменивает вернувшиеся токены Old Cell на родные токены.
В это время в старом пуле имеется большое количество токенов Old Cell, но нет родных токенов, злоумышленник повторно обменивает токены Old Cell на родные токены, тем самым достигая прибыли.
Нападающий повторяет операции миграции, чтобы получить дополнительную прибыль.
Резюме и рекомендации
Эта атака выявила ключевую проблему при миграции ликвидности: прямое использование количества двух токенов в торговой паре для расчетов легко манипулируется. Чтобы предотвратить подобные атаки, разработчики должны учитывать при проектировании механизма миграции ликвидности:
Полностью учитывайте изменения в количестве двух токенов в старом и новом пуле.
Учитывать текущую цену токена в расчетах.
Провести полную безопасность аудит перед запуском кода.
Это событие снова подчеркивает важность безопасности и аудита кода в области децентрализованных финансов. Проектам следует более осторожно разрабатывать и реализовывать ключевые функции, особенно те, которые связаны с движением средств. В то же время пользователи также должны осознавать риски, связанные с участием в новых проектах, и принимать соответствующие меры предосторожности.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Сеть Cellframe подверглась флеш-атаке займа, хакер заработал 76,000 долларов США
Анализ инцидента атаки на заем срочных займов сети Cellframe
1 июня 2023 года в 10:07:55 (UTC+8) сеть Cellframe Network подверглась хакерской атаке на одной из платформ умных контрактов из-за проблемы с расчетом количества токенов в процессе миграции ликвидности. Эта атака привела к прибыли хакера в размере около 76,112 долларов.
Детали атаки
Атакующий сначала получил 1000 нативных токенов определенной смарт-цепочки и 500000 токенов New Cell через Срочные займы. Затем они обменяли все токены New Cell на нативные токены этой платформы, что привело к тому, что количество нативных токенов в ликвидностном пуле стало близким к нулю. В конце концов, атакующий обменял 900 нативных токенов на токены Old Cell.
Стоит отметить, что злоумышленник добавил ликвидность Old Cell и нативного токена перед проведением атаки, получив токены Old lp.
Процесс атаки
Нападающий вызывает функцию миграции ликвидности. В этот момент в новом пуле почти нет нативных токенов, а в старом пуле почти нет токенов Old Cell.
Процесс миграции включает: удаление старой ликвидности и возврат соответствующего количества токенов пользователям; добавление новой ликвидности в соответствии с пропорциями нового пула.
Поскольку в старом пуле практически нет токенов Old Cell, количество получаемых при удалении ликвидности нативных токенов увеличивается, а количество токенов Old Cell уменьшается.
Пользователю нужно добавить лишь небольшое количество нативных токенов и токенов New Cell, чтобы получить ликвидность, а избыточные нативные токены и токены Old Cell будут возвращены пользователю.
Атакующий удаляет ликвидность нового пула и обменивает вернувшиеся токены Old Cell на родные токены.
В это время в старом пуле имеется большое количество токенов Old Cell, но нет родных токенов, злоумышленник повторно обменивает токены Old Cell на родные токены, тем самым достигая прибыли.
Нападающий повторяет операции миграции, чтобы получить дополнительную прибыль.
Резюме и рекомендации
Эта атака выявила ключевую проблему при миграции ликвидности: прямое использование количества двух токенов в торговой паре для расчетов легко манипулируется. Чтобы предотвратить подобные атаки, разработчики должны учитывать при проектировании механизма миграции ликвидности:
Это событие снова подчеркивает важность безопасности и аудита кода в области децентрализованных финансов. Проектам следует более осторожно разрабатывать и реализовывать ключевые функции, особенно те, которые связаны с движением средств. В то же время пользователи также должны осознавать риски, связанные с участием в новых проектах, и принимать соответствующие меры предосторожности.