Анализ инцидента с флеш-атакой займа на Cellframe Network
1 июня 2023 года в 10:07:55 (UTC+8) сеть Cellframe была взломана на одном из смарт-цепей из-за проблемы с расчетом количества токенов в процессе миграции ликвидности. В результате атаки хакеры получили прибыль в размере 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 снова обмениваются на нативные токены, что позволяет получить прибыль.
Причины уязвимости и рекомендации по предотвращению
Коренная причина этой атаки заключается в вычислительных проблемах в процессе миграции ликвидности. Злоумышленник манипулировал соотношением токенов в пуле, воспользовавшись вычислительной уязвимостью в функции миграции.
Для предотвращения подобных атак рекомендуется принять следующие меры:
Полный учет: при миграции ликвидности следует充分 учитывать изменения количества двух токенов в старом и новом пулах, а также текущую цену токенов.
Избегайте простых вычислений: не следует полагаться только на количество двух валют в торговой паре для прямых расчетов, так как это может быть легко манипулировано злоумышленниками.
Безопасный аудит: перед запуском кода обязательно проведите всесторонний и строгий аудит безопасности, чтобы выявить и исправить потенциальные уязвимости.
Это событие еще раз подчеркивает важность безопасности и надежности при проектировании и реализации сложных финансовых операций. Команды проектов должны оставаться бдительными и постоянно оптимизировать свои меры безопасности.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
7 Лайков
Награда
7
5
Поделиться
комментарий
0/400
MeaninglessApe
· 16ч назад
Опять Срочные займы~ Небольшие убытки
Посмотреть ОригиналОтветить0
SmartContractPlumber
· 16ч назад
Еще один живой пример, который запустился без аудита.
Посмотреть ОригиналОтветить0
GasWastingMaximalist
· 16ч назад
Эта кража довольно мала.
Посмотреть ОригиналОтветить0
FarmToRiches
· 16ч назад
Снова хорошее время для продажи почек.
Посмотреть ОригиналОтветить0
ApeWithNoChain
· 16ч назад
Снова разыгрывайте людей как лохов, правда, неумеха.
Сеть Cellframe подверглась флеш-атаке займа, уязвимость миграции ликвидности привела к убыткам в 76,112 долларов.
Анализ инцидента с флеш-атакой займа на Cellframe Network
1 июня 2023 года в 10:07:55 (UTC+8) сеть Cellframe была взломана на одном из смарт-цепей из-за проблемы с расчетом количества токенов в процессе миграции ликвидности. В результате атаки хакеры получили прибыль в размере 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 снова обмениваются на нативные токены, что позволяет получить прибыль.
Причины уязвимости и рекомендации по предотвращению
Коренная причина этой атаки заключается в вычислительных проблемах в процессе миграции ликвидности. Злоумышленник манипулировал соотношением токенов в пуле, воспользовавшись вычислительной уязвимостью в функции миграции.
Для предотвращения подобных атак рекомендуется принять следующие меры:
Полный учет: при миграции ликвидности следует充分 учитывать изменения количества двух токенов в старом и новом пулах, а также текущую цену токенов.
Избегайте простых вычислений: не следует полагаться только на количество двух валют в торговой паре для прямых расчетов, так как это может быть легко манипулировано злоумышленниками.
Безопасный аудит: перед запуском кода обязательно проведите всесторонний и строгий аудит безопасности, чтобы выявить и исправить потенциальные уязвимости.
Это событие еще раз подчеркивает важность безопасности и надежности при проектировании и реализации сложных финансовых операций. Команды проектов должны оставаться бдительными и постоянно оптимизировать свои меры безопасности.