- Автор темы
- #1
Все про I2P
hello worldFebruary 19, 2019
Во времена тотальной слежки многие пользователи смотрят в сторону вещей, позволяющих скрыть свою жизнь от чужих взглядов. Два наиболее известных варианта — это Tor и I2P. Tor уже не раз упоминался на канале, да и с его надежностью всё понятно. Сами разработчики пишут, что абсолютной анонимности он не гарантирует.
I2P же нам сегодня придется разобрать самим — так ли эта штука так безопасна, как думают некоторые?
Немного истории
В начале двухтысячных годов существовало множество P2P-сетей, которые предназначались для обмена файлами. Пираты приходили в ярость, так как все сразу были причастны к распространению файлов. Попытки устроить показательную порку приводили лишь к большим затратам времени и средств с никаким результатом. Для тех, кто боялся оказаться в числе попавших под раздачу, была предложена сеть Freenet, основной идеей которой был обмен зашифрованными блоками данных, но при этом сам пользователь не имел представления о том, что это за данные, если они не были предназначены ему самому. Но сеть предоставляла и другие способы, вроде анонимных форумов.
Все равно все приводило к загрузке файлов.
Задачи I2P
Так и появился I2P. Очень долго проект вызывал интерес лишь у создателей и некоторых гиков. Вскоре битва уже стала вестись за сами данные, ведь с одной стороны, интернетом стало пользоваться гораздо больше людей, а с другой — интернет оказался местом, где никто не контролирует обмен информацией.
Все поняли, что так долго продолжаться не может, и поднялась новая волна интереса к подобным проектам.
I2P и TOR
Спусковым крючком, что вызвал интерес народа к невидимому интернету, стало законодательный запрет доступа к информационным ресурсам в ряде стран, а также разоблачения Эдварда Сноудена о тотальной слежке за всеми. Разумеется, многим это не понравилось.
Сама слежка неприятна всем. Поняв это, пользователи кинулись искать кнопки по обходу цензуры. И они нашли их в виде браузеров (или плагинов) к браузерам для сети Tor.
I2P и TOR отличаются.
Основной задачей TOR является утаивание настоящего IP клиента, который обращается к серверу. Вообще, серверам без разницы каким образом к ним подключаются клиенты. Просто TOR является для них лишней проблемой из-за хулиганов.
В случае I2P владельцы серверов размещают их анонимно, а сами пользователи вынуждены использовать I2P, чтобы подключаться к ним. Проще говоря, Тоr — сеть клиентов, I2P — серверов. Конечно же, есть onion-сайты в торе, и выходные узлы в I2P, но это скорее побочные технологии.
Мифы о I2P
В интернете существует несколько мифов о I2P, в которые многие верят.
Предлагаем их развеять.
Чем больше участников, тем быстрее работает сеть.
Сообщение состоит из нескольких записей, из них зашифрованы все, кроме предназначенной данному узлу.
Он шифрует сообщение по новой своим ключом и отсылает далее. Естественно, следующему узлу предназначается уже другая запись сообщения.
Таким образом, чесночное шифрование применяется всего лишь в одном сообщении, которое используют относительно редко, в основном же в потоке данных используется обычное многослойное шифрование: промежуточные узлы шифруют сообщение каждый своим ключом, а владелец расшифровывает, применяя эти ключи последовательно.
Как участники I2P находят друг друга?
Рассмотрим встроенные в I2P механизмы, которые позволяют участникам находить друг друга и попробуем найти в них уязвимости. Любой узел I2P определяется I2P-адресом, представляющим собой две пары открытых и закрытых ключей, генерируемых в момент создания узла случайным образом.
Центрального источника адресов нет, предполагается, что вероятность совпадения двух случайно сгенерированных адресов крайне мала. Первая пара ключей используется для асимметричного шифрования, вторая — для подписи.
Владельцем узла является тот пользователь, у которого имеется файл с полным набором ключей. Этот файл находится на компьютере владельца и по сети не передается. Два открытых ключа и 3-байтный сертификат идентификатор узла, под которым узел становится известен в I2P.
Поскольку полный идентификатор довольно неэффективен для сравнения, сортировки и передачи данных, то для обозначения узла используется SHA-256 хеш от идентификатора. Строковое Base32 представление этого хеша и является адресом в .b32.i2p-адресах. А что делать, если известен только хеш, а нужно знать публичные ключи, содержащиеся в идентификаторе?
Для этого существует сетевая база данных (netDB). Не совсем правильное название, можно было назвать базой данных о сети, но такова терминология.
У каждого пользователя эта база своя, и одной из задач программы-клиента является поддержка базы в актуальном состоянии. Если узел с искомым хешем в базе не найден, то следует о нем спросить другие узлы. Если у запрашиваемого узла адрес есть в базе, то он пришлет в ответ информацию о нем, в противном случае вернет список трех других узлов, где, по его мнению, адрес может быть.
Чтобы узнать информацию об узле, нужно знать по крайней мере его хеш — возможность скачать список всех известных на данный момент узлов специально отсутствует. Также предусмотрен механизм зондирования, при котором посылается запрос случайно сгенерированного хеша со специальным флагом, и тогда узел вернет список трех других, присутствующих в его базе, хеши которых наиболее похожи.
Обманываем новичков
Присутствие локальной базы данных позволяет участнику выходить в сеть, не обращаясь к серверам каталогов узлов, как это делается в TOR. Однако у такой децентрализации есть существенный недостаток: чтобы получать информацию о новых узлах, в локальной базе данных должны уже присутствовать какие-то узлы. Значит, при первом запуске их придется откуда-то загрузить. Этот процесс называется посевом и заключается в загрузке файлов с небольшого числа жестко прописанных в коде сайтов. Достаточно обрубить доступ к этим сайтам, и новые узлы не смогут работать. В этом случае для первого запуска можно просто взять список узлов у кого-то другого. Гораздо хуже, если доступ будет не заблокирован, а перенаправлен на сайты с фальшивым списком узлов, — тем самым новый узел рискует попасть в изолированную от остальной сеть, и нет простого способа распознать эту ситуацию. К чести разработчиков, они понимают масштаб проблемы и работают над тем, чтобы распространять начальный список узлов в виде подписанного их ключом архива по различным каналам.
Невидимый интернет
Сеть I2P состоит из узлов двух видов:
Невидимый интернет представлен структурами данных, содержащих полный идентификатор, дополнительный ключ шифрования и список тоннелей, ведущих к маршрутизатору с данным узлом. (LeaseSet)
Хотя входящие тоннели имеются и у самих маршрутизаторов, они никогда не формируют LeaseSet’ы. К маршрутизаторам всегда следует обращаться, устанавливая с ними соединение напрямую.
Тоннели же используются только для получения ответов на запросы. Поскольку продолжительность жизни одного тоннеля десять минут, то LeaseSet’ы также существуют недолгое время и поэтому на диске не сохраняются, а при перезапуске запрашиваются заново. Тоннели и ключ шифрования из LeaseSet’а являются единственным способом обращения к «невидимому» узлу. То есть зная адрес, следует сначала запросить его LeaseSet у ближайшего к нему floodfill’а и потом отправить сообщение в один из тоннелей. Для получения ответа требуется сделать личный LeaseSet, который можно отправить вместе с сообщением или же опубликовать на ближайшем floodfill’е.
Невозможность определить, на каком маршрутизаторе располагается тот или иной LeaseSet, является основой технологии обеспечения анонимности в сети I2P.
Следовательно, большинство атак злоумышленников направлены на решение противоположной задачи. С этой целью в I2P для передачи информации используется мощная криптография, скрывающая данные от провайдеров разных уровней, а удачно применяемые электронные подписи делают сеть устойчивой к атакам типа MItM.
Перехватываем тоннели
Для обеспечения анонимности внутри I2P применяются тоннели, которые представляют собой цепочки маршрутизаторов, через которые сообщения и передаются.
Тоннели бывают исходящие и входящие.
Исходящие предназначены для скрытия расположения отправителя, а входящие — получателя. Потому LeaseSet’ы и представляют собой список входных узлов и идентификаторов входящих тоннелей.
Расположение второго конца тоннеля всегда скрыто. Для получения ответов клиент посылает серверу собственный LeaseSet. Каким путем проложен тоннель и на каком узле находится его второй конец известно только создателю этого самого тоннеля.
Промежуточные участники тоннеля знают лишь узел, который будет передавать перешифрованное сообщение. Но это в теории — на практике же промежуточные узлы знают, откуда пришло сообщение.
Почему? Потому что сообщения между узлами передаются по обычному интернету и узнать IP-адрес отправителя не составляет труда. Далее, при достаточном размере базы можно найти и RouterInfo. Таким образом, если хакер имеет промежуточный узел, то он сразу узнает и двух своих соседей.
Теоретически можно увеличить длину тоннелей вплоть до восьми узлов, практически же каждый добавленный узел очень сильно замедляет скорость работы и надежность, т.к нахождение узла в сети на все время жизни тоннеля не гарантировано. Поэтому в настоящий момент в I2P используются трехшаговые тоннели.
Таким образом, для полного деанона узла, хакеру нужно вычислить маршрут любого тоннеля в любое время. Для этого достаточно, чтобы два узла одного тоннеля были доступны злоумышленнику. При сегодняшнем размере сети в несколько тысяч узлов, такой вариант вполне по силам большим организациям.
Если в деаноне серверов описаный выше перехват посадки мало чем сможет помочь (серверы могут выбирать узлы входящих тоннелей самостоятельно), то для поиска клиентов, оставляющих следы на каких-нибудь темных форумах этот метод безупречен
I2P сайты
Мир I2P не так богат, как луковые просторы Tor. Но все же при должном поиске в нем можно найти много полезного, устрашающего и просто интересного.
Блоги и форумы
Первое место, которое стоит посетить, — это форум Hidden Answers. Любителям Onion это местечко покажется знакомым, даже немного родным. На форуме люди задают вопросы разного характера. Отвечают такие же рядовые юзеры. Конечно, их ответы не всегда хороши или вообще в тему, но интересного там много. У Hidden Answers есть русскоязычный аналог под названием SecretChat.
В I2P люди очень любят заводить свои блоги, где делятся самой разной информацией и соображениями. Как правило, пишут о таких вещах, о которых в клирнете говорить опасаются.
Есть и не совсем понятные штуки: например, на сайте rebel.i2p друг друга сменяют рандомные бессодержательные картинки. Не обходится и без сайтов для взрослых, но на них ничего нового вы не найдете — особенно если действительно взрослый.
На случай, если не купили гирлянды к Новому году
Как пример полезного блога можно привести страницу пользователя Михаэля ван Делфта под названием Exotic Security. Там Михаель делится секретами действительно экзотической безопасности в сети и обсуждает полезные фичи для программистов. Например, автор блога рассказывает о возможностях перепрошивки макбуков и прочие занимательные вещи.
Любая андерграундная сеть просто обязана иметь свою борду, где люди могут общаться на любые темы. I2P не изменяет этим традициям и представляет нам местечко под названием F*ck Society (отсылка к хакерскому сериалу Мистер Робот). Здесь есть подразделы по разным темам, в том числе одна из них — это представительство Runion. Есть треды о запрещенных веществах, насилии, политике и прочих обязательных для даркнета темах.
Продолжая рассматривать анонимные социальные сети, мы натыкаемся на Onelon. Это некий «Фейсбук» без ограничений: писать можно что угодно, кому угодно и зачем угодно. Поклонникам onion-пространства Onelon известен уже как минимум несколько лет. I2P-версия почти ничем не отличается: схожие треды, схожие комментарии. Правда, onion-версия гораздо более популярна.
Общение
Из полезных сервисов, которые есть в I2P, стоит выделить vPass, который помогает придумать пароль под определенный домен, и EasyGPG, который делает вам личный ключ GPG. По сути, почти все практичные ресурсы I2P можно без труда найти в .onion и даже в клирнете.
Например, серверы Jabber типа Echelon и анонимные децентрализованные почтовики вроде I2P Bote в наше время удивят лишь ну уж совсем новичков. Но знать об их существовании полезно.
Торговля
Ну и конечно, в I2P есть свои рынки. Там, где в Onion Hydra, здесь — nvspc. Система оплаты и получения товара у них схожая, и к обоим есть доступ из клирнета. Отметим, что nvspc может выступать и в роли криптовалютной биржи. Также стоит упомянуть Garden — но это вовсе не райский сад, а торговая площадка, схожая с WayAway в .onion.
Hydra на минималках
По части искусства в I2P тоже кое-что есть, например стриминговая платформа StreamRadio и «Радио Анонимус». Но кому нужна анонимизированная музыка — это вопрос нетривиальный.
Каталоги
В I2P имеется собственная «Русская I2P Wiki». Цель этой вики — способствовать развитию проекта I2P, позволяя пользователям анонимно вносить правки в существующие статьи, чем-то напоминающие «Лурк». Среди прочего есть страница со ссылками на интересные ресурсы.
Не стоит забывать и об Eepsites — каталоге ссылок. Каталоги в I2P могли бы быть полезным ресурсом, но, к сожалению, большинство ссылок нерабочие.
Библиотеки
Flibusta тоже разместилась в I2P и успешно работает. Однако, помимо привычных нам библиотек с миллионами книг, I2P предлагает и более узкопрофильные.
Например, владельцы ресурса «Экстремальная химия» коллекционируют руководства, опыты из которых можно (но не нужно!) повторять дома или в гараже.
В качестве образовательно-развлекательного чтива — вполне интересно. «Мир фэнтези» — тоже что-то вроде узконаправленной библиотеки: если вы любите погружаться в волшебные миры, то I2P вас здесь порадует вдвойне.
Файлообмен
В I2P огромное количество файлообменников. Действительно, где можно обмениваться файлами настолько же безопасно и анонимно, как здесь? Наверное, только в реальной жизни — да и то не факт. В I2P есть и всем известный «Схоронил» и множество андерграундных местечек вроде Serien. Обмениваются в том числе и через торренты — взять хоть зеркало RuTor или Public Torrent Tracker. Есть даже зеркало «Православного торрента».
Криминал
Если в клирнете и в .onion полно хакерских и кардерских форумов, мошенников и скамеров, то в I2P в этом плане все скромно. Даже самые большие onion-ресурсы криминальной тематики зачастую не хотят уходить в I2P, предпочитая держать для пользователей более легкие пути доступа. В I2P криминальные ресурсы созданы для совсем хардкорных товарищей, и найти такие места непросто.
Например, ресурс Armada предоставляет услуги по DDoS-атакам, взлому и подобному. Впрочем, сами авторы утверждают, что все это блеф, вымысел и шутка, — проверять мы не стали.
По иным хакерским ресурсам не поймешь, обитают там гении маскировки или же какие-то случайные люди, не имеющие отношения ко взлому. Например, Project Mayhem вроде бы и предоставляет какие-то услуги, но внешне больше похож на календарь майя. Французский хакерский форум BumpTeam очень напоминает практическую работу первокурсника. Других ресурсов криминальной направленности, к сожалению, в I2P нам найти не удалось.
Верните мне мой 2012-й
Криптовалюта
С биткойнами и криптой в целом у I2P отношения складываются куда лучше, чем с другими вещами. К примеру, в I2P доступен Zcash, а также существует еще очень много кошельков и обменников с трейдинг-платформами. Мы не пользовались ни одним из них, а потому настоятельно рекомендуем сто раз подумать, прежде чем делать в I2P криптовалютные транзакции.
Кстати, есть даже сайт, позволяющий вывести биткойны на виртуальную карту VISA.
Вывод
Прочитав всё выше, мы приходим к выводу, что анонимность I2P носит только слабый характер, позволяя спастись только от сбора маркетологической информации и другого пассивного сбора информации.
Проведение подобных типов атак требует серьезных ресурсов, вроде быстрых серверов и специального софта, но если кому-то очень срочно нужно, то он сможет раскрыть личность человека довольно быстро.
Увеличение числа узлов в сети могло бы решить данную проблему, но при сегодняшней её организации это приведет к фактическому коллапсу. В это же время I2P прекрасно подходит для построения ресурсов, доступ к которым невозможно ограничить в принципе.
hello worldFebruary 19, 2019
Во времена тотальной слежки многие пользователи смотрят в сторону вещей, позволяющих скрыть свою жизнь от чужих взглядов. Два наиболее известных варианта — это Tor и I2P. Tor уже не раз упоминался на канале, да и с его надежностью всё понятно. Сами разработчики пишут, что абсолютной анонимности он не гарантирует.
I2P же нам сегодня придется разобрать самим — так ли эта штука так безопасна, как думают некоторые?
Немного истории
В начале двухтысячных годов существовало множество P2P-сетей, которые предназначались для обмена файлами. Пираты приходили в ярость, так как все сразу были причастны к распространению файлов. Попытки устроить показательную порку приводили лишь к большим затратам времени и средств с никаким результатом. Для тех, кто боялся оказаться в числе попавших под раздачу, была предложена сеть Freenet, основной идеей которой был обмен зашифрованными блоками данных, но при этом сам пользователь не имел представления о том, что это за данные, если они не были предназначены ему самому. Но сеть предоставляла и другие способы, вроде анонимных форумов.
Все равно все приводило к загрузке файлов.
Задачи I2P
- Скрывать местоположение eepsite’ов.
- Скрывать местоположение клиентов, подключающихся к eepsite’ам, и от самих сайтов в том числе
- Сделать невозможным ограничение доступа к сайтам со стороны провайдеров или магистральных узлов.
Так и появился I2P. Очень долго проект вызывал интерес лишь у создателей и некоторых гиков. Вскоре битва уже стала вестись за сами данные, ведь с одной стороны, интернетом стало пользоваться гораздо больше людей, а с другой — интернет оказался местом, где никто не контролирует обмен информацией.
Все поняли, что так долго продолжаться не может, и поднялась новая волна интереса к подобным проектам.
I2P и TOR
Спусковым крючком, что вызвал интерес народа к невидимому интернету, стало законодательный запрет доступа к информационным ресурсам в ряде стран, а также разоблачения Эдварда Сноудена о тотальной слежке за всеми. Разумеется, многим это не понравилось.
Сама слежка неприятна всем. Поняв это, пользователи кинулись искать кнопки по обходу цензуры. И они нашли их в виде браузеров (или плагинов) к браузерам для сети Tor.
I2P и TOR отличаются.
Основной задачей TOR является утаивание настоящего IP клиента, который обращается к серверу. Вообще, серверам без разницы каким образом к ним подключаются клиенты. Просто TOR является для них лишней проблемой из-за хулиганов.
В случае I2P владельцы серверов размещают их анонимно, а сами пользователи вынуждены использовать I2P, чтобы подключаться к ним. Проще говоря, Тоr — сеть клиентов, I2P — серверов. Конечно же, есть onion-сайты в торе, и выходные узлы в I2P, но это скорее побочные технологии.
Мифы о I2P
В интернете существует несколько мифов о I2P, в которые многие верят.
Предлагаем их развеять.
Чем больше участников, тем быстрее работает сеть.
- Каждый новый участник должен поддерживать свою базу данных в стабильном и актуальном состоянии, поэтому сеть (особенно floodfill’ы) просто умрет в потоке таких запросов. В результате часть узлов станет просто недоступной другим.
- I2P управляет отдельными пакетами, поэтому реальные тоннели поверх обычного интернета (например в VPN), не строятся. Для каждого пакета выбирается подходящий способ доставки, вне зависимости от того, свой ли это пакет или нет. Провайдер же видит деятельность участника как обмен зашифрованными пакетами с различным адресами, которые определяются случайно. В этом потоке, помимо тоннельных сообщений, присутствуют сообщения, передаваемые напрямую в большом количестве. С другой стороны, узел может видеть часть транзитного трафика, если он является концом тоннеля.
- Изначально оно именно так и предпологалось, однако из-за необходимости использования тоннелей парами «исходящий — входящий» пришлось шифровать весь чеснок сразу, а не каждый по отдельности. Действительно, сообщение, явно именуемое “чесноком”, состоит из “чесночин”, но если его структура становится ясна только после расшифровки, то «чесночины» практически превращаются во фрагменты тоннельных сообщений.
Сообщение состоит из нескольких записей, из них зашифрованы все, кроме предназначенной данному узлу.
Он шифрует сообщение по новой своим ключом и отсылает далее. Естественно, следующему узлу предназначается уже другая запись сообщения.
Таким образом, чесночное шифрование применяется всего лишь в одном сообщении, которое используют относительно редко, в основном же в потоке данных используется обычное многослойное шифрование: промежуточные узлы шифруют сообщение каждый своим ключом, а владелец расшифровывает, применяя эти ключи последовательно.
Как участники I2P находят друг друга?
Рассмотрим встроенные в I2P механизмы, которые позволяют участникам находить друг друга и попробуем найти в них уязвимости. Любой узел I2P определяется I2P-адресом, представляющим собой две пары открытых и закрытых ключей, генерируемых в момент создания узла случайным образом.
Центрального источника адресов нет, предполагается, что вероятность совпадения двух случайно сгенерированных адресов крайне мала. Первая пара ключей используется для асимметричного шифрования, вторая — для подписи.
Владельцем узла является тот пользователь, у которого имеется файл с полным набором ключей. Этот файл находится на компьютере владельца и по сети не передается. Два открытых ключа и 3-байтный сертификат идентификатор узла, под которым узел становится известен в I2P.
Поскольку полный идентификатор довольно неэффективен для сравнения, сортировки и передачи данных, то для обозначения узла используется SHA-256 хеш от идентификатора. Строковое Base32 представление этого хеша и является адресом в .b32.i2p-адресах. А что делать, если известен только хеш, а нужно знать публичные ключи, содержащиеся в идентификаторе?
Для этого существует сетевая база данных (netDB). Не совсем правильное название, можно было назвать базой данных о сети, но такова терминология.
У каждого пользователя эта база своя, и одной из задач программы-клиента является поддержка базы в актуальном состоянии. Если узел с искомым хешем в базе не найден, то следует о нем спросить другие узлы. Если у запрашиваемого узла адрес есть в базе, то он пришлет в ответ информацию о нем, в противном случае вернет список трех других узлов, где, по его мнению, адрес может быть.
Чтобы узнать информацию об узле, нужно знать по крайней мере его хеш — возможность скачать список всех известных на данный момент узлов специально отсутствует. Также предусмотрен механизм зондирования, при котором посылается запрос случайно сгенерированного хеша со специальным флагом, и тогда узел вернет список трех других, присутствующих в его базе, хеши которых наиболее похожи.
Обманываем новичков
Присутствие локальной базы данных позволяет участнику выходить в сеть, не обращаясь к серверам каталогов узлов, как это делается в TOR. Однако у такой децентрализации есть существенный недостаток: чтобы получать информацию о новых узлах, в локальной базе данных должны уже присутствовать какие-то узлы. Значит, при первом запуске их придется откуда-то загрузить. Этот процесс называется посевом и заключается в загрузке файлов с небольшого числа жестко прописанных в коде сайтов. Достаточно обрубить доступ к этим сайтам, и новые узлы не смогут работать. В этом случае для первого запуска можно просто взять список узлов у кого-то другого. Гораздо хуже, если доступ будет не заблокирован, а перенаправлен на сайты с фальшивым списком узлов, — тем самым новый узел рискует попасть в изолированную от остальной сеть, и нет простого способа распознать эту ситуацию. К чести разработчиков, они понимают масштаб проблемы и работают над тем, чтобы распространять начальный список узлов в виде подписанного их ключом архива по различным каналам.
Невидимый интернет
Сеть I2P состоит из узлов двух видов:
- Маршрутизаторы, у которых помимо I2P-адресов имеются обычные IP, видимые в обычном интернете, и узлы, которые находятся позади маршрутизаторов и у которых нет личных IP— они и образуют тот самый deep web
- Маршрутизаторы представлены в сетевой базе данных структурой RouterInfo, кроме полного идентификатора, содержащего один или несколько IP-адресов, а также список возможностей маршрутизатора, важнейшим из которых является floodfill.
- Floodfill-маршрутизаторы служат своего рода газетами и досками объявлений, куда узлы публикуют информацию о себе и куда приходят запросы клиентов.
- Во избежание подделки данные подписываются ключом, входящим в адрес. Так как информация о маршрутизаторе меняется довольно редко, то соответствующие файлы сохраняются на диске и загружаются в память при старте. У нормально работающего I2P-клиента таких файлов должно быть порядка нескольких тысяч.
Невидимый интернет представлен структурами данных, содержащих полный идентификатор, дополнительный ключ шифрования и список тоннелей, ведущих к маршрутизатору с данным узлом. (LeaseSet)
Хотя входящие тоннели имеются и у самих маршрутизаторов, они никогда не формируют LeaseSet’ы. К маршрутизаторам всегда следует обращаться, устанавливая с ними соединение напрямую.
Тоннели же используются только для получения ответов на запросы. Поскольку продолжительность жизни одного тоннеля десять минут, то LeaseSet’ы также существуют недолгое время и поэтому на диске не сохраняются, а при перезапуске запрашиваются заново. Тоннели и ключ шифрования из LeaseSet’а являются единственным способом обращения к «невидимому» узлу. То есть зная адрес, следует сначала запросить его LeaseSet у ближайшего к нему floodfill’а и потом отправить сообщение в один из тоннелей. Для получения ответа требуется сделать личный LeaseSet, который можно отправить вместе с сообщением или же опубликовать на ближайшем floodfill’е.
Невозможность определить, на каком маршрутизаторе располагается тот или иной LeaseSet, является основой технологии обеспечения анонимности в сети I2P.
Следовательно, большинство атак злоумышленников направлены на решение противоположной задачи. С этой целью в I2P для передачи информации используется мощная криптография, скрывающая данные от провайдеров разных уровней, а удачно применяемые электронные подписи делают сеть устойчивой к атакам типа MItM.
Перехватываем тоннели
Для обеспечения анонимности внутри I2P применяются тоннели, которые представляют собой цепочки маршрутизаторов, через которые сообщения и передаются.
Тоннели бывают исходящие и входящие.
Исходящие предназначены для скрытия расположения отправителя, а входящие — получателя. Потому LeaseSet’ы и представляют собой список входных узлов и идентификаторов входящих тоннелей.
Расположение второго конца тоннеля всегда скрыто. Для получения ответов клиент посылает серверу собственный LeaseSet. Каким путем проложен тоннель и на каком узле находится его второй конец известно только создателю этого самого тоннеля.
Промежуточные участники тоннеля знают лишь узел, который будет передавать перешифрованное сообщение. Но это в теории — на практике же промежуточные узлы знают, откуда пришло сообщение.
Почему? Потому что сообщения между узлами передаются по обычному интернету и узнать IP-адрес отправителя не составляет труда. Далее, при достаточном размере базы можно найти и RouterInfo. Таким образом, если хакер имеет промежуточный узел, то он сразу узнает и двух своих соседей.
Теоретически можно увеличить длину тоннелей вплоть до восьми узлов, практически же каждый добавленный узел очень сильно замедляет скорость работы и надежность, т.к нахождение узла в сети на все время жизни тоннеля не гарантировано. Поэтому в настоящий момент в I2P используются трехшаговые тоннели.
Таким образом, для полного деанона узла, хакеру нужно вычислить маршрут любого тоннеля в любое время. Для этого достаточно, чтобы два узла одного тоннеля были доступны злоумышленнику. При сегодняшнем размере сети в несколько тысяч узлов, такой вариант вполне по силам большим организациям.
Если в деаноне серверов описаный выше перехват посадки мало чем сможет помочь (серверы могут выбирать узлы входящих тоннелей самостоятельно), то для поиска клиентов, оставляющих следы на каких-нибудь темных форумах этот метод безупречен
- Все узлы (и выходные тоже), используемые клиентом для построения его исходящих тоннелей, в любом случае будут у хакера. Тогда сразу станет понятно, откуда пришло сообщение.
I2P сайты
Мир I2P не так богат, как луковые просторы Tor. Но все же при должном поиске в нем можно найти много полезного, устрашающего и просто интересного.
Блоги и форумы
Первое место, которое стоит посетить, — это форум Hidden Answers. Любителям Onion это местечко покажется знакомым, даже немного родным. На форуме люди задают вопросы разного характера. Отвечают такие же рядовые юзеры. Конечно, их ответы не всегда хороши или вообще в тему, но интересного там много. У Hidden Answers есть русскоязычный аналог под названием SecretChat.
В I2P люди очень любят заводить свои блоги, где делятся самой разной информацией и соображениями. Как правило, пишут о таких вещах, о которых в клирнете говорить опасаются.
Есть и не совсем понятные штуки: например, на сайте rebel.i2p друг друга сменяют рандомные бессодержательные картинки. Не обходится и без сайтов для взрослых, но на них ничего нового вы не найдете — особенно если действительно взрослый.
На случай, если не купили гирлянды к Новому году
Как пример полезного блога можно привести страницу пользователя Михаэля ван Делфта под названием Exotic Security. Там Михаель делится секретами действительно экзотической безопасности в сети и обсуждает полезные фичи для программистов. Например, автор блога рассказывает о возможностях перепрошивки макбуков и прочие занимательные вещи.
Любая андерграундная сеть просто обязана иметь свою борду, где люди могут общаться на любые темы. I2P не изменяет этим традициям и представляет нам местечко под названием F*ck Society (отсылка к хакерскому сериалу Мистер Робот). Здесь есть подразделы по разным темам, в том числе одна из них — это представительство Runion. Есть треды о запрещенных веществах, насилии, политике и прочих обязательных для даркнета темах.
Продолжая рассматривать анонимные социальные сети, мы натыкаемся на Onelon. Это некий «Фейсбук» без ограничений: писать можно что угодно, кому угодно и зачем угодно. Поклонникам onion-пространства Onelon известен уже как минимум несколько лет. I2P-версия почти ничем не отличается: схожие треды, схожие комментарии. Правда, onion-версия гораздо более популярна.
Общение
Из полезных сервисов, которые есть в I2P, стоит выделить vPass, который помогает придумать пароль под определенный домен, и EasyGPG, который делает вам личный ключ GPG. По сути, почти все практичные ресурсы I2P можно без труда найти в .onion и даже в клирнете.
Например, серверы Jabber типа Echelon и анонимные децентрализованные почтовики вроде I2P Bote в наше время удивят лишь ну уж совсем новичков. Но знать об их существовании полезно.
Торговля
Ну и конечно, в I2P есть свои рынки. Там, где в Onion Hydra, здесь — nvspc. Система оплаты и получения товара у них схожая, и к обоим есть доступ из клирнета. Отметим, что nvspc может выступать и в роли криптовалютной биржи. Также стоит упомянуть Garden — но это вовсе не райский сад, а торговая площадка, схожая с WayAway в .onion.
Hydra на минималках
По части искусства в I2P тоже кое-что есть, например стриминговая платформа StreamRadio и «Радио Анонимус». Но кому нужна анонимизированная музыка — это вопрос нетривиальный.
Каталоги
В I2P имеется собственная «Русская I2P Wiki». Цель этой вики — способствовать развитию проекта I2P, позволяя пользователям анонимно вносить правки в существующие статьи, чем-то напоминающие «Лурк». Среди прочего есть страница со ссылками на интересные ресурсы.
Не стоит забывать и об Eepsites — каталоге ссылок. Каталоги в I2P могли бы быть полезным ресурсом, но, к сожалению, большинство ссылок нерабочие.
Библиотеки
Flibusta тоже разместилась в I2P и успешно работает. Однако, помимо привычных нам библиотек с миллионами книг, I2P предлагает и более узкопрофильные.
Например, владельцы ресурса «Экстремальная химия» коллекционируют руководства, опыты из которых можно (но не нужно!) повторять дома или в гараже.
В качестве образовательно-развлекательного чтива — вполне интересно. «Мир фэнтези» — тоже что-то вроде узконаправленной библиотеки: если вы любите погружаться в волшебные миры, то I2P вас здесь порадует вдвойне.
Файлообмен
В I2P огромное количество файлообменников. Действительно, где можно обмениваться файлами настолько же безопасно и анонимно, как здесь? Наверное, только в реальной жизни — да и то не факт. В I2P есть и всем известный «Схоронил» и множество андерграундных местечек вроде Serien. Обмениваются в том числе и через торренты — взять хоть зеркало RuTor или Public Torrent Tracker. Есть даже зеркало «Православного торрента».
Криминал
Если в клирнете и в .onion полно хакерских и кардерских форумов, мошенников и скамеров, то в I2P в этом плане все скромно. Даже самые большие onion-ресурсы криминальной тематики зачастую не хотят уходить в I2P, предпочитая держать для пользователей более легкие пути доступа. В I2P криминальные ресурсы созданы для совсем хардкорных товарищей, и найти такие места непросто.
Например, ресурс Armada предоставляет услуги по DDoS-атакам, взлому и подобному. Впрочем, сами авторы утверждают, что все это блеф, вымысел и шутка, — проверять мы не стали.
По иным хакерским ресурсам не поймешь, обитают там гении маскировки или же какие-то случайные люди, не имеющие отношения ко взлому. Например, Project Mayhem вроде бы и предоставляет какие-то услуги, но внешне больше похож на календарь майя. Французский хакерский форум BumpTeam очень напоминает практическую работу первокурсника. Других ресурсов криминальной направленности, к сожалению, в I2P нам найти не удалось.
Верните мне мой 2012-й
Криптовалюта
С биткойнами и криптой в целом у I2P отношения складываются куда лучше, чем с другими вещами. К примеру, в I2P доступен Zcash, а также существует еще очень много кошельков и обменников с трейдинг-платформами. Мы не пользовались ни одним из них, а потому настоятельно рекомендуем сто раз подумать, прежде чем делать в I2P криптовалютные транзакции.
Кстати, есть даже сайт, позволяющий вывести биткойны на виртуальную карту VISA.
Вывод
Прочитав всё выше, мы приходим к выводу, что анонимность I2P носит только слабый характер, позволяя спастись только от сбора маркетологической информации и другого пассивного сбора информации.
Проведение подобных типов атак требует серьезных ресурсов, вроде быстрых серверов и специального софта, но если кому-то очень срочно нужно, то он сможет раскрыть личность человека довольно быстро.
Увеличение числа узлов в сети могло бы решить данную проблему, но при сегодняшней её организации это приведет к фактическому коллапсу. В это же время I2P прекрасно подходит для построения ресурсов, доступ к которым невозможно ограничить в принципе.
