Анализ инцидента с флеш-атакой займа на сети Cellframe
1 июня 2023 года в 10:07:55 по UTC+8 сеть Cellframe Network подверглась хакерской атаке на смарт-цепочке из-за проблемы с подсчетом количества токенов в процессе миграции ликвидности. Эта атака принесла хакерам прибыль около 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 подверглась флеш-атака займа, уязвимость миграции ликвидности привела к убыткам в размере 76,112 долларов США.
Анализ инцидента с флеш-атакой займа на сети Cellframe
1 июня 2023 года в 10:07:55 по UTC+8 сеть Cellframe Network подверглась хакерской атаке на смарт-цепочке из-за проблемы с подсчетом количества токенов в процессе миграции ликвидности. Эта атака принесла хакерам прибыль около 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 будут возвращены пользователю.
Резюме и рекомендации
При миграции ликвидности необходимо всесторонне учитывать изменения количества двух токенов в старом и новом пулах, а также текущую цену токенов. Прямой расчет на основе количества двух валют в торговой паре легко поддается манипуляциям.
Кроме того, для обеспечения безопасности проектная команда должна провести полную проверку безопасности перед запуском кода. Это не только поможет выявить потенциальные уязвимости, но и повысит общую безопасность и надежность системы.