El proveedor de servicios en capas (LSP) es una característica obsoleta de la interfaz de proveedor de servicios (SPI) de Microsoft Windows Winsock 2. Un proveedor de servicios en capas es una DLL que utiliza las API de Winsock para intentar insertarse en la pila de protocolos TCP/IP . Una vez en la pila, un proveedor de servicios en capas puede interceptar y modificar el tráfico de Internet entrante y saliente. Permite procesar todo el tráfico TCP/IP que tiene lugar entre Internet y las aplicaciones que acceden a Internet (como un navegador web, el cliente de correo electrónico, etc.). Por ejemplo, podría ser utilizado por malware para redirigir los navegadores web a sitios web fraudulentos o para bloquear el acceso a sitios como Windows Update . Alternativamente, un programa de seguridad informática podría escanear el tráfico de red en busca de virus u otras amenazas. La API de la interfaz de proveedor de servicios (SPI) de Winsock proporciona un mecanismo para superponer proveedores. Los LSP de Winsock están disponibles para una variedad de propósitos útiles, incluidos los controles parentales y el filtrado de contenido web. El filtro web de controles parentales en Windows Vista es un LSP. El orden de capas de todos los proveedores se mantiene en el catálogo Winsock.
A diferencia de la conocida API Winsock 2, que se trata en numerosos libros, documentación y ejemplos, la SPI Winsock 2 es relativamente inexplorada. La SPI Winsock 2 es implementada por proveedores de servicios de transporte de red y proveedores de servicios de resolución de espacios de nombres. La SPI Winsock 2 se puede utilizar para ampliar un proveedor de servicios de transporte existente mediante la implementación de un proveedor de servicios en capas. Por ejemplo, la calidad de servicio (QoS) en Windows 98 y Windows 2000 se implementa como un LSP sobre la pila de protocolos TCP/IP . Otro uso de los LSP sería desarrollar software de filtrado de URL especializado para evitar que los navegadores web accedan a determinados sitios, independientemente del navegador instalado en un escritorio. La SPI Winsock 2 permite a los desarrolladores de software crear dos tipos diferentes de proveedores de servicios: transporte y espacio de nombres. Los proveedores de transporte (comúnmente denominados pilas de protocolos) son servicios que proporcionan funciones que establecen conexiones, transfieren datos, ejercen control de flujo, control de errores, etc. Los proveedores de espacios de nombres son servicios que asocian los atributos de direccionamiento de un protocolo de red con uno o más nombres descriptivos y permiten la resolución de nombres independiente del protocolo. La SPI también permite desarrollar dos tipos de proveedores de servicios de transporte: proveedores de servicios básicos y en capas.
Los proveedores de servicios básicos implementan los detalles reales de un protocolo de transporte: establecen conexiones, transfieren datos y ejercen control de flujo y control de errores. Los proveedores de servicios en capas implementan solo funciones de comunicación personalizadas de nivel superior y dependen de un proveedor base subyacente existente para el intercambio de datos real con un punto final remoto.
Los LSP de Winsock 2 se implementan como DLL de Windows con una única función de entrada exportada , WSPStartup . Todas las demás funciones SPI de transporte se hacen accesibles a ws2_32.dll o a un proveedor de capas de la cadena superior a través de la tabla de despacho del LSP . Los LSP y los proveedores base se unen para formar una cadena de protocolos. La DLL del LSP debe registrarse utilizando un registrante de LSP especial que le indica a Winsock 2 el orden de carga de los LSP (puede haber más de un LSP instalado) y qué protocolos interceptar.
Los LSP funcionan interceptando los comandos Winsock 2 antes de que sean procesados por ws2_32.dll; por lo tanto, pueden modificar los comandos, descartar un comando o simplemente registrar los datos, lo que los convierte en una herramienta útil para malware, filtros de red, interceptores de red y rastreadores basados en flujo. Rastrear el tráfico de red a través de LSP a veces puede ser problemático, ya que los proveedores de antivirus generalmente marcan esa actividad como maliciosa; por lo tanto, un analizador de paquetes de red es una mejor alternativa para capturar el tráfico de red.
Una característica del rastreo de proxy LSP y Winsock es que permiten capturar tráfico desde una única aplicación y también permiten rastrear el tráfico que va al host local (127.0.0.1) en Windows. [1]
Existen dos tipos de LSP: LSP IFS y LSP no IFS. Actualmente, la mayoría de los LSP del mercado no son IFS. La diferencia entre ambos LSP es que los LSP no IFS modifican el identificador del socket a un identificador IFS de Windows no válido y, por lo tanto, el LSP debe implementar todos los métodos Winsock 2. Los LSP IFS, por otro lado, conservan el identificador del socket, lo que permite al LSP implementar solo las funciones que desea interceptar. Los LSP IFS tienen un impacto mucho menor en el rendimiento que los LPS no IFS, pero están limitados por el hecho de que no pueden inspeccionar ni modificar datos en la ruta de recepción.
Los LSP han quedado obsoletos desde Windows Server 2012. [ 2] Los sistemas que incluyen LSP no pasarán las comprobaciones del logotipo de Windows. [3] Las aplicaciones "metro" de estilo Windows 8 que utilizan redes omitirán automáticamente todos los LSP. La plataforma de filtrado de Windows proporciona una funcionalidad similar y es compatible tanto con las aplicaciones "metro" de estilo Windows 8 como con las aplicaciones de escritorio convencionales.
Un problema importante con los LSP es que cualquier error en el LSP puede provocar que las aplicaciones dejen de funcionar. Por ejemplo, un LSP que devuelve una cantidad incorrecta de bytes enviados a través de una interfaz puede provocar que las aplicaciones entren en un bucle infinito mientras esperan que la pila de red indique que se han enviado los datos.
Otro problema común importante con los LSP era que si se eliminaban o anulaban el registro de forma incorrecta o si el LSP tenía errores, se corrompería el catálogo de Winsock en el registro y se rompería toda la pila TCP/IP y la computadora ya no podría acceder a la red.
La tecnología LSP suele ser utilizada por programas espía y publicitarios para interceptar las comunicaciones a través de Internet. Por ejemplo, el malware puede insertarse como un LSP en la pila de red y reenviar todo el tráfico del usuario a un sitio externo no autorizado, donde se pueden extraer datos para encontrar los intereses del usuario y bombardearlo con anuncios personalizados y correo electrónico no deseado. Si un LSP de malware no se elimina correctamente, las versiones anteriores de Windows pueden quedar sin una conexión de red que funcione.
Esta posible pérdida de toda la conectividad de red se evita en Windows XP Service Pack 2, Windows Server 2003 Service Pack 1 y todos los sistemas operativos Windows posteriores, en los que Winsock tiene la capacidad de autocurarse después de que un usuario desinstala dicho LSP. [4]
Los LSP instalados se pueden ver utilizando el Explorador de software de Windows Defender XP/Vista o utilizando utilidades de terceros.