В массе новостей о принятии так называемого закона о «Суверенном Интернете» часто всплывает аббревиатура DPI. Зачастую это происходит в контексте «прощай приватность в Интернете», «Великий Российский Файервол заблокирует свободу слова» и т. д. Законопроект касается нескольких аспектов функционирования сетей, таких как маршрутизация трафика, точки обмена трафиком, национальная служба доменных имен, трансграничная передача российского трафика и т. д. Проект спорный, и обсуждать его сейчас я не собираюсь, за исключением одного: после того как поправки вступят в силу, каждый оператор будет обязан установить на сети «технические средства противодействия угрозам устойчивости, безопасности и целостности функционирования на территории Российской Федерации информационно-телекоммуникационной сети «Интернет» и сети связи общего пользования». Из различных источников можно сделать вывод, что эти «технические средства» есть не что иное, как DPI.
Что же представляет собой DPI? Чем его установка у каждого интернет-провайдера и централизованное государственное управление всеми DPI устройствами опасны для рядового пользователя?
DPI (Deep Packet Inspection) — это не конкретное устройство и даже не технология в общем понимании этого слова, а методика анализа и классификации трафика с целью идентификации приложений, которые этот трафик генерируют. Устройства с DPI на борту могут выполнять различные функции. Как это все работает?
В простейшем случае идентифицировать приложение можно на третьем и четвертом уровнях модели OSI. Например, TCP-пакеты на 443 порт — это, скорее всего, HTTPS. Но это не точно! Многие приложения маскируют, туннелируют и инкапсулируют передаваемые данные, могут динамически назначать порты и т. д. Кроме того, большинство приложений сегодня шифруют передаваемые данные.
Если проанализировать пакеты, генерируемые конкретным приложением — ip-адреса, порты, url, размеры пакетов, заголовки и структуру данных на L2-L7 по OSI, последовательность пакетов при установке нового соединения и другие характеристики, — то можно составить набор сигнатур, который позволяет с вероятностью, приближающейся к 100%, идентифицировать приложение. Далее на основании полученных сигнатур можно классифицировать реальный трафик. Технология напоминает работу антивируса при проверке файлов: на входе последовательность неизвестных пакетов, а на выходе — их принадлежность тому или иному приложению.
Дальше — больше! Можно ассоциировать незашифрованные DNS-запросы с установленным впоследствии HTTPS-соединением, и еще более детально классифицировать трафик. Дополнительно DPI может снимать кликстрим — данные, сформированные браузерной историей посещения интернет-сайтов и поисковых запросов. И всё это с привязкой к пользователям.
Самое интересное начинается после того, как последовательность пакетов классифицирована. DPI-устройство пропускает через себя весь трафик, а следовательно может собирать статистику: какие пользователи какими приложениями и сервисами пользуются, как часто, сколько тратят на это времени и много-много еще всего. Собранные таким образом данные можно обезличить и использовать для очень точного таргетирования рекламы. Более того, система пропускающая через себя каждый пакет, может на него влиять. Это, конечно, не «Тоннел-Айписе», о котором рассказывали в новостях и который позволяет менять цифры в данных, передаваемых в ЦИК Украины, но некоторые манипуляции совершать с ними возможно.
Во-первых, можно отбросить пакеты, тем самым заблокировав сетевую активность известных вирусов или различного рода атак.
Во-вторых, для каждого приложения можно назначить приоритет и тогда у пользователя не будет подтормаживать Ютубчик из-за того, что торрент занял всю полосу в канале провайдера.
В-третьих, можно заменить пакет на другой, тем самым направив пользователя вместо запрещенного ресурса на страничку провайдера. Или детектировать и блокировать рекламные баннеры.
В-четвертых, можно регулировать полосу для каждого приложения. Например, ограничить суммарную полосу для торрентов, чтобы не перегрузить аплинк оператора, или отследить и заблокировать DDOS, не нарушая доступности атакуемых серверов.
Классификации и манипуляции с трафиком могут быть как по приложениям и сервисам, так и по пользователям или серверам. То есть можно на базе DPI разрешить пользователю скорость в 1 Гбит/с до серверов Спидтеста, в то же время нарезая каждому пользователю пропускную способность в пределах тарифа, например 30 Мбит/с. А еще регулировать полосу можно динамически в пределах каждого соединения. Такая гибкость в сочетании со способностью современных систем классифицировать более 6000 приложений, привела к возможности оператора влиять на такие показатели, как QoE (Quality of Experience), «качество восприятия». Когда объективно ничего не меняется, а субъективно можно создать пользователю наиболее комфортные условия работы и отдыха в Сети, например разрешая пользователям с низкоскоростными тарифами превышать заявленную тарифом скорость в течение первых секунд соединения: при этом большие файлы будут передаваться почти как обычно, а маленькие — на более высокой скорости, что позволит веб-страницам открываться гораздо более комфортно.
DPI в сети оператора — технология, которая при правильном применении сделает работу пользователя в сети комфортной и безопасной. А самому оператору позволит детектировать проблемы в сети, которые не обнаруживаются стандартными средствами мониторинга, и с минимальными затратами повысить качество сервиса.
С другой стороны, все же это технология двойного назначения, которая может действительно «изолировать» Рунет для рядовых пользователей, однако не нарушая работу критичных сервисов, таких как международные банковские операции, авиасообщение и т. д.
Андрей Роднищев