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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. Використовуйте перевірений модифікатор проти повторних викликів

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

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

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

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

  2. Контракти можуть бути оновлені та призупинені: це допомагає вчасно виявляти та знижувати втрати від атак.

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

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

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

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

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

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

  1. Підтвердіть, що контракт є відкритим

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

  3. Перегляньте вже існуючі угоди контракту

  4. Досліджуйте, чи можна оновити контракт, чи є часовий замок.

  5. Зверніть увагу на те, чи контракт був перевірений кількома установами, чи не надто великі повноваження власника.

  6. Зверніть увагу на надійність оракулів

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Поділіться
Прокоментувати
0/400
RektButSmilingvip
· 07-10 13:36
Згорніть один проект, поваливши десять рогаток.
Переглянути оригіналвідповісти на0
MagicBeanvip
· 07-08 21:32
Ще турбуєтеся, як впоратися з вразливістю?
Переглянути оригіналвідповісти на0
0xDreamChaservip
· 07-08 02:24
Безпека також залежить від того, наскільки надійною є вечірка проєкту.
Переглянути оригіналвідповісти на0
StakeWhisperervip
· 07-08 02:23
ще потрібно аудит смарт-контрактів збереження життя на першому місці
Переглянути оригіналвідповісти на0
Web3ExplorerLinvip
· 07-08 02:12
гіпотеза: як і давній лабіринт, архітектура defi вимагає як мудрості, так і обережності...
Переглянути оригіналвідповісти на0
DataPickledFishvip
· 07-08 02:03
Цей баг треба виправити, і вечірка проєкту буде порожня.
Переглянути оригіналвідповісти на0
LiquidationAlertvip
· 07-08 02:01
Знову говорять про цю пастку, ми не можемо постійно ховатися.
Переглянути оригіналвідповісти на0
  • Закріпити