OPSEC52 / Неделя 19 — Цепочки Tor: охранный узел видит вас, выходной видит ваш трафик, и ни один не должен видеть оба конца
Tor — не волшебный плащ. Это три ретранслятора подряд, каждый видит свой, намеренно неполный срез вас. Охранный узел знает ваш IP и знает, что вы используете Tor; выходной знает, куда вы идёте, и может прочитать то, что вы не зашифровали. Вся модель в том, что ни один ретранслятор не видит оба конца. Почти любая реальная деанонимизация в Tor — это пользователь, который сам нарушил это правило.
Модель угрозы: ваш провайдер (который видит, как вы доходите до охранного узла Tor, если только вы не используете мост), вредоносный или логирующий выходной узел, глобальный противник, соотносящий тайминг на стороне охранного узла и выхода, — и, почти всегда, вы сами, загрязняя Tor-личность реальным входом, изменённым размером окна, расширением или файлом, который «звонит домой» при открытии.
Три прыжка, и что на самом деле знает каждый
Стандартная цепочка Tor — это охранный → промежуточный → выходной.
- Охранный (входной узел) видит ваш реальный IP и то, что вы говорите по протоколу Tor. Он не видит вашу цель — трафик обёрнут ещё в два слоя шифрования. Именно поэтому Tor закрепляет ваш охранный узел на месяцы: постоянная смена входных узлов рано или поздно направила бы вас через враждебный. Стабильный охранный узел — это функция, а не баг.
- Промежуточный ретранслятор не видит ничего полезного — только то, что передаёт зашифрованные ячейки между охранным и выходным. Это буфер, удерживающий два конца порознь.
- Выходной узел расшифровывает последний слой и общается с целью от вашего имени. Он видит, куда вы идёте, и всё, что вы не зашифровали сами. Он не видит ваш IP. Логирующий выходной узел, наблюдающий, как вы отправляете логин и пароль открытым текстом, получает вашу личность для этого сайта — и Tor сделал ровно то, что обещал, ведь открытый текст выходному узлу отдали вы.
Вывод: сторона охранного узла знает «кто», сторона выхода знает «что», и ваша задача — сделать так, чтобы они никогда не собрали половину друг друга.
Скройте использование Tor от провайдера: мосты
По умолчанию ваш провайдер видит, что вы подключаетесь к известному охранному узлу Tor. В большинстве мест это лишь заметно; в цензурируемых или враждебных сетях — опасно. Мосты — это неопубликованные входные ретрансляторы, а подключаемые транспорты маскируют сам трафик:
- obfs4 — делает Tor похожим на случайный шум. Первый выбор по умолчанию.
- snowflake — направляет вас через добровольческие браузерные прокси; хорош, когда obfs4 заблокирован.
- meek — туннелирует через крупный CDN (выглядит как обычный HTTPS к большому облаку). Медленно, крайняя мера, для самых агрессивных цензоров.
Если ваш противник — провайдер или государство, мост не опция.
Выход — зона опасности, или пропустите его через .onion
Всё, что вы отправляете через выходной узел открытым текстом, может прочитать этот узел. Правила:
- Никогда не отправляйте через выход ничего, что не написали бы на открытке, если это не зашифровано из конца в конец (HTTPS, и проверьте сертификат).
- Никогда не входите в аккаунт под настоящим именем / KYC через Tor, а затем не переиспользуйте ту же цепочку или личность для чего-то псевдонимного.
- Предпочитайте
.onion-сервисы. У onion-соединения нет выходного узла — шифрование идёт до самого сервиса, а сам адрес является публичным ключом сервиса. Нет выхода, чтобы вас логировать, нет выхода для MITM, нет DNS-запроса, чтобы утечь (см. Неделю 17). Именно поэтому xmr.club и каждый серьёзный сервис приватности публикуют onion-зеркало: onion-путь убирает из цепочки самый уязвимый прыжок.
Изоляция и ротация цепочек
Браузер Tor уже изолирует цепочки по домену первой стороны — два сайта, открытые в двух вкладках, идут через разные выходы, поэтому их нельзя тривиально связать общим выходным IP. Пользуйтесь этим:
- Новая цепочка для этого сайта — меняет ретрансляторы для текущей вкладки. Используйте, когда выход медленный или заблокирован.
- Новая личность — закрывает все вкладки, стирает состояние и строит свежие цепочки. Используйте между разными персонами — никогда не переносите куки одной личности в сессию другой.
- Не закрепляйте и не ротируйте охранный узел вручную и быстро. «Липкое» поведение охранного узла по умолчанию задумано ради вашей защиты.
Ошибки, которые действительно деанонимизируют людей
Криптография Tor подводит редко. Подводят пользователи:
- Смешивание Tor и открытой сети под одной личностью — проверить псевдонимный аккаунт через Tor, а потом тот же аккаунт с домашнего IP «всего один раз». Корреляция готова.
- Изменение размера окна браузера Tor или его разворачивание — размеры окна это отпечаток. Оставьте окно в размере по умолчанию (с полями).
- Установка расширений или изменение настроек — каждое отклонение делает вас уникальнее. Заводской браузер Tor анонимен потому, что выглядит как любой другой заводской браузер Tor.
- Открытие скачанного файла в онлайне — PDF или документ может подгрузить удалённый ресурс и раскрыть ваш реальный IP в обход Tor. Открывайте недоверенные загрузки офлайн, в ВМ или Tails (и следите за метаданными — см. Неделю 18).
- Торренты через Tor — BitTorrent сливает ваш реальный IP в самом протоколе и перегружает сеть. Никогда.
- Опускать ползунок безопасности и включать JavaScript, когда модель угрозы этого не позволяет, — поставьте ползунок на Безопаснее или Самый безопасный для чувствительной работы.
Ваш шаг на этой неделе
Откройте браузер Tor, нажмите на индикатор цепочки (значок слева от адресной строки) и посмотрите на три прыжка для сайта, которым пользуетесь. Отметьте страну охранного узла, страну выхода. Теперь зайдите на .onion-адрес того же сервиса и посмотрите, как выход исчезает из цепочки. Затем поставьте ползунок безопасности на Безопаснее по умолчанию, убедитесь, что окно имеет размер по умолчанию, и — если ваша сеть враждебна — переключитесь на мост obfs4 в настройках. Три клика, и вы перешли от «использую Tor» к «использую Tor правильно».
Куратор — Cyber Satoshi. Часть OPSEC52 — 52 недели, 52 столпа приватности, модель угрозы прежде всего. См. также Неделю 17 (утечка DNS) и Неделю 18 (метаданные файлов).