Детальний аналіз вразливостей безпеки Децентралізованих фінансів: посібник з запобігання терміновим позикам, маніпуляціям з цінами та атакам повторного входу

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Не тільки запобігає проблемі повторного входу одного функції

  2. Дотримуйтесь моделі Checks-Effects-Interactions при програмуванні

  3. Використовуйте перевірений часом модифікатор для запобігання повторним викликам

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

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

  1. Розробка контрактів відповідає найкращим практикам безпеки

  2. Контракт може бути оновлений, призупинений

  3. Використання тимчасового замка

  4. Збільшити інвестиції в безпеку, створити досконалу систему безпеки

  5. Підвищення обізнаності всіх співробітників щодо безпеки

  6. Запобігання внутрішнім зловживанням, підвищуючи ефективність, водночас посилюючи управління ризиками

  7. Обережно вводьте третіх сторін, перевіряйте верхні та нижні потоки

Як користувачам/LP визначити, чи є смарт-контракт безпечним

  1. Чи є контракт відкритим вихідним кодом

  2. Чи використовує власник мультипідпис, чи є мультипідпис децентралізованим?

  3. Існуюча торгова ситуація за контрактом

  4. Чи є контракт агентським контрактом, чи можна його оновити, чи є таймлок

  5. Чи проходив контракт аудит у кількох установ, чи не є надто великими повноваження власника?

  6. Зверніть увагу на вибір і використання оракулів

У підсумку, користувачам слід бути особливо обережними при участі в проектах DeFi, всебічно оцінювати безпеку проекту і не піддаватися ілюзії високих прибутків. Проектам необхідно з різних боків будувати безпечні бар'єри, постійно стежити за безпекою проекту та покращувати її.

DEFI-10.59%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Поділіться
Прокоментувати
0/400
GhostInTheChainvip
· 6год тому
обдурювали людей, як лохів протягом року, побачивши червону пил.
Переглянути оригіналвідповісти на0
MiningDisasterSurvivorvip
· 07-29 19:14
Ще одна хвиля невдах буде обдурена.
Переглянути оригіналвідповісти на0
BearMarketBardvip
· 07-29 19:12
Досвід rug pull на форумі
Переглянути оригіналвідповісти на0
TestnetFreeloadervip
· 07-29 19:08
Ядерний гаманець буде швидким
Переглянути оригіналвідповісти на0
BearMarketGardenervip
· 07-29 18:58
Знову стара розмова, що має зрушити з мертвої точки!
Переглянути оригіналвідповісти на0
WinterWarmthCatvip
· 07-29 18:45
Люди дурні, грошей багато, робіть швидше
Переглянути оригіналвідповісти на0
  • Закріпити