"Журнал "Компьютерра" №710" - читать интересную книгу автора (Компьютерра)

опыты: Tor — круговая порука

Автор: Филипп Казаков

Сегодня, 19 октября 2007 года, я зашел на Yandex.ru, а затем на Google.ru, и ввел простой запрос: "tor". В первых строках результатов оказалось три ссылки по существу вопроса, одна из которых вела на официальный сайт проекта, две другие - на wiki-статьи, но не нашлось ни одной статьи из СМИ. Это меня и возмутило: как же так, почему население Российской Федерации не знакомят с одной из самых интенсивно развивающихся технологий анонимизации в Сети? Случайно ли это?

Сэтой технологией я познакомился полгода назад, причем совершенно случайно, так как Tor загадочным образом не пользуется популярностью в Рунете. На самом деле "КТ" была бы не "КТ", если б не написала о Tor’e еще два с половиной года назад ("Одежки с застежками"). Тогда, в 2005-м, Tor был интересным и перспективным проектом, но довольно неудобным в практическом плане. Впрочем, разработчики не сидели сложа руки, и сегодня Tor - комфортный и простой в применении анонимизатор интернет-соединений, пользоваться которым может кто угодно.

О Tor-сети подробно рассказано в вышеупомянутой статье "Одежки с застежками", так что сегодня я ограничусь самым общим описанием технологии ее работы, просто чтобы ввести читателя в курс дела. Tor - это распределенная сеть анонимизаторов, она состоит из множества tor-серверов, запущенных и поддерживаемых на тысячах компьютеров добровольцев по всему миру - простых пользователей сети. Любой желающий настраивает на своем компьютере специальный софт (бесплатный, с открытым исходным кодом!), позволяющий использовать всю tor-сеть как свой proxy-сервер. При этом маршрутизация запросов проходит через несколько случайным образом выбранных tor-серверов, да еще и меняется каждые десять минут. По мере путешествия от пользователя к серверу и обратно трафик подвергается многослойному асимметричному шифрованию. Конечно, каждый сервер цепочки может узнать, с какого IP он получил зашифрованные данные и кому он их дальше передаст, но сам трафик и конечный адресат пакетов остаются тайной для всех, кроме оконечного сервера цепочки.

Tor-сеть вызывает ассоциации с p2p-сетями, особенно с протоколом ed2k. Главное сходство - идеологическое: каждый участник вносит свой вклад в создание и поддержку общего дела (по возможности), а также безвозмездно пользуется благами его роста и процветания (по потребности). Как и ed2k, Tor "страдает" легкой централизацией: список активных серверов сети в начале работы клиент скачивает с основного, заранее известного сервера компании. Впрочем, так как вся сеть пока абсолютно легальна (по крайней мере с точки зрения демократических государств), вряд ли ее ожидают потрясения, сравнимые с недавними бедами ed2k [Напомню, что в середине сентября правозащитные организации закрыли все основные серверы ed2k-сети, частично заменив их одноименными фальшивками].

Чем больше пользователей и tor-серверов находится в tor-сети, тем выше анонимность соединений: меньше вероятность того, что на конец маршрута попадет "вражеский" сервер, стремящийся украсть ваши данные. Вероятность подобного стечения обстоятельств и так близка к нулю, если, конечно, вы не международный террорист, за которым идет охота всем миром. Очевидно, что жизнеспособность tor-сети зиждется на добровольных участниках, "поднимающих" tor-серверы на своих домашних машинах. Разработчики это отлично понимают, поэтому за прошедшее с момента выхода "Одежек..." время сделали огромный шаг в направлении упрощения работы с системой. Никакие командные строки, ini- и config-файлы больше не омрачат ваше знакомство с сетью. Все, что нужно для работы с Tor под Windows, - это единый инсталляционный пакет, содержащий необходимые программы (русскоязычная сборка). Процесс установки не требует никаких специальных знаний. В сборку включены три программы: Tor, Vidalia и Privoxy. Консольный tor.exe - это и есть основное звено комплекса, общающееся с внешним миром. Vidalia - просто графическая оболочка для tor.exe, обеспечивающая его взаимодействие с вами. Наконец, Privoxy - суть локальный proxy-сервер, предназначенный для связи вашего веб-приложения и Tor’a. Он анализирует активность браузера и мягко напоминает ему "Не болтай!", вырезая всю служебную информацию, могущую послужить вашим идентификатором. Заодно Privoxy подрезает некоторый процент баннеров, экономя трафик. Налицо классическая модульная система, свойственная открытому программному обеспечению.


После установки вся связка начинает нормально работать, что неоднократно проверялось мною на разных Windows-машинах. Для начала работы осталось настроить ваш браузер на конспиративный лад. Если это Internet Explorer, просто задайте в настройках соединения proxy-сервер "localhost" (то есть вашу машину, иначе говоря, Privoxy) и порт 8118 [1].

Для свободного и открытого Firefox, к которому tor-сообщество относится не в пример благосклоннее, чем к IE, существует удобное расширение Torbutton. После его установки в строке состояния появляется кнопка, при клике на которую Firefox мгновенно "торизуется".

Попав в сети

Теперь все готово. Для проверки зайдите, например, на сайт www.cmyip.com: "My country is United States, My city is Red Oak". Красота! Виртуальная маска успешно надета, ведь на самом деле со своего московского кресла я даже не вставал! Чтобы немедленно сменить маршрут подключения, достаточно в трей-панели выбрать пункт "Новый Ним" по правому клику на значке Vidalia [2]. Алле-оп, и я уже в Париже! [Программа не позволяет выбирать конкретное будущее виртуальное местоположение, оконечный сервер будет задан случайным образом, но процедуру можно повторить несколько раз для достижения желаемого результата. - Прим. ред.] Google.com по умолчанию перестает предлагать русскоязычный интерфейс, реклама на сайтах зачастую переводится на совсем незнакомые языки, да и предлагает непонятные вещи. Став "гражданином Мира", придется кое-чем поступиться. Под Tor’ом сайты открываются совсем не так шустро, как при прямом подключении. Причем не так сужается канал, как увеличивается время ожидания ответа. Если "туннель" совсем "забился", всегда можно переключиться на другую цепочку серверов. Аппаратные требования комплекса очень скромные - вся троица приложений занимает около сорока мегабайт на диске и требует около десяти секунд усилий CPU Intel E4300 на час серфинга. Кроме своего основного предназначения, Tor - отличное средство от мелких сетевых напастей. Если какой-то сайт не открывается или глючит, попробуйте достучаться до него через Tor. Вполне возможно, что проблемы вовсе не на самом сайте, а где-то в цепочке "сайт-провайдер-клиент", а с другой стороны (например, из Бразилии) узел откроется нормально. Наконец, помните, что сам по себе Tor не является универсальной защитой - это всего лишь удобный и надежный сервис. Остальная забота о безопасности и анонимности целиком остается на вас (см. врезку на следующей странице).


Теоретически Tor может анонимизировать любые TCP-подключения. Сообщество разработчиков пока не рекомендует использовать Tor для p2p-сетей, так как tor-сеть еще не готова к огромному трафику, генерируемому пиринговой активностью. Признавая справедливость рекомендации, я все же не сумел унять любопытство и провел эксперимент с анонимизацией torrent-трафика. Для этого использовались µTorrent 1.6, настроенный на работу через Privoxy, и один из русскоязычных трекеров. Как и следовало ожидать, все подключения получили статус LowID (невозможность прямого подключения), но при этом обмен данными продолжался, причем скорость скачивания достигла солидных 250 Кбайт/с!

Интересные подробности о работе сети можно почерпнуть из главного меню Vidalia [3].


Кнопка "Просмотреть Сеть" вызывает карту Земли, где красными точками отмечены очаги анонимизации, то есть активные tor-серверы. Желтые и зеленые прямые соединяют те из них, которые в данный момент обслуживают ваш "туннель". Слева располагается полный список серверов сети, каждый из них сопровождается кратким описанием [4]. По анализу времени непрерывной работы и скорости подключения первой сотни серверов я осмелюсь грубо прикинуть, что "частников" в tor-предприятии примерно в 2–2,5 раза больше, чем "настоящих" серверов. Некоторые энтузиасты успешно используют для серверов компьютеры на базе процессоров i386, но, конечно, не под Windows. Есть и еще несколько любопытных наблюдений: в России всего четыре-пять очагов сопро… анонимизации, в которых на момент написания статьи работало всего двадцать серверов [На самом деле числа чуть большие, так как для определения местоположения серверов Tor использует таблицы IP-адресов с сайта geoip.vidalia-project.net. Информация в них не всегда актуальна, и местоположение многих IP-адресов помечается как неизвестное. Так, моего сервера в российских списках нет, хотя по имени его можно найти]. Шестнадцать из них в Москве, по одному в Питере и Тюмени и два в Пензе (анонимный привет пензенским жителям!). Больше всех озабочены проблемами анонимности жители Германии и США, их доля в общем котле самая большая, и российскую превышает многократно. В Китае тоже немало серверов, да только большая их часть в дауне или едва работает. Австралийцев мало волнуют все эти проблемы - вместе с новозеландцами они взрастили с десяток tor’оводов.

Паучьи игры: плетем сети сами

Поскольку большая часть населения России борется за увеличение ВВП, за спортивные победы, сражается с пьянством, преодолевает демографический кризис и занимается прочими не менее увлекательными делами, нет ничего удивительного, что вопросам Свободы Слова и анонимности вообще, а в Интернете в частности, внимания уделяется маловато. Но все-таки обидно, согласитесь: в нашей "самой-самой" стране всего двадцать серверов! Ну даже если б пятьдесят, все равно обидно! Пока tor-серверов у нас не много, каждый постоянно подключенный к Интернету россиянин может без особых усилий заметно (на пару процентов) повысить tor’изацию всей страны, несмотря на ее необъятность. Если вы обратили внимание на приведенный скриншот интерфейса Vidalia, то не могли не заметить большую кнопку "Настроить сервер". Все очень просто: нажимаем кнопку, ставим в открывшемся окне галку "Режим сервера", указываем любое имя, контактный e-mail для получения новостей о критических обновлениях, выбираем порты (их надо "открыть" в роутере или в софтовом файрволлe). Галку "Зеркалить Directory" ставим только если готовы выделить широкий канал для tor-сети. В следующей закладке выбираем ограничение трафика (в обе стороны). Можно задать не только максимальное мгновенное значение, но и среднее по времени на тот случай, если ваш месячный трафик лимитирован. Минимально допустимая ширина - 20 Кбайт/с. Синхронизируете ваши Windows-часы с общемировым временем, и вот собственно вся настройка. Сервер поднимется не сразу, а минут через десять-двадцать. За его состоянием можно следить по "Журналу сообщений" и по активности "Трафика".

К сожалению, я не успел рассказать о многих других интересных возможностях Tor’a - например, о скрытых сервисах. Остается надеяться, что кого-нибудь из читателей, как и меня, заинтересует эта технология, что со временем приведет к ее гораздо более широкому распространению.

Tor - не шапка-невидимка

Помните, что Tor - не волшебная шапка-невидимка, надев которую вы вдруг исчезнете. Это лишь один из многих инструментов (в их числе должна быть и голова пользователя!), помогающий соблюдать анонимность. Как вы помните, последний сервер цепи анонимизаторов имеет доступ к информации пользователя в открытом виде. Информацию можно защитить от несанкционированного доступа со стороны этого сервера, однако тут необходимо использовать альтернативные технологии - SSL-протокол или другие защищенные соединения (подробнее см., например,  ru.wikibooks.org/wiki/Защита_конфиденциальных_данных_и_анонимность_в_интернете). Кстати, на странице загрузки дистрибутива Tor’a висит огромное предупреждение об этом и других ограничениях функциональности сети, а также базовые рекомендации по их преодолению. К несчастью, масса пользователей пропускает эти рекомендации мимо ушей (глаз). И напрасно.

Месяц назад об ограничениях Tor’a напомнил Дан Эгерстад (Dan Egerstad), шведский специалист по сетевой безопасности. Исследуя сеть, он "поднял" пять собственных tor-серверов. Так как общее количество серверов в tor-сети пока не слишком велико, эта пятерка оказалась заметна в общем трафике. Как выяснилось, 90% пользователей Tor’а не используют каких бы то ни было дополнительных средств шифрования. Периодически серверам Дана доводилось работать выходными звеньями "туннеля", что позволяло собирать проходящий через них нешифрованый трафик. Всего два месяца понадобилось Дану для того, чтобы вычленить из собранных данных логины и пароли от более чем 1500 e-mail-аккаунтов самых разных tor’овцев, вплоть до правительственных служащих и представителей крупных компаний. Тщетно пытаясь привлечь внимание к результатам своего исследования, Дан в конце концов опубликовал данные по ста аккаунтам в Интернете. Вот тут-то его и заметили!