Група изследователи от Университета на Мичиган публикува резултатите от проучване на възможността за идентификация (VPN Fingerprinting) на свързвания с сървъри, базирани на OpenVPN, при мониторинг на транзитния трафик. В резултат бяха идентифицирани три метода за идентификация на протокола OpenVPN сред други мрежови пакети, които могат да се използват в системи за инспектиране на трафика за блокиране на виртуални мрежи, базирани на OpenVPN.
Тестирование предложенных методов в сети интернет-провайдера Merit, насчитывающего более миллиона пользователей, показало возможность идентификации 85% OpenVPN-сеансов при незначительном уровне ложных срабатываний. Для проверки был подготовлен инструментарий, который вначале в пассивном режиме на лету определял трафик OpenVPN, а затем удостоверяется в корректности результата через активную проверку сервера. На созданный исследователями анализатор был отзеркалирован поток трафика, интерсивностью примерно 20 Gbps.

В хода на експеримента анализаторът успя да идентифицира успешно 1718 от 2000 тестови OpenVPN връзки, установени от подставен клиент, при което бяха използвани 40 различни типови конфигурации на OpenVPN (методът успешно сработи за 39 от 40 конфигурации). Освен това, за осемте дни на провеждане на експеримента в транзитния трафик бяха открити 3638 OpenVPN сесии, от които 3245 бяха потвърдени. Отбелязва се, че горната граница на фалшивите сработвания в предложените методи е три порядъка по-ниска, отколкото при по-рано предложените методи, основани на машинно обучение.
Отдельно была оценена работа методов защиты от отслеживания трафика OpenVPN в коммерческих сервисах — из 41 протестированного VPN-услуга, използваща методи за скриване на трафика на OpenVPN, трафикът успя да бъде идентифициран в 34 случая. Услугите, които не можаха да бъдат открити, освен OpenVPN, използваха допълнителни слоеве за скриване на трафика (например пробиване на OpenVPN трафик през допълнителен криптиран тунел). В повечето успешно определени услуги беше използвано изкривяване на трафика чрез операция XOR, допълнителни слоеве за обфускация без адекватно случайно допълнение на трафика или наличието на необфускационни OpenVPN услуги на същото сървър.
Задействованные способы идентификации основываются на привязке к специфичным для OpenVPN шаблонам в незашифрованных заголовках пакетов, размеру ACK-пакетов и ответам сервера. В первом случае, в качестве объекта для идентификации на стадии согласования соединения может использоваться привязка к полю «opcode» в заголовке пакетов, которое принимает фиксированный диапазон значений и определённым образом меняется в зависимости от стадии установки соединения. Идентификация сводится в выявлению определённой последовательности изменения opcode в первых N-пакетах потока.
Вторият метод се основава на това, че ACK пакетите се използват в OpenVPN само на етапа на договаряне на връзката и в същото време имат специфичен размер. Идентификацията се основава на това, че ACK пакетите с определен размер се срещат само в определени части на сесията (например, при използване на OpenVPN първият ACK пакет обикновено е третият пакет с данни, предаден в сесията).

Третий метод является активной проверкой и обусловлен тем, что в ответ на запрос сброса соединения сервер OpenVPN отправляет определённый RST-пакет (проверка не работает при использовании режима «tls-auth» так как OpenVPN-сервер при нём игнорирует запросы от клиентов, не аутентифицированных через TLS).

Източник: opennet.ru
