Содержание
«Бывают наивны, как малые дети,
Те, кто верит в анонимность в интернете».
М. Сандомирский
Эту статью меня заставили написать различные «обзоры» схем анонимности, появившиеся недавно в Интернете. Здесь я, упрощая многие технические моменты, расскажу о различных методах и способах обеспечения анонимности в Сети. Если тема найдет отклик, в следующих статьях цикла я перейду к более интересным техническим деталям.
Чтобы было проще, разделим анонимность в Интеренте на два направления:
- «Социальная анонимность» — это то, что человек сам осознанно или неосознанно рассказывает о себе в Сети.
- «Техническая анонимность» — когда утечка деанонимизирующих данных связана с используемыми техническими средствами и приложениями.
Мы сконцентрируемся именно на Технической анонимности.
Прокси-серверы
Глобально, когда говорят прокси-сервер, то имеют в виду что-то, выступающее посредником между клиентом и адресатом.
В разрезе же обеспечения анонимности прокси-серверы бывают:
- HTTP-(веб)-прокси-серверы. Такие серверы пропускают через себя только HTTP-траффик, по умолчанию добавляя в передаваемый траффик данные о применении прокси;
- SOCKS-прокси-серверы. В отличие от HTTP-прокси-серверов, SOCKS передаёт всю информацию, ничего не добавляя от себя. Протокол SOCKS находится на сеансовом уровне модели OSI, этим достигается независимость от высокоуровневых протоколов: HTTP, FTP, РОРЗ и др., что и позволяет SOCKS пропускать через весь траффик, а не только HTTP;
- отдельно стоит упомянуть CGI-прокси или «анонимайзеры», которые по сути представляют собой web-сервер с формой, где клиент вводит адрес нужного сайта. После чего открывается страница запрошенного ресурса, но в адресной строке браузера виден адрес CGI-прокси. CGI-прокси, как и любой web-сервер может использовать https для защиты канала связи между собой и клиентом.
Схему работы прокси-серверов вы видите на картинке, тут всё просто:
Плюсы прокси-серверов:
- прокси дешевы, в сети можно найти много бесплатных прокси.
Минусы прокси-серверов:
- надо доверять прокси-серверу;
- для 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 показана на картинке:
В настоящее время коммерческими провайдерами предлагаются следующие протоколы 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
Отмечу, что обратно траффик идет в открытом виде, на выходном узле он зашифровывается временным симметричным ключом и передается по цепочке (да-да, непосредственно сам траффик шифруется на симметричных ключах, а эти ключи шифруются уже на ассиметричных ключах).
Тоr ругают потому, что требуют от него слишком многого: безопасно передавать в сеть траффик любых приложений, защиты от глобального наблюдателя, конфиденциальности передаваемых данных и пр. Но он решает главную задачу при своей модели угроз: достаточно высокий уровень анонимности клиента при передаче только http-траффика при соблюдении всех обязательных правил: www.torproject.org/download/download-easy.html.en
Плюсы Tor:
- высокая степень анонимности клиента при соблюдении всех правил;
- простота использования (скачал Tor Browser Bundle, запустил и пользуйся).
Минусы Tor:
- выходной траффик прослушивается;
- низкая скорость;
- наличие управляющих серверов.
На одном из форумов я нашёл опрос, касающийся Tor. Количество опрошенных не говорит о достоверности результатов, однако победивший ответ весьма правильный :)
Работу Tor неизменно сопровождают сомнения людей в его надежности и анонимности. Сейчас мы не будем его подробно разбирать, я обещаю сделать это в следующих статьях цикла, где подробно опишу некоторые важные детали Tor и постараюсь ответить на все вопросы.
I2P
Про I2P было сказано много слов, буду лаконичен и постараюсь объяснить все наглядно.
I2P — это анонимная сеть, работающая поверх Интернета. В ней есть свои сайты, форумы и другие сервисы. По своей архитектуре она полностью децентрализована, также в I2P нигде не используются ip-адреса.
В I2P есть два главных понятия:
- «туннель» – это временный однонаправленный путь через некоторый список узлов. Туннели бывают входящие и исходящие;
- «сетевая база NetDb», которая в той или иной мере распределена по всем клиентам I2P. Её цель – хранение информации о том, как клиенту соединиться с определенным адресатом.
База NetDb хранит в себе:
- RouterInfos – контактные данные роутеров (клиентов), используются для построения туннелей (упрощая, они представляют собой криптографические идентификаторы каждого узла);
- LeaseSets – контактные данные адресатов, используются для связи исходящих и входящих туннелей.
На начало 2013 года I2P включала в себя 25.000 роутеров и 3.000 LeaseSets.
Расскажу про алгоритм взаимодействия узлов:
Шаг первый. Узел «Kate» строит исходящие туннели. Она обращается к NetDb за данными о роутерах и строит туннель с их участием.
Шаг второй. «Boris» строит входной туннель аналогично тому, как и строится исходящий туннель. Затем он публикует свои координаты или так называемый «LeaseSet» в NetDb (здесь отметьте, что LeaseSet передается через исходящий туннель).
Шаг третий. Когда «Kate» хочет оправить сообщение «Boris’у», она запрашивает в NetDb LeaseSet «Boris’а». И по исходящим туннелям пересылает сообщение к шлюзу адресата.
У I2P есть возможность выхода в Интернет через специальные Outproxy, но они неофициальные и по совокупности факторов даже хуже выходных узлов Тоr. Разработчики I2P говорят: «Хотите Интернет – используйте Тоr».
Плюсы I2P:
- высокая степень анонимности клиента;
- полная децентрализация, что ведёт к устойчивости сети;
- конфиденциальность данных: сквозное шифрование между клиентом и адресатом.
Минусы I2P:
- низкая скорость;
- «свой Интернет».
Подробно об I2P, в том числе и о механизмах защиты, а с ними у I2P всё хорошо, я тоже расскажу в следующих статьях цикла.
Иные средства
На самом деле существовали и существуют десятки отдельных проектов, посвященных анонимности в Интернете, это не считая «дополнений в браузерах» и «программ для анонимности». Просто другие, менее популярные, решения либо уже скомпрометированы, либо еще не так популярны, а следовательно — и не изучены мировым экспертным сообществом, чтобы говорить об их достаточной надежности. Сейчас активно развиваются следующие наиболее перспективные проекты:
- Freenet freenetproject.org/
- GNUnet gnunet.org/
- JAP (Он же — John Donym, в основе — Tor) anon.inf.tu-dresden.de/index_en.html
- RetroShare retroshare.sourceforge.net/
- Perfect Dark www21.atwiki.jp/botubotubotubotu/
Отдельным интересным примером анонимных сетей являются сети, построенные на основе Wi-Fi. Тогда как при традиционном подходе транспортные функции любой анонимной сети выполняет Интернет, использование беспроводных решений позволяет достичь независимости от Интернет-провайдеров:
- проект Byzantium: project-byzantium.org/
- проект Netsukuku — Networked Electronic Technician Skilled in Ultimate Killing, Utility and Kamikaze Uplinking:netsukuku.freaknet.org/
- проект B.A.T.M.A.N — Better Approach To Mobile Ad-hoc Networking: www.open-mesh.org/projects/open-mesh/wiki
Заключение
В заключение приведу цитату с главной страницы проекта I2P: «У анонимности нет однозначного порога, после которого можно расслабиться — мы не пытаемся создать нечто «абсолютно анонимное», но работаем над тем чтобы атаки на такую сеть становились бы всё более и более «дорогими» для злоумышленников».
Действительно, техническая часть — это лишь небольшая составляющая анонимности в Интернете. Важно понимать, что надёжность каждой такой схемы упирается в средства: материальные ресурсы и время, которые могут быть потрачены на её компрометацию.
Продолжение: Часть 2.