ru
Назад к списку

Как работает атака информационного затмения?

source-logo  forknews.io 09 Ноябрь 2020 14:30, UTC

Риск сетевых атак на блокчейн в основном игнорируются из-за сложности их реализации. Это не означает, что атаки на одноранговые сети невозможны. Одна из таких атак - атака Eclipse (атака информационного затмения).

Что такое атака Eclipse?

Атака Eclipse - это способ атаки на децентрализованную сеть, с помощью которого злоумышленник стремится изолировать и атаковать определенного пользователя, а не всю сеть. 

Успешная атака Eclipse позволяет потенциальному злоумышленнику изолировать и помешать своей жертве получить истинную картину реальной сетевой активности и текущего состояния реестра.

Принцип работы атаки Eclipse

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

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

Как злоумышленники получают прибыль от атаки Eclipse?

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

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

Атака Eclipse на майнинг

Злоумышленник может также использовать атаку Eclipse для атаки на сам блокчейн, захватив мощность майнинга изолированного узла. Жертва, видя только реестр, который показывает злоумышленник, будет поддерживать этот вариант цепочки. Если злоумышленник сможет атаковать достаточное количество пользователей (и имея в виду, что некоторые майнеры могут контролировать значительные объемы хэш-мощности), он сможет создать свою собственную цепочку блоков в качестве законного форка к «истинному» реестру. 

Можно ли предотвратить атаки затмения?

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

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

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

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

Случайный выбор узла: Рандомизация выбора с одноранговыми узлами, распределенными по сети, затруднит злоумышленнику угадать, какие узлы им следует создать для нацеливания на жертву.

Ограничение количества узлов на IP-адрес / машину: Один из самых больших недостатков, и один из самых простых для устранения.

Хранение информации: Узлы хранят информацию о других узлах, когда они сталкиваются с ними. Сохранение этой информации доступной после того, как узел покидает и снова присоединяется к сети, гарантирует, что они смогут сохранить одни законные одноранговые узлы для подключения, прежде чем найдут другие.

Увеличить количество подключений: Хотя это не может быть бесконечное число, поскольку это замедлит работу сети, чем больше разрешено подключений, тем больше вероятность того, что узел подключится к законному пользователю.

forknews.io