Написать пост

В P2P-сети Ethereum «залатали» два варианта уязвимости Eclipse

Аватар Светлана Хачатурян

P2P-сеть блокчейна Ethereum долгое время была уязвима к трём вариантам атаки Eclipse, позволявшей злоумышленникам подключать легитимных пользователей к собственной скомпрометированной копии сети. Исследователям удалось смягчить первые два метода, а от третьего «лекарства» пока что нет.

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

Вычислительное «затмение»

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

Этот вопрос был проработан несколькими независимыми группами исследователей. Экспертам удалось реализовать три варианта Eclipse-атак.

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

Второй вариант Eclipse по принципу схож с первым, но в нём участвует большее число атакующих узлов. Отправляя «жертве» множество пакетов и тем самым засоряя целевую базу данных, мошенник может успеть подсоединить временно изолированный узел к зловредной сети.

Третий способ заключается в перестановке времени на атакуемом узле на 20 или более секунд вперёд относительно других узлов в этой же сети P2P. Для защиты от повторной отправки старых аутентификационных данных протокол Ethereum автоматически блокирует сообщения, отстающие от текущего времени больше чем на 20 секунд. Таким образом, переведя подчинённые узлы на одно время с «жертвой», злоумышленник отрезает целевое устройство от других легитимных узлов и заставляет его принимать сообщения только от собственных.

Есть решение?

Все три варианта атак Eclipse были обнаружены около трёх лет назад, однако обезопасить от них сеть разработчикам удалось только сейчас. При этом «заплатки» пока изобретены только для первых двух методов.

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

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

Следите за новыми постами
Следите за новыми постами по любимым темам
492 открытий493 показов