Виявлення VPN залежить від того, звідки ви спостерігаєте
Мережевий спостерігач бачить тунель; сайт бачить сеанс TLS браузера. Докази з однієї точки спостереження не переносяться на іншу.
Два детектори можуть спостерігати одного користувача й розходитися, і обидва при цьому мають рацію. Спостерігач біля лінії доступу бачить зовнішню розмову VPN; сайт бачить прикладне з'єднання, що надходить із виходу. Це різні з'єднання з різними відбитками, і доказ одного не переноситься на інше. Назвати точку спостереження перед обговоренням будь-якого тесту TLS або TCP — це те, що робить твердження осмисленим.
Детектор без зазначеної точки спостереження описує думку, а не вимірювання.
Дві точки спостереження, два різні з'єднання
Зовнішня розмова належить протоколу тунелю: власні формати повідомлень, власна машина станів, власний таймінг. Внутрішнє з'єднання — це браузер, що відкриває TLS до сайту, переноситься через тунель і потім пересилається з виходу. Обидва існують в один і той самий момент, і це не один і той самий потік. Одне — те, що може бачити мережа доступу, друге — те, що може бачити призначення, а проміжний пристрій, який завершує будь-що з них, змінює обидві картини.
Ця різниця пояснює більшу частину плутанини в обговореннях виявлення. Тест, що повідомляє одну річ про потік, часто відповідає на питання про інший рівень, ніж той, який мав на увазі оператор.
Що бачить спостерігач на шляху доступу
Біля лінії доступу видимий матеріал — це сам протокол тунелю: типи керуючих та інформаційних пакетів для OpenVPN, фіксовані шаблони рукостискання й даних WireGuard або будь-яка обгортка, яку додає розгортання. Чи зможе класифікатор їх розпізнати, залежить від того, що видно, який транспорт їх несе і чи є додаткова маскувальна обробка. Упізнаваний шаблон — це доказ про потік, а не доказ про особу чи намір людини за ним.
Порт 443 — це умовність для доступу до служби. Він не робить кожен тунельний транспорт HTTPS.
Що сайт насправді бачить
При маршрутизованому тунелі браузер усе ще веде власний сеанс TLS із сайтом. Трансляція на виході не перетворює VPN-шлюз на кінцеву точку TLS браузера, тому ClientHello, який отримує сайт, описує браузер або його бібліотеку TLS. Відбиток у стилі JA3 тому характеризує прикладне з'єднання, а не VPN-програму, яка його несе. Лише проксі, що навмисно завершує з'єднання, змінює цю схему, і його треба визначати окремо.
Спостереження TCP потребують такої самої ретельності. Пересилання, трансляція й проксі, що відкриває нове з'єднання, — це три різні схеми, і лише одна з них переписує транспортний стек. Одна незвичайна характеристика не означає однозначно тунель.
Тримайте твердження в межах доказів
Мережева класифікація, спостереження за протоколом, відбитки програм і сигнали облікового запису — це вхідні дані для рішення про ризик, кожне з хибними спрацюваннями, пропусками та відсутніми доказами. Адреса в діапазоні хостингу нічого не доводить про комерційний VPN, а звичайний відбиток браузера нічого не доводить про прямий. Оцінюючи детектор, використовуйте дозволений набір даних із відомими шляхами й записуйте, яке спостереження дало кожен результат.
Тримайте класифікацію протоколу окремо від рішення про доступ із наслідками. Нестандартна відповідь або трюк із деформованим пакетом не підтверджує висновок за ним; він лише тисне на здогад.
Корисний звіт називає спостереження, точку спостереження й упевненість. Голий рядок «VPN виявлено» приховує саме ту частину, яка дозволила б комусь це перевірити.