USB Raw Gadget, ydinmoduuli, joka sallii emuloida USB-laitteita

USB Raw -gadget

Jo joissakin tilanteissa täällä blogissa olemme puhuneet Andrey Konovalovin tekemästä työstä (Google-kehittäjä) Linuxissa, hänen työstään havaita viat ajoissa Linux-ytimen USB-ohjaimissa ja myös Wifi-laitteissa.

Nyt hän työskentelee parhaillaan uuden moduulin kehittäminen Linux-ytimelle, jonka hän on nimittänyt "USB Raw Gadget" joka kuvaa apuohjelmaa, joka sallii USB-laitteiden jäljittelemisen käyttäjän tilassa.

Sen lisäksi mainitsee, että sovellusta harkitaan tämän moduulin sisällyttämiseksi Linuxin ytimeen. Google käyttää jo Google Raw -gadgetia USB-ytimen pinon sumean testauksen yksinkertaistamiseen syzkaller-työkalupakilla.

Alun perin käytin GadgetFS: ää (yhdessä Dummy HCD / UDC -moduulin kanssa) jäljittelemään USB-laitteita fuusiointia varten, mutta sitten se vaihdettiin mukautettuun kirjoitettuun käyttöliittymään.

Kannustin toisen käyttöliittymän toteuttamiseen oli tarjota pikakuvake ja hieman raaka pääsy USB-gadget-kerrokseen käyttäjän tilaa varten, jossa kukin USB-pyyntö välitetään käyttäjän tilaan vastausta varten.

Tietoja USB Raw Gadgetista

Moduuli huolehtii uuden käyttöliittymän lisäämisestä ohjelmointi ytimen alijärjestelmään nimeltään "USB Gadget" ja jota kehitetään vaihtoehtona GadgetFS: lle.

Uuden sovellusliittymän luominen johtuu suoran ja matalan tason pääsyn tarpeesta Gadget USB -alijärjestelmään käyttäjän tilasta, jolloin kaikki mahdolliset USB-pyynnöt voidaan käsitellä (GadgetFS käsittelee joitain pyyntöjä itse siirtämättä niitä käyttäjän tilaan).

USB Raw Gadget -ohjelmaa ohjataan / dev / raw-gadget -laitteen kautta analogisesti / dev / gadgetin kanssa GadgetFS: ssä, mutta vuorovaikutukseen käytetään ioctl () -pohjaista käyttöliittymää pseudo-FS: n sijaan.

Sen lisäksi, että kaikki käyttöliittymän prosessit käsittelevät kaikki USB-pyynnöt suoraan, uudella käyttöliittymällä on myös mahdollisuus palauttaa kaikki tiedot vastauksena USB-pyyntöön (GadgetFS tarkistaa USB-kuvailijoiden oikeellisuuden ja suodattaa tietyt vastaukset, mikä häiritsee virheen havaitseminen USB-pinon selvitystestin aikana).

USB Raw Gadget -ohjelman avulla voit myös valita tietyn UDC-laitteen (USB-laiteohjain) ja ohjain yhdistettäväksi, kun GadgetFS muodostaa yhteyden ensimmäiseen käytettävissä olevaan UDC-laitteeseen.

Eri UDC: n kohdalla ennustettavat päätepisteiden nimet kartoitetaan erityyppisiin erillisiin tietoliikennekanaviin yhdessä laitteessa.

Lopuksi, jos haluat tietää enemmän siitä, voit tarkistaa yksityiskohdat sekä lokin USB Raw Gadgetissa tehdyistä muutoksista Seuraavassa linkissä.

Kuinka asentaa Raw Gadget USB -moduuli Linuxiin?

Niille, jotka ovat kiinnostuneita testaamaan tätä moduulia järjestelmässään, he voivat tehdä sen seuraamalla tässä yksityiskohtaisia ​​ohjeita.

Nuken HCD / UDC: lle (moduuli, joka määrittää virtuaaliset USB-laitteet ja isäntäohjaimet, jotka on kytketty toisiinsa ytimen sisällä). Meidän on avattava pääte ja siinä kirjoitetaan seuraava komento:

svn checkout https://github.com/xairy/raw-gadget/trunk/dummy_hcd

Tämän avulla aiomme hankkia kansion moduuleineen, jotka aiomme kääntää suorittamalla seuraavan komennon päätelaitteessa:

cd dummy_hcd

make

Asennamme ne seuraavilla tavoilla:

./insmod.sh

Jos haluamme päivittää moduulin, teemme sen seuraavilla tavoilla:

./update.sh

Nyt niille, jotka haluavat asentaa ytimen moduulin. Päätteestä aiomme hankkia tähän tarvittavat tiedostot suorittamalla seuraavan komennon:

svn checkout https://github.com/xairy/raw-gadget/trunk/raw_gadget

Tämän avulla aiomme hankkia kansion moduuleineen, jotka aiomme kääntää suorittamalla seuraavan komennon päätelaitteessa:

cd dummy_hcd

make

Asennamme ne seuraavilla tavoilla:

./insmod.sh

Jos haluamme päivittää moduulin, teemme sen seuraavilla tavoilla:

./update.sh

Voit tarkistaa työn sisään seuraava linkki. 


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.