Back to Blog

Разблокировка безопасности Web3: как BlockSec борется со взломами DeFi

Phalcon
September 5, 2023
5 min read

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

Появление BlockSec

Наша блокчейн-платформа была основана в 2021 году при поддержке известных инвесторов и клиентов. Она предлагает различные продукты, включая Phalcon Explorer, который широко используется исследователями безопасности для анализа транзакций. Кроме того, платформа предоставляет MetaDock и MetaSleuth, которые доступны сообществу бесплатно.

Почему безопасность в Web3 имеет значение

Важность безопасности в Web3 очевидна, поскольку даже в условиях «медвежьего» рынка рост числа взломов DeFi и мошенничеств вызывает тревогу. Увеличивающееся число жертв, обращающихся за помощью после потери денег, демонстрирует серьезность проблемы и потребность в поддержке для предотвращения банкротства, вызванного такими атаками.

Почему взломы DeFi стали очень частыми

Взломы DeFi сегодня обычны по нескольким причинам.

  • Во-первых, у злоумышленников есть экономические стимулы для проведения этих взломов, так как они могут получить существенную прибыль от таких действий.
  • Во-вторых, нехватка квалифицированных разработчиков способствует появлению уязвимостей в протоколах. Многие разработчики фокусируются на функциональности, а не на безопасности, и им не хватает надлежащей подготовки в области безопасности блокчейна.
  • Кроме того, в университетах мало курсов по безопасности блокчейна, что ведет к нехватке квалифицированных экспертов в сообществе.
  • Наконец, некоторые взломы инициируются организованными хакерскими группировками или государственными структурами. Эти группы очень скрытны и настойчивы, они целенаправленно атакуют финансовые учреждения, военные организации и криптовалютные биржи ради получения огромной прибыли. Их передовые методы атак и богатые ресурсы представляют еще большую угрозу для DeFi-проектов.

Безопасность протоколов DeFi

Когда речь заходит о безопасности протоколов, многие считают аудит кода основным решением для DeFi-протоколов. Однако одного аудита кода недостаточно из-за его высокой стоимости и затратности по времени. Квалифицированные аудиторские услуги обходятся дорого, а процесс может занять несколько месяцев, что делает его непрактичным для некоторых протоколов с ограниченными сроками запуска.

Более того, в этой сфере существует дефицит квалифицированных аудиторов, что ведет к нехватке доступной экспертизы. Как следствие, некоторые протоколы вынуждены запускаться без комплексных мер безопасности, что может привести к необнаруженным уязвимостям и потенциальным угрозам.

Почему проактивный подход важен в Web3

Для обеспечения безопасности DeFi-протоколов крайне важен проактивный подход. Это означает, что протоколы нельзя просто развернуть и оставить без присмотра. Им необходимо активно отслеживать деятельность внутри протокола и быть готовыми автоматически реагировать на любые потенциальные атаки.

Важность такого проактивного подхода в Web3 выше, чем в Web2, по следующим причинам.

  • Во-первых, Web3 открывает больше векторов атак, а открытость блокчейна облегчает как добросовестным пользователям, так и злоумышленникам доступ к исходному коду смарт-контрактов для его анализа.
  • Во-вторых, эксплуатация уязвимостей становится прибыльной для атакующих, особенно из-за анонимного характера блокчейн-транзакций, что затрудняет отслеживание их действий.
  • В-третьих, доступность флэш-кредитов (flash loans) позволяет злоумышленникам усиливать свои финансовые возможности, в отличие от Web2, где для проведения атак требовался значительный капитал.
  • Наконец, некоторые сервисы приватных транзакций могут быть использованы для сокрытия вредоносных транзакций.

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

Как работает наша система

В индустрии блокчейна мы разработали прототип системы под названием BlockSec Phalcon. С февраля 2022 года мы активно изучаем пути преодоления определенных проблем, связанных со взломами DeFi, выходя за рамки простого аудита кода.

BlockSec Phalcon позволяет нам внимательно следить за транзакциями в блокчейне. Отслеживая эти транзакции и автоматически реагируя на них, мы можем реконструировать базовую технологию путем воспроизведения транзакций атаки и копирования основной логики контракта атаки.

Этот процесс позволяет нам синтезировать новый смарт-контракт для спасения средств. Затем мы можем отправить транзакции спасения, чтобы гарантировать, что наши транзакции пройдут быстрее и будут записаны в блокчейн раньше, чем транзакции атаки. Используя этот подход, мы получаем возможность полностью блокировать транзакции атаки, действуя быстрее и занимая опережающую позицию внутри блокчейна.

Как работает создание «атакующего» контракта

Ключевым аспектом этого механизма или системы является то, как она автоматически реконструирует транзакции атаки и «атакующие» контракты. Фундаментальная идея заключается в понимании того, что является наиболее важным в транзакциях и смарт-контрактах атаки — критически важными элементами являются логика атаки внутри смарт-контракта.

Хотя базовая идея проста, на практике все не так однозначно. Мы сталкиваемся с рядом технических проблем. Самый важный момент заключается в том, как обрабатывать повторное использование базовых блоков в смарт-контрактах. Компиляторы часто используют повторное использование блоков для создания меньшего по размеру кода, что является обычной практикой уменьшения размера программы. В процессе работы мы вдохновились концепцией переписывания бинарного кода — техникой, которая используется и развивается уже более двух столетий, если не дольше. Поэтому мы переняли эту идею и применили ее к технике переписывания байт-кода.

Каких замечательных вех мы достигли

Используя нашу систему, мы успешно предотвратили несколько транзакций атаки на протоколы и восстановили значительные потери ликвидности. Например, в этом году нам удалось вернуть 5 миллионов долларов потерь для ParaSpace, а в прошлом году мы вернули 3,8 миллиона долларов для Saddle Finance. Далее мы расскажем о показательных случаях, чтобы проиллюстрировать, как именно мы предотвратили эти транзакции.

Давайте рассмотрим ParaSpace в качестве примера. В марте этого года проект подвергся атаке, но атакующие совершили критические ошибки. Они не выделили достаточно газа, что привело к откату транзакции. Мы отследили и идентифицировали эту транзакцию в блокчейне. Затем мы автоматически синтезировали аналогичный контракт для спасения средств. После выполнения нашего контракта спасения в блокчейне компания BlockSec успешно вернула 5 миллионов долларов для ParaSpace.

Другой случай — Platypus, который столкнулся с атакой в феврале этого года. Используя уязвимость в смарт-контракте, злоумышленники нашли точку входа для эксплуатации протокола Platypus DeFi. Однако они упустили из виду настройку логики для вывода средств из скомпрометированного контракта. В результате хакеры столкнулись с проблемой: как вывести оставшиеся 2,4 миллиона долларов из скомпрометированного контракта?

В этой ситуации BlockSec задействовала внутреннюю систему, которая автоматически разобрала контракт атаки. Используя эвристические методы, мы провели комплексный анализ смарт-контракта атаки, обнаружив интересные особенности.

Во-первых, мы обнаружили, что обратный вызов (callback) флэш-кредита в этом контракте был открыт. Во-вторых, контракт пула Platypus получил разрешение на использование USDC. Контракт пула может быть обновлен, чтобы использовать разрешение атакованного контракта для вывода оставшихся USDC. Поделившись этой идеей и доказательством концепции (PoC) с протоколом, мы помогли им успешно вернуть 2,4 миллиона долларов из контракта атаки.

Еще один случай связан с Transit Swap, который стал мишенью MEV-бота. Мы обнаружили, что адрес MEV-бота был сгенерирован с помощью уязвимого инструмента под названием Profanity. Используя уязвимость в этом инструменте, мы вычислили закрытый ключ MEV-бота и вернули средства для возмещения убытков протоколу.

Как повысить эффективность этой системы

Мы считаем, что для повышения эффективности данной системы требуются вдумчивые и стратегические действия.

  • Во-первых, критически важен быстрый и проактивный ответ. Необходимо собирать информацию и предпринимать немедленные шаги при возникновении ситуаций.
  • Во-вторых, важна точность. Мы должны избегать генерации чрезмерного количества ложных оповещений. Как мы обсуждали ранее, если ваш инструмент мониторинга генерирует слишком много оповещений, это существенно влияет на удобство использования продукта. Поэтому нам следует стремиться к систематическому подходу, а не просто фокусироваться на отслеживании атакующих.

BlockSec обладает рядом инструментов для анализа и декомпиляции контрактов, используя эвристические методы для проведения тщательного анализа байт-кода. Все эти меры направлены на создание комплексной системы и предоставление эффективного продукта.

В динамичном мире Web3 безопасность имеет первостепенное значение. С ростом числа взломов DeFi крайне важно принять проактивный подход и использовать инновационные системы, такие как BlockSec Phalcon, для защиты протоколов и пользователей. Постоянно расширяя границы мер безопасности, мы стремимся повысить надежность и целостность Web3, прокладывая путь к безопасному и процветающему децентрализованному будущему.