Распределенная атака типа "отказ в обслуживании" (DDoS) — это попытка вывести из строя веб-сайт, компьютер или онлайн-сервис, завалив его запросами, истощив его возможности и нарушив его способность отвечать на действительные запросы.
При DDoS-атаке хакеры внедряют вредоносное ПО в тысячи устройств, подключенных к Интернету, которые в совокупности называются ботнетами, и побуждают их одновременно отправлять огромное количество запросов к целевой системе. Эти зараженные машины, называемые по отдельности ботами или зомби, могут быть мобильными телефонами, настольными компьютерами, серверами или даже устройствами Интернета вещей (IoT). Злоумышленники обычно устанавливают прямой контроль над ботами, заражая их вредоносным ПО.
Поток входящего трафика подавляет способность целевой системы отвечать на действительные запросы, поскольку атака потребляет слишком много пропускной способности, вычислительной мощности или памяти. В первом квартале 2024 года отмечается тревожный 50%-ный рост числа DDoS-атак в целом.
DDoS-атака на блокчейн
Провести DDoS-атаку на блокчейн-сеть теоретически возможно, хотя это сложнее, чем атаковать централизованные системы, такие как веб-сайты или серверы. Блокчейны по своей сути устойчивы к таким атакам благодаря своей децентрализации и работают как распределенный реестр данных, функционирующий на множестве узлов, которые отвечают за проверку и обработку транзакций и создание блоков.
В отличие от традиционных систем, в блокчейн-сети нет центральной точки управления. Децентрализация делает ее более сложной для атак, поскольку злоумышленникам приходится иметь дело с множеством узлов.
Один из способов нарушить работу сети — наводнить блокчейн спам-транзакциями, которые перегружают сеть и замедляют пропускную способность транзакций, препятствуя своевременному подтверждению нормальных транзакций. В результате переводы от настоящих пользователей попадают в mempool и застревают там надолго.
Известным примером DDoS-атаки стала атака на блокчейн Solana, которая привела к 17-часовому простою в сентябре 2021 года. Во время IDO Grape Protocol на DEX Raydium боты "бомбардировали" сеть 400000 транзакций в секунду, что привело к перегрузке.
Впрочем, у Соланы всегда что-нибудь ломается
Кроме того, DDoS-атаки могут быть направлены на dApps, которые представляют собой приложения, построенные поверх блокчейна, а не на саму блокчейн-сеть. Криптовалютные биржи, играющие ключевую роль в обеспечении ликвидности в блокчейн-экосистеме, часто становятся жертвами DDoS-атак, что приводит к временному прекращению обслуживания.
Влияние DDoS-атак
DDoS-атаки могут воздействовать на блокчейн-сети через спам-транзакции и компрометацию смарт-контрактов. Цель состоит в том, чтобы засорить сеть мошенническими транзакциями, замедлить ее работу, а в худших случаях и вовсе остановить.
Спам транзакциями
Злоумышленники публикую шквал мелких ончейн-переводов, обычно используя автоматические скрипты или специализированное программное обеспечение. Такие транзакции похожи на легитимные, но предназначены для того, чтобы нагрузить сеть.
Хакеры передают эти транзакции нодам. Чтобы достичь консенсуса, сеть распространяет транзакции по нескольким сетевым узлам, которые обрабатывают их. Однако объем поступающих транзакций превышает их возможности по обработке. Сеть становится перегруженной, и даже подлинные транзакции застревают в очереди. Перебои в работе могут все сервисы, зависящие от блокчейнов.
Смарт-контракты
Хакеры могут обнаружить уязвимые смарт-контракты и завалить их запросами на транзакции. Эти транзакции содержат мошеннические инструкции или чрезмерные вычисления, чтобы исчерпать функциональность контракта и базовой сети. Выполнение кода смарт-контракта становится все более ресурсозатратным, что приводит к чрезмерным задержкам в проверке транзакций.
Поскольку смарт-контракты являются ключевой частью EVM-блокчейнов, последствия такой атаки могут распространиться по всей сети, затронув другие смарт-контракты и транзакции, нарушив критически важные операции и сделав сервисы недоступными для пользователей.
Программные сбои
Основное прикладное программное обеспечение в блокчейне имеет встроенные ограничения по объему выделяемой памяти и количеству транзакций, которые оно может обрабатывать в блоке и хранить в мемпуле. При резком увеличении количества транзакций программное обеспечение может повести себя неожиданно или просто выйти из строя.
Кроме того, неизменность является неотъемлемой характеристикой транзакций, что означает, что их просто невозможно изменить после записи в блоки. Этот механизм создает проблему, когда транзакции наводняют сеть во время атаки. Она перегружается бесполезными переводами, с которыми программное обеспечение может не справиться.
Отказ узла
Ноды, выступающие в роли валидаторов или майнеров, запускают основное программное обеспечение блокчейна на достаточно надежном оборудовании, чтобы справиться с жесткими требованиями. Когда злоумышленники в ходе DDoS-атаки передают множество нежелательных данных, у ноды может закончиться память или вычислительная мощность, и она выйдет из строя. Отказ одной сетевой ноды увеличивает нагрузку на другие.
Блокчейн-сети — это, по сути, совокупность узлов, каждый из которых следит за состоянием блокчейна и передает информацию о транзакциях другим узлам. Флуд мошеннических транзакций пагубно влияет на архитектуру сетевых нод, замедляя работу всей сети или даже выводя ее из строя.
Как DDoS-атаки влияют на криптовалютные биржи
Криптобиржи — незаменимая часть экосистемы блокчейна, поскольку они делают цифровые активы ликвидными. И они часто становятся целью злоумышленников.
При атаках на биржи злоумышленники используют уязвимости, такие как устаревшие патчи безопасности в инфраструктуре бирж, нарушают работу, вымогают выкуп или манипулируют рынками. Большая часть DDoS-атак на криптовалютные биржи была связана с усилением атак по протоколу обнаружения простых сервисов (SSDP), усилением атак по протоколу сетевого времени (NTP) и атаками на уровне приложений.
SSDP-атака — это DDoS-атака на основе рефлексии, которая использует универсальные сетевые протоколы plug-and-play (UPnP) для направления огромного количества трафика на целевую систему. NTP-атака — это метод, при котором злоумышленник посылает серию небольших запросов, вызывающих большие ответы от различных ботов, что увеличивает трафик. Атака на уровне приложений — это методика злоумышленников, направленная на верхний уровень в модели взаимодействия открытых систем (OSI).
Как предотвратить DDoS-атаки на блокчейн
Чтобы защитить блокчейн-сети от DDoS-атак, необходимы меры безопасности как на уровне узлов, так и сети. Регулярные аудиты позволяют устранить уязвимости, а избыточная инфраструктура и стресс-тестирование обеспечивают функционирование сети даже во время атаки.
Меры безопасности на уровне ноды
Узлы должны иметь достаточный объем памяти, вычислительной мощности и пропускной способности, чтобы быть устойчивыми к DDoS-атакам. Надежные методы аутентификации и контроль доступа помогают защитить узлы сети. Полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей (CAPTCHA) помогает гарантировать, что только легитимные пользователи могут отправлять запросы на транзакции, и предотвращает проникновение ботов в сеть. Балансировка нагрузки помогает разделить трафик и снизить влияние атак на уровне узлов.
Защита на уровне сети
Для защиты блокчейна важно создать адекватные защитные механизмы на сетевом уровне. Для выявления и снижения воздействия DDoS-атак хорошо подходят брандмауэры и системы обнаружения/предотвращения вторжений (IDS/IPS). Сети доставки контента (CDN) также помогают рассеивать и поглощать трафик атак.
Аудиты
Чтобы найти и устранить уязвимости, важно провести тщательный аудит различных аспектов блокчейна. Он должен включать в себя анализ смарт-контрактов, аудит целостности структуры данных блокчейна и проверку алгоритмов консенсуса. Отказоустойчивость механизмов консенсуса должна быть достаточно сильной, чтобы противостоять атакам. Регулярное обновление кода важно для того, чтобы держать злоумышленников на расстоянии и повысить уровень безопасности.
Стресс-тестирование
Сети и системы должны регулярно проводить стресс-тесты протоколов блокчейна, чтобы оценить их способность противостоять DDoS-атакам. Это позволит своевременно обнаружить потенциальные уязвимости, что даст возможность исправлять сетевую инфраструктуру и модернизировать защитные механизмы.
Избыточность и резервное копирование
Блокчейн-протоколы и dApps должны иметь избыточную сетевую инфраструктуру и резервные серверы, чтобы система продолжала функционировать даже при атаках. Узлы, расположенные в нескольких географических точках, могут противостоять DDoS-атаке, которая ограничивается определенным регионом.