Сейчас Ютуб работает гораздо медленнее, чем обычно, а чаще всего не работает вообще. Одна из возможных причин — глубокая фильтрация трафика и блокировка пакетов (кусочков данных, на которые разбивается весь трафик), приходящих от видеохостинга к пользователю. От обычной фильтрации она отличается тем, что происходит не только по заголовкам пакетов с данными, которые отправляются между устройствами, но и по их содержимому — это как если бы почтальон читал письма перед тем, как их доставить. Чтобы заглянуть внутрь пакетов, используют DPI — ту самую глубокую фильтрацию. Рассказываем, как это работает, где используется и что с этим делать.
Как фильтруются данные
Чтобы разные устройства на пути передачи пакетов с данными правильно взаимодействовали друг с другом, используется сетевая модель OSI (Open Systems Interconnection, или «модель взаимодействия открытых систем»). В ней процесс передачи разбивается на несколько уровней, чтобы каждый этап выполнялся в нужной последовательности. В зависимости от контекста и задач данные проходят через разные уровни OSI. Всего есть семь уровней:
Обычная фильтрация пакетов, при которой анализируются только заголовки данных, работает на сетевом (третьем) и транспортном (четвёртом) уровнях модели OSI.
Чтобы было понятнее, покажем, как происходит обычная фильтрация трафика, на примере отправки электронного письма:
- Почтовое приложение формирует текст и вложения на прикладном уровне (седьмой уровень).
- Данные шифруются или сжимаются на уровне представления (шестой уровень).
- Сеансовый уровень (пятый) устанавливает соединение с почтовым сервером.
- На транспортном уровне (четвёртый) письмо разбивается на небольшие пакеты, каждый из которых получает свой номер для правильной сборки.
- Сетевой уровень (третий) добавляет к пакетам IP-адреса отправителя и получателя.
- Канальный уровень (второй) оборачивает пакеты во фреймы для передачи.
- Физический уровень (первый) отправляет их по проводу или Wi-Fi.
На конечном устройстве пакеты проходят через те же уровни, только в обратном порядке, чтобы собрать письмо и показать его получателю.
👉 Обычная фильтрация пакетов проверяет данные на сетевом и транспортном уровнях, не затрагивает содержимое пакетов и служит для базовой проверки маршрутизации и безопасности. На этих уровнях можно блокировать трафик с определённого IP или по заголовкам пакетов.
Но если письмо отправляется из корпоративной сети, то в соответствии с политиками безопасности компании над содержимым письма нужен больший контроль. Например, чтобы сотрудники не передавали конфиденциальную информацию или не отправляли подозрительные файлы.
Тогда на прикладном (седьмом) уровне данные пройдут через глубокую фильтрацию (DPI), которая проанализирует содержимое письма и убедится в его безопасности и соответствии корпоративным политикам безопасности. Если что-то вызывает подозрение, система может заблокировать отправку письма или уведомить администратора. То же самое может происходить при получении: письма с подозрительным содержимым могут блокироваться и не доходить до адресата.
Что такое DPI
DPI, или Deep Packet Inspection (глубокая фильтрация пакетов), — это способ анализа интернет-трафика, который позволяет заглядывать внутрь передаваемых данных, а не только смотреть на их адреса.
В обычной ситуации разные сетевые устройства просто проверяют адреса на пакетах и отправляют их дальше. DPI анализирует сами данные внутри пакета, чтобы понять, что именно передаётся: текст, изображение, видео или что-то ещё.
Как работает DPI
DPI может применяться на разных уровнях модели OSI, но обычно анализ пакетов происходит на седьмом, прикладном, уровне. DPI оценивает пакеты на основе правил, установленных администраторами сети или интернет-провайдерами. Но перед этим система должна отдельно получить пакеты. Если анализировать с помощью DPI весь трафик, то скорость передачи данных снизится.
Чтобы в сети не было задержек, применяют разные методы для захвата трафика: зеркалирование порта и использование сетевого TAP (Test Access Point, или точка доступа для тестирования). Это устройство, которое подключается к сети и создаёт копию всего проходящего через него трафика, чтобы этот трафик можно было анализировать, не вмешиваясь в работу сети. И уже эта копия отправляется на анализатор DPI.
Схематично зеркалирование можно изобразить так:
Чтобы система понимала, что и как фильтровать, администраторы сети заранее определяют, какой именно трафик будет анализироваться. После этого создаются правила и политики, в которых прописываются критерии для фильтрации: ключевые слова, типы файлов, порты или IP-адреса.
Эти правила загружаются в систему DPI, и она начинает анализировать трафик, проверяя каждый пакет данных на соответствие заданным критериям. После проверки система реагирует на трафик в соответствии с заданными правилами — блокируя, пропуская или перенаправляя его. Это похоже на работу блокировщика рекламы в браузере, только на уровне всей сети. Сами правила прописываются в файлах конфигурации или в интерфейсе управления сетевым оборудованием, на котором установлено программное обеспечение DPI.
DPI также анализирует данные на уровне приложений. Система может не только определять, какие данные передаются по сети (файлы, сообщения, видео), но и понимать, какой протокол или приложение эти данные используют. Это значит, что DPI может определить, что трафик идёт от видеохостинга или мессенджера или что файл передаётся через FTP или HTTP.
Методы DPI
Для анализа данных DPI использует разные методы. Самый распространённый — сигнатурный анализ, то есть анализ по шаблонам. DPI проверяет содержимое трафика на наличие определённых шаблонов-сигнатур, которые соответствуют известным вирусам, атакам или другим опасным данным. Если DPI находит что-то, что совпадает с этими шаблонами, система блокирует или помечает этот трафик как подозрительный.
Есть и другие методы: анализ состояния, протокольный анализ, анализ поведения и так далее. Например, анализ поведения не просто проверяет содержимое пакетов и их соответствие стандартам, но и отслеживает, как ведёт себя трафик в сети. Если система замечает, что какое-то приложение внезапно начинает генерировать большое количество запросов или передавать данные в необычные места, это может расцениваться как DDoS-атака или попытка несанкционированного доступа. Анализ поведения помогает выявлять ранее неизвестные угрозы, которые не могут быть обнаружены через сигнатурный анализ.
Зачем нужен DPI
DPI используют для усиления безопасности сети, управления трафиком, анализа поведения трафика и сетевых устройств. Провайдеры могут оптимизировать работу сети, распределять полосу пропускания и устанавливать приоритеты для критически важных приложений.
В 2000-е годы американский провайдер Comcast использовал DPI для управления трафиком в своей сети. Компания столкнулась с проблемой, когда значительная часть пропускной способности потреблялась торрентами, и это замедляло работу сети для других пользователей. Тогда в Comcast использовали DPI для ограничения или замедления трафика торрентов, что позволило перераспределить ресурсы и улучшить качество обслуживания для всех абонентов.
Другой способ использования DPI — блокировка доступа к разным ресурсам. Например, эта технология и другие лежат в основе Великого китайского файрвола, который блокирует доступ к Google, YouTube, Facebook, X (бывший Twitter) и другим зарубежным ресурсам. При этом если система DPI настроена обнаруживать блокировку VPN-трафика, а ещё усилена DNS-фильтрацией и другими инструментами, то использование VPN для обхода блокировки не поможет.
DPI может использоваться как для блокировки, так и для замедления трафика. Например, если в правилах прописано, что должен замедляться трафик, связанный с YouTube, то DPI определяет такой трафик и использует троттлинг, то есть замедление интернет-соединения. Система может искусственно снизить пропускную способность для трафика: видео будет дольше загружаться, качество потока снизится, а воспроизведение будет прерываться.
Хорошо настроенная система DPI может блокировать работу анонимайзеров, VPN и всех сервисов, которые помогают скрыть настоящий IP-адрес и обойти блокировки. DPI распознаёт трафик, связанный с такими сервисами, и останавливает его.
DPI vs VPN
Когда пользователь включает VPN, то на транспортном уровне (четвёртом) и сетевом уровне (третьем) модели OSI происходит шифрование данных, которые передаются между клиентом и сервером. И для менее сложной системы DPI такой трафик будет «нечитаемым».
👉 Пример неудачной попытки — блокировка Telegram в России в 2018 году. Пользователи стали использовать VPN и прокси-сервисы, и трафик стал неразличимым для систем DPI. При этом сам Telegram также использовал динамическое изменение IP-адресов и маскировку трафика.
Кроме этого, есть разные протоколы шифрования. Например, сквозное шифрование в мессенджерах и TLS, или Transport Layer Security (протокол защиты транспортного уровня) для интернет-трафика — это когда в адресной строке браузера отображается значок замка и адрес начинается с https. Эти протоколы также затрудняют извлечение информации из зашифрованных данных.
Чтобы эффективно распознавать такие «уловки», DPI использует алгоритмы машинного обучения, которые помогают лучше выявлять новые угрозы и реагировать на них. Алгоритмы позволяют классифицировать сетевой трафик, обучая модели на основе известных категорий. Эти модели могут автоматически идентифицировать и классифицировать новый трафик, даже если он не был заранее описан в сигнатурах или правилах.
Так что, DPI действительно может заблокировать весь трафик с Ютуба даже с VPN?
Теоретически — да, если разработчики таких систем приложат достаточно усилий по улучшению своих алгоритмов, лучше обучат нейросети и поставят нужное им оборудование у провайдеров.
Но это долго, дорого и не всегда работает на сто процентов. Даже в Китае с его файрволом, который настраивают больше 10 лет подряд, всё ещё можно попасть на заблокированные сервисы с помощью различных технологий.
Поэтому, если нужен Ютуб, — включаем VPN и смотрим. А что будет дальше — мы пока не знаем. Как узнаем, расскажем, что поменялось и что с этим делать.