Полный анализ распространённых уязвимостей безопасности в Децентрализованных финансах и мер по их предотвращению

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

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

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

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

Лондонский займ

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

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

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

Проблема манипуляции ценами тесно связана с闪电贷, существует два основных типа:

  1. При расчете цены используются данные третьих сторон, но неправильное их использование или отсутствие проверки приводит к злонамеренному манипулированию ценами.

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

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

Одним из основных рисков вызова внешних контрактов является то, что они могут захватить управление потоком и внести непредвиденные изменения в данные. Типичный пример атаки повторного входа приведен ниже:

солидность отображение (address => uint) private userBalances;

функция withdrawBalance() публичная { uint amountToWithdraw = userBalances[msg.sender]; (bool успех, ) = msg.sender.call.value(amountToWithdraw)("" ); require(успех); userBalances[msg.sender] = 0; }

Поскольку баланс пользователя устанавливается в 0 только в конце функции, повторные вызовы все равно могут успешно извлекать баланс.

При решении проблемы повторного входа следует обратить внимание на:

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

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

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

Методы оценки безопасности смарт-контрактов пользователями

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

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

Cobo Децентрализованные финансы 安全课(下):Децентрализованные финансы 常⻅安全漏洞及预防

DEFI-14.29%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 5
  • Поделиться
комментарий
0/400
ForkThisDAOvip
· 07-12 07:12
Аудит кода очень важен.
Посмотреть ОригиналОтветить0
NewPumpamentalsvip
· 07-12 05:08
Пожалуйста, строго установите аудит контрактов
Посмотреть ОригиналОтветить0
ConsensusDissentervip
· 07-10 09:19
Аудит также требует аудита
Посмотреть ОригиналОтветить0
RektRecoveryvip
· 07-10 09:18
Мультиподпись является основополагающей
Посмотреть ОригиналОтветить0
FallingLeafvip
· 07-10 09:09
Безопасность на первом месте, нет второго выбора
Посмотреть ОригиналОтветить0
  • Закрепить