Децентрализованные финансы Часто встречающиеся уязвимости безопасности и меры предосторожности
Недавно один из экспертов по безопасности поделился с членами сообщества своими взглядами на безопасность в области Децентрализованных финансов. Он рассмотрел серьезные инциденты безопасности, с которыми столкнулась индустрия Web3 за последний год, обсудил причины этих событий и способы их предотвращения, подытожил распространенные уязвимости смарт-контрактов и меры предосторожности, а также дал некоторые рекомендации по безопасности для проектов и пользователей.
Распространенные типы уязвимостей в Децентрализованных финансах включают в себя флеш-кредиты, манипуляции с ценами, проблемы с правами доступа к функциям, произвольные внешние вызовы, проблемы с функциями обратного вызова, уязвимости бизнес-логики, утечку приватных ключей и атаки повторного входа. Ниже акцентируется внимание на трех типах: флеш-кредиты, манипуляции с ценами и атаки повторного входа.
Мгновенный заём
Флеш-кредиты - это инновация в Децентрализованных финансах, но они также часто используются хакерами. Злоумышленники могут занять большие суммы денег через флеш-кредиты, чтобы манипулировать ценами или атаковать бизнес-логику. Разработчики должны учитывать, приведет ли огромная сумма средств к аномалиям в функционале контракта или будет использована для получения неправомерного вознаграждения.
За последние два года проблема с кредитами за мгновение времени возникала часто. Некоторые, казалось бы, высокодоходные проекты в области Децентрализованные финансы на самом деле могут иметь логические уязвимости. Например, некоторые проекты выдают награды в фиксированное время в зависимости от объема владения, и злоумышленники используют кредиты за мгновение времени для покупки огромного количества токенов, чтобы получить большую часть награды. Есть и такие проекты, которые могут быть подвержены влиянию кредитов за мгновение времени при расчете цен на токены.
Манипуляция ценами
Проблема манипуляции ценами тесно связана с闪电贷, существует два основных типа:
При расчете цен используются данные третьих сторон, но способ использования неправильный или отсутствует проверка, что приводит к манипуляциям с ценами.
Используйте количество токенов на определенных адресах в качестве вычислительной переменной, при этом баланс токенов на этих адресах может временно увеличиваться или уменьшаться.
Атака повторного входа
Основной риск вызова внешних контрактов заключается в том, что они могут перехватить управление потоком и внести непредвиденные изменения в данные. Например, в функции вывода, если баланс пользователя устанавливается в 0 только в конце функции, то при повторном вызове все равно будет успешный вывод.
Решение проблемы повторного входа требует внимания:
Не только предотвращает проблему повторного входа для одной функции
Следуйте модели Checks-Effects-Interactions
Используйте проверенный модификатор против повторных входов
Типичным примером атаки повторного входа является инцидент с Omni Protocol. Этот инцидент также продемонстрировал соперничество между хакерами: сделки первоначального атакующего были перехвачены другими хакерами, что в итоге привело к тому, что обнаруживший уязвимость получил прибыль, а не тот, кто был наиболее активен.
Рекомендации по безопасности
Рекомендации по безопасности от команды проекта
Следуйте лучшим практикам безопасности при разработке контрактов
Реализация возможности обновления и приостановки контракта
Использование механизма временной блокировки
Увеличить инвестиции в безопасность и создать完善ную систему безопасности
Повышение безопасности всех сотрудников
Профилактика внутренних злоупотреблений, повышение эффективности и усиление рискового контроля.
Осторожно вводите сторонние услуги, следуя принципу "по умолчанию вверх и вниз по цепочке никто не безопасен".
Способы проверки безопасности смарт-контрактов пользователями/поставщиками ликвидности
Проверьте, является ли контракт открытым исходным кодом
Подтвердите, использует ли владелец децентрализованный мультиподписной механизм.
Посмотреть существующую торговую ситуацию по контракту
Узнайте, является ли контракт代理ным, можно ли его обновить, есть ли временная блокировка.
Проверьте, проводились ли аудит нескольких учреждений контракта и оцените, не слишком ли велики полномочия владельца.
Обратите внимание на выбор и использование оракулов
В среде Web3 пользователи должны быть настойчивыми, больше думать и задавать вопросы, чтобы избежать потенциальных рисков. Для любых высокодоходных проектов необходимо осторожно оценивать их безопасность перед участием.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Анализ уязвимостей безопасности DeFi: руководство по предотвращению срочных займов, манипуляций с ценами и атак повторного входа
Децентрализованные финансы Часто встречающиеся уязвимости безопасности и меры предосторожности
Недавно один из экспертов по безопасности поделился с членами сообщества своими взглядами на безопасность в области Децентрализованных финансов. Он рассмотрел серьезные инциденты безопасности, с которыми столкнулась индустрия Web3 за последний год, обсудил причины этих событий и способы их предотвращения, подытожил распространенные уязвимости смарт-контрактов и меры предосторожности, а также дал некоторые рекомендации по безопасности для проектов и пользователей.
Распространенные типы уязвимостей в Децентрализованных финансах включают в себя флеш-кредиты, манипуляции с ценами, проблемы с правами доступа к функциям, произвольные внешние вызовы, проблемы с функциями обратного вызова, уязвимости бизнес-логики, утечку приватных ключей и атаки повторного входа. Ниже акцентируется внимание на трех типах: флеш-кредиты, манипуляции с ценами и атаки повторного входа.
Мгновенный заём
Флеш-кредиты - это инновация в Децентрализованных финансах, но они также часто используются хакерами. Злоумышленники могут занять большие суммы денег через флеш-кредиты, чтобы манипулировать ценами или атаковать бизнес-логику. Разработчики должны учитывать, приведет ли огромная сумма средств к аномалиям в функционале контракта или будет использована для получения неправомерного вознаграждения.
За последние два года проблема с кредитами за мгновение времени возникала часто. Некоторые, казалось бы, высокодоходные проекты в области Децентрализованные финансы на самом деле могут иметь логические уязвимости. Например, некоторые проекты выдают награды в фиксированное время в зависимости от объема владения, и злоумышленники используют кредиты за мгновение времени для покупки огромного количества токенов, чтобы получить большую часть награды. Есть и такие проекты, которые могут быть подвержены влиянию кредитов за мгновение времени при расчете цен на токены.
Манипуляция ценами
Проблема манипуляции ценами тесно связана с闪电贷, существует два основных типа:
При расчете цен используются данные третьих сторон, но способ использования неправильный или отсутствует проверка, что приводит к манипуляциям с ценами.
Используйте количество токенов на определенных адресах в качестве вычислительной переменной, при этом баланс токенов на этих адресах может временно увеличиваться или уменьшаться.
Атака повторного входа
Основной риск вызова внешних контрактов заключается в том, что они могут перехватить управление потоком и внести непредвиденные изменения в данные. Например, в функции вывода, если баланс пользователя устанавливается в 0 только в конце функции, то при повторном вызове все равно будет успешный вывод.
Решение проблемы повторного входа требует внимания:
Типичным примером атаки повторного входа является инцидент с Omni Protocol. Этот инцидент также продемонстрировал соперничество между хакерами: сделки первоначального атакующего были перехвачены другими хакерами, что в итоге привело к тому, что обнаруживший уязвимость получил прибыль, а не тот, кто был наиболее активен.
Рекомендации по безопасности
Рекомендации по безопасности от команды проекта
Способы проверки безопасности смарт-контрактов пользователями/поставщиками ликвидности
В среде Web3 пользователи должны быть настойчивыми, больше думать и задавать вопросы, чтобы избежать потенциальных рисков. Для любых высокодоходных проектов необходимо осторожно оценивать их безопасность перед участием.