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

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

Децентрализованные финансы Часто встречающиеся уязвимости безопасности и меры профилактики

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

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

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

Мгновенный кредит

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

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

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

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

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

Ребалансировка атаки

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

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

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

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

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

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

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

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

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

Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Награда
  • 2
  • Поделиться
комментарий
0/400
BearMarketHustlervip
· 16ч назад
Уязвимости в контрактах появляются каждый день, и никто не проявляет осторожности.
Посмотреть ОригиналОтветить0
ImpermanentLossFanvip
· 17ч назад
И правда, я погибал тысячу раз, играя и не умея.
Посмотреть ОригиналОтветить0
  • Закрепить