Эта страница была обновлена Май 2018.

Вступление

Исследование сети I2P

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

Существует большое сообщество занимающееся исследованием широкого спектра аспектов анонимности. Для ознакомления с текущим и исчерпывающим списком соответствующих материалов, загляните в Free Haven Anonymity Bibliography. I2P использует многие положительные результаты исследований Tor и луковой маршрутизации, однако сейчас интерес к исследованию непосредственно теории работы I2P, применяемым в I2P решениям и соглашениям довольно низкий. Это, в свою очередь, предоставляет уникальную возможность для проведения оригинальных исследовательских работ.

Список известных публикаций про I2P доступен здесь.

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

Замечания для исследователей:

Оборонные исследования

В то время как все исследования в сети I2P полезны и ценятся, есть некоторые области, которые более востребованы, чем другие - по большей части это оборонные исследования. Многие люди выступают против анонимного программного обеспечения, и это в дальнейшем подкрепляется стимулами в учебных заведениях. Хотя, мы знаем, что это не в приоритете у исследователей, мы, конечно, ценим любую работу по укреплению сети!

Наступательное и аналитическое тестирование

Если вы определились с темой исследования, целью которого является практическое исследование сети I2P или решение проблемы больших пропорций мы просим вас: пожалуйста, передайте свои идеи команде разработчиков, чем скорее, тем лучше. I2P находится в постоянном развитии, поэтому ваша проблема, возможно, уже была выявлена и помечена для обновления или исправления. В менее вероятном случае, вы будете проводить тестирование, которое пересекается / будет пересекаться с другим уже запущенным исследовательским проектом, и мы можем осведомить вас об этом (с их разрешение, конечно), и, возможно, открыть дверь для сотрудничества. Так же, есть вероятность того, что сам тест может существенно повредить сети и обычные пользователи или команда разработчиков могут иметь идеи или предложения по снижению этого риска и увеличению безопасности вашего испытания.

Исследовательская этика & Тестирование сети

Общие методические рекомендации

  1. Рассмотрим преимущества и риски - есть ли сомнения, что исследования принесут больше пользы чем вреда?
  2. Если исследование может быть сделано в тестовой сети, то это более предпочтительно
  3. Если необходимо работать в live-сети, самым безопасным методом является только сбор данных о себе
  4. Если вам нужны "bigger data", то рекомендуется решить подойдут ли вам наборы данных из предыдущих экспериментов или из других сторонних источников
  5. Если необходимо собрать данные в live-сети, убедитесь, что они безопасны для публикация и собирайте как можно меньше
  6. После тестирования и перед публикацией просмотрите все данные, которые должны быть опубликованы, там не должно быть данных, обозначенных владельцем, как приватные

Использование тестовой сети для атаки на I2P

I2P может быть запущен как отдельная тестовая сеть, контролируя местоположения, которые новый роутер загружает так, что он будет находить только другие тестовые роутеры. Стандартный режим работы подразумевает одну JVM на экземпляр маршрутизатора; следовательно запуск нескольких копий I2P на одной машине нецелесообразен, как из-за потенциальной утечки ресурсов, так и из-за определенных конфликтов портов. Чтобы облегчить настройку небольших тестовых сетей, I2P имеет режим multirouter, который позволяет запускать несколько различных маршрутизаторов в одной JVM. Multirouter можно запустить из базового каталога I2P, выполнив следующую команду.

env CLASSPATH=$(find lib/ -name *.jar | paste -s -d ':') java net.i2p.router.MultiRouter 25

Кроме того, I2P можно запустить в режиме виртуальной сети. Этот режим отключает все транспортные протоколы, позволяя маршрутизатору тестироваться изолированно без сетевого трафика. Чтобы включить этот режим, добавьте i2p.vmCommSystem=true в router.config перед запуском.

Тестирование в live-cети I2P

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

Конфигурация семейства роутеров

Начиная с выпуска 0.9.25, I2P поддерживает конфигурацию семейства маршрутизаторов. Это предоставляет исследователям, которые запускают multiple роутеры, средства публично идентифицировать эти роутеры. В свою очередь, это помогает проекту I2P понять, что эти маршрутизаторы не атакуют сеть. Это также поможет другим роутерам избежать включения multiple роутереров семьи, в единый туннель, что может привести к деанонимизации. Маршрутизаторы, которые объединяются, но не имеют объявленного семейства, могут считаться атакующими и могут быть заблокированы. Лучший способ обеспечить успех вашего исследовательского проекта - работать с нами напрямую.

Семейство маршрутизаторов совместно использует закрытый ключ, так что участие в семействе не может быть подделано. Чтобы настроить семейство маршрутизаторов, щелкните ссылку "Настройки I2P" в консоли маршрутизатора, а затем на вкладке "Семейство роутеров". Следуйте инструкциям, чтобы сгенерировать закрытый ключ для первого маршрутизатора в семействе. Затем экспортируйте ключ из этого маршрутизатора и импортируйте его другим членам семейства.