Атаки «eclipse»: объяснение
article-3655

Атаки «eclipse»: объяснение

Alice Cooper · 2 сентября 2025 г. · ·

Основы

В сфере сетевой безопасности атака под названием «eclipse» может нарушить работу узлов в сети. Цель злоумышленника — затемнить представление узла о peer-to-peer сети, что может подготовить почву для более сложных атак или вызвать общие нарушения. Несмотря на сходство с Sybil-атаками, когда фейковые пиры засоряют сеть, атаки «eclipse» ориентированы на один узел. В отличие от них, Sybil-атаки направлены на манипуляцию репутационной системой протокола в масштабах всей сети.

В статье 2015 года под названием «Eclipse Attacks on Bitcoin's Peer-to-Peer Network» исследователи из Университета Бостона и Еврейского университета описывают результаты экспериментов по проведению атак «eclipse» и предлагают возможные контрмеры.

Как это работает?

Майнинг Биткоина требует специализированного оборудования, но на слабых устройствах можно запускать немайнинговые полноузлы, которые помогают децентрализовать сеть. Такие узлы синхронизируют базу транзакций со своими пирами, чтобы оставаться в согласии с сетью. Пропускная способность часто является ограничивающим фактором для многих узлов, так как ПО Биткоина допускает максимум 125 соединений.

Злоумышленники используют атаки «eclipse», чтобы вмешиваться в работу целевых узлов, подсоединяя все их подключения к контролируемым атакующими узлам. Атака начинается с того, что злоумышленник «заливает» цель своими IP-адресами, к которым жертва, вероятно, подключится после перезапуска софта. Это достигается либо принудительным перезапуском через DDoS, либо ожиданием естественного перезапуска. Цель становится уязвимой для узлов атакующего и может получать неверные данные без представления о широкой сети. В своей статье 2015 года авторы предложили контрмеры против таких атак.

Примеры дальнейших действий злоумышленников

Когда злоумышленник отрезает пир от сети, у него, скорее всего, есть мотив — так как отрезанный узел становится более восприимчив к последующим атакам, которые можно провести с большей лёгкостью.

Двойные траты при 0 подтверждениях

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

Некоторые компании и частные лица принимают такие 0-подтверждённые транзакции, оставляя себя уязвимыми к двойной трате. Например, торговец по имени Чарли, продающий дорогие автомобили, может по незнанию принять транзакцию, которая была «затменена» злоумышленницей Еве. В этом сценарии Чарли транслирует транзакцию в сеть, считая её подлинной. Однако она попадает к вредоносным узлам Евы, которые не ретранслируют её честным узлам. В результате транзакция остаётся в подвешенном состоянии, давая Еве возможность потратить те же средства в реальной сети. Когда исходная транзакция до Чарли наконец увидится, она будет отклонена, поскольку монеты уже будут потрачены.

Двойные траты при N подтверждениях

Атака двойной траты при N подтверждениях устраняет защиту ожидания некоторых подтверждений: злоумышленник может затемнить как майнеров, так и торговца. После размещения заказа у продавца он транслирует одну транзакцию затменным майнерам, которая подтверждается и включается в блокчейн.

Однако большинство сети не видит этот блокчейн, так как майнеры изолированы. Затем злоумышленник показывает эту версию блокчейна торговцу, и тот выдаёт товар, думая, что транзакция подтверждена. Когда же затменные узлы снова подключаются к реальной сети, их версия блокчейна оказывается «сиротой» по отношению к цепочке, на которой работает остальная сеть. По сути, это похоже на атаку 51%.

Ослабление конкурирующих майнеров

Когда узел затмен, он функционирует как обычно, не подозревая о своей изоляции от сети. Хотя майнеры продолжают добывать блоки, эти блоки отклоняются при синхронизации с честными пирами. Сейчас дорого приобрести 51% хешрейта Биткоина, но гипотетически злоумышленник мог бы получить такое преимущество, отключив значительную часть распределённой вычислительной мощности. Например, если атакующий затемнит пять из десяти участников с 8TH/s каждый, ему понадобится чуть больше 20TH/s, чтобы взять контроль. Саботаж также может включать манипуляции с selfish mining или «гонку» майнеров.

Как смягчить последствия атаки «eclipse»?

Атакующему достаточно большого количества IP-адресов, чтобы затемнить любой узел, но блокировка входящих соединений и установление только исходящих подключений к заранее выбранным узлам может предотвратить это. Однако такой подход не масштабируется — новые узлы не смогут присоединяться к сети. Авторы исследования предложили изменения в ПО Биткоина, некоторые из которых были внедрены после публикации. Эти модификации делают атаки «eclipse» дороже для реализации — например, случайный выбор новых подключений и большая ёмкость для хранения адресов.

Вывод

Атаки «eclipse» — тип атак на уровне peer-to-peer сети. Хотя сами по себе они чаще являются небольшой помехой, их истинная опасность заключается в способности открывать путь для других финансово вредоносных атак. До сих пор серьёзных последствий от атак «eclipse» не зафиксировано, но угроза сохраняется несмотря на встроенные механизмы защиты сети. Лучшая защита против таких атак, как и против большинства векторов атак в криптовалютной сфере, — сделать их экономически нецелесообразными для злоумышленников.

Eclipse Attack
Blockchain