Andrej Konovalov iz podjetja Google razvija nov modul. , za emulacijo USB naprav v uporabniškem prostoru. Je v obravnavi. za vključitev tega modula v glavno jedro Linuxa. USB Raw Gadget je že v podjetju Google za poenostavitev fuzzing testiranja USB sklada jedra z uporabo orodij. .
Modul dodaja nov programski vmesnik v podsklop jedra in se razvija kot alternativo GadgetFS. Ustvarjanje novega API je posledica potrebe po nizko nivojskem in neposrednem dostopu do podsklopa USB Gadget iz uporabniškega prostora, kar omogoča obdelavo vseh mogočih USB zahtev (GadgetFS obdeluje nekatere zahteve samostojno, ne da bi jih prenesel v uporabniški prostor). Upravljanje USB Raw Gadget poteka preko naprave /dev/raw-gadget, podobno kot /dev/gadget v GadgetFS, vendar se uporablja vmesnik na osnovi ioctl(), ne pa pseudo-FS.
Poleg neposredne obdelave vseh USB zahtev s procesom v uporabniškem prostoru, nov vmesnik izstopa tudi po možnosti vračanja poljubnih podatkov kot odgovor na USB zahteve (GadgetFS izvaja preverjanje pravilnosti USB descriptorjev in filtrira določene odgovore, kar otežuje odkrivanje napak med fuzzing testiranjem USB sklada). Raw Gadget omogoča tudi izbiro določenega naprave UDC (USB Device Controller) in gonilnika za priključitev, medtem ko se GadgetFS priključi na prvo razpoložljivo napravo UDC. Različnim UDC so dodeljena predvidljiva imena. za ločevanje različnih tipov kanalov za izmenjavo podatkov znotraj iste naprave.
Izvor: opennet.ru
