Методы анонимности в сети. Часть 1. Просто о сложном

Dragokas

Angry & Scary Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
7,809
Реакции
6,574
Автор: Pandos (habrahabr)

88614833c4df48632f4135c61c5c985a.jpg
«Бывают наивны, как малые дети,
Те, кто верит в анонимность в интернете».
М. Сандомирский


Привет, хабраюзеры!

Эту статью меня заставили написать различные «обзоры» схем анонимности, появившиеся недавно в Интернете. Здесь я, упрощая многие технические моменты, расскажу о различных методах и способах обеспечения анонимности в Сети. Если тема найдет отклик, в следующих статьях цикла я перейду к более интересным техническим деталям.
Чтобы было проще, разделим анонимность в Интеренте на два направления:
  • «Социальная анонимность» — это то, что человек сам осознанно или неосознанно рассказывает о себе в Сети.
  • «Техническая анонимность» — когда утечка деанонимизирующих данных связана с используемыми техническими средствами и приложениями.

Мы сконцентрируемся именно на Технической анонимности.
Все части здесь:
Часть 1: Методы анонимности в сети. Просто о сложном.
Часть 2: Методы анонимности в сети. Утечки данных.
Часть 3: Методы анонимности в сети. Firefox.
Часть 4: Методы анонимности в сети. Tor&VPN. Whonix.

Прокси-серверы

Глобально, когда говорят прокси-сервер, то имеют в виду что-то, выступающее посредником между клиентом и адресатом.
В разрезе же обеспечения анонимности прокси-серверы бывают:
  • HTTP-(веб)-прокси-серверы. Такие серверы пропускают через себя только HTTP-траффик, по умолчанию добавляя в передаваемый траффик данные о применении прокси;
  • SOCKS-прокси-серверы. В отличие от HTTP-прокси-серверов, SOCKS передаёт всю информацию, ничего не добавляя от себя. Протокол SOCKS находится на сеансовом уровне модели OSI, этим достигается независимость от высокоуровневых протоколов: HTTP, FTP, РОРЗ и др., что и позволяет SOCKS пропускать через себя весь траффик, а не только HTTP;
  • отдельно стоит упомянуть CGI-прокси или «анонимайзеры», которые по сути представляют собой web-сервер с формой, где клиент вводит адрес нужного сайта. После чего открывается страница запрошенного ресурса, но в адресной строке браузера виден адрес CGI-прокси. CGI-прокси, как и любой web-сервер может использовать https для защиты канала связи между собой и клиентом.

Схему работы прокси-серверов вы видите на картинке, тут всё просто:
9fe34f047fc6f253a6cf08c4b12e299e.jpg

Плюсы прокси-серверов:
  • прокси дешевы, в сети можно найти много бесплатных прокси.

Минусы прокси-серверов:
  • надо доверять прокси-серверу;
  • для http-прокси надо фильтровать HTTP-заголовки: «HTTP_X_FORWARDED_FOR: client, ip1...», HTTP_VIA, HTTP_FORWARDED и др.;
  • протоколы прокси (http, SOCKSx) НЕ поддерживают шифрование между HTTP/SOCKS/Elite/Anonymous-прокси и клиентом. А SSL-прокси означает лишь то, что клиент может работать с https-ресурсами;
  • цепочки прокси неэффективны: "Привет Proxy1, отправишь моё сообщение:«forward to Proxy3; forward to Proxy4; forward to encrypted.google.com/c8e8df895c2cae-что-нибудь-ещё-здесь-зашифрованное-166baf' для Proxy2?» Спасибо!;
  • необходимость настройки прокси-сервера для каждого приложения либо использование отдельных программ-соксификаторов, например, Proxifier.

VPN/SSH

Я буду говорить о VPN, подразумевая также и SSH-туннели. Так как, несмотря на некоторые различия, основной принцип у них одинаков.
Схема работы VPN показана на картинке:
40e51d7e63890a221c3851e26035d9e0.jpg
В настоящее время коммерческими провайдерами предлагаются следующие протоколы VPN:
  • PPTP – используется наиболее широко, быстрый, легко настраивается, однако считается «наименее защищённым» по сравнению с остальными;
  • L2TP + IPSec. L2TP обеспечивает транспорт, а IPSec отвечает за шифрование. Данная связка имеет более сильное шифрование, чем PPTP, устойчива к уязвимостям PPTP, обеспечивает также целостность сообщений и аутентификацию сторон;
  • OpenVPN – безопасный, открытый, а следовательно, распространённый, позволяет обходить многие блокировки, но требует отдельного программного клиента;
  • SSTP – такой же безопасный, как и OpenVPN, отдельного клиента не требует, однако сильно ограничен в платформах: Vista SP1, Win7, Win8.

Практически все коммерческие VPN-провайдеры предлагаю выбор из двух протоколов: OpenVPN и PPTP. Реже предлагается протокол L2TP+IPSec. И совсем единицы предлагают протокол SSTP.
Отдельно стоит отметить сервисы, предоставляющие «DoubleVPN», когда перед тем, как выйти в Интернет, траффик проходит 2 разных VPN-сервера в разных странах, или даже «QuadVPN», когда используется 4 сервера, которые пользователь может выбрать сам и расположить в произвольном порядке.
Любопытное исследование, касающееся анонимности и надёжности коммерческих VPN-серверов, было проведено ресурсом torrentfreak.com: torrentfreak.com/vpn-services-that-take-your-anonymity-seriously-2013-edition-130302
VPN-провайдерам были заданы вопросы:
  • Храните ли вы журналы, позволяющие вам или третьим лицам сопоставить ip-адрес или временную отметку с вашим клиентом? Если да, то какие данные вы храните?
  • Под какой юрисдикцией работает ваша компания, и при каких обстоятельствах вы раскроете данные третьей стороне?
  • В случае, если вы получите DMCA-уведомление или его европейский аналог, что вы с ним сделаете?
  • С какими платежными системами Вы работаете, и как они связаны с учетными записями пользователей?

Резюмируя, стоит отметить, что большинство VPN-провайдеров в своих ответах единодушны: «Журналы не хранятся, а если и хранятся, то очень недолго, по ним вычислить абонента нельзя. На нас очень трудно надавить и заставить выдать хоть что-то». Разумеется, других ответов от сервисов, главной целью которых является обеспечения анонимности пользователей, ожидать не приходится.

Плюсы VPN/SSH:
  • быстро и удобно, не надо отдельно настраивать приложения.

Минусы VPN/SSH:
  • нужно доверять VPN/SSH-серверу/провайдеру.

Отмечу, что большинство тематических дополнений для браузеров и «программ для анонимности» используют в своей основе именно прокси-серверы и VPN-серверы для скрытия ip-адреса клиента.

Tor. Великий и ужасный

О Tor говорилось уже много, но я попытаюсь рассказать просто :)
Tor — это система маршрутизаторов, в которой клиент соединяется с Интернетом через цепочку узлов. Как правило, цепочка состоит из трех узлов, каждому из них неизвестны адреса клиента и ресурса одновременно. Кроме того, Tor шифрует сообщения отдельно для каждого узла, а открытый трафик виден только выходному роутеру.
Сейчас Tor — это 10 авторитетных (управляющих) узлов, около 4200 узлов-посредников, в том числе примерно 900 выходных узлов.
На картинке упрощённая схема работы Тоr
f95447c1936ef8f83a364d658f0699c5.jpg
Отмечу, что обратно траффик идет в открытом виде, на выходном узле он зашифровывается временным симметричным ключом и передается по цепочке (да-да, непосредственно сам траффик шифруется на симметричных ключах, а эти ключи шифруются уже на ассиметричных ключах).
Тоr ругают потому, что требуют от него слишком многого: безопасно передавать в сеть траффик любых приложений, защиты от глобального наблюдателя, конфиденциальности передаваемых данных и пр. Но он решает главную задачу при своей модели угроз: достаточно высокий уровень анонимности клиента при передаче только http-траффика при соблюдении всех обязательных правил: www.torproject.org/download/download-easy.html.en

Плюсы Tor:
  • высокая степень анонимности клиента при соблюдении всех правил;
  • простота использования (скачал Tor Browser Bundle, запустил и пользуйся).

Минусы Tor:
  • выходной траффик прослушивается;
  • низкая скорость;
  • наличие управляющих серверов.

На одном из форумов я нашёл опрос, касающийся Tor. Количество опрошенных не говорит о достоверности результатов, однако победивший ответ весьма правильный :)
8ee2dde04bc49a64421ff0a18568ef3d.png
Работу Tor неизменно сопровождают сомнения людей в его надежности и анонимности. Сейчас мы не будем его подробно разбирать, я обещаю сделать это в следующих статьях цикла, где подробно опишу некоторые важные детали Tor и постараюсь ответить на все вопросы.

I2P

Про I2P было сказано много слов, буду лаконичен и постараюсь объяснить все наглядно.
I2P — это анонимная сеть, работающая поверх Интернета. В ней есть свои сайты, форумы и другие сервисы. По своей архитектуре она полностью децентрализована, также в I2P нигде не используются ip-адреса.
В I2P есть два главных понятия:
  • «туннель» – это временный однонаправленный путь через некоторый список узлов. Туннели бывают входящие и исходящие;
  • «сетевая база NetDb», которая в той или иной мере распределена по всем клиентам I2P. Её цель – хранение информации о том, как клиенту соединиться с определенным адресатом.

База NetDb хранит в себе:
  • RouterInfos – контактные данные роутеров (клиентов), используются для построения туннелей (упрощая, они представляют собой криптографические идентификаторы каждого узла);
  • LeaseSets – контактные данные адресатов, используются для связи исходящих и входящих туннелей.

На начало 2013 года I2P включала в себя 25.000 роутеров и 3.000 LeaseSets.
Расскажу про алгоритм взаимодействия узлов:
Шаг первый. Узел «Kate» строит исходящие туннели. Она обращается к NetDb за данными о роутерах и строит туннель с их участием.
c15c082f3c8498e68d379d7e0e0b79da.jpg
Шаг второй. «Boris» строит входной туннель аналогично тому, как и строится исходящий туннель. Затем он публикует свои координаты или так называемый «LeaseSet» в NetDb (здесь отметьте, что LeaseSet передается через исходящий туннель).
f8281869bb586d422211ec21a14729cb.jpg
Шаг третий. Когда «Kate» хочет оправить сообщение «Boris’у», она запрашивает в NetDb LeaseSet «Boris’а». И по исходящим туннелям пересылает сообщение к шлюзу адресата.
6b0154abfbb6fd7826a2040592be3784.jpg
У I2P есть возможность выхода в Интернет через специальные Outproxy, но они неофициальные и по совокупности факторов даже хуже выходных узлов Тоr. Разработчики I2P говорят: «Хотите Интернет – используйте Тоr».

Плюсы I2P:
  • высокая степень анонимности клиента;
  • полная децентрализация, что ведёт к устойчивости сети;
  • конфиденциальность данных: сквозное шифрование между клиентом и адресатом.

Минусы I2P:
  • низкая скорость;
  • «свой Интернет».

Подробно об I2P, в том числе и о механизмах защиты, а с ними у I2P всё хорошо, я тоже расскажу в следующих статьях цикла.

Иные средства

На самом деле существовали и существуют десятки отдельных проектов, посвященных анонимности в Интернете, это не считая «дополнений в браузерах» и «программ для анонимности». Просто другие, менее популярные, решения либо уже скомпрометированы, либо еще не так популярны, а следовательно — и не изучены мировым экспертным сообществом, чтобы говорить об их достаточной надежности. Сейчас активно развиваются следующие наиболее перспективные проекты:

Отдельным интересным примером анонимных сетей являются сети, построенные на основе Wi-Fi. Тогда как при традиционном подходе транспортные функции любой анонимной сети выполняет Интернет, использование беспроводных решений позволяет достичь независимости от Интернет-провайдеров:

Заключение

В заключение приведу цитату с главной страницы проекта I2P: «У анонимности нет однозначного порога, после которого можно расслабиться — мы не пытаемся создать нечто «абсолютно анонимное», но работаем над тем чтобы атаки на такую сеть становились бы всё более и более «дорогими» для злоумышленников».
Действительно, техническая часть — это лишь небольшая составляющая анонимности в Интернете. Важно понимать, что надёжность каждой такой схемы упирается в средства: материальные ресурсы и время, которые могут быть потрачены на её компрометацию.

PS. Если в комментариях увижу желание людей, то в следующих статья мы поговорим о:
1. Том, как с технической точки зрения работают Tor, I2P и о разнице между SOCKS 4, 4a, 5 с точки зрения анонимности.
2. Плюсах и минусах комбинирования Tor и VPN и о других, менее популярных, и даже экзотических схемах анонимности.
3. Конкретных утечках деанонимизирующих данных.
Также задавайте вопросы, высказывайте комментарии, с удовольствием отвечу на них. Спасибо!
 
Назад
Сверху Снизу