Представлен выпуск инструментария Tor 0.4.8.4, используемого для организации работы анонимной сети Tor. Версия Tor 0.4.8.4 признана первым стабильным выпуском ветки 0.4.8, которая развивалась последние 15 месяцев. Ветка 0.4.8 будет сопровождаться в рамках штатного цикла сопровождения – выпуск обновлений будет прекращён через 9 месяцев или через 3 месяца после релиза ветки 0.4.9.x.
Основные изменения в новой ветке:
- Реализован протокол разделения трафика Conflux, позволяющий повысить пропускную способность и надёжность соединений, благодаря разделению трафика к выходному узлу на два потока, проходящего через разные цепочки узлов. Пары conflux-цепочек выбираются из предварительно построенного пула, после исчерпания которого выполняется откат на применение обычных цепочек. При отправке данных на выходной узел выбирается цепочка, обеспечивающая наименьшие задержки при передаче данных. Для повышения пропускной способности отправляемые c выходного узла данные мультиплексируются и распределяются по двум каналам, при этом клиенту также предоставлена возможность перевода соединения в режим снижения задержек, при котором для отправляемых ему данных выбирается канал с минимальными задержками. Primary Circuit (lower RTT) +——-+ +——–+ |Guard 1|—–>|Middle 1|———-+ +—^—+ +——–+ | +—–+ | +–v—+ | OP +——+ | Exit |–> … +—–+ | +–^—+ +—v—+ +——–+ | |Guard 2|—–>|Middle 2|———-+ +——-+ +——–+ Secondary Circuit (higher RTT)
- Добавлен новый метод защиты Onion-сервисов от DoS-атак, основанный на применении доказательства выполнения работы (proof-of-work, PoW) для выделения клиентов, запросы которых следует обработать в первую очередь. Для приоритетного обслуживания клиент должен выполнить определённую задачу, которая легко проверяется, но требует больших ресурсов при вычислении. Сложность задачи выбирается динамически в зависимости от объёма трафика к onion-сервису. В обычных условиях решение задачи занимает от 5 до 30 мс на обычном компьютере, что незаметно для реального пользователя. При значительном увеличении трафика в процессе совершения атак сложность возрастает и решение задачи может потребовать до минуты вычислений, что заметно усложняет проведение автоматизированных атак.
Методы, основанные на ограничения интенсивности запросов с одного IP-адреса (rate limit), не эффективны для защиты onion-сервисов, так как для сохранения конфиденциальности Tor запутывает IP-адреса.
Подход на основе PoW позволит противостоять попыткам нарушения обработки нормальных запросов, осуществляемым через установку большого числа фиктивных соединений, создающих паразитную нагрузку на сервис и забивающих выставленные лимиты. Для настройки защиты в torrc добавлена серия опций “HiddenServicePoW”, которые по умолчанию отключены. - Добавлена защита от DoS-атак на частично открытые каналы и известные релеи.
- Обеспечено корректное взаимодействие серверов директорий Tor (Directory Authority) и релеев с серверами директорий, поменявшими IP-адрес. Ранее узлы продолжали отправлять данные по старому адресу, указанному в фале конфигурации, даже после того как в списке со сведениями о состоянии сети (consensus) появились данные о смене адреса.
- Активирована настройка ClientUseIPv6, позволяющая клиенту по умолчанию выбирать релеи с IPv6-адресами.
- Решены проблемы со сборкой в DragonFlyBSD, FreeBSD, OpenBSD и NetBSD, а также налажена совместимость с LibreSSL 3.5+.
- Обеспечен автоматический перезапуск процессов с реализацией подключаемого транспорта (Pluggable Transport) после их завершения.