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 navegadores web a sitios web fraudulentos o para bloquear el acceso a sitios comoActualización de Windows . Alternativamente, un programa de seguridad informática podría escanear el tráfico de la red en busca de virus u otras amenazas. La API de Winsock Service Provider Interface (SPI) proporciona un mecanismo para superponer proveedores entre sí. 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 de Winsock.
Detalles
A diferencia de la conocida API de Winsock 2, que está cubierta por numerosos libros, documentación y ejemplos, la SPI de Winsock 2 está relativamente inexplorada. Winsock 2 SPI es implementado por proveedores de servicios de transporte de red y proveedores de servicios de resolución de espacios de nombres. Winsock 2 SPI 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 un software de filtrado de URL especializado para evitar que los navegadores web accedan a ciertos sitios, independientemente del navegador instalado en el escritorio. Winsock 2 SPI 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 espacio de nombres son servicios que asocian los atributos de direccionamiento de un protocolo de red con uno o más nombres amigables para el ser humano y permiten la resolución de nombres independiente del protocolo. El SPI también le permite desarrollar dos tipos de proveedores de servicios de transporte: proveedores de servicios básicos y por capas.
Los proveedores de servicios básicos implementan los detalles reales de un protocolo de transporte: configuran 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 alto nivel y confían en 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 de transporte SPI se hacen accesibles para ws2_32.dll o un proveedor de capas de cadena superior a través de la tabla de despacho del LSP . Los LSP y los proveedores de base se unen para formar una cadena de protocolo. La DLL de LSP debe registrarse utilizando un registrante de LSP especial que instruya 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, soltar 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 flujos. Oler el tráfico de red a través de 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 rastreo de proxy de LSP y Winsock es que permiten capturar el tráfico desde una sola aplicación y también permiten que el tráfico que va a localhost (127.0.0.1) sea olfateado en Windows. [1]
Hay dos tipos de LSP: IFS y no IFS LSP. Actualmente, la mayoría de los LSP del mercado no son IFS. La diferencia entre los dos LSP es que los LSP que no son 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 de Winsock 2. Los IFS LSP, por otro lado, conservan el identificador del zócalo, lo que permite que el LSP implemente solo las funciones que desea interceptar. Los IFS LSP tienen un impacto en el rendimiento mucho menor que los que no son IFS LPS, pero están limitados por el hecho de que no pueden inspeccionar ni modificar datos en la ruta de recepción.
Desactivación y derivación de LSP
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.
Problemas de corrupción
Un problema importante con los LSP es que cualquier error en el LSP puede hacer que las aplicaciones se rompan. Por ejemplo, un LSP que devuelve el número incorrecto de bytes enviados a través de una interfaz puede hacer que las aplicaciones entren en un bucle infinito mientras esperan que la pila de red indique que se han enviado datos.
Otro problema común importante con los LSP era que si se eliminaban o anulaban su registro incorrectamente o si el LSP tenía errores, se dañaría el catálogo de Winsock en el registro, y toda la pila de TCP / IP se rompería y la computadora podría dañarlo. ya no acceda a la red.
La tecnología LSP a menudo es explotada por programas de software espía y publicitario para interceptar la comunicación a través de Internet. Por ejemplo, el malware puede insertarse como un LSP en la pila de la 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 dirigidos, también. como correo electrónico no deseado. Si un LSP de malware no se elimina correctamente, es posible que las versiones anteriores de Windows se queden sin una conexión de red que funcione.
Tal pérdida potencial 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 de Windows posteriores, en los que Winsock tiene la capacidad de recuperarse automáticamente después de que un usuario desinstala dicho LSP. [4]
LSP instalados se pueden ver usando el XP / Vista Windows Defender 's Explorador de software o el uso de utilidades de terceros.
Referencias
- Desentrañando los misterios de escribir un proveedor de servicios en capas Winsock 2 - Microsoft Systems Journal
- Categorización de LSP y aplicaciones
enlaces externos
- El 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": Video de la misma presentación -