Безопасность DeFi: Глубина анализа общих уязвимостей и стратегий защиты

robot
Генерация тезисов в процессе

Децентрализованные финансы Общие уязвимости безопасности и меры предосторожности

Недавно один из экспертов по безопасности провел для членов сообщества урок по безопасности в области Децентрализованные финансы. Эксперт обсудил серьезные инциденты безопасности, с которыми столкнулась индустрия Web3 за последний год, исследовал причины этих инцидентов и способы их предотвращения, подытожил распространенные уязвимости смарт-контрактов и меры предосторожности, а также дал некоторые рекомендации по безопасности для проектных команд и обычных пользователей.

Распространенные типы уязвимостей в Децентрализованных финансах в основном включают в себя flash-кредиты, манипуляции с ценами, проблемы с правами функций, произвольные внешние вызовы, проблемы с fallback-функциями, уязвимости бизнес-логики, утечку приватных ключей и повторные атаки. В этой статье будет уделено особое внимание трем типам: flash-кредиты, манипуляции с ценами и повторные атаки.

Cobo Децентрализованные финансы безопасность урок (часть 2): Часто встречающиеся уязвимости безопасности DeFi и их предотвращение

Флеш-кредит

Флеш-кредиты являются инновацией в области Децентрализованных финансов, но также часто используются хакерами для атак. Злоумышленники берут в долг большие суммы денег через флеш-кредиты, чтобы манипулировать ценами или атаковать бизнес-логику. Разработчики должны учитывать, может ли функциональность контракта привести к аномалиям из-за огромных сумм денежных средств или возможно ли получить неправомерные вознаграждения, взаимодействуя с несколькими функциями в одной транзакции.

Многие проекты Децентрализованные финансы выглядят так, будто приносят высокую прибыль, но на самом деле уровень команд проектов сильно варьируется. В некоторых проектах код может быть куплен, и даже если в самом коде нет уязвимостей, логически могут возникнуть проблемы. Например, некоторые проекты будут раздавать вознаграждения в фиксированное время в зависимости от количества токенов, которые держат владельцы, но злоумышленники могут использовать флеш-займы для покупки большого количества токенов, чтобы получить большую часть вознаграждения в момент его раздачи.

Манипуляция ценами

Проблема манипуляции ценами тесно связана с闪电贷, в основном из-за того, что некоторые параметры, используемые для расчета цен, могут контролироваться пользователями. Существуют два основных типа проблем:

  1. При расчете цены используются данные третьих сторон, но способ их использования неправильный или отсутствует проверка, что приводит к злонамеренному манипулированию ценами.
  2. Используйте количество токенов на определенных адресах в качестве вычисляемой переменной, при этом баланс токенов на этих адресах может временно увеличиваться или уменьшаться.

Атака повторного входа

Реинвазивная атака является одной из основных опасностей, с которыми можно столкнуться при вызове внешних контрактов. Атакующий может взять под контроль поток и внести неожиданные изменения в данные.

Существует множество способов повторного входа для различных контрактов, которые могут включать разные функции контракта или функции нескольких различных контрактов. При решении проблемы повторного входа необходимо учитывать следующие моменты:

  1. Необходимо не только предотвращать проблему повторного входа в одну функцию.
  2. Следуйте модели Checks-Effects-Interactions при кодировании
  3. Используйте проверенный временем модификатор защиты от повторных вызовов

В области Web3 разумнее использовать зрелые практики безопасности, чем снова изобретать колесо. Использование хорошо проверенных решений может значительно снизить вероятность возникновения проблем.

Рекомендации по безопасности для проекта

  1. Следуйте лучшим практикам безопасности при разработке контрактов
  2. Реализовать возможность обновления и приостановки контракта
  3. Использование механизма временной блокировки
  4. Увеличить вложения в безопасность, создать完善ную систему безопасности
  5. Повышение безопасности всех сотрудников
  6. Предотвращение внутреннего зла, одновременно повышая эффективность, усиливает управление рисками.
  7. Осторожно вводите сторонние услуги, следуя принципу "по умолчанию все вверх и вниз по цепочке являются небезопасными"

Как пользователю определить, безопасен ли смарт-контракт

  1. Подтвердите, является ли контракт открытым исходным кодом
  2. Проверьте, использует ли Владелец децентрализованный многоподписной механизм.
  3. Просмотрите существующие сделки по контракту
  4. Подтвердите, является ли контракт агентским, можно ли его обновить, есть ли временная блокировка
  5. Проверьте, проводился ли аудит контракта несколькими организациями и не слишком ли велики права владельца.
  6. Обратите внимание на надежность оракула, используемого в проекте.

Обращая внимание на эти моменты, пользователи могут лучше оценить безопасность смарт-контрактов и снизить риски участия в Децентрализованных финансах.

DEFI-4.59%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Репост
  • Поделиться
комментарий
0/400
SnapshotStrikervip
· 08-09 05:42
Слишком много уязвимостей, закончив добычу, следует искать уязвимости.
Посмотреть ОригиналОтветить0
down_only_larryvip
· 08-09 05:41
Снова в атаке и защите~
Посмотреть ОригиналОтветить0
ContractFreelancervip
· 08-09 05:38
Пора поднимать, братья!
Посмотреть ОригиналОтветить0
MEVVictimAlliancevip
· 08-09 05:33
разыгрывайте людей как лохов только так можно понять, как избегать этого
Посмотреть ОригиналОтветить0
ValidatorVibesvip
· 08-09 05:25
управление сломано аф... когда протоколы наконец исправят эти векторы атак смх
Посмотреть ОригиналОтветить0
liquidation_surfervip
· 08-09 05:24
Не говорить о том, что видно, слишком реалистично.
Посмотреть ОригиналОтветить0
  • Закрепить