Многоуровневый поставщик услуг (LSP) является устаревшей функцией интерфейса поставщика услуг Microsoft Windows Winsock 2 (SPI). Многоуровневый поставщик услуг - это DLL, которая использует API Winsock для попытки вставить себя в стек протокола TCP / IP . Попав в стек, многоуровневый поставщик услуг может перехватывать и изменять входящий и исходящий Интернет-трафик. Он позволяет обрабатывать весь трафик TCP / IP между Интернетом и приложениями, которые обращаются к Интернету (например, веб-браузером, почтовым клиентом и т. Д.). Например, он может использоваться вредоносными программами для перенаправления веб-браузеров на мошеннические веб-сайты или для блокировки доступа к таким сайтам, какЦентр обновления Windows . Кроме того, программа компьютерной безопасности может сканировать сетевой трафик на наличие вирусов или других угроз. API Winsock Service Provider Interface (SPI) предоставляет механизм для размещения поставщиков друг над другом. LSP Winsock доступны для ряда полезных целей, включая родительский контроль и фильтрацию веб-содержимого. Веб-фильтр родительского контроля в Windows Vista - это LSP. Порядок размещения всех поставщиков сохраняется в каталоге Winsock.
Подробности
В отличие от хорошо известного Winsock 2 API, который описан в многочисленных книгах, документации и примерах, Winsock 2 SPI относительно не изучен. Winsock 2 SPI реализуется поставщиками услуг сетевого транспорта и поставщиками услуг разрешения пространств имен. Winsock 2 SPI можно использовать для расширения существующего поставщика транспортных услуг путем реализации многоуровневого поставщика услуг. Например, качество обслуживания (QoS) в Windows 98 и Windows 2000 реализовано как LSP через стек протоколов TCP / IP . Другой вариант использования LSP - это разработка специализированного программного обеспечения для фильтрации URL-адресов для предотвращения доступа веб-браузеров к определенным сайтам, независимо от браузера, установленного на рабочем столе. Winsock 2 SPI позволяет разработчикам программного обеспечения создавать два разных типа поставщиков услуг - транспорт и пространство имен. Поставщики транспортных услуг (обычно называемые стеками протоколов) - это службы, которые предоставляют функции, которые устанавливают соединения, передают данные, осуществляют управление потоком, контроль ошибок и т. Д. Поставщики пространства имен - это службы, которые связывают атрибуты адресации сетевого протокола с одним или несколькими понятными для человека именами и обеспечивают независимое от протокола разрешение имен. SPI также позволяет разрабатывать два типа поставщиков транспортных услуг - базовых и многоуровневых поставщиков услуг.
Базовые поставщики услуг реализуют фактические детали транспортного протокола: настройку соединений, передачу данных, а также контроль потока и контроль ошибок. Поставщики многоуровневых услуг реализуют только настраиваемые функции связи более высокого уровня и полагаются на существующего базового поставщика для фактического обмена данными с удаленной конечной точкой.
Winsock 2 LSPs реализуются как Windows , библиотек DLL с одной экспортированной ввода функции , WSPStartup . Все другие функции транспортного SPI доступны для ws2_32.dll или вышестоящего уровня провайдера через таблицу диспетчеризации LSP . LSP и базовые поставщики связаны друг с другом, образуя цепочку протоколов. LSP DLL необходимо зарегистрировать с помощью специального регистратора LSP, который указывает Winsock 2 порядок загрузки LSP (может быть установлено более одного LSP) и какие протоколы следует перехватывать.
LSP работают, перехватывая команды Winsock 2 до того, как они будут обработаны ws2_32.dll; поэтому они могут изменять команды, отбрасывать команду или просто регистрировать данные, что делает их полезным инструментом для вредоносных программ, сетевых фильтров, сетевых перехватчиков и снифферов на основе потоков. Отслеживание сетевого трафика через LSP иногда может быть проблематичным, поскольку поставщики антивирусных программ обычно помечают такую активность как вредоносную - поэтому анализатор сетевых пакетов является лучшей альтернативой для перехвата сетевого трафика.
Особенностью прокси-сниффинга LSP и Winsock является то, что они позволяют перехватывать трафик из одного приложения, а также позволяют анализировать трафик, идущий на localhost (127.0.0.1) в Windows. [1]
Существует два типа LSP: IFS и LSP без IFS. В настоящее время большинство LSP на рынке не являются IFS. Разница между двумя LSP заключается в том, что LSP без IFS изменяют дескриптор сокета на недействительный дескриптор Windows IFS, и поэтому LSP должен реализовывать все методы Winsock 2. С другой стороны, LSP IFS сохраняют дескриптор сокета, что позволяет LSP реализовывать только те функции, которые он хочет перехватить. IFS LSP оказывают гораздо меньшее влияние на производительность, чем LPS без IFS, но они ограничены тем фактом, что они не могут проверять или изменять данные на пути приема.
Устаревание и обход LSP
LSP устарели с Windows Server 2012 . [2] Системы, содержащие LSP, не проходят проверку на наличие логотипа Windows. [3] Приложения в стиле Windows 8, использующие сеть, автоматически обходят все LSP. Windows Filtering Platform предоставляет аналогичные функциональные возможности и совместим как с Windows 8 стиля «метро» приложений и обычных настольных приложений.
Проблемы с коррупцией
Основная проблема с LSP заключается в том, что любые ошибки в LSP могут вызвать сбой приложений. Например, LSP, который возвращает неправильное количество байтов, отправленных через интерфейс, может привести к тому, что приложения войдут в бесконечный цикл, ожидая, пока сетевой стек не укажет, что данные были отправлены.
Другая основная распространенная проблема с LSP заключалась в том, что, если бы они были удалены или отменили регистрацию неправильно или если LSP был ошибочным, это привело бы к повреждению каталога Winsock в реестре, и весь стек TCP / IP сломался бы, и компьютер мог больше не доступ к сети.
Технология LSP часто используется шпионскими и рекламными программами для перехвата сообщений в Интернете. Например, вредоносная программа может вставлять себя в качестве LSP в сетевой стек и перенаправлять весь трафик пользователя на неавторизованный внешний сайт, где он может быть добыт данными, чтобы найти интересы пользователя, а также засыпать его / ее целевой рекламой. как спам по электронной почте. Если вредоносный LSP не удален правильно, старые версии Windows могут остаться без рабочего сетевого подключения.
Такая потенциальная потеря всех сетевых подключений предотвращается в Windows XP с пакетом обновления 2, Windows Server 2003 с пакетом обновления 1 и во всех более поздних операционных системах Windows, в которых Winsock имеет возможность самовосстановления после удаления пользователем такого LSP. [4]
Установленные LSPs можно просматривать с помощью XP / Vista Защитник Windows «s Software Explorer , или с помощью сторонних утилит.