Основная проблема: ваш узел против цифровой пустыни

Более 50 лет после первого межсетевого сообщения сети peer-to-peer остаются редкими существами в джунглях Интернета. Возможность Bitcoin обеспечить открытую монетарную систему зависит от его архитектуры peer-to-peer, и на его поверхности атаки именно сетевой уровень — как узлы обнаруживают и подключаются друг к другу — является наиболее уязвимым. Есть два основных места, где могут возникнуть проблемы: собственный протокол пиров Bitcoin и интернет-протоколы, от которых зависит протокол Bitcoin. В этом свете Core имеет двойную задачу — предотвращать векторы отказа в обслуживании (DOS), которые могут быть использованы между узлами, и обеспечивать безопасное взаимодействие узлов в более широком враждебном окружении Интернета.

P2P

«Правительства хорошо умеют устранять головы централизованных сетей, таких как Napster, но чистые P2P-сети, такие как Gnutella и Tor, похоже, держатся молодцом.»

– Сатоши, 7 ноября 2008 [1]

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

За годы в этой области было обнаружено несколько ошибок. Например, в 2017 году была исправлена и раскрыта уязвимость вредоносного SOCKS-сервера [2]. Эта уязвимость «переполнения буфера» теоретически могла привести к различным атакам: сбою узла, внедрению вредоносных нагрузок или изменению данных на узле. В 2020 году была обнаружена и исправлена уязвимость высокой степени опасности, при которой удалённый пиров мог получить адреса в бан-лист, что приводило к квадратичному росту списка блокировок и являлось вектором DOS для узла [3]. Уязвимость не была раскрыта до 2024 года. Эта ошибка правильно отмечена как «высокой степени опасности», поскольку атака проста в выполнении, её эффект — потеря функции узла, и для её осуществления требуются минимальные предусловия. Такие ошибки держат разработчиков Core в напряжении, и поэтому настоятельно рекомендуется обновлять узлы до поддерживаемых версий (старые версии Core не обновляются активно).

Эта распределённая сеть, которую мы называем Bitcoin, остаётся относительно небольшой: число узлов в открытом интернете колеблется около 20 тысяч, а при условии щедрых 100 тысяч узлов в Tor — сеть всё равно небольшая и легко поддающаяся наблюдению. Недавно Daniela Brozzoni и naiyoma показали [4], что если узел работает одновременно в открытом интернете и в Tor, его IPv4 и Tor-адреса легко сопоставить. Вероятно, это уже делают разведывательные агентства и компании, занимающиеся анализом блокчейна. Тогда становится легко определить, какие узлы публикуют транзакции первыми, и вывести исходный IP-адрес транзакции, а значит — и её местоположение. Хотя это не является ошибкой как таковой, поскольку узел не сбоит и не ведёт себя неправильно, это можно считать уязвимостью, поскольку она даёт возможность связать конкретный IP-адрес с транзакцией.

Как эффективно предотвратить это — вопрос открытый.

Плохие земли Интернета

«Мы строим наши компьютеры так же, как строим наши города. Со временем, без плана, на руинах.» – Эллен Уллман [5]

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

Наиболее известным и практическим вектором атаки является так называемая атака затмения (eclipse attack), при которой все пиры жертвы — злонамеренные, и предоставляют жертве искаженную картину цепочки или сети. Этот тип атаки является фундаментальным в распределённых системах: если вы контролируете пиров жертвы, вы контролируете её восприятие сети. Ethan Heilman и его коллеги представили одну из первых практических атак затмения на Bitcoin на конференции USENIX 2015 [6], а в 2018 году статья об атаке Erebus описала «скрытую» атаку затмения через злонамеренную автономную систему (AS) [7].

Эти атаки в основном используют слабости в способах взаимодействия сетей Интернета, такие как топология маршрутизации AS или протокол BGP (Border Gateway Protocol). В то время как ведутся инициативы по обеспечению безопасности BGP — BGPsec, RPKI — у них есть ограничения, которые хорошо известны, и они оставляют стражей Интернета в ожидании более надёжных решений. Пока этого не произойдёт, Интернет останется диким западом.

Недавний анализ, проведённый cedarctic в Chaincode Labs, показал, что узлы Bitcoin расположены в пределах всего 4551 AS, что является довольно небольшой частью сетей, составляющих Интернет. Они описали набор атак, которые могут привести к атакам затмения путём компрометации upstream-AS, в которых работают узлы [8]. Небольшое распределение узлов по AS и их конкретные связи создают уникальный вектор атаки. Хотя существуют способы устранения уязвимостей, неясно, было ли это хорошо понято заранее биткоин-сообществом или их противниками.

Любая атака, основанная на компрометации одного или нескольких AS, требует ресурсов, координации и навыков. Хотя успешных таких атак на узлы Bitcoin пока не зафиксировано, подобные атаки успешно проводились против майнеров [9], кошельков [10], платформ обмена [11] и мостов [12]. Мы не можем исправить Интернет, но можем вооружить узлы инструментами для работы в этой враждебной среде.

Сетевое вооружение

Ниже представлены некоторые функции и возможности, которые разработал или интегрировал Core для защиты пользователей от атак на сетевом уровне:

TOR (The Onion Router) — самая старая сеть с акцентом на приватность, встроенная в Bitcoin Core. Она создаёт цепочки между случайными пирами для маскировки трафика.

v2transport [13] — шифрует соединения между пирами, скрывая трафик от слежки и цензуры. Цель — помешать пассивным наблюдателям просматривать содержимое ваших коммуникаций с другими узлами.

I2P (The Invisible Internet Project) [14] — дополнительная, приватная, зашифрованная прослойка соединений. Это сеть анонимности, похожая на Tor, которая использует пиров для маскировки трафика между клиентами и серверами.

ASmap [15] — ещё одна опциональная функция Core, реализующая защиту от атаки Erebus, описанной авторами в статье, и применимая ко всем атакам на основе AS. Делая механизм пиров Bitcoin осведомлённым о происхождении пиров (их AS), обеспечивается разнообразие пиров, и затмение становится экспоненциально сложнее, поскольку злоумышленнику придётся скомпрометировать множество AS, что практически невозможно без обнаружения. Core поддерживает создание карты IP-сетей и их AS (ASmap) с версии 20.0, а проект Kartograf позволяет любому пользователю легко генерировать такую карту.

Учитывая, что Интернет, вероятно, продолжит оставаться уязвимым для множества атак, одним из наших действий является наблюдение за поведением пиров с целью обнаружения злонамеренной активности. Это и есть идея проекта peer-observer от 0xb10c [16], который предоставляет систему логирования на базе eBPF (технология для отслеживания мельчайших действий в операционной системе), чтобы наблюдать за активностью узла, включая поведение пиров. Также он предоставляет всё необходимое для создания собственных систем логирования.

Bitcoin должен быть надёжным

Обеспечение возможности подключения к пирами и обмена сообщениями — ключевой компонент того, что делает Bitcoin работоспособным.

Bitcoin функционирует в многомерной враждебной среде, в которой многие угрозы связаны с ограничениями самой архитектуры Интернета. Чтобы Bitcoin выжил и развивался, его разработчики и пользователи должны научиться ориентироваться в этих странных водах.

Цена открытых сетей — вечная бдительность.

Получите свою копию «The Core Issue» уже сегодня!

Не упустите шанс стать владельцем The Core Issue — сборника статей, написанных многими разработчиками Core, в которых они рассказывают о своих проектах!

Этот материал — письмо редактора, опубликованное в последнем печатном выпуске Bitcoin Magazine, The Core Issue. Мы делимся им здесь в качестве предварительного взгляда на идеи, раскрываемые в полном выпуске.

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12] www.coinbase.com/blog/celer-bridge-incident-analysis

[13]

[14]

[15]

[16]

[13]

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
Нет комментариев
  • Закрепить