Децентрализованные финансы Общие уязвимости безопасности и меры предосторожности
Недавно один из специалистов по безопасности провел для членов сообщества урок по безопасности в области Децентрализованных финансов. Он рассмотрел значительные инциденты безопасности, которые произошли в индустрии Web3 за последний год, обсудил причины этих событий и способы их предотвращения, обобщил распространенные уязвимости смарт-контрактов и меры предосторожности, а также дал несколько советов по безопасности для проектов и обычных пользователей.
Распространенные типы уязвимостей DeFi включают в себя флеш-кредиты, манипуляции с ценами, проблемы с правами функций, произвольные внешние вызовы, проблемы с функцией обратного вызова, уязвимости бизнес-логики, утечку приватных ключей и атаки повторного входа и др. В данной статье будет уделено особое внимание трем типам: флеш-кредиты, манипуляции с ценами и атаки повторного входа.
Лунный кредит
Флеш-займы — это инновация в Децентрализованных финансах, но они также могут быть легко использованы хакерами. Злоумышленники обычно занимают большие суммы через флеш-займы, чтобы манипулировать ценами или атаковать бизнес-логики. Разработчики должны учитывать, приведут ли крупные суммы к аномалиям в функционале контракта или могут ли они быть использованы для получения незаслуженных вознаграждений.
Многие проекты в сфере Децентрализованные финансы кажутся высокодоходными, но на самом деле уровень проекта может варьироваться. Код некоторых проектов может быть куплен, и даже если в самом коде нет уязвимостей, логически могут существовать проблемы. Например, некоторые проекты будут выплачивать вознаграждения в фиксированное время в зависимости от количества токенов у держателей, но злоумышленники могут использовать флеш-займы для покупки большого количества токенов, тем самым получая большую часть вознаграждения.
Ценовое манипулирование
Проблема манипуляции ценами тесно связана с.flash-кредитами, в основном из-за того, что некоторые параметры при расчете цены могут контролироваться пользователем. Существует два основных типа проблем:
При расчете цены используются данные третьих сторон, но способ их использования некорректен или отсутствует проверка, что приводит к злонамеренному манипулированию ценами.
Использовать количество токенов на некоторых адресах в качестве расчетного переменного, при этом баланс токенов на этих адресах может быть временно увеличен или уменьшен.
Атака повторного входа
Одним из основных рисков вызова внешних контрактов является то, что они могут перехватить управление и внести непредвиденные изменения в данные. Например, в функции вывода средств, если обновление баланса пользователя происходит позже, чем вывод средств, это может привести к повторному выводу средств.
При решении проблемы повторного входа необходимо учитывать следующие моменты:
Необходимо предотвращать не только проблему повторного входа одной функции.
Следуйте модели Checks-Effects-Interactions при кодировании.
Используйте проверенный временем модификатор защиты от повторных входов.
Стоит отметить, что повторное изобретение колеса часто оказывается ненужным. Использование хорошо проверенных зрелых решений безопаснее, чем разработка собственных.
Рекомендуемые меры безопасности
Рекомендации по безопасности для проекта
Следуйте лучшим практикам безопасности при разработке контрактов.
Реализовать возможность обновления и приостановки контракта.
Применение механизма временной блокировки.
Увеличить инвестиции в безопасность и создать完善ную систему безопасности.
Повысить осведомленность всех сотрудников о безопасности.
Предотвращение внутренних злоупотреблений, повышение эффективности при одновременном усилении управления рисками.
Осторожно вводите сторонние компоненты, убедитесь в их безопасности.
Как пользователю определить безопасность смарт-контракта
Проверьте, является ли контракт открытым.
Подтвердите, использует ли владелец децентрализованный мультиподписной механизм.
Посмотрите на текущую торговую ситуацию по контракту.
Подтвердите, является ли контракт агентским, можно ли его обновить, есть ли временная блокировка.
Проверьте, проходил ли контракт аудит несколькими организациями, и не слишком ли велики права владельца.
Обратите внимание на надежность оракула, используемого проектом.
Обратив внимание на эти аспекты, пользователи могут лучше оценить безопасность смарт-контрактов и уменьшить вероятность участия в рискованных проектах.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
10 Лайков
Награда
10
5
Поделиться
комментарий
0/400
ThreeHornBlasts
· 10ч назад
Слушая вас, я понимаю больше, чем за десять лет учёбы.
Посмотреть ОригиналОтветить0
fomo_fighter
· 10ч назад
разыгрывайте людей как лохов! Мошенничество
Посмотреть ОригиналОтветить0
MetaverseVagrant
· 10ч назад
Срочные займы опять разыгрывают людей как лохов
Посмотреть ОригиналОтветить0
BagHolderTillRetire
· 11ч назад
Непрерывно подвергаясь ударам, испытываешь страх в мире криптовалют
Посмотреть ОригиналОтветить0
BasementAlchemist
· 11ч назад
Понял, что все неудачники, будут играть для лохов.
Децентрализованные финансы безопасность 101: Глубина анализа распространенных уязвимостей и стратегий защиты
Децентрализованные финансы Общие уязвимости безопасности и меры предосторожности
Недавно один из специалистов по безопасности провел для членов сообщества урок по безопасности в области Децентрализованных финансов. Он рассмотрел значительные инциденты безопасности, которые произошли в индустрии Web3 за последний год, обсудил причины этих событий и способы их предотвращения, обобщил распространенные уязвимости смарт-контрактов и меры предосторожности, а также дал несколько советов по безопасности для проектов и обычных пользователей.
Распространенные типы уязвимостей DeFi включают в себя флеш-кредиты, манипуляции с ценами, проблемы с правами функций, произвольные внешние вызовы, проблемы с функцией обратного вызова, уязвимости бизнес-логики, утечку приватных ключей и атаки повторного входа и др. В данной статье будет уделено особое внимание трем типам: флеш-кредиты, манипуляции с ценами и атаки повторного входа.
Лунный кредит
Флеш-займы — это инновация в Децентрализованных финансах, но они также могут быть легко использованы хакерами. Злоумышленники обычно занимают большие суммы через флеш-займы, чтобы манипулировать ценами или атаковать бизнес-логики. Разработчики должны учитывать, приведут ли крупные суммы к аномалиям в функционале контракта или могут ли они быть использованы для получения незаслуженных вознаграждений.
Многие проекты в сфере Децентрализованные финансы кажутся высокодоходными, но на самом деле уровень проекта может варьироваться. Код некоторых проектов может быть куплен, и даже если в самом коде нет уязвимостей, логически могут существовать проблемы. Например, некоторые проекты будут выплачивать вознаграждения в фиксированное время в зависимости от количества токенов у держателей, но злоумышленники могут использовать флеш-займы для покупки большого количества токенов, тем самым получая большую часть вознаграждения.
Ценовое манипулирование
Проблема манипуляции ценами тесно связана с.flash-кредитами, в основном из-за того, что некоторые параметры при расчете цены могут контролироваться пользователем. Существует два основных типа проблем:
Атака повторного входа
Одним из основных рисков вызова внешних контрактов является то, что они могут перехватить управление и внести непредвиденные изменения в данные. Например, в функции вывода средств, если обновление баланса пользователя происходит позже, чем вывод средств, это может привести к повторному выводу средств.
При решении проблемы повторного входа необходимо учитывать следующие моменты:
Стоит отметить, что повторное изобретение колеса часто оказывается ненужным. Использование хорошо проверенных зрелых решений безопаснее, чем разработка собственных.
Рекомендуемые меры безопасности
Рекомендации по безопасности для проекта
Как пользователю определить безопасность смарт-контракта
Обратив внимание на эти аспекты, пользователи могут лучше оценить безопасность смарт-контрактов и уменьшить вероятность участия в рискованных проектах.