Поделитесь ссылкой на зеркало с теми у кого недоступен этот сайт: https://storage.googleapis.com/amnezia/amnezia.org

Что такое DPI и как его обойти

Рассказываем, что такое Deep Packet Inspection простыми словами: как устроены и развивались такие системы, а также помогает ли VPN их обойти.

Рассказываем, что такое 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-системы все чаще используют именно для блокировок, наша работа неразрывно связана с их обходом. Нам есть, что рассказать:

Обсудить этовDiscord
Канал Amnezia для комментирования и обсуждения

Ещё по теме

Настройки родительского контроля против мошенников: как защитить детей и пожилых родителей в интернете и не отдать их данные посторонним

Как защитить детей и пожилых родителей в интернете

Разбираемся, как уберечь самых уязвимых пользователей — на системном и сетевом уровнях.

5 мин
Как спрятать VPS за 15 минут: создаем отдельного пользователя, запрещаем вход для root, меняем порт SSH и настраиваем синхронизацию с Amnezia VPN

Безопасность сервера: как не стать легкой добычей для ботов

Ваш VPN защищает данные в пути, но целью может стать сам сервер. Разбираемся, как его укрепить и скрыть личные данные от автоматических сканеров.

13 мин

Что такое шифрование и как VPN защищает ваши данные

14 мин
Шифрование информации — одна из задач VPN-сервисов. Или нет? Как вообще связаны VPN и шифрование данных?

Шифрование информации — одна из задач VPN-сервисов. Или нет? Как вообще связаны VPN и шифрование данных?