Маскировочный трафик в VPN: от какого наблюдателя вы прячетесь
Заполнение меняет картину трафика, но для того наблюдателя, для которого вы его спроектировали. Пройдите, где заканчивается заполнение, сколько оно стоит и что не может скрыть.
Представьте, что вы делите сеть в кафе с человеком, который пользуется VPN, и всё, что вы видите, — это размеры пакетов и тайминги. Маскировочный трафик должен размыть эту картину. Пройдите с заполнением от ноутбука до шлюза, и размытие окажется локальным: оно заканчивается там, где заканчивается шлюз. Всё после этой точки — новая задача наблюдения на том же реальном трафике.
Поэтому первый вопрос никогда не в том, сколько заполнения отправлять. Он в том, от какого наблюдателя вы прячетесь и где этот наблюдатель сидит.
Начните с ноутбука
На локальном звене наблюдатель видит уходящие и приходящие зашифрованные пакеты. Без заполнения крупная выгрузка — это серия пакетов полного размера, звонок — ровный поток пакетов среднего размера, а простаивающий клиент шлёт keepalive. Эти формы коррелируют с тем, что делает пользователь, даже когда содержимое нечитаемо. Заполнение может сгладить форму, но ценой отправки байтов, которых никто не просил.
Запишите, что этот наблюдатель заметил бы иначе: всплеск в начале передачи, паузу, когда звонок заканчивается, ритм периодов простоя. Если вы не можете назвать признак, вы не можете утверждать, что заполнение его скрывает.
Проследите заполнение до шлюза
Ноутбук отправляет заполнение сотрудничающему шлюзу, который его отбрасывает и передаёт реальный трафик дальше. Это сотрудничество и есть механизм: без конечной точки, удаляющей заполнение, вы добавили нагрузку на чужой путь, а не создали прикрытие. Спецификация заполнения Tor делает то же разделение явным: заполнение звена между соседними реле и заполнение цепи, привязанное к состоянию протокола.
Теперь подумайте, что видит шлюз. Он видит реальный трафик плюс заполнение, то есть узнаёт больше, а не меньше, если только он не та сторона, которой вы доверяете. Маскировочный трафик перемещает доверие; он не устраняет потребность в нём.
Затем понаблюдайте за вторым сегментом
За шлюзом дальнейшие соединения к реальным адресатам — это обычный трафик с обычными формами. Наблюдатель там, будь то хостинг-провайдер или сеть назначения, видит те же всплески, которые заполнение должно было скрыть. Если этот наблюдатель был тем, кто вас волновал, заполнение вам ничего не дало. Эта граница — весь смысл прохождения пути.
Маскировочный трафик ограничен сегментом, а расширение охвата означает расширение сотрудничества.
Направление и форма
Заполнение, отправляемое только наружу, скрывает тайминг того, что вы отправляете. Оно ничего не говорит о тайминге того, что возвращается, потому что ответы приходят по своему расписанию. Асимметричное сокрытие — это норма, и об этом стоит сказать вслух: сессия с преобладанием загрузки всё равно показывает свою форму на входящей стороне.
Длина пакета, структура всплесков, время начала и остановки, а также интервалы между приходами — всё это несёт информацию. Счётчик байтов, остающийся плоским, может сосуществовать с очень узнаваемым распределением размеров пакетов. Плоские суммы — не плоское поведение.
Что покупает бюджет
Заполнение расходует ёмкость, за которую кто-то платит: лимитированный трафик, конкуренция за исходящий канал, задержка в очереди для других пользователей того же соединения. Следовать максимально доступной скорости тоже вредно для себя: этот максимум движется вместе со звеном, и заполнение движется вместе с ним. Объявленный бюджет с объявленным поведением при его исчерпании — это разница между механизмом и аварией.
Оцените результат относительно наблюдения, которое вы назвали в начале. Тест, показывающий снижение распознавания при определённом наблюдателе, — это результат; обещание, что больше трафика означает меньше информации, — нет.
Решение, стоит ли вообще это делать
Для большинства людей ответ — нет, и честная причина в том, что фоновый поток на полной скорости — плохая замена программному обеспечению, которое документирует, что оно защищает. Заполнение — это законная инженерия, и его место в проектах, которые называют своего наблюдателя, свои сотрудничающие конечные точки, свою цену и свои пределы. Это не галочка, превращающая VPN в систему анонимности.
Если вы всё же это реализуете, сначала опишите модель наблюдателя. Каждое последующее решение, от размеров пакетов до поведения при выключении, следует из этого одного абзаца.