Многие страны мира начали повсеместно внедрять технологии для слежки за своими гражданами и анализа их поведения. Механизмы вроде DPI ограничивают нашу свободу в Сети. Чтобы вступить в честный бой с этими механизмами, очень важно разобраться, как все устроено внутри.
 

Провайдеры и DPI

У провайдеров есть две проблемы:

  • они обязаны ограничивать доступ к некоторым данным в соответствии с законом;
  • ни одна компания не хочет платить лишние деньги за собственное соединение с провайдером уровня выше, которое, очевидно, тарифицируется.

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

Рядовых пользователей это лишает многих возможностей. Провайдер, например, способен заблокировать или сильно замедлить весь трафик протокола BitTorrent, так что качать торренты станет невозможно. Или, ради дополнительной выгоды, может «отключать» VoIP и Skype для всех пользователей, кроме тех, кто специально оплатил доступ.

DPI способен обнаруживать и пресекать соединения по определенным правилам, а их возможности зависят от производителя оборудования. Единственное, что их объединяет, — DPI работает начиная с транспортного уровня сетевой модели.

 

Сетевая модель

Компьютерные сети устроены таким образом, чтобы работать над сложными приложениями, не думая о кабелях и битах.

Для этого было определено четыре степени абстракции. Каждый следующий шаг вверх упрощает работу с информацией, которая передается по сети.

  • Самый первый уровень связи основан на физических процессах. Он позволяет определять и связывать устройства, работая с аппаратными адресами: это в первую очередь ARP, L2TP и PPP.
  • Второй слой, уровень маршрутизации, затрагивает адреса IP и создает логическую связь между узлами IPv4, IPv6 и IPsec. Оба эти уровня — ключевые, они описывают основу, то, как компьютеры могут друг друга найти.
  • Третий уровень — транспортный — занимается данными: что передавать и насколько качественно это делать. TCP и UDP — два ключевых протокола, которые занимаются передачей данных на этом уровне, обеспечивают сохранность информации и ее порядок. Благодаря им все соединения строго регулируются.
  • Последний, четвертый уровень — прикладной, поэтому его описание очень широко (из-за невообразимо большого количества протоколов), а использование не обязательно, не все приложения это делают. Но если используют, то за дело берутся протоколы HTTP и WebSocket, чтобы ты мог сидеть в интернете, играть в MMORPG и чатиться. Протокол FTP используется в основном для обмена файлами, а POP и IMAP — электронной почтой.
Пример инкапсуляции данных через соединение HTTP
Пример инкапсуляции данных через соединение HTTP

Оборудование DPI обычно работает с транспортным уровнем, пакетами TCP и UDP, читая не только заголовки, но и содержимое пакетов.

 

Анализ пакетов данных

Любой протокол имеет свою четко обозначенную внутреннюю логику, а также специальные сигнатуры, которые позволяют участникам соединения определять, кто и о чем говорит.

 

HTTP

Давай разберемся, например, с HTTP — самым популярным протоколом. Отправим запрос на http://xakep.ru.

GET / HTTP/1.1
Host: xakep.ru

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    9 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии