USB Raw Gadget, en Linux-modul för att emulera USB-enheter, är tillgänglig

Andrey Konovalov från Google utvecklar en ny modul USB Raw Gadget, tillåter emulera USB-enheter i användarutrymmet. Väntar Ansökan för inkludering av denna modul i Linux-huvudkärnan. USB Raw Gadget redan applicerad på Google för att förenkla fuzz-testning av USB-kärnstacken med hjälp av verktyg syzkaller.

Modulen lägger till ett nytt programmeringsgränssnitt till kärnsubsystemet USB pryl och utvecklas som ett alternativ till GadgetFS. Skapandet av det nya API:et drevs av behovet att erhålla lågnivå och direkt åtkomst till USB Gadget-delsystemet från användarutrymmet, vilket gör att det kan behandla alla möjliga USB-förfrågningar (GadgetFS behandlar vissa förfrågningar oberoende, utan att skicka det till användarutrymmet) . USB Raw Gadget styrs genom /dev/raw-gadget-enheten, liknande /dev/gadget i GadgetFS, men interaktionen använder ett ioctl()-baserat gränssnitt snarare än ett pseudo-FS.

Förutom direkt bearbetning av alla USB-förfrågningar av en process i användarutrymmet, har det nya gränssnittet också möjligheten att returnera all data som svar på en USB-förfrågan (GadgetFS kontrollerar riktigheten av USB-beskrivningar och filtrerar vissa svar, vilket förhindrar upptäckten av fel under fuzz-testning av USB-stacken). Raw Gadget ger dig också möjlighet att välja en specifik UDC (USB Device Controller)-enhet och drivrutin att ansluta till, medan GadgetFS ansluter till den första tillgängliga UDC-enheten. Förutsägbara namn tilldelas olika UDC:er slutpunkt för att separera olika typer av datautbyteskanaler inom en enhet.

Källa: opennet.ru

Lägg en kommentar