Saatavilla on USB Raw Gadget, Linux-moduuli USB-laitteiden emulointiin

Andrey Konovalov Googlesta kehittää uutta moduulia USB Raw -gadget, sallimalla emuloida USB-laitteita käyttäjätilassa. On odottamassa pyyntö sisällyttääksesi tämän moduulin Linux-ytimen pääosaan. USB Raw Gadget jo sovellettu Googlella helpottaakseen ytimen USB-pinon fuzz-testausta työkalupakin avulla syzkaller.

Moduuli lisää uuden ohjelmointirajapinnan ytimen alijärjestelmään USB-gadget ja sitä kehitetään vaihtoehtona GadgetFS:lle. Uuden API:n luominen johtuu tarpeesta saada matalan tason ja suora pääsy USB Gadget -alijärjestelmään käyttäjätilasta, jolloin se pystyy käsittelemään kaikki mahdolliset USB-pyynnöt (GadgetFS käsittelee osan pyynnöistä itse välittämättä niitä käyttäjälle tilaa). USB Raw Gadgetia hallitaan /dev/raw-gadget-laitteen kautta, kuten /dev/gadget GadgetFS:ssä, mutta vuorovaikutuksessa käytetään ioctl()-pohjaista käyttöliittymää pseudoFS:n sijaan.

Sen lisäksi, että uusi käyttöliittymä käsittelee suoraan kaikki USB-pyynnöt käyttäjätilaprosessilla, uudessa käyttöliittymässä on myös mahdollisuus palauttaa mitä tahansa dataa vastauksena USB-pyyntöön (GadgetFS suorittaa USB-kuvaustarkistuksen ja suodattaa tietyt vastaukset, mikä estää virheiden havaitsemisen USB:n aikana pinon fuzzing-testaus). Raw Gadgetissa voit myös valita tietyn UDC-laitteen (USB Device Controller) ja ohjaimen liitettäväksi, kun taas GadgetFS liitetään ensimmäiseen saatavilla olevaan UDC-laitteeseen. Eri UDC:ille annetut ennakoitavat nimet päätepiste erityyppisten tiedonsiirtokanavien erottamiseen yhden laitteen sisällä.

Lähde: opennet.ru

Lisää kommentti