Moscow Radical Tech Collective 10/11/2013 Tor: распределенная система анонимизации ● Что это? ● От чего защищает и от чего НЕ защищает ● Как работает? Всё плохо Криптография ● Шифрование с открытым ключом (RSA-1024) ● Потоковые шифры (AES-128) ● Алгоритмы дайджеста сообщений (SHA-1) ● Цифровые подписи ● Диффи-Хелман Без паники! Вам не обязательно понимать, как это работает. Давайте просто допустим, что это такие чёрные ящики, которые достаточно надёжны. Поэтому мы их используем. Происхождение Tor ● ● ● ● Основан на луковичной маршрутизации (onion routing) Разработан ВМС США в 1998 Анонимная коммуникация на недоверенной сети Сообщения последовательно шифруются и посылаются через цепь узлов Луковичная маршрутизация v.1 ● ● ● ● Первый узел шифрует сообщение для других узлов перед тем, как передать его Каждый узел расшифровывает сообщение Обнаруживает адрес следующего узла и следующее зашифрованное сообщение У последнего узла – полностью расшифрованное сообщение А Tor? ● ● ● ● ● Система луковичной маршрутизации второго поколения Распределенные прокси, связанные шифрованными каналами Защищает анонимность отправителя и получателя Одна программа, много функций Кроссплатформенный: Linux, UNIX, Windows, OSX, Android Обзор сети Первый скачок Второй скачок Длина пути (circuit length) ● ● В Tor путь состоит из трёх узлов: отправитель посылает сообщение первому узлу, тот второму (промежуточному), а промежуточный – конечному узлу (exit node). От exit node трафик уходит в неанонимный интернет. Полный путь Модель угроз? Модель угроз ● Атакующий собирает информацию о том, как вы используете сеть ● Атакующий наблюдает за частью сети ● Может вмешиваться в трафик ● Может создавать подконтрольные узлы ● Может скомпрометировать уже существующие узлы Рецепты ● Узлы разбросаны по всему Интернету ● Трафик между узлами зашифрован ● ● Трафик марщрутизируется через несколько узлов Узлы знают только одно звено выше или ниже по цепочке. Архитектура сети ● Различные типы узлов ● Любой узел может быть конечным (exit node) ● Маршруты (circuits) постоянно перестраиваются. Типы узлов ● Клиенты (clients) – ● Релеи (Relays) – ● Маршрутизируют трафик в Tor Выход, конечный узел (Exit) – ● Позволяют пользователю ходить по сети Шлюзы в обычный Интернет Мосты (Bridges) – Их адреса открыто не публикуются – Позволяют соединяться с Tor под блокировкой Настройка клиента ● ● ● ● Скачать пакет TorBrowser ( https://torproject.org) Там все что нужно Можно самостоятельно скомпилировать из исходников Запустить TorBrowser Как настроить у себя Tor-релей ● ● ● ● Установить Tor Удостовериться, что у вашего компьютера открыт в Интернет порт 9001/TCP Проверить, что у вас работает автоматическая синхронизация времени (NTP) Включить режим релея в настройках Tor (файл torrc) Скрытые службы (hidden services) ● .onion - серверы ● Позволяет скрыть ip-адрес сайта ● Можно перемещать между узлами ● ● На программном уровне в сайте ничего менять не нужно Нет прямого соединения между посетителями и сайтом Встречные узлы Бродим во тьме ● ● ● ● Нам известен адрес сайта abcdefghijklmnop.onion Вася строит путь до случайного узла - Пети Вася шлёт Пете случайный ключ авторизации Петя будет использовать этот ключ, чтобы соединить путь Васи и путь скрытого сайта “Меня послал Вася.” Стол на двоих? ● ● Вася связывается с одним из встречных узлов скрытого сайта и отправляет ему сообщение, зашифрованное его открытым ключом Встречный узел перенаправляет сообщение на скрытый сайт ...пустите? Обмен сообщениями ● Скрытый сайт строит путь до промежуточного узла (Пети) ● Сайт шлёт сообщение Пете ● Петя соединяет Васю и скрытый сайт ● Всё это шифруется. Всё работает... Заблокированные релеи? Не проблема ● ● ● ● ● Список tor-релеев публикуется открыто Не значит ли это, что можно их заблокировать? Да, значит Для решения это проблемы предназначены мосты Недокументированные узлы, которые строят пути для пользователей, находящихся за тоталитарными файрволлами Использование мостов ● ● Как получить адрес? – bridges@torproject.org с ящика на Yahoo или Gmail – https://bridges.torproject.org/ – Создайте свой Можно настроить руками Потенциальные недостатки? Концептуальные недостатки ● Сервера-директории ● Медленнее, чем обычный интернет ● Конечных узлов меньше, чем узлов вообще ● ● Некоторые релеи запрещают некоторые виды трафика Тайминговые атаки: наблюдатель может пытаться соотнести вашу активность на входе в Tor и на выходе из него Потенциальные опасности ● ● ● ● Нешифрованные соединения или файлы Публикация идентифицирующей вас информации Плохо настроенное программное обеспечение на вашей стороне – IP-адрес – Вредный JavaScript, Flash, Java Закладки Риски ● ● ● ● Релеи и мосты довольно безопасны – они гоняют только шифрованный трафик Скрытые сайты можно скомпрометировать Риски конечных узлов зависят от их политики Исходящий трафик выглядит так, как будто он ваш Как помочь? ● Помогайте программировать ● Исследуйте код ● Проводите анализ безопасности ● Жертвуйте деньги проекту ● Настройте у себя релей (лучше с возможностью выхода – exit node) Замечания? Вопросы? На основе слайдов от NOVALUG http://drwho.virtadpt.net/ Наши контакты: E-mail: mrtc@riseup.net ● SMS: +79299169433 ● Twitter: @rtc_msk ●