Анализ уязвимостей безопасности Децентрализованных финансов: Подробные меры по предотвращению атак с повторным входом и манипуляциям с ценами на Срочные займы
Децентрализованные финансы безопасность: распространенные уязвимости и меры предосторожности
Недавно один из специалистов по безопасности поделился с членами сообщества курсом по безопасности в области Децентрализованные финансы, в котором рассмотрел серьезные события безопасности, произошедшие в индустрии Web3 за прошлый год, обсудил причины этих событий и способы их предотвращения, подытожил распространенные уязвимости смарт-контрактов и меры по их предотвращению, а также дал некоторые рекомендации по безопасности для проектных команд и обычных пользователей.
Типичные уязвимости DeFi обычно включают в себя: кредитование за счет мгновенных займов, манипуляции с ценами, проблемы с правами доступа функций, произвольные внешние вызовы, проблемы с функцией fallback, уязвимости в бизнес-логике, утечку приватных ключей и повторные атаки. Далее особое внимание будет уделено трем типам: мгновенные займы, манипуляции с ценами и повторным атакам.
Ликвидный кредит
Флеш-займы сами по себе являются инновацией в области Децентрализованные финансы, но когда они используются хакерами, они могут занимать большие суммы денег без каких-либо затрат, выполнять арбитраж и возвращать их, потратив лишь небольшую сумму на Gas, получая при этом огромную прибыль.
В последние два года займы с использованием闪电贷 вызвали множество проблем с безопасностью. Некоторые проекты Децентрализованные финансы выглядят очень прибыльными, но уровень команд проектов варьируется. Даже если в самом коде нет уязвимостей, логически могут существовать проблемы. Например, некоторые проекты будут выдавать награды в фиксированное время в зависимости от объема держания, но злоумышленники используют闪电贷 для покупки больших объемов токенов, получая большую часть награды во время ее распределения. Есть и такие проекты, которые могут влиять на цену через расчеты на основе токенов, используя闪电贷. Команды проектов должны повысить бдительность к этим проблемам.
Манипуляция ценами
Проблема манипуляции ценами тесно связана с мгновенными займами, в первую очередь из-за того, что некоторые параметры могут контролироваться пользователем при расчете цены. Существуют два основных типа проблем:
При расчете цены используются сторонние данные, но неправильное использование или отсутствие проверки приводит к злоумышленному манипулированию ценами.
Использование баланса токенов определенных адресов в качестве расчетной переменной, при этом количество токенов на этих адресах может временно увеличиваться или уменьшаться.
Атака повторного входа
Одним из основных рисков вызова внешних контрактов является то, что они могут захватить управление потоком и произвести непредвиденные изменения данных.
Для различных контрактов способы атаки повторного входа разнообразны и могут затрагивать несколько функций или контрактов. При решении проблемы повторного входа необходимо учитывать:
Не только предотвращает проблему повторного входа для одной функции
Следуйте модели Checks-Effects-Interactions при кодировании
Используйте проверенный модификатор защиты от повторного входа
Лучше использовать проверенные практики безопасности, чем повторно изобретать колесо. Новые решения, разработанные самостоятельно, недостаточно проверены, и вероятность возникновения проблем значительно выше, чем при использовании устоявшихся и проверенных решений.
Рекомендации по безопасности
Рекомендации по безопасности для проекта
Разработка контрактов должна соответствовать лучшим практикам безопасности.
Контракты могут быть обновлены и приостановлены: это помогает своевременно выявлять и снижать потери от атак.
Использование временной блокировки: предоставление временного окна для мониторинга и реагирования.
Увеличить инвестиции в безопасность, создать完善ную систему безопасности: безопасность является системной работой, нельзя полагаться только на аудит контрактов.
Повышение безопасности всех сотрудников: больше думать и обращать внимание может избежать многих рисков.
Профилактика внутренних злоупотреблений, одновременно с повышением эффективности усиление контроля рисков: например, использование мультиподписей, ограничение прав и т. д.
Осторожно вводите третьи стороны: проверяйте вверх и вниз по цепочке, не используйте закрытые контракты.
Способы оценки безопасности контрактов пользователями
Подтвердите, является ли контракт открытым
Проверьте, использует ли владелец децентрализованное мультиподписание.
Просмотрите существующую торговую ситуацию по контракту
Узнайте, можно ли обновить контракт и есть ли временная блокировка.
Обратите внимание, прошел ли контракт аудит в нескольких учреждениях, не слишком ли велика полномочия владельца.
Обратите внимание на надежность оракулов
В целом, участники в области Децентрализованные финансы должны повысить осведомленность о безопасности, проектные группы должны улучшить систему безопасности, а пользователи должны осторожно оценивать безопасность проектов. Только совместными усилиями всех сторон можно создать более безопасную экосистему Децентрализованные финансы.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
13 Лайков
Награда
13
7
Поделиться
комментарий
0/400
RektButSmiling
· 07-10 13:36
Сверните проект, упадите на десять рогов
Посмотреть ОригиналОтветить0
MagicBean
· 07-08 21:32
Все еще беспокоитесь о том, как справиться с уязвимостями?
Посмотреть ОригиналОтветить0
0xDreamChaser
· 07-08 02:24
Безопасность зависит от того, насколько команда проекта надежна.
Посмотреть ОригиналОтветить0
StakeWhisperer
· 07-08 02:23
еще надо сделать аудит смарт-контрактов, жизнь на первом месте
Посмотреть ОригиналОтветить0
Web3ExplorerLin
· 07-08 02:12
гипотеза: как древний лабиринт, архитектура defi требует как мудрости, так и осторожности...
Посмотреть ОригиналОтветить0
DataPickledFish
· 07-08 02:03
Этот баг нужно исправить, чтобы команда проекта была на нуле.
Посмотреть ОригиналОтветить0
LiquidationAlert
· 07-08 02:01
Снова говорит эту ловушку, мы не можем всё время избегать.
Анализ уязвимостей безопасности Децентрализованных финансов: Подробные меры по предотвращению атак с повторным входом и манипуляциям с ценами на Срочные займы
Децентрализованные финансы безопасность: распространенные уязвимости и меры предосторожности
Недавно один из специалистов по безопасности поделился с членами сообщества курсом по безопасности в области Децентрализованные финансы, в котором рассмотрел серьезные события безопасности, произошедшие в индустрии Web3 за прошлый год, обсудил причины этих событий и способы их предотвращения, подытожил распространенные уязвимости смарт-контрактов и меры по их предотвращению, а также дал некоторые рекомендации по безопасности для проектных команд и обычных пользователей.
Типичные уязвимости DeFi обычно включают в себя: кредитование за счет мгновенных займов, манипуляции с ценами, проблемы с правами доступа функций, произвольные внешние вызовы, проблемы с функцией fallback, уязвимости в бизнес-логике, утечку приватных ключей и повторные атаки. Далее особое внимание будет уделено трем типам: мгновенные займы, манипуляции с ценами и повторным атакам.
Ликвидный кредит
Флеш-займы сами по себе являются инновацией в области Децентрализованные финансы, но когда они используются хакерами, они могут занимать большие суммы денег без каких-либо затрат, выполнять арбитраж и возвращать их, потратив лишь небольшую сумму на Gas, получая при этом огромную прибыль.
В последние два года займы с использованием闪电贷 вызвали множество проблем с безопасностью. Некоторые проекты Децентрализованные финансы выглядят очень прибыльными, но уровень команд проектов варьируется. Даже если в самом коде нет уязвимостей, логически могут существовать проблемы. Например, некоторые проекты будут выдавать награды в фиксированное время в зависимости от объема держания, но злоумышленники используют闪电贷 для покупки больших объемов токенов, получая большую часть награды во время ее распределения. Есть и такие проекты, которые могут влиять на цену через расчеты на основе токенов, используя闪电贷. Команды проектов должны повысить бдительность к этим проблемам.
Манипуляция ценами
Проблема манипуляции ценами тесно связана с мгновенными займами, в первую очередь из-за того, что некоторые параметры могут контролироваться пользователем при расчете цены. Существуют два основных типа проблем:
При расчете цены используются сторонние данные, но неправильное использование или отсутствие проверки приводит к злоумышленному манипулированию ценами.
Использование баланса токенов определенных адресов в качестве расчетной переменной, при этом количество токенов на этих адресах может временно увеличиваться или уменьшаться.
Атака повторного входа
Одним из основных рисков вызова внешних контрактов является то, что они могут захватить управление потоком и произвести непредвиденные изменения данных.
Для различных контрактов способы атаки повторного входа разнообразны и могут затрагивать несколько функций или контрактов. При решении проблемы повторного входа необходимо учитывать:
Не только предотвращает проблему повторного входа для одной функции
Следуйте модели Checks-Effects-Interactions при кодировании
Используйте проверенный модификатор защиты от повторного входа
Лучше использовать проверенные практики безопасности, чем повторно изобретать колесо. Новые решения, разработанные самостоятельно, недостаточно проверены, и вероятность возникновения проблем значительно выше, чем при использовании устоявшихся и проверенных решений.
Рекомендации по безопасности
Рекомендации по безопасности для проекта
Разработка контрактов должна соответствовать лучшим практикам безопасности.
Контракты могут быть обновлены и приостановлены: это помогает своевременно выявлять и снижать потери от атак.
Использование временной блокировки: предоставление временного окна для мониторинга и реагирования.
Увеличить инвестиции в безопасность, создать完善ную систему безопасности: безопасность является системной работой, нельзя полагаться только на аудит контрактов.
Повышение безопасности всех сотрудников: больше думать и обращать внимание может избежать многих рисков.
Профилактика внутренних злоупотреблений, одновременно с повышением эффективности усиление контроля рисков: например, использование мультиподписей, ограничение прав и т. д.
Осторожно вводите третьи стороны: проверяйте вверх и вниз по цепочке, не используйте закрытые контракты.
Способы оценки безопасности контрактов пользователями
Подтвердите, является ли контракт открытым
Проверьте, использует ли владелец децентрализованное мультиподписание.
Просмотрите существующую торговую ситуацию по контракту
Узнайте, можно ли обновить контракт и есть ли временная блокировка.
Обратите внимание, прошел ли контракт аудит в нескольких учреждениях, не слишком ли велика полномочия владельца.
Обратите внимание на надежность оракулов
В целом, участники в области Децентрализованные финансы должны повысить осведомленность о безопасности, проектные группы должны улучшить систему безопасности, а пользователи должны осторожно оценивать безопасность проектов. Только совместными усилиями всех сторон можно создать более безопасную экосистему Децентрализованные финансы.