Найти тему

Что такое Eclipse атака или атака Затмения

Оглавление

При Eclipse (Эклипс) атаке злоумышленник изолирует конкретного пользователя или узел в одноранговой сети (P2P).

Атаки Eclipse (Атаки Затмения)
Атаки Eclipse (Атаки Затмения)

Цель злоумышленника — скрыть от пользователя обзор P2P-сети при подготовке к более сложным атакам или вызвать общий сбой. Атаки Eclipse имеют общие черты с атаками Сивиллы (Sybil attack), однако конечные цели у них разные. Они схожи в том смысле, что определенная сеть наводняется фальшивыми пирами (peers, узел). Разница, однако, заключается в том, что при атаке типа "Eclipse" атакуется один узел. При атаке Сивиллы атакуется вся сеть.

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

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

Легкость осуществления атак на блокчейн зависит от базовой структуры целевой блокчейн-сети.

Как происходит атака Затмения

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

Что такое Bitcoin нода? Руководство для новичков по нодам блокчейна
BTC_2TheMoon | Биткоин, блокчейн, криптовалюта18 июля 2022

Злоумышленник стремится скомпрометировать соединение целевого пользователя с ограниченным набором узлов, к которым он подключается. Для компрометации узла злоумышленник использует фантомную сеть или ботнет. Эта сеть создается из хост-узлов и используется для наводнения целевого узла адресами интернет-протокола (IP). После чего целевой узел синхронизируется с фейковой сетью при последующем подключении к блокчейн-сети.

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

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

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

Последствия Eclipse-атаки

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

0-подтвержденные двойные траты (0-confirmation double spends)

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

Новые транзакции с более высокой комиссией также могут быть включены в блок перед оригинальными транзакциями, чтобы сделать недействительными предыдущие транзакции. Рискованным является то, что некоторые блокчейн-сервисы практикуют зачисление транзакций с 0 подтверждений сети, т.е. довольствуются тем, что они попали в мемпул.

N-подтвержденные двойные траты (N-confirmation double spends)

Двойные траты с N-подтверждением аналогичны транзакциям с 0-подтверждением. Однако они требуют более сложной подготовки. Многие блокчейн-сервисы предпочитают дожидаться определенного количества подтверждений транзакции (1, 2, 6 для Биткоина и более для слабых блокчейнов), но и они могут быть уязвимы для атак.

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

Ослабление майнеров-конкурентов

Атакованные узлы продолжают работать, поскольку майнеры-жертвы часто не знает о том, что он были изолирован от легитимной сети. В результате майнеры продолжают добывать блоки в обычном режиме. Но добавленные блоки будут отброшены после синхронизации с безопасными нодами.

Для осуществления Атаки 51%, обычно, используются крупномасштабные Eclipse-атаки, выполняемые на крупных майнерах. Однако, из-за невероятно высокой стоимости захвата большинства хэш-мощностей Биткоина шансы на это пока невелики.

Различия между атакой Затмения и атакой Сивиллы

Обе атаки происходят на уровне P2P-сети. При атаке Eclipse большинство пиров жертвы являются вредоносными и поэтому не позволяют ему подключиться к легитимной сети.

Атака Затмения особенно полезна в тех случаях, когда отправитель посылает кому-либо некоторое количество Bitcoin (BTC), а после этого повторно тратит эти BTC. В этом случае хакер использует атаку, чтобы не дать жертве узнать о двойной трате.

При атаке Сивиллы злоумышленник пытается заполонить сеть узлами, находящимися под его контролем, с целью обмана репутационной системы сети. Таким образом, Eclipse атака направлена на конкретного пользователя, а Sybil атака — на всю сеть.

В контексте Биткоина атаки Сивиллы менее опасны, поскольку узлы работают по правилам консенсуса. В соответствии с этими правилами любое отклонение приведет к DoS-запрету узла-приманки.

Как защититься от Eclipse атак

Теоретически злоумышленник может "затмить" любой узел (ноду), если у него достаточно IP-адресов. Операторы узлов могут снизить этот риск, блокируя входящие соединения. Важно устанавливать исходящие соединения только с определенными доверенными узлами, например с узлами, включенными в "белый список" других участников сети. Однако исследователи отмечают, что если все участники примут эти меры, то новые узлы не смогут присоединиться к сети, что делает такой подход неприемлемым в плане масштабирования сети.

Злоумышленники могут использовать различные уязвимости, но есть способы избежать атак:

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

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

Баги, хаки, атаки: о скамах и взломах | BTC_2TheMoon | Биткоин, блокчейн, криптовалюта | Дзен