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

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

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

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

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

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

Швидкі позики, хоча й є інновацією в Децентралізованих фінансах, але також часто використовуються хакерами:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DEFI8.89%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 3
  • Поділіться
Прокоментувати
0/400
MidnightSnapHuntervip
· 07-25 08:52
Я вже багато разів бачив такі вразливості...
Переглянути оригіналвідповісти на0
GhostWalletSleuthvip
· 07-25 08:51
Вразливості завжди є грою кішки і миші між вечіркою проєкту та Хакером.
Переглянути оригіналвідповісти на0
FlatlineTradervip
· 07-25 08:45
Старі проекти вже зазнали повторного входу.
Переглянути оригіналвідповісти на0
  • Закріпити