Повний аналіз поширених вразливостей безпеки в Децентралізованих фінансах та заходів запобігання

robot
Генерація анотацій у процесі

Децентралізовані фінанси Загальні вразливості безпеки та заходи запобігання

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

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

Швидкий кредит

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

Протягом останніх двох років багато проектів Децентралізовані фінанси зазнали атак через проблеми зі швидкими кредитами. Деякі проекти надають винагороди в певний час залежно від обсягу володіння, але зловмисники використовують швидкі кредити для купівлі великої кількості токенів, отримуючи більшу частину прибутку під час виплати винагороди. Також деякі проекти, що розраховують ціну на основі токенів, також можуть бути піддані впливу швидких кредитів.

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

Проблема маніпуляцій з цінами тісно пов'язана з миттєвими кредитами, в основному існує два типи:

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

  2. Використання кількості токенів з певних адрес як обчислювальної змінної, при цьому залишок токенів на цих адресах може тимчасово збільшуватися або зменшуватися.

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

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

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

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

Оскільки баланс користувача встановлюється в 0 лише в кінці функції, повторні виклики все ще можуть успішно знімати баланс.

Щоб вирішити проблему повторного входу, потрібно звернути увагу на:

  1. Не тільки запобігає повторному входу єдиної функції
  2. Дотримуйтесь моделі Checks-Effects-Interactions
  3. Використання перевіреного модифікатора для запобігання повторним викликам

Рекомендації щодо безпеки для проекту

  1. Дотримуйтесь найкращих практик безпеки при розробці контрактів
  2. Реалізація можливості оновлення та призупинення контракту
  3. Використання механізму тайм-локів
  4. Збільшити інвестиції в безпеку, створити вдосконалену систему безпеки
  5. Підвищення обізнаності всіх співробітників щодо безпеки
  6. Запобігання внутрішнім зловживанням, одночасне підвищення ефективності та посилення управління ризиками
  7. Обережно вводьте третіх осіб, за замовчуванням вважаючи, що як верхні, так і нижні рівні не є безпечними.

Методи оцінки безпеки смарт-контрактів користувачами

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

Отже, безпека DeFi є системною проблемою, яка потребує спільної уваги з боку проектів та користувачів, а також вжиття комплексних заходів безпеки для ефективного зменшення ризиків.

Cobo Децентралізовані фінанси безпечний курс (частина 2): Загальні вразливості безпеки DeFi та їх запобігання

DEFI-1.77%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією 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
  • Закріпити