Децентрализованные финансы безопасность: распространенные уязвимости и меры предосторожности
В последнее время один из экспертов по безопасности поделился курсом по безопасности DeFi с членами сообщества. Эксперт рассмотрел значительные инциденты безопасности, которые произошли в индустрии Web3 за последний год, обсудил причины этих инцидентов и методы предотвращения, а также подытожил распространенные уязвимости смарт-контрактов и меры предосторожности, одновременно предоставив некоторые рекомендации по безопасности как для проектов, так и для обычных пользователей.
Распространенные типы уязвимостей в Децентрализованных финансах
Типы уязвимостей, часто встречающиеся в Децентрализованных финансах, включают в себя флеш-кредиты, манипуляции с ценами, проблемы с правами функций, произвольные внешние вызовы, проблемы с fallback-функциями, уязвимости бизнес-логики, утечку закрытых ключей и атаки повторного входа. В этой статье мы сосредоточимся на трех типах: флеш-кредиты, манипуляции с ценами и атаки повторного входа.
Мгновенный кредит
Несмотря на то, что闪电贷 является инновацией в области Децентрализованные финансы, он также используется хакерами для атак. Злоумышленники обычно берут в借大量 средств через闪电贷, манипулируя ценами или атакуя бизнес-логику. Разработчикам необходимо учитывать, может ли функциональность контракта аномально измениться из-за огромных средств, или возможно ли получить ненадлежащие вознаграждения, взаимодействуя с несколькими функциями в одной транзакции.
Многие проекты Децентрализованные финансы выглядят весьма прибыльными, но на самом деле способности команд проектов сильно различаются. Некоторые проекты могут купить код, и даже если сам код не содержит уязвимостей, в логике все равно могут быть проблемы. Например, некоторые проекты распределяют награды в зависимости от количества токенов у держателей в фиксированное время, но злоумышленники могут воспользоваться флэш-займами, чтобы купить большое количество токенов, тем самым получая большую часть награды.
манипуляция ценами
Проблема манипуляции с ценами тесно связана с闪电贷. Эти проблемы в основном возникают из-за того, что некоторые параметры, используемые для расчета цен, могут контролироваться пользователями. Существуют два основных типа проблем:
При расчете цены используются данные третьих сторон, но неправильное использование или отсутствие проверки приводит к манипуляциям с ценой.
Используйте количество токенов на некоторых адресах в качестве расчетной переменной, при этом баланс токенов на этих адресах может временно увеличиваться или уменьшаться.
Реверсивная атака
Одним из основных рисков вызова внешних контрактов является то, что они могут захватить контрольный поток и внести непредвиденные изменения в данные. Например, в функции вывода, если баланс пользователя устанавливается в 0 только в конце функции, то повторные вызовы могут привести к многократному извлечению баланса.
При решении проблемы повторного входа необходимо учитывать следующие моменты:
Необходимо предотвращать не только проблемы повторного входа в одну функцию.
Следуйте модели Проверки-Эффекты-Взаимодействия при кодировании.
Используйте проверенный временем модификатор защиты от повторных вызовов.
Стоит отметить, что повторное изобретение колеса часто увеличивает риск ошибок. Использование лучших практик безопасности, уже существующих в отрасли, обычно более надежно, чем разработка собственных решений.
Рекомендации по безопасности
Рекомендации по безопасности от команды проекта
Следуйте лучшим практикам безопасности при разработке контрактов.
Реализовать возможность обновления и приостановки контрактов.
Применение механизма временной блокировки.
Увеличить инвестиции в безопасность и создать完善ную систему безопасности.
Повышение осведомленности о безопасности всех сотрудников.
Предотвращение внутренних злонамеренных действий, одновременно повышая эффективность и усиливая управление рисками.
Осторожно вводите сторонние услуги, проводите проверку безопасности как для верхнего, так и для нижнего потока.
Пользователь/LP как определить безопасность смарт-контракта
Проверьте, открыт ли контракт.
Подтвердите, использует ли владелец децентрализованный многофакторный механизм.
Просмотреть текущую торговую ситуацию по контракту.
Узнайте, является ли контракт代理ным, можно ли его обновить, есть ли временная блокировка.
Подтвердите, прошел ли контракт аудит от нескольких учреждений, и оцените, не слишком ли велики полномочия владельца.
Обратите внимание на тип используемого проекта оракула и его надежность.
Обращая внимание на эти аспекты, пользователи могут лучше оценить безопасность проекта и снизить риски участия.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
14 Лайков
Награда
14
9
Поделиться
комментарий
0/400
Frontrunner
· 07-26 06:29
Много уязвимостей, но ничего не поделаешь.
Посмотреть ОригиналОтветить0
GasFeeWhisperer
· 07-25 14:14
0x старт $400 испугали
Посмотреть ОригиналОтветить0
NFTArtisanHQ
· 07-23 11:26
увлекательный анализ, но вместо профилактики давайте обсудим эстетическую топологию дефи-эксплойтов...
Посмотреть ОригиналОтветить0
BloodInStreets
· 07-23 11:26
Сокращение потерь才是最保险的防护
Посмотреть ОригиналОтветить0
GateUser-e51e87c7
· 07-23 11:26
Выучил безопасность, всё равно был ограблен.
Посмотреть ОригиналОтветить0
mev_me_maybe
· 07-23 11:23
Ай, голова не запоминает.
Посмотреть ОригиналОтветить0
ForumMiningMaster
· 07-23 11:16
Неудачники должны обязательно учиться перед входом на рынок.
Посмотреть ОригиналОтветить0
GweiTooHigh
· 07-23 11:09
Снова говорят о уязвимостях безопасности, достало!
Децентрализованные финансы безопасность: раскрытие распространенных уязвимостей и стратегий защиты
Децентрализованные финансы безопасность: распространенные уязвимости и меры предосторожности
В последнее время один из экспертов по безопасности поделился курсом по безопасности DeFi с членами сообщества. Эксперт рассмотрел значительные инциденты безопасности, которые произошли в индустрии Web3 за последний год, обсудил причины этих инцидентов и методы предотвращения, а также подытожил распространенные уязвимости смарт-контрактов и меры предосторожности, одновременно предоставив некоторые рекомендации по безопасности как для проектов, так и для обычных пользователей.
Распространенные типы уязвимостей в Децентрализованных финансах
Типы уязвимостей, часто встречающиеся в Децентрализованных финансах, включают в себя флеш-кредиты, манипуляции с ценами, проблемы с правами функций, произвольные внешние вызовы, проблемы с fallback-функциями, уязвимости бизнес-логики, утечку закрытых ключей и атаки повторного входа. В этой статье мы сосредоточимся на трех типах: флеш-кредиты, манипуляции с ценами и атаки повторного входа.
Мгновенный кредит
Несмотря на то, что闪电贷 является инновацией в области Децентрализованные финансы, он также используется хакерами для атак. Злоумышленники обычно берут в借大量 средств через闪电贷, манипулируя ценами или атакуя бизнес-логику. Разработчикам необходимо учитывать, может ли функциональность контракта аномально измениться из-за огромных средств, или возможно ли получить ненадлежащие вознаграждения, взаимодействуя с несколькими функциями в одной транзакции.
Многие проекты Децентрализованные финансы выглядят весьма прибыльными, но на самом деле способности команд проектов сильно различаются. Некоторые проекты могут купить код, и даже если сам код не содержит уязвимостей, в логике все равно могут быть проблемы. Например, некоторые проекты распределяют награды в зависимости от количества токенов у держателей в фиксированное время, но злоумышленники могут воспользоваться флэш-займами, чтобы купить большое количество токенов, тем самым получая большую часть награды.
манипуляция ценами
Проблема манипуляции с ценами тесно связана с闪电贷. Эти проблемы в основном возникают из-за того, что некоторые параметры, используемые для расчета цен, могут контролироваться пользователями. Существуют два основных типа проблем:
Реверсивная атака
Одним из основных рисков вызова внешних контрактов является то, что они могут захватить контрольный поток и внести непредвиденные изменения в данные. Например, в функции вывода, если баланс пользователя устанавливается в 0 только в конце функции, то повторные вызовы могут привести к многократному извлечению баланса.
При решении проблемы повторного входа необходимо учитывать следующие моменты:
Стоит отметить, что повторное изобретение колеса часто увеличивает риск ошибок. Использование лучших практик безопасности, уже существующих в отрасли, обычно более надежно, чем разработка собственных решений.
Рекомендации по безопасности
Рекомендации по безопасности от команды проекта
Пользователь/LP как определить безопасность смарт-контракта
Обращая внимание на эти аспекты, пользователи могут лучше оценить безопасность проекта и снизить риски участия.