Стабильный выпуск новой ветки Tor 0.3.1
Представлен выпуск инструментария Tor 0.3.1.7, используемого для организации работы анонимной сети Tor. Tor 0.3.1.7 признан первым стабильным выпуском ветки 0.3.1, которая развивалась последние пять месяцев.
Основные новшества:
- Задействован более компактный формат документа со сведениями о консенсусе, загружаемого клиентами со шлюзов и удостоверяющих хостов. Новый вариант включает только изменения по сравнению с прошлой версией документа, имеющейся у клиента, что позволяет существенно сократить объем передаваемого трафика (до 94%), необходимого для поддержания актуальной информации о консенсусе;
- Для сжатия трафика с серверов директорий теперь могут применяться алгоритмы zstd и lzma. Так как lzma требует больших процессорных ресурсов при сжатии, он применяется только для документов, которые сжимаются один раз, а раздаются многократно;
- На стороне шлюзов ресурсоемкие операции сжатия и генерация данных об отличиях в документах консенсуса вынесены в рабочих потоках (worker threads), которые не блокируют выполнение основного потока;
- Новая система добавочного заполнения, устойчивая к системам анализа трафика, получающим сведения при помощи протокола Netflow;
- В сборочную систему добавлена экспериментальная возможность сборки компонентов, написанных на языке Rust (пока подобные компоненты отсутствуют, добавлена лишь тестовая заглушка). Для включения поддержки Rust добавлена сборочная опция "--enable-rust";
- В число обязательных сборочных зависимостей добавлена утилита pkg-config (требуется для сборки с zstd и lzma);
- В файлах конфигурации torrc добавлена поддержка директивы "%include" для вставки содержимого других файлов.
Кроме того, представлены корректирующие выпуски прошлых веток Tor 0.2.8.15, 0.2.9.12 и 0.3.0.11. Кроме исправления накопившихся ошибок в новых выпусках устранена уязвимость (CVE-2017-0380) в коде обеспечения работы скрытых сервисов, которая может привести к записи в лог содержимого стека. Проблема проявляется только при установке значения 0 в опции SafeLogging (по умолчанию выставляется 1).