El Proveedor de Servicios en Capas (LSP) es una característica obsoleta de la Interfaz de Proveedor de Servicios (SPI) de Winsock 2 de Microsoft Windows . 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 se produce 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 navegadores web a sitios web maliciosos o para bloquear el acceso a sitios como Windows Update . Alternativamente, un programa de seguridad informática podría analizar 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 control parental en Windows Vista es un LSP. El orden de jerarquía de todos los proveedores se guarda en el catálogo de Winsock.
Detalles
A diferencia de la conocida API de Winsock 2, que cuenta con numerosos libros, documentación y ejemplos, la SPI de Winsock 2 es relativamente poco explorada. La SPI de 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 de Winsock 2 se puede utilizar para extender un proveedor de servicios de transporte existente mediante la implementación de un proveedor de servicios en capas (LSP). 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 especializado de filtrado de URL para impedir que los navegadores web accedan a ciertos sitios, independientemente del navegador instalado en el equipo. La SPI de Winsock 2 permite a los desarrolladores de software crear dos tipos diferentes de proveedores de servicios: de transporte y de espacio de nombres. Los proveedores de transporte (comúnmente denominados pilas de protocolos) son servicios que proporcionan funciones para establecer conexiones, transferir datos, controlar el flujo, gestionar 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 fáciles de recordar y permiten la resolución de nombres independiente del protocolo. La interfaz SPI también permite desarrollar dos tipos de proveedores de servicios de transporte: proveedores de servicios base y proveedores de servicios en capas.
Los proveedores de servicios base implementan los detalles de un protocolo de transporte: establecen conexiones, transfieren datos y gestionan el flujo y el control de errores. Los proveedores de servicios en capas implementan únicamente funciones de comunicación personalizadas de nivel superior y dependen de un proveedor base subyacente existente para el intercambio de datos 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 son accesibles para ws2_32.dll o un proveedor de capa superior a través de la tabla de despacho del LSP . Los LSP y los proveedores base se combinan para formar una cadena de protocolos. La DLL del LSP debe registrarse mediante un registrador de LSP especial que 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 de Winsock 2 antes de que sean procesados por ws2_32.dll; por lo tanto, pueden modificar los comandos, descartarlos o simplemente registrar los datos, lo que los convierte en una herramienta útil para malware, filtros de red, interceptores de red y analizadores de flujo. Analizar el tráfico de red mediante LSP a veces puede ser problemático, ya que los proveedores de antivirus suelen marcar dicha 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 análisis de tráfico de proxy LSP y Winsock es que permiten capturar el tráfico de una sola aplicación y también permiten analizar el tráfico que va a localhost (127.0.0.1) en Windows. [ 1 ]
Existen dos tipos de LSP: IFS y no IFS. Actualmente, la mayoría de los LSP disponibles en el mercado son no IFS. La diferencia radica en que los LSP no IFS modifican el identificador del socket a un identificador IFS de Windows no válido, por lo que deben implementar todos los métodos de Winsock 2. Los LSP IFS, en cambio, conservan el identificador del socket, lo que les permite implementar únicamente las funciones que desean interceptar. Los LSP IFS tienen un impacto mucho menor en el rendimiento que los LSP no IFS, pero su limitación reside en que no pueden inspeccionar ni modificar los datos en la ruta de recepción.
Obsolescencia y derivación de LSP
Las LSP se han dejado de usar desde Windows Server 2012. [ 2 ] Los sistemas que incluyen LSP no superarán las comprobaciones del logotipo de Windows. [ 3 ] Las aplicaciones "metro" de estilo Windows 8 que utilizan redes omitirán automáticamente todas las 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.
Problemas de corrupción
Un problema importante con las LSP es que cualquier error en ellas puede provocar fallos en las aplicaciones. Por ejemplo, una LSP que devuelve un número incorrecto de bytes enviados a través de una interfaz puede causar que las aplicaciones entren en un bucle infinito mientras esperan a 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 se daban de baja incorrectamente, o si el LSP tenía errores, se producía una corrupción del catálogo de Winsock en el registro, toda la pila TCP/IP se rompía y el ordenador ya no podía acceder a la red.
La tecnología LSP suele ser aprovechada por programas espía y publicitarios para interceptar la comunicación en internet. Por ejemplo, el malware puede insertarse como un LSP en la pila de red y redirigir todo el tráfico del usuario a un sitio externo no autorizado, donde puede extraer datos para descubrir sus intereses y bombardearlo con publicidad dirigida y correo basura . Si un LSP malicioso no se elimina correctamente, las versiones antiguas de Windows pueden quedar sin conexión a internet.
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 autorrepararse después de que un usuario desinstale dicho LSP. [ 4 ]
Los LSP instalados se pueden visualizar mediante el Explorador de software de Windows Defender (XP/Vista) o mediante utilidades de terceros.
Referencias
- Descifrando los misterios de la escritura de un proveedor de servicios en capas para Winsock 2 - Revista de Sistemas de Microsoft
- Clasificación de proveedores de servicios lingüísticos y aplicaciones
Enlaces externos
- Un nuevo troyano de PowerPoint se instala como LSP.
- El "lado oscuro de Winsock": PDF de una presentación de DefCon que trata sobre la creación y explotación de proveedores de servicios en capas de Winsock.
- El "lado oscuro de Winsock": Vídeo de la misma presentación -
- Interfaces de programación de aplicaciones de Microsoft
- Comunicación y servicios de Windows