Введение

Функция Microsoft Windows Winsock Layered Service Provider (LSP) является устаревшей функцией интерфейса поставщика услуг Microsoft Windows Winsock 2 (SPI). Поставщик услуг на уровне - это DLL, которая использует Winsock API, чтобы попытаться вставить себя в стек протоколов TCP/IP. После того, как в стеке, Поставщик услуг может перехватывать и изменять входящий и исходящий интернет-трафик. Он позволяет обрабатывать весь трафик TCP/IP, происходящий между Интернетом и приложениями, которые получают доступ к Интернету (такими как веб-браузер, клиент электронной почты и т. Д.). Например, он может использоваться вредоносными программами для перенаправления веб-браузеров на ненадлежащие веб-сайты или для блокирования доступа к таким сайтам, как Windows Update. В качестве альтернативы компьютерная программа безопасности может сканировать сетевой трафик на наличие вирусов или других угроз. Интерфейс поставщика услуг Winsock (SPI) API обеспечивает механизм для наложения провайдеров друг на друга. Winsock LSP доступны для целого ряда полезных целей, включая родительский контроль и фильтрацию веб-контента. Веб-фильтр родительского контроля в Windows Vista является LSP. Порядок слоя всех провайдеров хранится в каталоге Winsock.

Подробности

В отличие от хорошо известного Winsock 2 API, который охвачен многочисленными книгами, документацией и образцами, Winsock 2 SPI относительно неизучен. Winsock 2 SPI реализуется поставщиками услуг сетевой транспортировки и поставщиками услуг разрешения пространства имен. SPI Winsock 2 может быть использован для расширения существующего поставщика транспортных услуг путем внедрения поставщика услуг на уровне. Например, качество обслуживания (QoS) в Windows 98 и Windows 2000 реализуется как LSP через стек протоколов TCP/IP. Еще одним применением LSP является разработка специализированного программного обеспечения для фильтрации URL-адресов, чтобы предотвратить доступ веб-браузеров к определенным сайтам, независимо от браузера, установленного на рабочем столе. Winsock 2 SPI позволяет разработчикам программного обеспечения создавать два различных типа поставщиков услуг: транспорт и пространство имен. Поставщики услуг транспорта (обычно называемые стеками протоколов) - это сервисы, которые обеспечивают функции, которые устанавливают соединения, передают данные, осуществляют контроль потока, контроль ошибок и т. д. Провайдеры пространства имен - это сервисы, которые связывают атрибуты адресации сетевого протокола с одним или несколькими дружественными для человека именами и позволяют решать независимые от протокола имена. SPI также позволяет создать два типа поставщиков транспортных услуг - базовые и многоуровневые. Поставщики базовых услуг реализуют фактические детали транспортного протокола: установление соединений, передача данных, контроль потока и контроль ошибок. Поставщики многоуровневых услуг реализуют только функции связи на более высоком уровне и полагаются на существующего базового поставщика для фактического обмена данными с удаленной конечной точкой. LSP Winsock 2 реализуются как Windows DLL с одной экспортируемой функцией ввода, WSPStartup. Все остальные функции транспортного SPI доступны для ws2 32. dll или поставщика верхней цепочки через таблицу отправки LSP. ЛСП и базовые провайдеры связаны друг с другом, образуя цепочку протоколов. LSP DLL должен быть зарегистрирован с использованием специального регистратора LSP, который дает инструкции Winsock 2, порядок загрузки LSP (может быть более одного установленного LSP) и какие протоколы перехватывать. LSP работают, перехватывая команды Winsock 2 до того, как они будут обработаны ws2 32. dll; поэтому они могут модифицировать команды, выпускать команду или просто регистрировать данные, что делает их полезным инструментом для вредоносных программ, сетевых фильтров, сетевых перехватчиков и стримовых снайперов. Прослушивание сетевого трафика через LSP иногда может быть проблематичным, поскольку поставщики антивирусов обычно помечают такую активность как вредоносную. Поэтому сетевой пакетовый анализатор является лучшей альтернативой для захвата сетевого трафика. Особенностью LSP и Winsock proxy sniffing является то, что они позволяют захватывать трафик из одного приложения, а также позволяют находить трафик, идущий на локальный хост (127.0.0.1). Существует два вида LSP: IFS и не IFS LSP. В настоящее время большинство LSP на рынке не IFS. Разница между двумя LSP заключается в том, что не IFS LSP изменяют рукоятку разъема на недействительную рукоятку Windows IFS, и поэтому LSP должен реализовать все методы Winsock 2. С другой стороны, LSP IFS сохраняют рукоятку разъема, что позволяет LSP реализовывать только те функции, которые он хочет перехватить. IFS LSP оказывают гораздо меньшее влияние на производительность, чем не IFS LPS, но они ограничены тем, что не могут проверять или изменять данные на пути приема.

Депрекация и обход LSP

LSP были отменены с Windows Server 2012. Системы, включающие LSP, не пройдут проверку логотипа Windows. Приложения "метро" в стиле Windows 8, использующие сетевые связи, автоматически обходят все LSP. Платформа фильтрации Windows обеспечивает аналогичную функциональность и совместима как с приложениями "метро" в стиле Windows 8, так и с обычными настольными приложениями.

Проблемы коррупции

Основная проблема с LSP заключается в том, что любые ошибки в LSP могут привести к поломке приложений. Например, LSP, который возвращает неправильное количество байтов, отправленных через интерфейс, может привести к тому, что приложения войдут в бесконечную петлю, ожидая, пока сетевой стек укажет, что данные были отправлены. Еще одна большая проблема с LSP заключалась в том, что если они будут удалены или неправильно зарегистрированы, или если LSP будет с ошибками, это приведет к повреждению каталога Winsock в реестре, и весь стек TCP / IP сломается, и компьютер больше не сможет получить доступ к сети. Технология LSP часто используется шпионскими программами и рекламными программами для перехвата связи через Интернет. Например, вредоносное ПО может вставлять себя в качестве LSP в сетевой стек и перенаправлять весь трафик пользователя на неавторизованный внешний сайт, где он может быть добыт для поиска интересов пользователя, чтобы бомбардировать его целевой рекламой, а также спамом. Если вредоносный LSP не удаляется правильно, старые версии Windows могут остаться без рабочего сетевого соединения. Такая потенциальная потеря всей сетевой связи предотвращается в Windows XP Service Pack 2, Windows Server 2003 Service Pack 1 и всех более поздних операционных системах Windows, в которых Winsock имеет возможность самовосстанавливаться после того, как пользователь удаляет такую LSP. Установленные LSP можно просматривать с помощью XP/Vista Windows Defender's Software Explorer или с помощью сторонних утилит.