Домой / Faq / Как сохранить анонимность в сети — полное руководство. Совместное использование Tor и VPN для повышения анонимности и защищенности. VPN и двойной стек протоколов

Как сохранить анонимность в сети — полное руководство. Совместное использование Tor и VPN для повышения анонимности и защищенности. VPN и двойной стек протоколов

Также я расскажу про дистрибутив ОС Whonix, реализующий самые передовые достижения в области сетевой анонимности, ведь в нём, помимо всего прочего, настроены и работают обе анализируемые схемы.

Для начала давайте определимся с некоторыми постулатами:
1. Сеть Tor обеспечивает высокий уровень анонимности клиента при соблюдении всех обязательных правил её использования. Это факт: реальных атак в паблике на саму сеть, ещё не было.
2. Доверенный VPN-(SSH)-сервер обеспечивает конфиденциальность передаваемых данных между собой и клиентом.
Таким образом, для удобства в рамках данной статьи мы подразумеваем, что Tor обеспечивает анонимность клиента, а VPN - конфиденциальность передаваемых данных.

Tor через VPN. Сначала VPN, потом Tor

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

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

Стоит отметить, что специально для обхода запрета Tor интернет-провайдерами придумали так называемые bridges (мосты).
Мосты – это такие узлы сети Tor, которые не занесены в центральный каталог Tor, то есть не видны, например, или , а, следовательно, труднее обнаруживаются.
Как настроить мосты, подробно написано .
Несколько мостов может дать нам сам сайт Tor по адресу .
Можно также получить адреса мостов по почте, отправив на адрес [email protected] или [email protected] письмо с текстом: «get bridges». Обязательно отправлять это письмо с почты от gmail.com или yahoo.com
В ответ мы получим письмо с их адресами:
«Here are your bridge relays:
bridge 60.16.182.53:9001
bridge 87.237.118.139:444
bridge 60.63.97.221:443
»
Эти адреса нужно будет указать в настройках Vidalia – прокси-сервера Tor.
Иногда происходит так, что и мосты блокируются. Для обхода этого в Tor введены так называемые «obfuscated bridges». Не вдаваясь в подробности, их труднее обнаружить. Чтобы к ним подключиться, надо, например, скачать, Pluggable Transports Tor Browser Bundle .

Плюсы схемы:

  • мы скроем от Интернет-провайдера сам факт использования Tor (или подключимся к Tor, если его блокирует провайдер). Однако, для этого существуют специальные мосты;
  • скроем от входного узла Tor свой ip-адрес, заменив его адресом VPN-сервера, однако это не самое эффективное повышение анонимности;
  • в случае теоретической компрометации Tor, останемся за VPN-сервером.

Минусы схемы:

  • мы должны доверять VPN-серверу при отсутствии каких-либо значимых плюсов такого подхода.
VPN через Tor. Сначала Tor, потом VPN

В таком случае VPN-сервер является постоянным выходным узлом в сеть Интернет.


Подобная схема подключения может использоваться для обхода блокировки узлов Tor внешними ресурсами, плюс она должна защитить наш траффик от прослушивания на выходном узле Tor.
Существует немало технических сложностей в установлении такого подключения, например, вы же помните, что цепочка Tor обновляется раз в 10 минут или то, что Tor не пропускает UDP? Самый жизнеспособный вариант практической реализации это использование двух виртуальных машин (об этом чуть ниже).
Важно также отметить, что любой выходной узел легко выделит клиента в общем потоке, так как большинство пользователей идут на разные ресурсы, а при использовании подобной схемы клиент идёт всегда на один и тот же VPN-сервер.
Естественно, что использование обычных прокси-серверов после Tor не имеет особого смысла, так как траффик до прокси не шифруется.

Плюсы схемы:

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

Минусы схемы:

  • сложная реализация схемы;
  • мы должны доверять выходному VPN-серверу.
Концепция Whonix

Существует множество дистрибутивов ОС, основной целью которых является обеспечение анонимности и защиты клиента в Интернете, например, Tails и Liberte и другие. Однако наиболее технологичным, постоянно развивающимся и эффективным решением, реализующим самые передовые техники по обеспечению безопасности и анонимности, является дистрибутив ОС .
Дистрибутив состоит из двух виртуальных машин Debian на VirtualBox, одна из которых является шлюзом, отправляющим весь траффик в сеть Tor, а другая – изолированной рабочей станцией, подключающейся только к шлюзу. Whonix реализует в себе механизм так называемого изолирующего прокси-сервера. Существует также вариант физического разделения шлюза и рабочей станции.

Так как рабочая станция не знает свой внешний ip-адрес в Интернете, это позволяет нейтрализовать множество уязвимостей, например, если вредоносное ПО получит root-доступ к рабочей станции, у него не будет возможности узнать реальный ip-адрес. Вот схема работы Whonix, взятая с его официального сайта.


ОС Whonix, как утверждают разработчики, успешно прошла все возможные тесты на утечки . Даже такие приложения как Skype, BitTorrent, Flash, Java, известные своими особенностями выходить в открытый Интернет в обход Tor, также были успешно протестированы на предмет отсутствия утечек деанонимизирующих данных.
ОС Whonix реализует много полезных механизмов анонимности, я укажу наиболее важные:

  • весь траффик любых приложений идёт через сеть Tor;
  • для защиты от профилирования траффика ОС Whonix реализует концепцию изоляции потоков. Предустановленные в Whonix приложения настроены на использование отдельного Socks-порта, а так как каждый Socks-порт использует отдельную цепочку узлов в сети Tor, то профилирование невозможно;
  • обеспечивается безопасный хостинг сервисов «Tor Hidden services». Даже, если злоумышленник взломает web-сервер, то он не сможет украсть закрытый ключ «Hidden»-сервиса, так как ключ хранится на Whonix-шлюзе;
  • Whonix защищен от DNS-утечек, так как в своей архитектуре использует принцип изолированного прокси. Все DNS-запросы перенаправляются на DnsPort Tor’а;
  • Whonix поддерживает «obfuscated bridges», рассмотренные ранее;
  • применяется технология «Protocol-Leak-Protection and Fingerprinting-Protection». Это снижает риск идентификации клиента через создание цифрового отпечатка браузера или системы путем использования наиболее часто применяемых значений, например, имя пользователя – «user», временная зона – UTC и т.д.;
  • есть возможность туннелировать другие анонимные сети: Freenet, I2P, JAP, Retroshare через Tor, или работать с каждой такой сетью напрямую. Более подробные данные об особенностях таких подключений находятся по ссылке ;
  • важно отметить, что в Whonix протестированы, документированы и, главное, работают (!) все схемы комбинирования VPN/SSH/Proxy с Tor. Более подробную информацию об этом можно получить по ссылке ;
  • ОС Whonix – это полностью открытый проект, использующий свободное ПО.

Однако стоит отметить, что ОС Whonix имеет и свои недостатки:

  • более сложная настройка, чем Tails или Liberte;
  • требуются две виртуальные машины или отдельное физическое оборудование;
  • требует повышенного внимания к обслуживанию. Надо следить за тремя ОС вместо одной, хранить пароли, и обновлять ОС;
  • в Whonix кнопка «New Identity» в Tor не работает. Дело в том, что Tor-браузер и сам Tor изолированы по разным машинам, следовательно, кнопка «New Identity» не имеет доступа к управлению Tor. Чтобы использовать новую цепочку узлов, нужно закрыть браузер, изменить цепочку с помощью Arm, панели управления Тор, аналога Vidalia в Tor Browser, и запустить браузер снова.

Проект Whonix развивается отдельно от проекта Tor и иных приложений, входящих в его состав, следовательно Whonix не защитит от уязвимостей в самой сети Tor или, например, 0-day-уязвимости в межсетевом экране, Iptables.

Безопасность работы Whonix можно описать цитатой из его wiki : «And no, Whonix does not claim to protect from very powerful adversaries, to be a perfectly secure system, to provide strong anonymity, or to provide protection from three-letter agencies or government surveillance and such ».
Если вас ищут ведомства «их трёх букв», вас найдут 🙂

Вопрос дружбы Tor и VPN - неоднозначный. Споры на форумах по этой теме не утихают. Я приведу некоторые наиболее интересные из них:

  1. раздел о Tor и VPN с официальной страницы проекта Tor;
  2. раздел форума дистрибутива Tails по проблеме VPN/Tor с мнениями разработчиков Tails. Сам форум сейчас уже закрыт, но Гугл сохранил кеш обсуждения ;
  3. раздел форума дистрибутива Liberte по проблеме VPN/Tor с мнениями разработчиков Liberte.

Первое, что приходит в голову при упоминании VPN, - это анонимность и защищенность передаваемых данных. Так ли это на самом деле? Давай разберемся.

Когда необходимо получить доступ к корпоративной сети, безопасно передать важную информацию по открытым каналам связи, скрыть свой трафик от бдительного взора провайдера, скрыть свое реальное местоположение при проведении каких-либо не совсем законных (или совсем не законных) действий, обычно прибегают к использованию VPN. Но стоит ли слепо полагаться на VPN, ставя на кон безопасность своих данных и собственную безопасность? Однозначно - нет. Почему? Давай разбираться.

WARNING

Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

VPN нам нужен!

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

Утечка VPN-трафика

Первая проблема, связанная с виртуальными частными сетями, - это утечка трафика. То есть тот трафик, который должен быть передан через VPN-соединение в зашифрованном виде, попадает в сеть в открытом виде. Данный сценарий не является следствием ошибки в VPN-сервере или клиенте. Здесь все гораздо интереснее. Самый простой вариант - внезапный разрыв VPN-соединения. Ты решил просканировать хост или подсеть с помощью Nmap, запустил сканер, отошел на несколько минут от монитора, и тут VPN-соединение внезапно отвалилось. Но сканер при этом продолжает работать. И сканирование идет уже с твоего адреса. Вот такая неприятная ситуация. Но есть сценарии и интересней. Например, утечка VPN-трафика широко распространена в сетях (на хостах), поддерживающих обе версии протокола IP (так называемые dual-stacked сети/хосты).

Корень зла

Сосуществование двух протоколов - IPv4 и IPv6 - имеет множество интересных и тонких аспектов, которые могут приводить к неожиданным последствиям. Несмотря на то что шестая версия протокола IP не имеет обратной совместимости с четвертой версией, обе эти версии как бы «склеены» вместе системой доменных имен (DNS). Чтобы было понятней, о чем идет речь, давай рассмотрим простенький пример. Например, возьмем сайт (скажем, www.example.com), который имеет поддержку IPv4 и IPv6. Соответствующее ему доменное имя (www.example.com в нашем случае) будет содержать DNS-записи обоих типов: А и АААА. Каждая А-запись содержит один IPv4-адрес, а каждая АААА-запись содержит один IPv6-адрес. Причем для одного доменного имени может быть по несколько записей обоих типов. Таким образом, когда приложение, поддерживающее оба протокола, захочет взаимодействовать с сайтом, оно может запросить любой из доступных адресов. Предпочитаемое семейство адресов (IPv4 или IPv6) и конечный адрес, который будет использоваться приложением (учитывая, что их существует несколько для четвертой и шестой версий), будет отличаться от одной реализации протокола к другой.

Это сосуществование протоколов означает, что, когда клиент, поддерживающий оба стека, собирается взаимодействовать с другой системой, наличие А- и АААА-записей будет оказывать влияние на то, какой протокол будет использоваться для связи с этой системой.

VPN и двойной стек протоколов

Многие реализации VPN не поддерживают или, что еще хуже, полностью игнорируют протокол IPv6. При установке соединения программное обеспечение VPN берет на себя заботу по транспортировке IPv4-трафика - добавляет дефолтный маршрут для IPv4-пакетов, обеспечивая тем самым, чтобы весь IPv4-трафик отправлялся через VPN-соединение (вместо того чтобы он отправлялся в открытом виде через локальный роутер). Однако, если IPv6 не поддерживается (или полностью игнорируется), каждый пакет, в заголовке которого указан IPv6-адрес получателя, будет отправлен в открытом виде через локальный IPv6-роутер.

Основная причина проблемы кроется в том, что, хотя IPv4 и IPv6 - два разных протокола, несовместимых друг с другом, они тесно используются в системе доменных имен. Таким образом, для системы, поддерживающей оба стека протоколов, невозможно обеспечить безопасность соединения с другой системой, не обеспечив безопасность обоих протоколов (IPv6 и IPv4).

Легитимный сценарий утечки VPN-трафика

Рассмотрим хост, который поддерживает оба стека протоколов, использует VPN-клиент (работающий только с IPv4-трафиком) для подключения к VPN-серверу и подключен к dual-stacked сети. Если какому-то приложению на хосте нужно взаимодействовать с dual-stacked узлом, клиент обычно запрашивает и А-, и АААА-DNS-записи. Так как хост поддерживает оба протокола, а удаленный узел будет иметь оба типа DNS-записей (А и АААА), то одним из вероятных вариантов развития событий будет использование для связи между ними IPv6-протокола. А так как VPN-клиент не поддерживает шестую версию протокола, то IPv6-трафик не будет отправляться через VPN-соединение, а будет отправляться в открытом виде через локальную сеть.

Такой вариант развития событий подвергает угрозе передаваемые в открытом виде ценные данные, в то время как мы думаем, что они безопасно передаются через VPN-соединение. В данном конкретном случае утечка VPN-трафика является побочным эффектом использования ПО, не поддерживающего IPv6, в сети (и на хосте), поддерживающей(ем) оба протокола.

Преднамеренно вызываем утечку VPN-трафика

Атакующий может преднамеренно вызвать подключение по протоколу IPv6 на компьютере жертвы, посылая поддельные ICMPv6 Router Advertisement сообщения. Подобные пакеты можно рассылать при помощи таких утилит, как rtadvd , SI6 Networks’ IPv6 Toolkit или THC-IPv6 . Как только соединение по протоколу IPv6 установлено, «общение» с системой, поддерживающей оба стека протоколов, может вылиться, как рассмотрено выше, в утечку VPN-трафика.

И хотя данная атака может быть достаточно плодотворной (из-за растущего числа сайтов, поддерживающих IPv6), она приведет к утечке трафика, только когда получатель поддерживает обе версии протокола IP. Однако для злоумышленника не составит труда вызвать утечки трафика и для любого получателя (dual-stacked или нет). Рассылая поддельные Router Advertisement сообщения, содержащие соответствующую RDNSS-опцию, атакующий может прикинуться локальным рекурсивным DNS-сервером, затем провести DNS-спуфинг, чтобы осуществить атаку man-in-the-middle и перехватить соответствующий трафик. Как и в предыдущем случае, такие инструменты, как SI6-Toolkit и THC-IPv6, могут легко провернуть такой трюк.

Совсем не дело, если трафик, не предназначенный для чужих глаз, попадет в открытом виде в сеть. Как же обезопаситься в таких ситуациях? Вот несколько полезных рецептов:

  1. Если VPN-клиент сконфигурирован таким образом, чтобы отправлять весь IPv4-трафик через VPN-соединение, то:
  • если IPv6 VPN-клиентом не поддерживается - отключить поддержку шестой версии протокола IP на всех сетевых интерфейсах. Таким образом, у приложений, запущенных на компьютере, не будет другого выбора, как использовать IPv4;
  • если IPv6 поддерживается - убедиться, что весь IPv6-трафик также отправляется через VPN.
  1. Чтобы избежать утечки трафика, в случае если VPN-соединение внезапно отвалится и все пакеты будут отправляться через default gateway, можно:
  2. принудительно заставить весь трафик идти через VPN route delete 0.0.0.0 192.168.1.1 // удаляем default gateway route add 83.170.76.128 mask 255.255.255.255 192.168.1.1 metric 1
  • воспользоваться утилитой VPNetMon , которая отслеживает состояние VPN-соединения и, как только оно пропадает, мгновенно завершает указанные пользователем приложения (например, торрент-клиенты, веб-браузеры, сканеры);
  • или утилитой VPNCheck , которая в зависимости от выбора пользователя может либо полностью отключить сетевую карту, либо просто завершить указанные приложения.
  1. Проверить, уязвима ли твоя машина к утечке DNS-трафика, можно на сайте , после чего применить советы, как пофиксить утечку, описанные .

Расшифровка VPN-трафика

Даже если ты все настроил правильно и твой VPN-трафик не утекает в сеть в открытом виде - это еще не повод расслабляться. Все дело в том, что если кто-то перехватит зашифрованные данные, передаваемые через VPN-соединение, то он сможет их расшифровать. Причем на это никак не влияет, сложный у тебя пароль или простой. Если ты используешь VPN-соединение на базе протокола PPTP, то со стопроцентной уверенностью можно сказать, что весь перехваченный зашифрованный трафик можно расшифровать.

Ахиллесова пята

При VPN-соединениях на базе протокола PPTP (Point-to-Point Tunneling Protocol) аутентификация пользователей проводится по протоколу MS-CHAPv2, разработанному компанией Microsoft. Несмотря на то что MS-CHAPv2 устарел и очень часто становится предметом критики, его продолжают активно использовать. Чтобы окончательно отправить его на свалку истории, за дело взялся известный исследователь Мокси Марлинспайк, который на двадцатой конференции DEF CON отчитался, что поставленная цель достигнута - протокол взломан. Надо сказать, что безопасностью этого протокола озадачивались и ранее, но столь долгое использование MS-CHAPv2, возможно, связано с тем, что многие исследователи концентрировались только на его уязвимости к атакам по словарю. Ограниченность исследований и широкое число поддерживаемых клиентов, встроенная поддержка операционными системами - все это обеспечило протоколу MS-CHAPv2 широкое распространение. Для нас же проблема кроется в том, что MS-CHAPv2 применяется в протоколе PPTP, который используется многими VPN-сервисами (например, такими крупными, как анонимный VPN-сервис IPredator и The Pirate Bay’s VPN).

Если обратиться к истории, то уже в 1999 году в своем исследовании протокола PPTP Брюс Шнайер указал, что «Microsoft улучшил PPTP, исправив основные изъяны безопасности. Однако фундаментальная слабость аутентификации и шифрования протокола в том, что он безопасен настолько, насколько безопасен выбранный пользователем пароль». Это почему-то заставило провайдеров поверить, что ничего страшного в PPTP нет и если требовать от пользователя придумывать сложные пароли, то передаваемые данные будут в безопасности. Сервис Riseup.net настолько проникся этой идеей, что решил самостоятельно генерировать для пользователей пароли длиной в 21 символ, не давая им возможности установить свои. Но даже такая жесткая мера не спасает от расшифровки трафика. Чтобы понять почему, давай поближе познакомимся с протоколом MS-CHAPv2 и посмотрим, как же Мокси Марлинспайк сумел его взломать.

Протокол MS-CHAPv2

Как уже было сказано, MSCHAPv2 применяется для аутентификации пользователей. Происходит она в несколько этапов:

  • клиент посылает запрос на аутентификацию серверу, открыто передавая свой login;
  • сервер возвращает клиенту 16-байтовый случайный отклик (Authenticator Challenge);
  • клиент генерирует 16-байтовый PAC (Peer Authenticator Challenge - равный отклик аутентификации);
  • клиент объединяет PAC, отклик сервера и свое user name в одну строку;
  • с полученной строки снимается 8-байтовый хеш по алгоритму SHA-1 и посылается серверу;
  • сервер извлекает из своей базы хеш данного клиента и расшифровывает его ответ;
  • если результат расшифровки совпадет с исходным откликом, все ОK, и наоборот;
  • впоследствии сервер берет PAC клиента и на основе хеша генерирует 20-байтовый AR (Authenticator Response - аутентификационный ответ), передавая его клиенту;
  • клиент проделывает ту же самую операцию и сравнивает полученный AR с ответом сервера;
  • если все совпадает, клиент аутентифицируется сервером. На рисунке представлена наглядная схема работы протокола.

На первый взгляд протокол кажется излишне сложным - куча хешей, шифрование, случайные challenge. На самом деле все не так уж и сложно. Если присмотреться внимательней, то можно заметить, что во всем протоколе остается неизвестной только одна вещь - MD4-хеш пароля пользователя, на основании которого строятся три DES-ключа. Остальные же параметры либо передаются в открытом виде, либо могут быть получены из того, что передается в открытом виде.


Так как почти все параметры известны, то мы можем их не рассматривать, а остановить свое пристальное внимание на том, что неизвестно, и выяснить, что это нам дает.


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

Имея на руках перехваченный трафик, можно попробовать его расшифровать. Есть несколько инструментов (например, asleap), которые позволяют подобрать пароль пользователя через атаку по словарю. Недостаток этих инструментов в том, что они не дают стопроцентной гарантии результата, а успех напрямую зависит от выбранного словаря. Подбирать же пароль простым брутфорсом тоже не очень эффективно - например, в случае с PPTP VPN сервисом riseup.net, который принудительно устанавливает пароли длиной в 21 символ, придется перебирать 96 вариантов символа для каждого из 21 символов. Это в результате дает 96^21 вариантов, что чуть больше, чем 2^138. Иными словами, надо подобрать 138-битный ключ. В ситуации же, когда длина пароля неизвестна, имеет смысл подбирать MD4-хеш пароля. Учитывая, что его длина равна 128 бит, получаем 2^128 вариантов - на данный момент это просто нереально вычислить.

Разделяй и властвуй

MD4-хеш пароля используется в качестве входных данных для трех DES-операций. DES-ключи имеют длину 7 байт, так что каждая DES-операция использует 7-байтовый фрагмент MD4-хеша. Все это оставляет возможность для классической атаки divide and conquer. Вместо того чтобы полностью брутить MD4-хеш (а это, как ты помнишь, 2^128 вариантов), мы можем подбирать его по частям в 7 байт. Так как используются три DES-операции и каждая DES-операция абсолютно независима от других, это дает общую сложность подбора, равную 2^56 + 2^56 + 2^56, или 2^57.59. Это уже значительно лучше, чем 2^138 и 2^128, но все еще слишком большое число вариантов. Хотя, как ты мог заметить, в эти вычисления закралась ошибка. В алгоритме используются три DES-ключа, каждый размером в 7 байт, то есть всего 21 байт. Эти ключи берутся из MD4-хеша пароля, длина которого всего 16 байт.

То есть не хватает 5 байт для построения третьего DES-ключа. В Microsoft решили эту задачу просто, тупо заполнив недостающие байты нулями и фактически сведя эффективность третьего ключа к двум байтам.

Так как третий ключ имеет эффективную длину всего лишь два байта, то есть 2^16 вариантов, его подбор занимает считаные секунды, доказывая эффективность атаки divide and conquer. Итак, можно считать, что последние два байта хеша известны, остается подобрать оставшиеся 14. Также разделив их на две части по 7 байт, имеем общее число вариантов для перебора, равное 2^56 + 2^56 = 2^57. Все еще слишком много, но уже значительно лучше. Обрати внимание, что оставшиеся DES-операции шифруют один и тот же текст, только при помощи разных ключей. Можно записать алгоритм перебора следующим образом:

Но так как текст шифруется один и тот же, то правильнее сделать вот так:

То есть получается 2^56 вариантов ключей для перебора. А это значит, что безопасность MS-CHAPv2 может быть сведена к стойкости одного DES-шифрования.

Взлом DES

Теперь, когда диапазон подбора ключа известен, для успешного завершения атаки дело остается только за вычислительными мощностями. В 1998 году Electronic Frontier Foundation построила машину Deep Crack, которая стоила 250 тысяч долларов и позволяла взламывать DES-ключ в среднем за четыре с половиной дня. В настоящее время Pico Computing, специализирующаяся на построении FPGA-оборудования для криптографических приложений, построила FPGA-устройство (DES cracking box), которое реализует DES как конвейер с одной DES-операцией на каждый тактовый цикл. Обладая 40 ядрами по 450 МГц, оно позволяет перебирать 18 миллиардов ключей в секунду. Обладая такой скоростью перебора, DES cracking box в худшем случае взламывает ключ DES за 23 часа, а в среднем за полдня. Данная чудо-машина доступна через коммерческий веб-сервис loudcracker.com . Так что теперь можно взломать любой MS-CHAPv2 handshake меньше, чем за день. А имея на руках хеш пароля, можно аутентифицироваться от имени этого пользователя на VPN-сервисе или просто расшифровывать его трафик.

Для автоматизации работы с сервисом и обработки перехваченного трафика Мокси выложил в открытый доступ утилиту chapcrack. Она парсит перехваченный сетевой трафик, ища MS-CHAPv2 handshake’и. Для каждого найденного «рукопожатия» она выводит имя пользователя, известный открытый текст, два известных шифртекста и взламывает третий DES-ключ. Кроме этого, она генерирует токен для CloudCracker, в котором закодированы три параметра, необходимые, чтобы сервис взломал оставшиеся ключи.

CloudCracker & Chapcrack

На случай, если тебе понадобится взломать DES-ключи из перехваченного пользовательского трафика, приведу небольшую пошаговую инструкцию.

  1. Скачиваем библиотеку Passlib , реализующую более 30 различных алгоритмов хеширования для языка Python, распаковываем и устанавливаем: python setup.py install
  2. Устанавливаем python-m2crypto - обертку OpenSSL для Python: sudo apt-get install python-m2crypto
  3. Скачиваем саму утилиту chapcrack , распаковываем и устанавливаем: python setup.py install
  4. Chapcrack установлена, можно приступать к парсингу перехваченного трафика. Утилита принимает на вход cap-файл, ищет в нем MS-CHAPv2 handshake’и, из которых извлекает необходимую для взлома информацию. chapcrack parse -i tests/pptp
  5. Из выводимых утилитой chapcrack данных копируем значение строки CloudCracker Submission и сохраняем в файл (например, output.txt)
  6. Идем на cloudcracker.com, на панели «Start Cracking» выбираем File Type, равный «MS-CHAPv2 (PPTP/WPA-E)», выбираем предварительно подготовленный на предыдущем шаге файл output.txt, нажимаем Next -> Next и указываем свой e-mail, на который придет сообщение по окончании взлома.

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

Что делать?

Хоть Microsoft и пишет на своем сайте, что на данный момент не располагает сведениями об активных атаках с использованием chapcrack, а также о последствиях таких атак для пользовательских систем, но это еще не значит, что все в порядке. Мокси рекомендует всем пользователям и провайдерам PPTP VPN решений начинать миграцию на другой VPN-протокол. А PPTP-трафик считать незашифрованным. Как видишь, налицо еще одна ситуация, когда VPN может нас серьезно подвести.


Заключение

Так сложилось, что VPN ассоциируется с анонимностью и безопасностью. Люди прибегают к использованию VPN, когда хотят скрыть свой трафик от бдительных глаз провайдера, подменить свое реальное географическое положение и так далее. На деле получается, что трафик может «протечь» в сеть в открытом виде, а если и не в открытом, то зашифрованный трафик могут достаточно быстро расшифровать. Все это еще раз напоминает, что нельзя слепо полагаться на громкие обещания полной безопасности и анонимности. Как говорится, доверяй, но проверяй. Так что будь начеку и следи за тем, чтобы твое VPN-соединение было по-настоящему безопасным и анонимным.

В свете событий, связанных с ограничением доступа в интернет, цензурой и блокировками сайтов, считаю нужным представить вам перевод сравнительной статьи о VPN-сервисах с ресурса LifeHacker.

Private Internet Access

Это наш любимый сервис, а судя по количеству наград, которые они собрали – и ваш тоже. PIA обеспечивает не только шифрование трафика, но и анонимизацию вкупе с отвязкой от регионального расположения. Вы можете выбрать выходной сервер из списка почти в 1000 штук (в 10 разных странах). PIA не хранит логи, не запрещает никакие протоколы и IP-адреса, и не хранит у себя информации о действиях пользователей. Также они поддерживают несколько методов авторизации, практически все операционки (мобильные и десктопные), а стоимость услуг начинается от $7 в месяц. Возможно подключение до пяти различных устройств.

TorGuard

Сервис предлагает на выбор разные типы серверов для разных типов действий. Сервера, поддерживающие торрент-протокол - для скачивания данных, сервера с шифрованием и анонимностью – для обеспечения безопасного и приватного посещения сети, и т.д. Особое внимание уделяется вопросу утечки DNS - они даже предлагают свой тест для проверок. Стоимость полного VPN сервиса начинается от $10/мес, а если вам нужны специализированные – они будут немного дешевле. У сервиса есть более 200 точек выхода в 18 странах, отсутствуют логи, и более того, они утверждают, что их сеть настроена таким образом, что они сами не имеют понятия, что их пользователи делают в данный момент. Также они поддерживают практически все операционки (мобильные и десктопные), а ещё они предлагают сервис зашифрованной электронной почты.

IPVanish VPN

Интересной особенностью сервиса является использование разделяемых ip-адресов. Благодаря этому действительно сложно установить, кто из пользователей чем занимается. Кроме того, у сервиса более ста выходных серверов в 47 разных странах и пользователь может выбирать выходной сервер, если ему, например, нужна конкретная страна. Софт поддерживает операционки OS X, Windows, Ubuntu, iOS и Android. В дополнение, сервис предоставляет настроечные утилиты, при помощи которых можно настраивать свой домашний роутер для работы с ним. Стоимость сервиса - $10/мес, и возможно подключение двух разных устройств, если они используют разные протоколы.

CyberGhost VPN

Сервис существует давно, и, как и остальные участники рейтинга, заявляет отсутствие логов и ограничений на типы протоколов и трафик. Сервис предлагает выбор из выходных серверов в 23 разных странах. Интересно, что сервис также предоставляет бесплатные услуги, и бесплатные пользователи не только могут пользоваться им без ограничений трафика, но даже и выбирать страну выходного сервера (бесплатный выбор состоит из 14 стран вместо 23, что тоже неплохо). Сервис поддерживает практически все операционки.
Единственное отличие бесплатных аккаунтов в том, что они отключаются через 3 часа работы и могут работать только с официальным клиентом. Стоимость услуги начинается с $7/мес, при необходимости подключения более чем одного устройства нужно будет доплатить.

Do-It-Yourself

Часть людей считает, что если нужно что-то сделать правильно, лучше это сделать самому; а те из них, кто достаточно подкован в вопросах IT, вполне могут сделать себе свой собственный VPN-сервер. Если вам не нужны выходные сервера в разных странах, вы можете организовать свой сервис с помощью OpenVPN или других вариантов с открытым кодом. Множество роутеров поддерживает протокол OpenVPN, а на другие можно ставить кастомные прошивки DD-WRT или Tomato. Такой вариант обеспечивает вам полный контроль над шифрованием, доступом и другими вопросами подключения.

Другие сервисы

Среди других сервисов можно отметить следующие:

Hideman VPN – кросс-платформенный, без ведения логов

Tunnelbear – среди прочего, предлагает аддон для браузеров

AirVPN – пожалуй, наиболее богатый возможностями сервис

VyprVPN – неплохой сервис, но они ведут логии активности пользователей

Mullvad – шведский провайдер, который для пущей анонимности принимает оплату в биткоинах. Стоимость услуг – 5 евро/мес, предоставляется выбор из четырёх стран для выходных серверов.

25% Private Internet Access
24% TorGuard
23% IPVanish
19% CyberGhost
09% DIY

Всем привет!

Вот мы и дошли до более интересных вещей. В этой статье мы рассмотрим варианты комбинирования Tor с VPN/SSH/Proxy.
Для краткости далее я буду писать везде VPN, ведь вы все - молодцы и уже знаете плюсы и минусы VPN, SSH, Proxy, которые мы изучили ранее и .
Мы рассмотрим два варианта подключений:

  • сначала VPN, потом Tor;
  • сначала Tor, а потом VPN.
Также я расскажу про дистрибутив ОС Whonix, реализующий самые передовые достижения в области сетевой анонимности, ведь в нём, помимо всего прочего, настроены и работают обе анализируемые схемы.
Предыдущие части здесь:
Часть 1: .
Часть 2: .
Часть 3: .

Для начала давайте определимся с некоторыми постулатами:
1. Сеть Tor обеспечивает высокий уровень анонимности клиента при соблюдении всех обязательных правил её использования. Это факт: реальных атак в паблике на саму сеть, ещё не было.
2. Доверенный VPN-(SSH)-сервер обеспечивает конфиденциальность передаваемых данных между собой и клиентом.
Таким образом, для удобства в рамках данной статьи мы подразумеваем, что Tor обеспечивает анонимность клиента, а VPN - конфиденциальность передаваемых данных.
Tor через VPN. Сначала VPN, потом Tor
VPN-сервер при такой схеме является постоянным входным узлом, после него шифрованный траффик отправляется уже в сеть Tor. На практике схема реализуется просто: сначала производится подключение к VPN-серверу, далее запускается Tor-браузер, который автоматически настроит нужную маршрутизацию через VPN-тоннель.


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

Стоит отметить, что специально для обхода запрета Tor интернет-провайдерами придумали так называемые bridges (мосты).
Мосты – это такие узлы сети Tor, которые не занесены в центральный каталог Tor, то есть не видны, например, или , а, следовательно, труднее обнаруживаются.
Как настроить мосты, подробно написано .
Несколько мостов может дать нам сам сайт Tor по адресу .
Можно также получить адреса мостов по почте, отправив на адрес [email protected] или [email protected] письмо с текстом: «get bridges». Обязательно отправлять это письмо с почты от gmail.com или yahoo.com
В ответ мы получим письмо с их адресами:
«Here are your bridge relays:
bridge 60.16.182.53:9001
bridge 87.237.118.139:444
bridge 60.63.97.221:443
»
Эти адреса нужно будет указать в настройках Vidalia – прокси-сервера Tor.
Иногда происходит так, что и мосты блокируются. Для обхода этого в Tor введены так называемые «obfuscated bridges». Не вдаваясь в подробности, их труднее обнаружить. Чтобы к ним подключиться, надо, например, скачать, Pluggable Transports Tor Browser Bundle .

Плюсы схемы:

  • мы скроем от Интернет-провайдера сам факт использования Tor (или подключимся к Tor, если его блокирует провайдер). Однако, для этого существуют специальные мосты;
  • скроем от входного узла Tor свой ip-адрес, заменив его адресом VPN-сервера, однако это не самое эффективное повышение анонимности;
  • в случае теоретической компрометации Tor, останемся за VPN-сервером.
Минусы схемы:
  • мы должны доверять VPN-серверу при отсутствии каких-либо значимых плюсов такого подхода.
VPN через Tor. Сначала Tor, потом VPN
В таком случае VPN-сервер является постоянным выходным узлом в сеть Интернет.


Подобная схема подключения может использоваться для обхода блокировки узлов Tor внешними ресурсами, плюс она должна защитить наш траффик от прослушивания на выходном узле Tor.
Существует немало технических сложностей в установлении такого подключения, например, вы же помните, что цепочка Tor обновляется раз в 10 минут или то, что Tor не пропускает UDP? Самый жизнеспособный вариант практической реализации это использование двух виртуальных машин (об этом чуть ниже).
Важно также отметить, что любой выходной узел легко выделит клиента в общем потоке, так как большинство пользователей идут на разные ресурсы, а при использовании подобной схемы клиент идёт всегда на один и тот же VPN-сервер.
Естественно, что использование обычных прокси-серверов после Tor не имеет особого смысла, так как траффик до прокси не шифруется.

Плюсы схемы:

  • защита от прослушивания траффика на выходном узле Tor, однако сами разработчики Tor рекомендуют использовать шифрование на прикладном уровне, например, https;
  • защита от блокирования адресов Tor внешними ресурсами.
Минусы схемы:
  • сложная реализация схемы;
  • мы должны доверять выходному VPN-серверу.
Концепция Whonix
Существует множество дистрибутивов ОС, основной целью которых является обеспечение анонимности и защиты клиента в Интернете, например, Tails и Liberte и другие. Однако наиболее технологичным, постоянно развивающимся и эффективным решением, реализующим самые передовые техники по обеспечению безопасности и анонимности, является дистрибутив ОС .
Дистрибутив состоит из двух виртуальных машин Debian на VirtualBox, одна из которых является шлюзом, отправляющим весь траффик в сеть Tor, а другая – изолированной рабочей станцией, подключающейся только к шлюзу. Whonix реализует в себе механизм так называемого изолирующего прокси-сервера. Существует также вариант физического разделения шлюза и рабочей станции.

Так как рабочая станция не знает свой внешний ip-адрес в Интернете, это позволяет нейтрализовать множество уязвимостей, например, если вредоносное ПО получит root-доступ к рабочей станции, у него не будет возможности узнать реальный ip-адрес. Вот схема работы Whonix, взятая с его официального сайта.


ОС Whonix, как утверждают разработчики, успешно прошла все возможные тесты на утечки . Даже такие приложения как Skype, BitTorrent, Flash, Java, известные своими особенностями выходить в открытый Интернет в обход Tor, также были успешно протестированы на предмет отсутствия утечек деанонимизирующих данных.
ОС Whonix реализует много полезных механизмов анонимности, я укажу наиболее важные:

  • весь траффик любых приложений идёт через сеть Tor;
  • для защиты от профилирования траффика ОС Whonix реализует концепцию изоляции потоков. Предустановленные в Whonix приложения настроены на использование отдельного Socks-порта, а так как каждый Socks-порт использует отдельную цепочку узлов в сети Tor, то профилирование невозможно;
  • обеспечивается безопасный хостинг сервисов «Tor Hidden services». Даже, если злоумышленник взломает web-сервер, то он не сможет украсть закрытый ключ «Hidden»-сервиса, так как ключ хранится на Whonix-шлюзе;
  • Whonix защищен от DNS-утечек, так как в своей архитектуре использует принцип изолированного прокси. Все DNS-запросы перенаправляются на DnsPort Tor’а;
  • Whonix поддерживает «obfuscated bridges», рассмотренные ранее;
  • применяется технология «Protocol-Leak-Protection and Fingerprinting-Protection». Это снижает риск идентификации клиента через создание цифрового отпечатка браузера или системы путем использования наиболее часто применяемых значений, например, имя пользователя – «user», временная зона – UTC и т.д.;
  • есть возможность туннелировать другие анонимные сети: Freenet, I2P, JAP, Retroshare через Tor, или работать с каждой такой сетью напрямую. Более подробные данные об особенностях таких подключений находятся по ссылке ;
  • важно отметить, что в Whonix протестированы, документированы и, главное, работают (!) все схемы комбинирования VPN/SSH/Proxy с Tor. Более подробную информацию об этом можно получить по ссылке ;
  • ОС Whonix – это полностью открытый проект, использующий свободное ПО.
Однако стоит отметить, что ОС Whonix имеет и свои недостатки:
  • более сложная настройка, чем Tails или Liberte;
  • требуются две виртуальные машины или отдельное физическое оборудование;
  • требует повышенного внимания к обслуживанию. Надо следить за тремя ОС вместо одной, хранить пароли, и обновлять ОС;
  • в Whonix кнопка «New Identity» в Tor не работает. Дело в том, что Tor-браузер и сам Tor изолированы по разным машинам, следовательно, кнопка «New Identity» не имеет доступа к управлению Tor. Чтобы использовать новую цепочку узлов, нужно закрыть браузер, изменить цепочку с помощью Arm, панели управления Тор, аналога Vidalia в Tor Browser, и запустить браузер снова.
Проект Whonix развивается отдельно от проекта Tor и иных приложений, входящих в его состав, следовательно Whonix не защитит от уязвимостей в самой сети Tor или, например, 0-day-уязвимости в межсетевом экране, Iptables.

Безопасность работы Whonix можно описать

Technology protection of personal data on the Internet have become widespread in the 21st century. This is due to the extensive development of the Internet around the world. Users began to think how to protect their personal information.

VPN hides your IP address and encrypt all traffic. Connecting to a VPN helps unlock content that is not available in your country. At present buy VPN easily as well as a host of services that provide similar services.

Many users are wondering how to choose the best VPN service.

To make the comparison and choose the best service, it is necessary to talk about the selection criteria.

Criterias for selection of the best VPN service

In this article we will list all of the selection criterias but some of them may seem unimportant. It depends on the purpose for which you want to use VPN.

Purposes to choose the best VPN service:

VPN provides complete security and anonymity on the Internet.

It is only necessary to choose the best VPN service.
Let"s take a closer look at the selection criterias.

Types of VPN connections

There are several types of connections:

  • PPTP VPN - implemented in most operating systems but it is considered an insecure protocol
  • SSTP VPN - protocol was developed by Microsoft. This protocol is implemented only in Windows 7 and later versions and mobile platform Windows Phone
  • OpenVPN - popular open source protocol. Is widely used and is distinguished by its reliability. Only one minus of the protocol that connection must install additional software
  • L2TP VPN via IPSec - is built into most operating systems. Reliable and fast protocol.

Best VPN service should be able to connect via L2TP VPN via IPSec and additionally may have OpenVPN connection.

The lack of server logs

Most servers worldwide running on operating systems Linux. Unlike Windows in the operating system may completely turn off logging system (logs connections).

Anonymity disappears when the VPN server keeps logs.

You need to carefully examine the company"s Web site offering VPN services. It may be that the company claims that the logs are not kept. And in the "Agreement on the use of services" which is taken at registration or purchase VPN will indicate that the logs are stored.

Some VPN services keep logs within 2-4 weeks. If this is written on the site, talk about the anonymity of the service is impossible.

Best VPN service is never logs.

Does VPN service show that you use VPN?

For simplicity, configure the VPN services have resorted to redirect the connection from a domain to an IP address. In this case, the address server looks like domain, for example: usvpn.vpnservice-website.com

This is useful for system administrators of the company because when it is need to change the IP address of the VPN server. The connection will still work for all users.

All ISPs record user activities on the Internet. They will know that you are connecting to a domain usvpn.vpnservice-website.com and the connection is directly says that you are using a VPN.

Address to connect to the VPN server should look like the IP address 77.120.108.165

If you are using OpenVPN connection you need to check the certificates for specifying the domain of service in it.

In which country registered VPN service

This point is perhaps the most important when choosing the best VPN service.

Often there are disputes in which country must be registered VPN service to provide anonymity to their customers.

If the office is located in the US or Europe, it is considered that it is dangerous, as the international police is active in these countries.

Some believe that good when VPN service registered in third world countries such as Belize or Brazil.

We believe that the best VPN service must not have an office.

No matter what country is the office. If company has an office it means there is a place where police can come or send a formal request.

Every company is obliged to obey the laws of the country in which it is located.
VPN service is obliged to take a formal request from the police in this country and issue the information referred to it.

Thus, if there is a register or a company office, the VPN service can not ensure the anonymity of its users.

Support for all operating systems

Modern technology provides access to all operating systems such as Windows, Mac OS, Linux, iOS, Android, Windows Phone.

But before buying should make sure that company supports your platform.

Types of IP addresses issued

There are 2 types of IP addresses issued by the VPN server:

  • Shared IP - provided a single public IP address on all clients. As a rule, the IP address is constant and does not change when reconnecting to the VPN server
  • Dedicated IP - each client is given a unique IP address which can change when reconnecting

Is there a free trial access?

Must be free to test the service before purchase.
Such access will allow to configure a VPN connection and understand how it works.

Best VPN service must have a free trial access.

If service provide free VPN access and unlimited by time - this is an additional plus.

Own program for VPN connections

Own program for VPN connections will quickly set up a connection. Typically, such programs are needed when using OpenVPN connection, as the setting of the compound for a beginner can seem daunting.

L2TP VPN over IPSec is configured for 1 minute. In this case, the program is not required.

Payment methods and reasonable price

Examine the company"s Web site. Check: is there a convenient way to pay. Currently, there are many payment systems, such as payment by debit and credit cards, electronic money, PayPal and others.

If you find the best VPN service for yourself then the cost of services will not play a significant role. Still, the price should be affordable for you. Reliable companies offer a discount if you pay for a subscription for a whole year. You can save on this.

Availability of technical support

VPN technology works reliably at all times. But there are times when there is a connection errors. In this case, come to the aid technical support service. Check it before you buy.

Conveniently, the web-site has a Live Chat or ticketing system.

If support is provided via ICQ, Jabber or Skype, it creates some difficulties, since not all clients use these programs constantly.

Rate VPN service Chameleon. Will it be the best for you?

We provide VPN services by connecting L2TP over IPSec.

Our servers are no logs, the connection is made to the IP addresses.

Supports all popular operating systems.

Support for all customers

We are happy to answer questions about setting up the connection, to advise on the safety and anonymity of the Internet and help you choose the best solution.