I2P: Интервью с разработчиком «idk» (часть 1)
Мы продолжаем серию интервью с участниками сети I2P (прошлые интервью найдете здесь и здесь). Сегодня в блоге diva.exchange мы представляем уникального гостя, талантливого программиста и одного из самых активных участников сообщества I2P – idk. С idk мы поговорим о недавних атаках на инфраструктуру I2P, последних нововведениях в сети, MoneroKon и, конечно же, о философских вопросах.
DIVA: Idk, как представить тебя нашим читателям, в чем заключается твоя работа?
idk: Я думаю, что в настоящее время на сайте I2P перечислено полдюжины или около того работ, которые я выполняю для них. Сейчас моя основная задача, вероятно, заключается в сопровождении релизов. Я также работаю над основным Java-кодом, некоторыми клиентскими библиотеками. В основном, над всей частью экосистемы на языке Go, а также поддерживаю ветку Android, пишу некоторые новости, обновляю сайт и прочее.
DIVA: Я бы хотел начать с трудного, но важного вопроса. Не так давно сеть I2P подверглась атаке. Пожалуйста, расскажите нам об этом подробнее. Это были конкуренты, хакеры-любители или кто-то еще?
idk: На самом деле на данный момент, вероятно, существует не одна группа. По крайней мере, был один очень талантливый “скрипт-кидди”. Была одна атака, которая могла быть проведена с довольно небольшого количества маршрутизаторов. Таким образом, можно предположить, что было как минимум несколько атак, которые не требовали особых навыков и ресурсов, и мы боролись с ними разными способами. При этом мы продолжаем искать лучшие способы борьбы с ними.
Одной из интересных атак была атака клонов, которая затронула I2Pd немного больше, чем Java I2P, из-за различий в способах профилирования существующих маршрутизаторов. В основном атака клонов действовала так: злоумышленник создавал легитимный RouterInfo для несуществующего маршрутизатора, который находился на том же хосте и IP-адресе, что и реально существующий, а затем транслировал его в DHT. Пользователи путались в том, какой маршрутизатор на каком IP-адресе следует использовать. Для этого достаточно сгенерировать RouterInfo точно так же, как если бы вы только что присоединились к сети. Так что в этом конкретном случае злоумышленнику не обязательно иметь много ресурсов, чтобы просто транслировать что-то в DHT, ему достаточно иметь взломанный маршрутизатор, чтобы генерировать эти поддельные RouterInfo.
Так что это была довольно важная угроза, от которой нам нужно было защититься, потому что она использовалась для того, чтобы действительно запутать сеть и снизить успешность создания туннелей. Затем мы внедрили ряд вещей, которые в основном облегчают обнаружение этих клонов раньше, потому что на самом деле нет хорошего способа предотвратить создание RouterInfos, которые выглядят так, как будто они находятся на тех же IP-адресах, что и другие, потому что это анонимная сеть. Мы хотим, чтобы все могли присоединиться к ней без барьеров для входа. Если каждый должен иметь свой собственный IP-адрес, то это становится барьером для входа, и нам нужно найти способ перемещаться между этими двумя точками опоры.
Но есть и другие виды атак, когда ботнеты запускают большое количество маршрутизаторов, которые иногда участвуют в сетевом взаимодействии странным образом. В частности, им нравится запрашивать чрезвычайно большое количество ресурсов через несколько туннелей, и в итоге облакам приходится уступать доступные ресурсы или маршрутизаторы готовы делиться ими. В итоге у сети становится меньше ресурсов, доступных для создания туннелей.
Обе эти атаки были совершены совсем недавно и эффект от них – снижение показателя, который мы используем для оценки успешности создания исследовательских туннелей. Исследовательские туннели используются для сбора информации о вашем представлении о DHT, чтобы у вас были маршрутизаторы для создания туннелей. И если вы не можете построить исследовательские туннели, то вы не можете исследовать DHT и не можете участвовать в работе сети. Это становится довольно большой проблемой.
К счастью, до нуля дело так и не дошло. Несколько раз он попадал в десятки. Но в настоящее время он никогда не опускался до нуля, так что сеть фактически никогда не ломалась. Но она опускалась до 12 % от самых ранних, самых низких показателей, которые я видел. В настоящее время, давайте посмотрим, у меня он колеблется между 40 и 70, что довольно хорошо.
DIVA: Выдержала ли сеть I2P этот стресс-тест? Извлекли ли разработчики урок из этой ситуации?
idk: Ну, безусловно, из некоторых предыдущих атак можно было бы извлечь урок: стараться быть более проактивными в архитектурном плане.
В частности, входящий и исходящий трафик в DHT стал для меня довольно серьезной проблемой в прошлом году. Примерно в течение шести месяцев я занимался аудитом того, что входит и выходит из DHT в любой момент времени. И это стало для меня главным выводом: нам нужно быть более активными в таких вопросах, как разделение состояния между различными областями маршрутизатора и различными частями клиентов, ограничение того, что могут видеть клиенты, по отношению к тому, что может видеть весь маршрутизатор и тому подобное. В общем, главный вывод – нужно искать способы упреждающего воздействия на эти средства защиты и классы атак там, где они выявлены.
DIVA: Помогли ли вам эти атаки найти уязвимости в сети?
idk: О, да. Это действительно так. Хорошим примером неожиданных эффектов атаки была подсистема sybil, атака выявила уязвимость. И у нас появился вероятностный инструмент обнаружения сибильных атак. По сути, он извлекает характеристики из информации, которую передают маршрутизаторы, и превращает их в оценку, которая позволяет оценить, насколько вероятно, что это часть группы, которая сговорилась и пытается захватить туннель. Вероятно, это достаточно эффективно для выявления такого типа атак (захват туннеля). Но когда произошла атака клонов, возникла проблема, которая заключалась в том, что этот инструмент сибильной атаки определил все эти клонированные поддельные маршрутизаторы, которые находились на том же IP, что и другие настоящие маршрутизаторы.
Для справки: Атаки сибилов – это тип атак на одноранговые сети, когда злоумышленник создает большое количество одноранговых сетей, чтобы контролировать большую долю ресурсов сети. В анонимных сетях, таких как I2P, это используется для «захвата» пиров в сетевом маршруте анонимного пользователя.
Таким образом, мы получаем ситуацию, когда в представлении инструмента идентификации сибильных атак сети он видит 30, 40 или сотню различных клонированных RouterInfo, которые все существуют на одном IP-адресе, и им всем присваивается один и тот же балл IP в инструменте сибильных атак. Это приводит к тому, что я называю инфляцией угроз, потому что все эти одинаковые IP-маршрутизаторы выглядят так, что в инструменте сибильных атак они показывают балл угрозы в тысячи, в то время как порог запрета составляет пятьдесят. Если провести эту атаку клонов, то можно довольно легко запретить маршрутизаторы во всей Java-части сети, и единственным выходом для нас было отключить этот раздел инструмента сибильной атаки, что мы и сделали. Мы перерабатываем его, чтобы уменьшить проблему инфляции угроз, чтобы никто не мог просто присоединиться к сети миллион раз, чтобы взорвать чужой маршрутизатор.
Для справки: Инфляция угрозы – это «завышенная» оценка угрозы, которую представляет собой большое количество маршрутизаторов на одном IP-адресе. Поскольку все клонированные маршрутизаторы, кроме одного, были поддельными, они не представляли реальной угрозы.
Вкратце, эти атаки действительно показали нам, какие слабые места есть в Java-маршрутизаторах. В довольно значительной степени, хотя я знаю об этом меньше, такая же ситуация и с маршрутизаторами C++, I2PD. Как я уже сказал, атака клонов затронула их сильнее.
Об остальных темах читайте во второй части интервью с idk. Не пропустите, будет интересно.
ПРЕДСТАВЛЯЕМ DIVA.EXCHANGE
Некоммерческая ассоциация diva.exchange, Швейцария, использует безбарьерный и совместный подход для создания бесплатной банковской технологии для каждого. Технология с открытым исходным кодом обеспечивает конфиденциальность всех участников финансовой системы будущего. Система на основе blockchain полностью распределена. Каждый может участвовать в diva.exchange.
Diva.exchange придерживается убеждения, что только свободная от коммерческих обязательств технология может надежно защитить конфиденциальность пользователей.
Сотрудничество с научным сообществом играет важную роль в развитии diva.exchange. Результаты исследовательской работы diva.exchange постоянно проходят апробацию академическими учреждениями и публично представляются на специализированных конференциях.
УЗНАТЬ БОЛЬШЕ О НАШЕЙ РАБОТЕ:
Вся техническая информация доступна по адресу: https://github.com/diva-exchange/
Инструкция для начинающих и руководство по установке I2P: https://www.diva.exchange/en/privacy/introduction-to-i2p-your-own-internet-secure-private-and-free/
Все видео находятся здесь: https://odysee.com/@diva.exchange:d/
Введение в I2P: https://en.wikipedia.org/wiki/I2P
Testnet: https://testnet.diva.exchange
СВЯЗАТЬСЯ С НАМИ:
Twitter: https://twitter.com/@DigitalValueX
Mastodon: https://social.diva.exchange/@social
Если у Вас остались вопросы вы всегда можете найти нас в Telegram чате https://t.me/diva_exchange_chat_de (на английском, немецком или русском языках).