Представлен выпуск инструментария Tor 0.4.1.5, используемого для организации работы анонимной сети Tor. Tor 0.4.1.5 признан первым стабильным выпуском ветки 0.4.1, которая развивалась последние четыре месяца. Ветка 0.4.1 будет сопровождаться в рамках штатного цикла сопровождения — выпуск обновлений будет прекращён через 9 месяцев или через 3 месяца после релиза ветки 0.4.2.x. Длительный цикл поддержки (LTS) обеспечен для ветки 0.3.5, обновления для которой будут выпускаться до 1 февраля 2022 года.

Основные новшества:

  • Реализована экспериментальная поддержка добавочного заполнения на уровне цепочек, позволяющего усилить защиту от методов определения трафика Tor. Клиент теперь добавляет добавочные ячейки (padding cells) вначале цепочек INTRODUCE и RENDEZVOUS, делая трафик этих цепочек более похожим на обычный исходящий трафик. Ценой усиления защиты является добавление двух дополнительных ячеек в каждом направлении для цепочек RENDEZVOUS, а также одной вышестоящей и 10 нижестоящих ячеек для цепочек INTRODUCE. Метод активируется при указании в настройках опции MiddleNodes и может быть отключен через опцию CircuitPadding;

  • Добавлена поддержка аутентифицированых ячеек SENDME для защиты от DoS-атаки, основанной на создании паразитной нагрузки, в случае когда клиент запрашивает загрузку больших файлов и приостанавливает операции чтения после отправки запросов, но продолжает отправлять управляющие команды SENDME, инструктирующие входные узлы продолжать передачу данных. Каждая ячейка
    SENDME теперь включает хэш трафика, который она подтверждает, и конечный узел при получении ячейки SENDME может удостовериться, что другая сторона уже получила трафик, отправленный при обработке прошлых ячеек;

  • В состав включена реализация обобщённой подсистемы для передачи сообщений в режиме издатель-подписчик, которая может использоваться для организации внутримодульного взаимодействия;
  • Для разбора управляющих команд задействована обобщённая подсистема парсинга вместо отдельного разборка входных данных каждой команды;
  • Проведена оптимизация производительности, позволяющая снизить нагрузку на CPU. Tor теперь использует отдельный быстрый генератор псевдослучайных чисел (PRNG) для каждого потока, который основан на применении режима шифрования AES-CTR и использовании конструкций буферизации как в libottery и новом коде arc4random() из OpenBSD. Для небольших выходных данных предложенный генератор работает быстрее CSPRNG из OpenSSL 1.1.1 почти в 100 раз. Несмотря на то, что новый PRNG оценивается разработчиками Tor как криптографический надёжный, он пока используется только в местах, требующих высокой производительности, например, в коде планирования прикрепления добавочного заполнения;
  • Добавлена опция «—list-modules» для вывода списка включённых модулей;
  • Для третьей версии протокола скрытых сервисов реализована команда HSFETCH, которая ранее поддерживалась только во второй версии;
  • Устранены ошибки в кода запуска Tor (bootstrap) и обеспечении работы третьей версии протокола скрытых сервисов.