Оглавление
Как работает атака затмения
Последствия атаки затмения
«Двойные траты» без подтверждения
«Двойные траты», требующие N подтверждений
Снизить конкуренцию среди майнеров
Замедлите последствия атаки солнечного затмения
Подведем итог
Атака затмения — это относительно простая базовая атака, с помощью которой злоумышленник может вмешаться в работу узлов сети. Как следует из названия, эта атака может помешать атакованному узлу в одноранговой сети получить эффективную информацию, тем самым вызывая прерывание работы сети или подготовку к более сложным атакам.
На первый взгляд, Атака Затмения похожа на Атаку Сивиллы. Хотя они имеют некоторые общие черты (злоумышленник разрушает сеть, атакуя узлы), их конечные цели атаки различны. Атаки Eclipse нацелены на один узел (по причинам, объясненным ниже), тогда как атаки Sybil нацелены на всю сеть и направлены на подрыв репутации сетевых протоколов.
Эта концепция подробно обсуждается в статье 2015 года «Атаки Eclipse на одноранговую сеть Биткойн», в которой исследователи из Бостонского университета и Еврейского университета сообщили о результатах своих экспериментов по проведению атак Eclipse и о превентивных мерах по борьбе с ними.
Как работает атака затмения
Майнерам биткойнов требуется специализированное оборудование для генерации и проверки новых блоков, но для работы узлов, не связанных с майнингом (или полных), требуется очень мало вычислительной мощности. Таким образом, любой может управлять узлом на дешевом оборудовании, что также способствует децентрализации Биткойна. Программное обеспечение поддерживает базу данных транзакций, которая синхронизируется с узлами, чтобы оставаться синхронизированными с сетью.
Ограничивающим фактором для подключения большого количества узлов является пропускная способность. Поэтому, хотя существует большое количество устройств, которые могут запускать программу, существует ограничение на количество подключений, установленных в сети Биткойн (максимум 125 подключений), и обычные устройства не могут напрямую взаимодействовать с другими устройствами.
При атаке затмения злоумышленник гарантирует, что все соединения с целью выполняются на узлах, контролируемых злоумышленником. Злоумышленник сначала отправит флуд со своего собственного IP-адреса на целевой адрес, а жертва может подключиться к IP-адресу злоумышленника при перезапуске программы. Вы можете принудительно перезапустить (т. е. провести DDoS-атаку на цель) или просто дождаться автоматического перезапуска программы.
Если это произойдет, ничего не подозревающие жертвы оказываются во власти вредоносных узлов, и злоумышленник передает им ложные данные, которые они не могут получить из реальной сети.
Последствия атаки солнечного затмения
У злоумышленников есть стимул проводить такие атаки, если они могут отключить сетевой узел от сети, потребляя его ресурсы. Если узел изолирован, злоумышленник может провести несколько последовательных атак.
«Двойные траты» без подтверждения
Если независимый узел принимает неподтвержденную транзакцию, возникает риск «двойных расходов». Если произошедшая транзакция могла быть транслирована до входа в блок (отправки в блокчейн), то отправитель может легко совершить новую транзакцию в другом месте и потратить ту же сумму, что и предыдущая транзакция. Если комиссия за вновь сгенерированную транзакцию выше, майнеры будут отдавать приоритет транзакции и считать ее первой транзакцией, в результате чего первая транзакция будет недействительной.
Некоторые продавцы и частные лица принимают эти транзакции с нулевым подтверждением. Возьмем, к примеру, Боба, бизнесмена, который продает автомобили высокого класса. Он не знал, что Алиса запустила затменную атаку на его узел, и у него не возникло никаких подозрений после того, как он увидел ее заказ на роскошный спортивный автомобиль. Алиса создает транзакцию, а Боб транслирует ее в сеть. Увидев, что платеж вот-вот будет подтвержден, он почувствовал себя очень довольным и передал ключи от машины Алисе, которая на скорости уехала.
Фактически, транзакция не была передана в сеть. Боб только передал транзакцию злонамеренному узлу Алисы, а злонамеренный узел, контролируемый Алисой, не передал транзакцию реальному узлу. Следовательно, транзакция будет считаться недействительной. В это время Алиса платит ту же сумму в (реальной) сети либо себе, либо кому-то другому. Даже если первоначальная транзакция с Бобом, наконец, будет видна в реальной сети, транзакция не может быть проверена, поскольку средства на счете Алисы израсходованы.
«Двойные траты», требующие N подтверждений
«Двойная трата», требующая N подтверждений, аналогична «двойной трате», которая не требует подтверждения, но требует дополнительной подготовительной работы. Многие продавцы предпочитают дождаться определенного количества подтверждений, прежде чем платеж будет помечен как действительный. Чтобы решить проблему, злоумышленнику придется подвергнуть как майнерские, так и торговые узлы атаке затмения. Если злоумышленник устанавливает заказ у продавца, он передает транзакцию майнерам. Торговцы могут видеть транзакции, подтвержденные в сети блокчейна, но поскольку сети, в которых расположены майнеры и торговцы, изолированы, большинство реальных узлов не наблюдают за блокчейном.
Злоумышленник отправил продавцу ложную информацию о сети блокчейна, и после того, как продавец увидел, что транзакция подтверждена, он передал товар. Когда эти узлы, подвергшиеся атаке затмения, снова присоединятся к реальной сети, реальная сеть блокчейна посчитает эти узлы недействительными и изолирует эти узлы (это похоже на атаку 51%).
Снизить конкуренцию среди майнеров
Узлы, пострадавшие от атаки eclipse, продолжат работать и не будут затронуты изоляцией от сети. Майнеры продолжат проверять блоки в рамках правил, определенных протоколом, но добавленные блоки будут отбрасываться в процессе прохождения через реальные узлы сети.
Теоретически, массовая атака затмения на большую часть майнеров может быть использована для облегчения атаки 51%. В нынешнем виде стоимость захвата большей части вычислительной мощности Биткойна (приблизительно 80 TH/s) для даже самого изобретательного злоумышленника слишком высока, и злоумышленнику придется, по крайней мере, попытаться использовать более 40 TH/s.
Если предположить, что эта вычислительная мощность распределена между 10 участниками (каждый участник имеет примерно 8TH/s), злоумышленник может значительно снизить требования к атаке 51%, изолировав этих участников от сети. Если 5 узлов подвергаются атаке затмения, злоумышленник может уменьшить вычислительную мощность на 40 TH/s, чтобы найти следующий блок, и теперь злоумышленнику нужно увеличить вычислительную мощность только на 20 TH/s, чтобы достичь цели атаки на узел. . контроль.
Другие деструктивные действия, которые могут быть достигнуты путем проведения атаки затмения на цель, включают манипулирование узлами для проведения незаконной майнинговой деятельности или использование конкуренции вычислительных мощностей между майнерами для получения следующего блока.
Замедлите последствия атак солнечного затмения
Имея достаточное количество IP-адресов, злоумышленник может выполнить атаку затмения на любом узле. Самый прямой способ предотвратить это — заблокировать несанкционированный доступ узлов и устанавливать исходящие соединения только с определенными узлами (например, IP-адресами, которые были внесены в белый список другими узлами в одноранговой сети). Однако, как отмечается в исследовательской работе, это не решение, которое можно реализовать в масштабе, и если все участники примут эти меры, новые узлы не смогут присоединиться к сети.
Автор предложил некоторые изменения в программе Биткойн, и некоторые из них были интегрированы в программу Биткойн после выхода официального документа. За счет внесения небольших изменений в код, таких как случайный выбор новых соединений и увеличение объема хранения адресов, эти меры делают атаки с затмением все более дорогостоящими.
Подведем итог
Атаки Eclipse проводятся в одноранговой сети. В качестве автономной атаки они могут раздражать. Настоящая цель проведения атаки затмения на самом деле состоит в том, чтобы реализовать другие атаки, которые могут иметь больший эффект, или предоставить злоумышленнику преимущество в майнинге.
Вообще говоря, атаки eclipse пока не оказали серьезного воздействия, и, несмотря на меры безопасности, развернутые в сетях блокчейнов, угроза все еще существует. Атаки Eclipse, как и большинство атак, с которыми сталкиваются Биткойн и большинство других криптовалют, лучшая защита — сделать их невыгодными для злоумышленников.

