Рассказываем, что такое Deep Packet Inspection простыми словами: как устроены и развивались такие системы, а также помогает ли VPN их обойти.
Мы часто упоминаем DPI в материалах блога Amnezia VPN, но подробно про саму технологию до сих пор не рассказывали — исправляемся. Разберемся, что это за системы, как они работают, как применяются и помогают ли VPN их обойти.
DPI простыми словами
DPI, или Deep Packet Inspection («глубокий анализ пакетов») — технология анализа сетевого трафика, которая проверяет не только заголовки пакетов данных, но и их содержимое.
С ее помощью операторы связи и государственные органы фильтруют, ограничивают и приоритизируют интернет-трафик в реальном времени, а также собирают статистику о нем
Как устроены DPI-системы
Работу DPI можно сравнить с таможенником, который не только смотрит на данные, указанные на посылке, но вскрывает ее и проверяет содержимое.
Классические методы фильтрации, такие как сетевые экраны, в этом сравнении ближе к сортировщику на почте. Они не вскрывают посылку и ориентируются только на информацию снаружи:
адрес отправителя и получателя,
объявленный вес,
класс отправления.
В этой схеме какой-то параметр должен показаться подозрительным, чтобы посылку не пропустили. Из-за этого такие системы было легко обмануть.
DPI-системы устроены иначе. Они проникают внутрь пакета и анализирует его содержимое:
тип трафика,
формат передаваемого файла,
паттерны в структуре.
Некоторые DPI-системы даже видят содержимое посылки. То есть это полноценная таможня — с рентгеном, собаками, а также полным анализом отправлений.
Технический разбор
Сетевые экраны работают на уровне заголовка пакета: IP-адрес источника и назначения, порт, протокол (TCP/UDP). Этого достаточно, чтобы составить простые правила вида «блокировать весь трафик с IP 192.0.2.1» или «открыть только порты 80 и 443», но само содержимое пакета остается для таких решений черным ящиком.
DPI-системы устроены иначе и используют сразу несколько способов анализа:
Сигнатурный. Система сравнивает содержимое пакета с базой известных паттернов, например конкретных строк текста, доменных имен или байт-последовательностей, характерных для целевого ресурса или протокола.
На уровне протокола. DPI-системы определяют, какой протокол используется в конечном итоге, даже если трафик идет через нестандартный порт. К примеру, они вычисляют VPN-соединение, замаскированное под порт 443, отведенный для HTTPS-трафика.
Эвристический (поведенческий). Даже если сам трафик зашифрован и прочитать его напрямую нельзя, DPI-системы отслеживают статистические признаки — размер пакетов, их количество, интервалы между ними, а также порядок обмена данными при установке соединения. По этим паттернам они угадывают тип трафика или сам факт использования VPN.
Отметим, что внутри незашифрованного трафика — к примеру, в адрес устаревших сайтов на HTTP, — DPI может извлечь даже конкретные данные, не расшифровывая остальное содержимое.
Как развивались DPI-системы
Технология выросла на основе вышеупомянутых сетевых экранов. Одни защищали сеть через прокси-сервер, детально проверявший пакеты, другие — отсеивая трафик по IP и портам.
Проверка через прокси считалась надежнее, и именно из нее выросли первые DPI-системы — на тот момент они устраняли сетевые проблемы, блокировали вирусы и защищали от DDoS-атакDistributed Denial of Service — атака, в рамках которой целевой ресурс перегружают запросами. Нехватка вычислительных мощностей ограничивала их применение в режиме реального времени.
Со временем, однако, DPI-системы начали использовать провайдеры. Сначала — чтобы разгружать сеть и показывать таргетированную рекламу. Лишь позже добавились точечные блокировки, чтобы бороться с пиратским контентом и неугодной властям информацией.
В некоторых странах провайдеров законодательно обязали фильтровать трафик
В России DPI-системы получили широкое применение после фиаско с блокировкой Telegram в 2018 году: точечная блокировка своей цели не достигла, и под нож пошли сотни тысяч случайных IP-адресов.
После этого понадобился инструмент, способный блокировать избирательно, по содержимому пакетов, — так технология DPI стала основой для закона о «суверенном Рунете» и систем ТСПУТехнические средства противодействия угрозам, обязательных для всех операторов связи.
Как применяют DPI-системы
Способность DPI видеть закономерности в структуре пакетов сделала эту технологию универсальным инструментом. Чаще всего ее используют, чтобы:
Приоритизировать одни виды трафика над другими — например, ускорять видеозвонки и подтормаживать закачки через торренты.
Блокировать доступ к конкретным сайтам и сервисам по содержимому трафика, а не только по адресу.
Обнаруживать попытки взлома сети и распространение вредоносного ПО еще до того, как оно причинит ущерб.
Поэтому важно уточнить: DPI-оборудование применяют не только цензоры: интернет-провайдеры и компании используют его, чтобы защищать свои сети, а также оптимизировать нагрузку на инфраструктуру. Тем не менее, нам интересно применение этой технологии в контексте блокировок.
Как DPI-системы влияют на пользовательский опыт
Вы вряд ли заметите технологию DPI как таковую, но ее работу — легко. Анализ трафика в реальном времени тормозит соединение: провайдер видит подключение к «нежелательным ресурсам», таким как соцсети, стриминги или торрент-трекеры, и намеренно замедляет его.
Другая проблема — избыточные блокировки: DPI-система ошибается и отрезает вместе с запрещенным ресурсом все, что похоже на него по техническим признакам. Так, вы теряете доступ к десяткам сервисов, которые делят инфраструктуру с заблокированным.
DPI-системы также мешают пользователям VPN. Как только провайдер учится распознавать очередной протокол или паттерн трафика, соединение обрывается — приходится переключаться на другой тип подключения.
Методы обхода DPI
Поначалу спасало шифрование трафика — DPI-системы не видели, какой сайт вы открываете.
Современным же решениям не обязательно читать содержимое, чтобы заблокировать пакет. Жесткие политики фильтрации работают по принципу «„не опознано“ значит „подозрительно“», и зашифрованный VPN-туннель блокируют по характерным признакам самого шифрования — размерам пакетов, заголовкам, порядку обмена данными при подключении.
На этом фоне само по себе шифрование не гарантирует, что DPI-система пропустит пакет. Чтобы обойти ее, применяют несколько подходов:
Обфускация — изменить характеристики трафика, чтобы затруднить его обнаружение или классификацию. Один из вариантов обфускации — сделать трафик похожим на случайный шум, без устойчивых признаков и сигнатур, за которые цепляется DPI. Минус в том, что при жесткой политике фильтрации такой «шумный» трафик могут заблокировать по принципу «запрещено, если не разрешено».
Мимикрия — выдать трафик за что-то легитимное: например, подключение к обычному HTTPS-сайту или DNS-трафик. Это может затруднить распознавание соединения DPI-системой, но не гарантирует ее обход.
Фрагментация трафика, ложные пакеты и десинхронизация — разбить данные на части, передать в необычном порядке или дополнить пакетами, которые DPI-система и конечный сервер обрабатывают по-разному. В результате DPI-инструмент может не распознать запрещенный домен или протокол, тогда как сервер получит корректный запрос.
Какие решения обходят DPI
Вот несколько инструментов, которые затрудняют распознавание трафика DPI-системами. В отличие от VPN-сервисов, они работают с трафиком локально.
GoodbyeDPI— утилита для Windows с открытым исходным кодом. Видоизменяет трафик на системном уровне, чтобы скрыть от DPI-системы запрещенный целевой домен. Сервер при этом корректно принимает запрос.
ByeDPI — работает как локальный прокси в Windows и Linux на пользовательском уровне. Несмотря на отличную от GoodbyeDPI реализацию, применяет похожие техники — разбивает и изменяет порядок передачи данных, а также добавляет ложные пакеты .
ByeByeDPI— приложение для Android, которое использует ByeDPI для локальной обработки трафика. Оно задействует системный сервис VpnService, чтобы перехватывать трафик приложений, но не передает его на удаленный VPN-сервер, не добавляет шифрование и не скрывает IP-адрес пользователя.
Zapret — перенаправляет трафик через специальные обработчики пакетов, но настраивается тоньше и вручную — под конкретного провайдера и тип фильтрации. Главная особенность — работа непосредственно с трафиком, а не его маршрутизацией. Из-за нее Zapret часто устанавливают на роутеры, чтобы обеспечить доступ к «запрещенным» сайтам на уровне всей сети.
Обратите внимание, что эти инструменты маскируют соединение от цензоров, но не создают зашифрованный туннель — злоумышленники все еще могут перехватить важные данные. Это происходит потому, что инструменты для борьбы с DPI прячут трафик, но при этом:
не скрывают ваш исходный IP-адрес от посещаемого сайта,
не добавляют шифрование протоколам, которые изначально передают данные без защиты,
не влияют на его маршрутизацию, и поэтому могут направлять его по незащищенным каналам.
Если вы хотите обойти блокировки по DPI без потерь в приватности, используйте цельное решение, к примеру, сервисы Amnezia VPN.
Бесплатный Amnezia Free по умолчанию задействует передовой протокол AmneziaWG, чтобы защитить ваши данные и скрыть оригинальный исходящий IP при подключении к популярным ресурсам.
Amnezia Premium — помимо AmneziaWG, мимикрирующего под UDP-протокол, предоставляет в качестве альтернативы связку XRay VLESS Reality. Она одновременно шифрует данные, подменяет исходящий IP, а также маскирует трафик под HTTPS- или DNS-запросы.
Материалы по теме
Поскольку DPI-системы все чаще используют именно для блокировок, наша работа неразрывно связана с их обходом. Нам есть, что рассказать: