USB Raw Gadget, un módulo de Linux para emular dispositivos USB, está disponible

Andrey Konovalov de Google está desarrollando un nuevo módulo Dispositivo USB sin procesar, permitiendo emular dispositivos USB en el espacio del usuario. Pendiente solicitud para incluir este módulo en la parte principal del kernel de Linux. Gadget USB sin procesar ya aplica en Google para facilitar la prueba de fuzz de la pila USB del kernel usando el kit de herramientas sizkaller.

El módulo agrega una nueva interfaz de programación al subsistema del kernel. Dispositivo USB y se está desarrollando como una alternativa a GadgetFS. La creación de una nueva API se debe a la necesidad de obtener acceso directo y de bajo nivel al subsistema USB Gadget desde el espacio del usuario, lo que le permite procesar todas las solicitudes USB posibles (GadgetFS procesa algunas solicitudes por sí mismo, sin pasarlas al usuario). espacio). El USB Raw Gadget se administra a través del dispositivo /dev/raw-gadget, similar a /dev/gadget en GadgetFS, pero la interacción usa una interfaz basada en ioctl() en lugar de un pseudo-FS.

Además de procesar directamente todas las solicitudes de USB mediante un proceso de espacio de usuario, la nueva interfaz también presenta la capacidad de devolver cualquier dato en respuesta a una solicitud de USB (GadgetFS realiza la validación del descriptor de USB y filtra ciertas respuestas, lo que evita la detección de errores durante la ejecución de USB). pruebas de fuzzing de pila). Raw Gadget también le permite seleccionar un dispositivo y controlador UDC (controlador de dispositivo USB) específico para conectar, mientras que GadgetFS se conecta al primer dispositivo UDC disponible. Nombres predecibles asignados a diferentes UDC punto final para separar diferentes tipos de canales de intercambio de datos dentro de un dispositivo.

Fuente: opennet.ru

Añadir un comentario