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

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

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

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

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

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

Літній кредит

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DEFI7.35%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
TokenCreatorOPvip
· 07-28 02:54
Раніше б сказав це, мого USDT немає.
Переглянути оригіналвідповісти на0
RooftopReservervip
· 07-28 02:53
Знову невдахи хочуть вийти на дах.
Переглянути оригіналвідповісти на0
consensus_failurevip
· 07-28 02:53
Знову грають сценарій шахрайства, щоб вивести гроші~
Переглянути оригіналвідповісти на0
ParallelChainMaxivip
· 07-28 02:34
Жоден проект не є безпечним
Переглянути оригіналвідповісти на0
  • Закріпити