linuxusb

El protocolo RNDIS de Microsoft, abreviatura de Remote Network Driver Interface Specification (Especificación de Interfaz de Controlador de Red Remoto), es un protocolo USB propietario para la funcionalidad Ethernet virtual en ordenadores.

El caso de uso más común sería utilizar la red móvil de tu teléfono para conectarte a Internet en tu ordenador a través de USB, también conocido como Tethering.

Aunque funciona principalmente en Windows, ya hace tiempo que forma parte del kernel de Linux.

Greg Kroah-Hartman creó la rama usb.git rndis-removal, donde menciona desactivar la implementación de todos los controladores del protocolo RNDIS en Linux.

Con el commit, menciona:

El protocolo RNDIS de Microsoft es, tal y como está diseñado, inseguro y vulnerable en cualquier sistema que lo utilice con hosts o dispositivos no confiables. Debido a que el protocolo es imposible hacerlo seguro, basta con deshabilitar todos los controladores rndis para para evitar que alguien los vuelva a utilizar.

Windows sólo necesitaba esto para XP y sistemas más nuevos, los sistemas Windows anteriores a eso pueden utilizar los protocolos normales de clase USB en su lugar, que no tienen estos problemas.

Android ha tenido esto desactivado durante muchos años por lo que no debe haber ningún sistemas reales que todavía necesitan esto.

Cuestiones de seguridad

En el próximo ciclo del kernel de Linux podríamos ver cómo Upstream deshabilita la compatibilidad de sus controladores con el protocolo RNDIS (Remote Network Driver Interface Specification) de Microsoft por motivos de seguridad.

RNDIS es el protocolo propietario utilizado sobre USB para la funcionalidad Ethernet virtual, pero su soporte fuera de Microsoft Windows ha sido desigual. No se utiliza en entornos multiplataforma y, debido a problemas de seguridad, el núcleo de Linux está intentando mover los controladores del núcleo RNDIS detrás de la opción "BROKEN" de Kconfig para que queden deshabilitados en futuras versiones del núcleo.

En última instancia, una vez marcados como "BROKEN" durante un tiempo, es probable que los controladores se eliminen finalmente del árbol de código fuente upstream.

Greg Kroah-Hartman escribió en un commit: "El protocolo RNDIS de Microsoft es, tal y como está diseñado, inseguro y vulnerable en cualquier sistema que lo utilice con hosts o dispositivos que no sean de confianza. Dado que el protocolo es imposible de hacer seguro, basta con deshabilitar todos los controladores rndis para evitar que nadie vuelva a utilizarlos."

¿Qué es RNDIS?

La Especificación de Interfaz de Controlador de Red Remota (RNDIS) es un protocolo propietario de Microsoft que se utiliza principalmente sobre USB. Proporciona un enlace Ethernet virtual a la mayoría de las versiones de los sistemas operativos Windows, Linux y FreeBSD. Microsoft dispone de múltiples revisiones de una especificación RNDIS parcial, pero se ha observado que las implementaciones de Windows emiten peticiones no incluidas en dicha especificación y tienen restricciones no documentadas.

El protocolo está estrechamente vinculado a las interfaces y modelos de programación de Microsoft, sobre todo a la Especificación de Interfaz de Controlador de Red (NDIS), que son ajenas a los sistemas operativos distintos de Windows. Esto complica la implementación de RNDIS en sistemas operativos que no sean Microsoft, pero Linux, FreeBSD, NetBSD y OpenBSD implementan RNDIS de forma nativa.

El USB Implementers Forum (USB-IF) define al menos tres protocolos no propietarios USB communications device class (USB CDC) con funcionalidad de "Ethernet virtual" comparable; uno de ellos (CDC-ECM) es anterior a RNDIS y se utiliza ampliamente para la interoperabilidad con sistemas operativos que no son de Microsoft, pero no funciona con Windows.

La mayoría de las versiones de Android incluyen la funcionalidad RNDIS USB. Por ejemplo, los teléfonos inteligentes de Samsung tienen la capacidad y utilizan RNDIS sobre USB para funcionar como una tarjeta Ethernet virtual que conectará el PC host a la red móvil o Wi-Fi en uso por el teléfono, funcionando efectivamente como un módem de banda ancha móvil o una tarjeta inalámbrica, para tethering de hotspot móvil.

 

Fuente: somoslibres

 

¿Quién está en línea?

Hay 21718 invitados y ningún miembro en línea