Введение

Darknet – сеть «друг к другу». anoNet – это децентрализованная сеть «друг к другу», построенная с использованием VPN и программных BGP-маршрутизаторов. anoNet функционирует, усложняя установление личности других участников сети, позволяя им анонимно размещать IPv4 и IPv6 сервисы. Одной из главных целей anoNet является защита прав своих участников на свободу слова и выражения мнений.

Мотивация

Внедрение анонимной сети поэтапно, для каждой службы отдельно, имеет свои недостатки, и вопрос о том, стоит ли реализовывать такую систему на уровне приложений, остаётся открытым. Более простым подходом было бы проектирование сети IPv4/IPv6, в которой участники обладали бы надёжной анонимностью. Это позволило бы использовать любое количество уже существующих приложений и сервисов, доступных в интернете. Сети IPv4 не препятствуют анонимности по своей природе; необходимо лишь отделить личность владельца IP-адреса от самого адреса. Коммерческое подключение к интернету и необходимость ведения учётных записей для выставления счетов делают это невозможным, но частные сети IPv4 не имеют такого требования. Если предположить, что администратор маршрутизатора в такой метасети знает только информацию о соседних маршрутизаторах, стандартные протоколы маршрутизации смогут обеспечить поиск оптимального пути для пакета до места назначения. Все пункты назначения, находящиеся дальше одного «прыжка», для большинства пользователей можно считать анонимными. Это связано с тем, что ваш IP-адрес известен только вашим непосредственным соседям. Любой, кто не подключён к вам напрямую, знает вас только по IP-адресу из диапазона 21.0.0.0/8, и этот IP-адрес не обязательно привязан к каким-либо идентифицируемым данным.

anoNet - это псевдоним

Каждый может составить профиль IP-адреса anoNet: какие документы он публикует или запрашивает, на каком языке, о каких странах или городах и так далее. Если этот IP когда-либо опубликует документ, который может раскрыть личность его владельца, то все остальные когда-либо опубликованные или запрошенные документы могут быть привязаны к этой личности. В отличие от некоторых других программ Friend to Friend (F2F), в anoNet отсутствует автоматическая пересылка, скрывающая IP-адрес узла от всех узлов, не имеющих с ним прямого соединения. Однако все существующие программы F2F могут использоваться внутри anoNet, что усложняет обнаружение их использования (извне видна только VPN-связь, но анализ трафика всё ещё возможен).

Архитектура

Поскольку прокладка оптоволокна до удаленных узлов обходится непомерно дорого для сети, функционирующей на добровольных началах, сеть использует готовое VPN-программное обеспечение как для соединений между маршрутизаторами, так и для соединений между маршрутизатором и пользователем. Это дает и другие преимущества, такие как неуязвимость к внешнему перехвату и отсутствие необходимости в необычном программном обеспечении, которое могло бы привлечь внимание к участникам сети. Чтобы избежать конфликта адресации с самим Интернетом, anoNet изначально использовал IP-диапазон 1.0.0.0/8. Это было сделано для того, чтобы избежать конфликтов с внутренними сетями, такими как 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16, а также с зарезервированными диапазонами Интернета. В январе 2010 года IANA выделила 1.0.0.0/8 организации APNIC. В марте 2017 года anoNet перевела сеть на подсеть 21.0.0.0/8, которая закреплена за Министерством обороны США, но в настоящее время не используется в Интернете. Сама сеть не организована по какой-либо регулярной, повторяющейся схеме маршрутизаторов, хотя наличие избыточных (>1) соединений является желательным. Это способствует большей децентрализации, снижает вероятность возникновения узких мест, а использование BGP обеспечивает резервирование. Доступен подходящий выбор VPN-решений, хотя и не слишком широкий. Подходит любой надежный пакет IPsec, например, FreeS/WAN или Greenbow. Существуют также решения, не использующие IPsec, такие как OpenVPN и SSH-туннелирование. Нет требований к однородности сети; каждая связь может фактически использовать свой VPN-демон.

Как это работает

В Интернете невозможно связаться с другим хостом, не зная его IP-адреса. Таким образом, anoNet учитывает, что вы будете идентифицированы вашим пиром, а также маской подсети, используемой для связи с ним. Протокол маршрутизации BGP позволяет любому узлу объявлять любые маршруты, и этот, на первый взгляд, хаотичный метод и обеспечивает пользователям анонимность. После того, как узел объявляет новый маршрут, другим участникам сети сложно определить, ведет ли он к другой машине в другой стране через VPN, или это просто фиктивный интерфейс на компьютере пользователя. Существует вероятность, что определенный анализ может помочь установить, является ли подсеть удаленной (например, в другой стране) или локальной (например, фиктивный интерфейс или машина, подключенная по Ethernet). К таким методам анализа относятся временные метки TCP, время отклика (ping), идентификация операционной системы, user-agent и анализ трафика. Большинство из этих факторов можно уменьшить, предприняв определенные действия со стороны пользователя.

Масштабирование

В BGP v4 доступно 65536 ASNs. Задолго до того, как anoNet достигнет такого количества маршрутизаторов, сеть придется разделить на домены OSPF или перейти на совершенно другой протокол маршрутизации, либо изменить протокол BGP, чтобы использовать 32-битное целое число для ASN, как это сделает остальной Интернет, поскольку 32-битные номера AS уже стандартизованы. В подсети 21.0.0.0/8 также доступно всего 65536 /24 подсетей. Решить эту проблему было бы проще, добавив новую неиспользуемую подсеть /8, если бы таковая существовала.

Проблемы безопасности

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