WHONIX
Когда мы говорим об анонимности в интернете, то чаще
всего подразумеваем такие проекты, как Tor, I2P, Tor
Browser, DNSCrypt и Live CD TAILS, включающий в себя
все перечисленное. Однако существует менее известная,
но очень интересная система Whonix, использующая вир-
туализацию в качестве средства изоляции рабочей стан-
ции от глобальной сети и способная защитить твою ано-
нимность даже после взлома.
ВМЕСТО ВВЕДЕНИЯ
Чтобы обеспечить анонимность своего пребывания в Сети, мало установить
Tor и завернуть в него весь исходящий трафик. Необходимо позаботиться
о таких вещах, как утечки DNS, обнаружение твоего географического поло-
жения на основе настроек часового пояса, утечки имени пользователя (через
SSH, например), утечки IP-адреса, свойственные некоторым сетевым протоко-
лам, побороть проблему идентификации машины на выходных узлах Tor путем
сравнения типов трафика. Ну и в целом придется серьезно повозиться, чтобы
заставить все установленные сетевые приложения использовать Tor и не вы-
давать данных о твоей машине.
Ты можешь сделать все это сам, но лучше взять проверенное готовое ре-
шение, а именно дистрибутив TAILS. Он включает в себя множество предна-
строенных приложений, корректно настроенный Tor и брандмауэр, так что
в целом это достаточно надежная в плане сохранения анонимности и приват-
ности система, которой не гнушался пользоваться сам Эдвард Сноуден.
Однако у TAILS есть два серьезных ограничения. Во-первых, это Live CD,
изначально позиционируемый как «одноразовый»: TAILS не умеет запоминать
свое состояние между выключениями и не оставляет никаких следов на маши-
не. Как средство для слива секретных документов АНБ несколько раз за всю
жизнь это превосходный инструмент, как повседневно используемая систе-
ма — ужасный. Во-вторых, запуская TAILS на голом железе, юзер автомати-
чески открывает серьезную дыру в своей анонимности. Ведь конфигурация
ПК тоже позволяет идентифицировать человека.
Плюс TAILS никак не защищена от компрометации системы. Любой взло-
мавший твою машину сразу деанонимизирует и твой IP, и тебя самого. Что-
бы этого избежать, запланировано размещать ключевые системные серви-
сы в песочницах — но только в версии 3.0, которая непонятно когда выйдет,
да это и не даст стопроцентной защиты. А самое печальное, что «благодаря»
необновляемости системы ты не сможешь быстро залатать дыру, с помощью
которой тебя взломали, придется ждать официальный релиз свежей версии
TAILS (при условии, что информация о дыре находится в открытом доступе).
Для решения всех этих проблем как раз и предназначен Linux-дистрибутив
Whonix, преследующий те же цели, но достигающий их несколько иным путем.
СИЛА ВИРТУАЛИЗАЦИИ
TAILS распространяется в форме немодифицируемого Live CD не толь-
ко для защиты от троянов и от возможных утечек конфиденциальных данных
при получении физического доступа к машине, но и для банальной «защиты
от дурака». Разработчики не могут быть уверены, что пользователь коррек-
тно настроит каждое установленное им приложение и не спровоцирует утечку
данных или раскрытие своего IP. А если систему нельзя менять, то и проблема
пропадает сама собой.
Whonix, с другой стороны, изначально разрабатывался с оглядкой на воз-
можность модификации системы и «настройки под себя», поэтому, кроме ис-
пользуемых в TAILS методов защиты от утечек и фингерпринтинга, здесь ре-
ализована довольно интересная архитектура с применением виртуализации.
Whonix распространяется в двух образах VirtualBox: один играет роль шлюза
в глобальную сеть через Tor, а второй — это рабочая машина с браузером,
чат-, email-клиентами и другим софтом, в том числе тем, что можно установить
из репозиториев. Оба образа основаны на Debian.
Единственный способ выйти во внешний мир для рабочей машины — это
шлюз, единственный путь трафика во внешний мир из шлюза и обратно — че-
рез сеть Tor. Неважно, насколько протекающий софт ты установишь на рабо-
чую машину, он все равно тебя не выдаст. Получить доступ к интернету в обход
Tor приложение не сможет, IP-адрес увидит только локальный, именем поль-
зователя для него будет просто user (разработчики не рекомендуют его ме-
нять), а информацией о железе — стандартная конфигурация VirtualBox. Тебя
не удастся отследить даже по временной зоне, часы здесь настроены на UTC,
а для синхронизации времени используются time stamp’ы HTTP-заголовков,
отдаваемых случайно выбранными веб-серверами.
Самая же интересная черта системы в том, что она вовсе не требует, чтобы
ты использовал именно рабочую машину Whonix. Главный компонент здесь —
это шлюз, к которому можно подцепить любую другую запущенную в виртуал-
ке ОС, будь то Ubuntu, Windows или OS X, и получить почти такой же уровень
защиты от отслеживания (см. официальную документацию). «Почти такой же»
потому, что, кроме графического окружения и набора приложений, рабочая
машина Whonix включает набор инструментов и настроек, позволяющих защи-
тить тебя от отслеживания с помощью сравнения типов трафика на выходных
узлах Tor (identity correlation through Tor circuit sharing) и определения настроек
твоих часов и uptime’а через NTP и метки времени TCP/ICMP (все это подроб-
но описано на wiki-странице Whonix).
Первая задача здесь решается с помощью изоляции потоков (stream
isolation), все поставляемое в комплекте рабочей машины ПО заранее настро-
ено на использование разных портов Tor (SocksPort) и враппера uwt, пере-
направляющего трафик на разные Tor-порты, если приложение само не пре-
доставляет такой возможности (используется для apt-get, cURL, Git и других
консольных инструментов). Поэтому трафик всех приложений идет через раз-
ные цепочки Tor-узлов на разные выходные узлы. Вторая проблема решает-
ся с использованием утилиты sdwdate, которая синхронизирует часы не через
NTP, а обращаясь к случайно выбранным серверам.
Whonix поддерживает любые виды туннелирования трафика Tor через VPN/
SSH (или наоборот). Эта функция может очень пригодиться, если твой провай-
дер блокирует Tor (в этом случае VPN-клиент устанавливается на шлюз и Tor
использует его для связи с другими узлами), или для скрытия трафика уже по-
сле того, как он покинул выходной узел Tor (VPN-клиент устанавливается на ра-
бочую машину, так что Tor роутит уже зашифрованный трафик).
ПРОБУЕМ
Итак, Whonix — это два преднастроенных образа для VirtualBox или Linux KVM.
Поэтому систему можно запустить в любой операционке, для которой есть
официальная версия VirtualBox, а это Linux, Windows, OS X и Solaris. Все, что
для этого требуется сделать, — это скачать оба образа (суммарный объем 3,5
Гбайт) и затем импортировать их в VirtualBox с помощью меню File Import
Appliance.
Далее запускаем Whonix-Gateway и дожидаемся его загрузки. После появ-
ления рабочего стола (да, у шлюза есть графический интерфейс, так что раз-
берутся даже самые маленькие) система предложит согласиться с дисклейме-
ром, запустить Tor и обновить пакеты, затем запустится утилита whonixcheck,
которая проверит подключение к Tor и корректность настроек системы, одно-
временно с ней отработает служба синхронизации времени sdwdate.
Сразу скажу о двух неочевидных моментах. Шлюз и рабочая станция Whonix
никогда не подключаются к интернету напрямую и используют Tor даже для об-
новления пакетов из сетевых репозиториев. Поэтому сразу приготовься к до-
вольно значительному проседанию скорости (я получил невероятно медлен-
ные по нынешним меркам 500 Кбайт/с).
Второй момент — шлюз совсем не обязательно запускать с графиче-
ским интерфейсом, который будет понапрасну жрать оперативку. Более того,
здесь есть механизм, автоматически загружающий шлюз в текстовом режи-
ме, если в настройках виртуалки выделить машине 192 Мбайт. Чтобы сделать
это, достаточно кликнуть правой кнопкой на Whonix-Gateway, выбрать Settings
и на вкладке System сдвинуть ползунок до значения 192. В итоге ты ничего
не потеряешь, так как все, что позволяет сделать графический интерфейс, —
это перезапустить Tor кликом мыши, отредактировать настройки брандмауэра
и запустить интерфейс мониторинга Tor под названием arm (и он текстовый).
После окончания загрузки шлюза можно запускать десктоп. Последователь-
ность действий тут почти такая же: запускаем виртуалку, соглашаемся с дис-
клеймером, соглашаемся обновить пакеты, ждем окончания проверки со-
единения с Tor и синхронизации времени. Далее можно начать работать.
Правда, предустановленных приложений тут кот наплакал. Из повседневно не-
обходимых только Tor Browser, IRC-клиент XChat и KGpg. Причем первый даже
не установлен; после клика по иконке запускается инсталлятор, который пред-
лагает выкачать браузер через Tor.
Остальной необходимый софт ты волен ставить из репозиториев с помощью
стандартной команды «sudo apt-get install приложение». В ответ на запрос па-
роля вводим changeme и, конечно же, меняем пароль с помощью команды
passwd.
STREAM ISOLATION
Устанавливая сторонний софт в Whonix, ты сразу столкнешься с проблемой,
называемой identity correlation through Tor circuit sharing. Не решусь перевести
этот термин, просто скажу, что по умолчанию левый софт использует систем-
ные настройки SOCKS-прокси, а это единый стандартный порт Tor (TransPort).
Проблема такой настройки в том, что, просто сравнивая типы трафика и их
временную связь (например, ты можешь использовать Telegram одновремен-
но с WhatsApp), выходной узел может установить связь между разными сеан-
сами использования приложений и идентифицировать тебя (но не твой IP или
географическое положение).
Для борьбы с данным типом атаки в Tor есть механизм, названный stream
isolation, он позволяет разделить трафик разных приложений, направив его
в разные цепочки узлов Tor. Использовать его довольно просто — надо всего
лишь создать в настройках Tor несколько дополнительных портов SOCKS и на-
строить сами приложения так, чтобы они использовали разные порты. Whonix
уже имеет такие настройки: предустановленный софт использует порты 9100–
9149. Также в нем есть набор свободных портов для стороннего софта:
• 9153–9159 — свободные;
• 9160–9169 — свободные с опцией IsolateDestAddress;
• 9170–7179 — свободные с опцией IsolateDestPort;
• 9180–9189 — с обеими опциями.
Все, что остается, — это настроить софт на использование адреса
10.152.152.10 и любого из этих портов в качестве адреса SOCKS-сервера.
Причем использовать порты с опциями IsolateDestPort и/или IsolateDestAddr я
бы не рекомендовал. Они разделяют даже трафик одного приложения на ос-
нове адреса удаленного порта или адреса. В большинстве случаев это избы-
точно и очень накладно (представь, если торрент-клиент или веб-браузер бу-
дет использовать разные цепочки узлов Tor для всех соединений).
ВЫВОДЫ
Whonix, при всех своих странностях и неоднозначностях, определенно стоит
внимания любого, кто хочет обеспечить свою анонимность в Сети. По умолча-
нию это всего лишь система для запуска Tor Browser, однако при наличии рук
и свободного времени из Whonix можно сделать полноценную рабочую систе-
му, и необходимость запуска системы в виртуалке этому нисколько не мешает.
Ну и конечно же, стоит помнить, что абсолютной анонимности не существует.
Если надо — тебя найдут. Следи за собой, будь осторожен.