Термин глоссария

DPI

Deep Packet Inspection — глубокий анализ пакетов

Коротко

Способ фильтрации, при котором оборудование разбирает не только адреса, но и заголовки и форму потока данных.

Что это

Обычный сетевой фильтр смотрит на заголовки уровня IP: откуда пакет и куда. DPI заглядывает глубже — в заголовки протоколов и в то, как устроен сам поток: размеры пакетов, их порядок, паузы между ними, первые байты соединения. Такой анализ используют не только для цензуры, но и для управления трафиком, защиты сетей и учёта.

Как узнают протокол

Самый простой способ — сигнатуры: оборудование сравнивает поток с базой известных шаблонов, «отпечатков» протоколов. Второй — анализ потока целиком: устройство накапливает данные о соединении и оценивает его в целом, а не по одному пакету.

Шифрование содержимого от этого не спасает: сигнатура может быть в форме соединения. У обычного MTProto-соединения узнаваемое начало и характерный ритм пакетов, поэтому DPI способно отличить его от остального трафика, не расшифровывая ни одного сообщения.

Чем отвечают прокси

Каждый режим MTProto-прокси отвечает на очередной способ распознавания:

  • obfuscated2 превращает поток в случайные байты, чтобы начало соединения не содержало открытых признаков протокола;
  • dd добавляет к пакетам случайное дополнение, чтобы размеры не выдавали прокси;
  • ee (FakeTLS) начинает соединение как обычный TLS-обмен с настоящим сайтом, и фильтр видит заход на этот сайт.

Что видит DPI в соединении

Для обычного HTTPS-сайта и для MTProto-прокси оборудование наблюдает один и тот же набор признаков, и различия складываются из мелочей:

  • адрес и порт — HTTPS-сайт живёт на хорошо известном адресе, а прокси на арендованном сервере;
  • первые байты — у сайта это ClientHello с именем сайта, у обычного прокси — 64 случайных байта;
  • размеры и ритм пакетов — у браузера они зависят от страницы, у прокси без маскировки — от протокола;
  • ответ на проверку — настоящий сайт отвечает как сайт, неправильно настроенный прокси молчит или отвечает иначе.

Пределы

DPI не стоит на месте. По документации telemt, распознать FakeTLS можно по SNI, ALPN и энтропии, а устойчивость маскировки зависит от версии клиента, выбранного домена и сетевого пути. Поэтому «рабочий» — понятие временное: прокси, который неделю держался, может перестать работать после обновления правил.

Источники

  1. Deep packet inspection — Википедия
  2. telemt: FAQ
  3. Telegram: MTProto transports

Связанные термины

Упоминается в статьях