USB Raw Gadget, un mòdul Linux per emular dispositius USB, està disponible

Andrey Konovalov de Google està desenvolupant un nou mòdul Gadget USB Raw, permetent emular dispositius USB a l'espai d'usuari. Està pendent sol·licitud per incloure aquest mòdul a la part principal del nucli Linux. USB Raw Gadget ja aplicat a Google per facilitar la prova de fuzz de la pila USB del nucli mitjançant el conjunt d'eines syzkaller.

El mòdul afegeix una nova interfície de programació al subsistema del nucli Gadget USB i s'està desenvolupant com una alternativa a GadgetFS. La creació d'una nova API es deu a la necessitat d'obtenir un accés directe i de baix nivell al subsistema USB Gadget des de l'espai d'usuari, que li permeti processar totes les possibles peticions USB (GadgetFS processa algunes sol·licituds per si mateix, sense passar-les a l'usuari). espai). El dispositiu USB Raw Gadget es gestiona mitjançant el dispositiu /dev/raw-gadget, de manera similar a /dev/gadget a GadgetFS, però la interacció utilitza una interfície basada en ioctl() en lloc d'una pseudo-FS.

A més de processar directament totes les sol·licituds USB mitjançant un procés d'espai d'usuari, la nova interfície també ofereix la possibilitat de retornar qualsevol dada en resposta a una sol·licitud USB (GadgetFS realitza la validació del descriptor USB i filtra determinades respostes, la qual cosa evita la detecció d'errors durant l'USB). prova de fuzzing de la pila). El Raw Gadget també us permet seleccionar un dispositiu i un controlador UDC (controlador de dispositiu USB) específics per connectar, mentre que GadgetFS s'adjunta al primer dispositiu UDC disponible. Noms previsibles assignats a diferents UDC punt final per separar diferents tipus de canals d'intercanvi de dades dins d'un mateix dispositiu.

Font: opennet.ru

Afegeix comentari