Eclipse-атака (атака затмения) — это скрытая угроза для блокчейн-сетей, способная нарушить их работу и даже привести к серьёзным финансовым потерям.
Разберёмся, что представляет собой Eclipse-атака (атака затмения), как она осуществляется, чем опасна и какие риски несёт для децентрализованных систем.
Общая суть Eclipse-атаки (атаки затмения)
В экосистеме блокчейна существует множество угроз — от «атаки 51%»* до уязвимостей в смарт-контрактах (умных контрактах). Однако наиболее опасными считаются те, которые трудно обнаружить. К таким относится Eclipse-атака (атака затмения).
* Атака 51% — это тип атаки на блокчейн-сеть, при котором один субъект или координированная группа получает контроль над большинством хэшрейта (вычислительной мощности) в сетях PoW (доказательства работы) или над контрольной долей стейка (заблокированных средств) в сетях PoS (доказательства доли владения). Это даёт возможность реорганизовывать цепочку блоков, избирательно подтверждать или отклонять транзакции, а также реализовывать двойное расходование средств.
Eclipse-атака (атака затмения) — это тип кибератаки, при которой злоумышленники изолируют отдельные ноды (узлы сети) — например, майнеров или валидаторов* — и перенаправляют весь их входящий и исходящий трафик через подконтрольные им узлы.
* Валидаторы — это узлы блокчейн-сети, участвующие в процессе консенсуса путём проверки корректности транзакций и формирования новых блоков. В системах PoS (доказательства доли владения) валидаторы выбираются на основе объёма стейка (заблокированных активов) и могут нести экономическую ответственность (штрафы, слэшинг — принудительное списание части средств) за некорректное поведение.
Название Eclipse-атака (атака затмения) связано с аналогией с лунным затмением: как небесное тело оказывается в тени, так и узел сети оказывается «отрезан» от реальной сети.
Термин был введён в 2015 году исследователями Бостонского университета в работе «Eclipse Attacks on Bitcoin’s Peer-to-Peer Network» (атаки затмения на одноранговую сеть Bitcoin).
В том же году один из исследователей продемонстрировал практическую реализацию Eclipse-атаки (атаки затмения) , используя ботнет (сеть заражённых устройств) из более чем 4500 IP-адресов, что позволило изолировать майнинговый узел на несколько часов.
Часто Eclipse-атаку (атаку затмения) сравнивают с Sybil-атакой* (атакой Сивиллы), при которой злоумышленник создаёт множество поддельных узлов. По сути, Eclipse-атака (атака затмения) считается частным случаем атаки Сивиллы.
* Sybil-атака (атака Сивиллы) — это класс атак на распределённые системы, при котором злоумышленник создаёт и контролирует множество псевдонимных идентичностей (узлов), чтобы нарушить предположение о независимости участников сети. Это позволяет атакующему манипулировать маршрутизацией сообщений, механизмами голосования и репутационными системами, а также создавать условия для более сложных атак.
Как происходит Eclipse-атака (атака затмения) — пошагово
Процесс реализации Eclipse-атаки (атаки затмения) включает несколько последовательных стадий:
Выбор цели
Злоумышленник определяет конкретную ноду (узел сети) — например, майнера или валидатора, на которого будет направлена атака. Обычно выбираются узлы с высокой значимостью для сети.
Подготовка инфраструктуры
Атакующий разворачивает большое количество подконтрольных узлов и IP-адресов, чаще всего используя ботнет (сеть заражённых устройств). Это необходимо, чтобы «окружить» целевой узел своими соединениями.
Захват входящих подключений
Злоумышленник пытается занять все доступные входящие слоты соединений целевой ноды. В блокчейн-сетях количество соединений ограничено, поэтому при их заполнении легитимные (реальные) участники больше не могут подключиться.
Перехват исходящих соединений
Параллельно атакующий влияет на исходящие подключения — например, через:
- подмену адресов в списке известных узлов;
- использование устаревших или заранее подготовленных записей;
- манипуляции с таблицами маршрутизации.
В результате нода (узел сети) начинает «видеть» только узлы злоумышленника.
Полная изоляция (затмение)
После захвата всех каналов связи узел оказывается полностью изолирован от реальной сети. Все входящие и исходящие данные проходят исключительно через контролируемую инфраструктуру атакующего.
Подмена данных
Злоумышленник начинает отправлять жертве искажённую или выборочную информацию:
- скрывает реальные транзакции;
- показывает устаревшие или поддельные блоки;
- формирует альтернативное состояние сети.
При этом изолированный узел продолжает транслировать эти данные, считая их корректными.
Чем опасна Eclipse-атака (атака затмения)?
Eclipse-атака (атака затмения) считается одной из самых сложных и опасных, поскольку действует незаметно. Операторы узлов не видят реального состояния сети и продолжают работать с поддельной информацией. Основные последствия Eclipse-атаки (атаки затмения) :
1. Двойное расходование средств (double spending) - это ситуация, при которой одни и те же цифровые активы используются дважды. Подобный случай произошёл с Ethereum Classic в 2019 году. Злоумышленники подменили реальные узлы сети и получили контроль над соединениями, что позволило им дважды потратить монеты ETC и нанести ущерб более $1 млн.
2. Нарушение механизма консенсуса. Eclipse-атака (атака затмения) может повлиять на работу алгоритмов: PoW (доказательство работы) и PoS (доказательство доли владения). Это приводит к сбоям в работе сети или даже её полной остановке.
3. Эгоистичный майнинг - это стратегия, при которой майнеры скрывают найденные блоки, чтобы получить преимущество. Суть метода заключается в том, что злоумышленники формируют приватную цепочку блоков, скрывая её от остальных участников сети. В нужный момент эта цепочка публикуется, опережая основную, из-за чего честные участники оказываются в проигрышном положении. В результате атакующие получают больше вознаграждений за добытые блоки, работа сети замедляется, а доверие к системе существенно снижается.
4. Подготовка к более масштабным атакам. После изоляции узлов злоумышленники могут перейти к более серьёзным сценариям, например, к «атаке 51%».
Как защититься от Eclipse-атаки (атаки затмения)?
Полностью исключить риск Eclipse-атаки (атаки затмения) невозможно, но его можно значительно снизить. Основные методы защиты:
Масштаб сети
Чем больше в сети нод (узлов сети), тем сложнее провести Eclipse-атаку (атаку затмения). Крупные сети вроде Bitcoin и Ethereum имеют десятки тысяч узлов, что делает такие атаки крайне затратными.
Случайный выбор узлов
Если участники сети выбираются случайным образом, злоумышленникам сложнее предсказать цель атаки. Такие механизмы применяются в современных сетях, включая Ethereum, Elrond и TON.
Технические меры:
- увеличение числа TCP-соединений (сетевых подключений) между узлами;
- фильтрация узлов (например, через «белые списки»);
- верификация узлов всеми участниками;
- постоянный мониторинг сети;
- анализ паттернов подозрительной активности;
- улучшение инфраструктуры: маршрутизации трафика, пропускной способности и алгоритмов консенсуса.