Автор: BlockSec
вступ
Оскільки розвиток DeFi продовжує змінювати фінансовий ландшафт, безпека завжди була серйозною проблемою, з якою стикається екосистема DeFi. Щороку проблеми безпеки спричиняють втрати активів на мільярди доларів.
За даними Chainalysis, у 2023 році зломи DeFi призвели до втрати активів на суму понад 1,1 мільярда доларів. Хоча ця кількість зменшилася порівняно з 2022 роком, у 2023 році з’явилися нові тенденції атак DeFi. Наприклад, деякі добре відомі протоколи, які вже давно є безпечними, такі як Curve і KyberSwap, також зазнали атак. Крім того, з’явилися складні атаки, спрямовані на вразливі місця інфраструктури, такі як Flashbots Relay.
Дані Security Incident Dashboard показують, що в першій половині 2024 року було зареєстровано понад 50 інцидентів злому, які спричинили збитки на суму понад 100 000 доларів США.
Останні хакерські атаки
(Джерело: Панель безпеки інцидентів)
https://app.blocksec.com/explorer/security-incidents
Безпека має вирішальне значення для розробки протоколу DeFi. Деякі протоколи керують активами користувачів на мільярди доларів, і інциденти безпеки можуть завдати значних збитків користувачам. Хоча в деяких випадках викрадені кошти можна (частково) повернути (наприклад, атака Ейлера), ми не можемо повністю покладати на це надії. Кожна атака підриває довіру користувачів до DeFi.
Незважаючи на те, що індустрія запропонувала багато заходів для підвищення безпеки, у безпеці DeFi ще багато можливостей для вдосконалення. Позитивним є те, що аудит коду став консенсусом спільноти, і більшість протоколів перевірятимуться перед виходом в Інтернет, що допомагає зменшити ризик атак, спричинених уразливістю смарт-контракту. Однак лише перевірки коду недостатньо для вирішення всіх проблем безпеки. Аудит коду не може запобігти атакам, спричиненим уразливими місцями, створеними оновленнями контрактів, змінами конфігурації та зовнішніми залежностями. Враховуючи ці обмеження, деякі протоколи починають застосовувати більш проактивні рішення, такі як системи оперативного моніторингу та виявлення атак.
У цій статті ми розглянемо заходи безпеки, які може вжити протокол на етапах перед запуском, після запуску та реагування на атаку, щоб зрозуміти панораму безпеки DeFi. Ми докладно розповімо про кожен тип ініціативи безпеки та його ключових постачальників/продуктів, а також про їхні переваги та недоліки. Я сподіваюся, що ця стаття допоможе спільноті краще зрозуміти поточний стан безпеки DeFi і надихне на інноваційні рішення безпеки.
Панорама безпеки DeFi
Заходи безпеки протоколу DeFi повинні проходити протягом усього життєвого циклу протоколу від до його запуску до після його запуску, забезпечуючи безпеку самого протоколу та під час його роботи. Також важливо мати превентивні заходи та плани реагування напередодні потенційних атак. Щоб допомогти читачам чітко зрозуміти, які рішення безпеки DeFi зараз доступні, ми розділили відповідних постачальників (продуктів) на такі категорії.
Безпека перед запуском
Заходи безпеки, які можна вжити до того, як протокол піде в режим онлайн, включають перевірку коду, формальну перевірку та тестування безпеки.
Послуги та конкурси аудиту коду
Аудит коду є визнаною спільнотою практикою забезпечення безпеки протоколу. Під час цього процесу охоронна компанія проведе напівавтоматичний перегляд замороженого коду, тобто автоматично сканує загальні вразливості в коді, а потім вручну перевірить складні вразливості. Представники аудиторських компаній включають OpenZeppelin, ChainSecurity, BlockSec тощо.
Крім того, є майданчик для конкурсу аудиту. На відміну від аудиторських компаній, які безпосередньо надають аудиторські послуги, ці платформи публічно публікують вимоги до аудиту, залучають дослідників безпеки в спільноті до участі в конкурсах з аудиту та розподіляють винагороди для учасників, які виявляють уразливості протоколів. Конкурсні платформи аудиту включають Code4rena, SHERLOCK, Cantina, Secure3 тощо. Кожна платформа має деякі відмінності в рівнях серйозності вразливості, розподілених винагородах і критеріях участі.
Аудит коду є першою лінією захисту безпеки протоколу. Однак він також має деякі обмеження, тому багато протоколів, перевірених авторитетними компаніями, все ще не захищені від хакерів.
По-перше, статичний аудит коду не може вирішити проблеми безпеки, викликані залежностями протоколів, які посилюються компонуванням протоколів DeFi.
По-друге, під час аудиту коду деяким питанням не приділено належної уваги. Наприклад, втрата точності є поширеною проблемою, яка може залишитися непоміченою аудиторами та сторонами угоди. Лише після інцидентів Hundred Finance та Channels Finance спільнота повністю усвідомила наслідки втрати точності для безпеки.
Нарешті, високоякісний аудит коду залишається дефіцитним ресурсом, що вимагає міждисциплінарного таланту зі знаннями безпеки, фінансів і інформатики, які наразі небагато університетів пропонують на постійній основі та в масштабі. Тому, хоча деякі договори перевіряються, професіоналізм аудиторів, що надають аудиторські послуги, недостатній.
Формальна перевірка
«Офіційна перевірка використовує математичні методи для підтвердження правильності чи неправильності системи на основі певної формальної специфікації чи властивості». Наприклад, Prover, розроблений Certora, може виконувати формальну перевірку протоколів DeFi. Розробники надають правила (специфікації), а Prover досліджуватиме кожен можливий стан програми, порівнюватиме результати з правилами та виявлятиме вразливі місця.
Найбільшою перевагою формальної перевірки є її здатність математично довести правильність протоколів DeFi, які керують мільярдами активів. Однак кілька обмежень у практичному застосуванні перешкоджають його широкому застосуванню.
По-перше, специфікація повинна бути надана розробниками, що вимагає від розробників детальної документації щодо очікуваної поведінки протоколу, а більшість розробників не є експертами в цій галузі.
По-друге, часті оновлення протоколів можуть вимагати оновлення специфікацій і переоцінки протоколів, а деякі протоколи можуть не вимагати стільки часу та енергії.
Незважаючи на ці обмеження, ми все ще вважаємо, що протоколи повинні підлягати офіційній перевірці, особливо нові протоколи, які ще не перевірені часом і керують великими обсягами активів користувачів. Проте, як підвищити працездатність формальної верифікації та збільшити рівень її впровадження, сьогодні залишається величезною проблемою.
Тестування безпеки
Тестування безпеки використовує тестові приклади для виявлення потенційних проблем у протоколі. Порівняно з формальною верифікацією, яка підтверджує правильність протоколу за допомогою математичних методів, перевірка безпеки зазвичай використовує конкретні вхідні дані (а не символічний вхід у формальній перевірці), тому вона ефективніша, але трохи менш повна.
Foundry — популярний фреймворк для розробки та тестування смарт-контрактів. Розробники можуть виконувати тестування в Foundry, а також можуть проводити диференціальне тестування, тестування інваріантності та диференціальне тестування протоколів DeFi. Інші інструменти тестування безпеки включають Tenderly і Hardhat.
Безпека після запуску
Заходи безпеки, які можна вжити після запуску протоколу, включаючи винагороду за помилки, виявлення атак і оперативний моніторинг.
Баунті
Bug Bounty доповнює розрив між протоколами та дослідниками безпеки. Протокол публікує програму винагороди на платформі Bug Bounty, у якій докладно вказується обсяг винагороди та сума винагороди, яку отримують дослідники безпеки, повідомляючи про вразливості нульового дня в протоколі. Immunefi є представником платформи Web3 Bug Bounty.
Виявлення атак
Платформа виявлення атак визначає зловмисні транзакції шляхом сканування транзакцій. Зокрема, ці платформи перевіряють кожну транзакцію, яка взаємодіє з протоколом, на наявність зловмисної поведінки, і система запускає сповіщення, коли виявлено зловмисну транзакцію.
Наприклад, BlockSec Phalcon сканує кожен пул пам’яті та мережеву транзакцію, щоб виявити зловмисну поведінку (наприклад, зловмисні контракти та зловмисні пропозиції), аналізуючи поведінкові характеристики транзакцій. Це як охоронець, який безсонно стежить за кожною деталлю кожної транзакції, щоб виявити незвичайні тенденції. Він витягує моделі поведінки з цих транзакцій і використовує фінансові моделі (подібні до тих, які використовують банки для виявлення шахрайства) для виявлення потенційних атак. До подібних систем відносяться продукти Hypernative і Hexagate. Крім того, Venn Security Network від Ironblocks забезпечує децентралізовану інфраструктуру, здатну об’єднувати результати виявлення з багатьох джерел.
Оперативний моніторинг
Як випливає з назви, система оперативного моніторингу контролює робочу безпеку протоколу після його запуску. Наприклад, він може відстежувати зміни ключа адміністратора, розгортання смарт-контракту та оновлення в режимі реального часу, а також автоматично виявляти вразливі місця в запитах на отримання. Платформа OpenZeppelin Defender може допомогти розробникам безпечно писати, розгортати та запускати розумні контракти. BlockSec Phalcon може відстежувати оновлення контрактів, транзакції безпечного гаманця (наприклад, ініціювання, підписання, виконання), контроль доступу та ризики, пов’язані з управлінням. Крім того, за допомогою системи моніторингу в режимі реального часу Forta Network користувачі можуть створювати протоколи моніторингу ботів або підписуватися на існуючих ботів, щоб отримувати сповіщення про загрози безпеці, такі як фішинг.
Відповідь на атаку
Заходи безпеки, які автоматично запускаються або вживаються негайно після атаки, включаючи блокування атак, автоматичне реагування, War Room, аналіз причин атаки та відстеження потоків коштів зловмисника.
Серед цих п’яти заходів реагування особливо варто відзначити блокування атак, оскільки команда проекту може заздалегідь розгорнути блокування атак до їх виникнення та звести втрати до нуля. Платформа автоматичного реагування також допомагає зменшити втрати, спричинені атаками.
Створення бойової кімнати, проведення аналізу причин атаки та відстеження потоків коштів є контрзаходами, вжитими після атаки. Хоча вони можуть допомогти зменшити втрати та запобігти подібним атакам у майбутньому, вони можуть спричинити значні втрати, які важко відшкодувати. Крім того, шкода репутації проекту та втрата довіри користувачів можуть мати далекосяжні негативні наслідки. Ризики, здається, є повсюди, і їх важко запобігти, але сторони проекту не повинні реагувати пасивно. Вони можуть завчасно застосовувати превентивні заходи, що також є більш рекомендованим підходом.
блокування атак
Виявлення атак є важливим каналом для отримання інформації про хакерські атаки, але якщо ви хочете боротися з хакерськими атаками, одного виявлення далеко недостатньо. Тому що без можливостей автоматичного блокування атак часто буває занадто пізно вживати ручних заходів реагування. Візьміть як приклад атаки KyberSwap, Gamma Strategies і Telcoin. Протягом кількох хвилин або навіть годин після атаки хакери запустили численні транзакції та вкрали величезні обсяги активів. Атаки Velocore і Rho в липні призвели до призупинення роботи всіх мереж Linea і Scroll, що привернуло увагу користувачів до проблеми централізації мережі L2.
Блокування атак може автоматично запобігати хакерським атакам, що спирається на дві основні технології: раннє виявлення та автоматичне попередження. Раннє виявлення означає, що транзакції атаки можна ідентифікувати до того, як транзакцію буде завантажено в ланцюг, і поки вона ще перебуває на стадії пулу пам’яті. Автоматичний попередній запуск полягає у надсиланні попередньої транзакції для призупинення протоколу до того, як транзакція атаки буде завантажена в ланцюжок, таким чином запобігаючи виконанню транзакції атаки. Цей метод блокує атаку до того, як вона дійсно відбудеться, таким чином уникаючи втрат.
У цій категорії BlockSec Phalcon є єдиним продуктом із цими основними технологіями. Після того, як хакер ініціює транзакцію атаки, система моніторингу атак Phalcon може заздалегідь виявити транзакцію, надіслати користувачеві сповіщення про атаку та автоматично випередити та призупинити протокол, зменшуючи втрати до 0. Здатності продукту блокувати атаки були доведені в більш ніж двадцяти порятунках у білому капелюсі в минулому, заощадивши понад 20 мільйонів доларів США активів.
автоматична відповідь
Окрім платформ блокування атак, такі платформи, як Phalcon, Hexagate, Hypernative тощо, також можуть автоматично реагувати на атаку.
Підписавшись на таку платформу, користувачі можуть налаштувати моніторинг і заходи реагування на різні ризики протоколу. Якщо транзакція порушує правила моніторингу, система автоматично ініціює заходи реагування, встановлені користувачем заздалегідь (наприклад, призупинення протоколу), тим самим зменшуючи втрати. Однак деякі платформи не мають механізмів виявлення атак, і система не може безпосередньо ідентифікувати транзакції атаки та сповіщати користувачів. Натомість користувачі повинні налаштувати умови, за яких транзакція може бути визначена як атака. Оскільки характеристики транзакцій атаки дуже складні, а користувачі (часто розробники за контрактом) не обов’язково мають достатні знання безпеки, це дуже складно для користувачів.
Військова кімната
Коли протокол зазнає атак, створення кімнати війни є особливо критичним. Це допомагає протоколу зрозуміти ситуацію, своєчасно синхронізувати інформацію зі спільнотою та ефективно інтегрувати ресурси для вжиття заходів реагування, що вимагає тісної співпраці експертів у багатьох галузях.
SEAL 911 розроблений, щоб «допомагати користувачам, розробникам і дослідникам безпеки напряму підключатися до надійних експертів з безпеки в надзвичайних ситуаціях». Користувачі можуть отримати цю послугу через SEAL 911 Telegram Bot (https://t.me/seal_911_bot) і швидко сформувати бойову кімнату для боротьби з проблемами безпеки під час атаки на проект.
Аналіз причини нападу
Під час атаки на протокол важливо визначити джерело проблеми, наприклад уразливості в смарт-контракті та те, як уразливість була використана. Для аналізу транзакцій атаки потрібні деякі інструменти Phalcon Explorer, OpenChain і Tenderly.
Відстеження руху коштів
Відстеження потоків коштів означає відстеження початкових коштів зловмисника та прибутків від атаки в ланцюжку, щоб знайти відповідні адреси та організації. Якщо ці активи переходять до централізованих організацій (наприклад, централізованих бірж та інших організацій інституційного рівня), можна звернутися до правоохоронних органів, щоб допомогти заморозити кошти.
Chainalysis, TRM Labs, ARKHAM, ELLIPTIC і MetaSleuth є представниками компаній/продуктів у цій галузі. Наприклад, MetaSleuth може автоматично відстежувати міжланцюгові потоки коштів і надавати розширені адресні теги. ARKHAM створює спільноту, де сторони протоколу можуть публікувати винагороду за розслідування, щоб заохотити членів спільноти допомагати відстежувати фінансові потоки зловмисників.
Навчальні ресурси з безпеки
Знання – найкраща лінія захисту. На додаток до згаданих раніше постачальників і продуктів безпеки, існує ще одна категорія ролей, яка має вирішальне значення для безпеки DeFi: освітні платформи. Ресурси чи інформація, надані цими платформами, можуть допомогти фахівцям і користувачам DeFi глибше зрозуміти знання безпеки, покращити обізнаність у безпеці та розвинути навички безпеки, відіграючи важливу роль у сприянні розвитку безпеки DeFi. Ми віддаємо шану цим платформам і ділимося нижче кількома, на які варто звернути увагу.
SΞCURΞUM: спільнота Discord, зосереджена на безпеці Ethereum, регулярно проводить змагання з безпеки смарт-контрактів «Secureum RACE».
https://x.com/TheSecureum
Інформаційна панель інцидентів безпеки: ця платформа агрегує й оновлює атаки в режимі реального часу, які призводять до збитків, що перевищують 100 000 доларів США, і надає детальну інформацію, таку як суми збитків, уражені ланцюги, типи вразливостей, аналіз причин атак і PoC.
https://app.blocksec.com/explorer/security-incidents
Rekt: темна мережа, відома як DeFi news, що містить детальний аналіз експлойтів, хаків і шахрайства DeFi.
https://rekt.news/
RugDoc: спільнота безпеки та освіти DeFi. Платформа надає інформацію про оцінку ризиків проекту, а також платформу RugDocWiKi, яка представляє екологію та технології DeFi.
https://rugdoc.io/
DeFiHackLabs: Спільнота безпеки Web3, присвячена допомозі спеціалістам у галузі безпеки Web2, які налічують понад 2000 членів і майже 200 хакерів у всьому світі, а сховище DeFiHackLabs надає велику кількість навчальних ресурсів.
https://x.com/DeFiHackLabs
Solodit: ця платформа містить попередні аудиторські звіти від аудиторських фірм Web3.
https://solodit.xyz/
Ethernaut: гра на основі Web3/Solidity, у якій гравцям потрібно виявити вразливі місця в контрактах Ethereum, подібно до CTF.
https://ethernaut.openzeppelin.com/
Висновок
Проблеми безпеки спричиняють мільярдні збитки щороку та є серйозною довгостроковою загрозою для екосистеми DeFi. На даний момент більшість заходів безпеки спрямовані на вирішення проблем безпеки перед виходом проекту в Інтернет. Однак «срібної кулі» в безпеці немає. На різних етапах розробки протоколу повинні бути відповідні заходи для забезпечення його безпеки та протягом усього життєвого циклу протоколу.
Ми сподіваємося, що галузь визнає важливість безпеки після виходу проекту в Інтернет, вживе заходів для моніторингу ризиків протоколу та автоматично блокуватиме атаки.
Ми також сподіваємося, що екосистема DeFi може сформувати консенсус щодо безпеки, щоб краще захистити безпеку активів користувачів.