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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рекомендації з безпеки

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

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

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

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

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

DEFI-10.39%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Поділіться
Прокоментувати
0/400
AllInDaddyvip
· 11год тому
Знову обдурювали людей, як лохів.
Переглянути оригіналвідповісти на0
DogeBachelorvip
· 20год тому
Термінові позики є чимось незвичайним, обдерти овечку і потім шахрайство
Переглянути оригіналвідповісти на0
BearMarketSurvivorvip
· 20год тому
Торгівля криптовалютою багато років Рект
Переглянути оригіналвідповісти на0
IfIWereOnChainvip
· 20год тому
Слухаючи вас, я втратив місяць.
Переглянути оригіналвідповісти на0
ApeEscapeArtistvip
· 20год тому
总有невдахи被обдурювати людей, як лохів
Переглянути оригіналвідповісти на0
LiquidityWitchvip
· 20год тому
Знову прийшла хвиля 0day обдурювати людей, як лохів
Переглянути оригіналвідповісти на0
  • Закріпити