USB Raw Gadget, en Linux-modul for å emulere USB-enheter, er tilgjengelig

Andrey Konovalov fra Google utvikler en ny modul USB Raw Gadget, tillater emulere USB-enheter i brukerområdet. Venter be om for inkludering av denne modulen i hoved Linux-kjernen. USB Raw Gadget allerede gjelder hos Google for å forenkle fuzz-testing av USB-kjernestabelen ved hjelp av verktøy syzkaller.

Modulen legger til et nytt programmeringsgrensesnitt til kjerneundersystemet USB-gadget og utvikles som et alternativ til GadgetFS. Opprettelsen av et nytt API ble drevet av behovet for å få lavt nivå og direkte tilgang til USB Gadget-delsystemet fra brukerplass, slik at det kan behandle alle mulige USB-forespørsler (GadgetFS behandler noen forespørsler uavhengig, uten å overføre det til brukerområdet) . USB Raw Gadgeten styres gjennom /dev/raw-gadget-enheten, lik /dev/gadget i GadgetFS, men interaksjonen bruker et ioctl()-basert grensesnitt i stedet for en pseudo-FS.

I tillegg til direkte behandling av alle USB-forespørsler av en prosess i brukerrommet, har det nye grensesnittet også muligheten til å returnere alle data som svar på en USB-forespørsel (GadgetFS sjekker riktigheten av USB-beskrivelser og filtrerer visse svar, noe som forhindrer deteksjonen av feil under fuzz-testing av USB-stakken). Raw Gadget gir deg også muligheten til å velge en spesifikk UDC (USB Device Controller) enhet og driver å koble til, mens GadgetFS kobles til den første tilgjengelige UDC-enheten. Forutsigbare navn tildeles forskjellige UDC-er endepunkt å skille forskjellige typer datautvekslingskanaler innenfor én enhet.

Kilde: opennet.ru

Legg til en kommentar