„USB Raw Gadget“ - branduolio modulis, leidžiantis imituoti USB įrenginius

„USB Raw“ programėlė

Jau kai kuriais atvejais čia, tinklaraštyje, kalbėjome apie Andrejaus Konovalovo atliktą darbą („Google“ kūrėjas) „Linux“, nuo jo darbo laiku aptikus „Linux“ branduolio USB tvarkyklių ir „Wifi“ įrenginių gedimus.

Dabar jis šiuo metu dirba naujo „Linux“ branduolio modulio, kurį jis įvardijo, sukūrimas „USB Raw Gadget“ kuris apibūdinamas kaip įrankis, leidžiantis imituoti USB įrenginius vartotojo erdvėje.

neskaitant to mini, kad svarstoma programa, kaip šį modulį įtraukti į pagrindinį „Linux“ branduolį. „Google Raw Gadget“ jau naudoja „Google“, kad supaprastintų neryškų USB branduolio kamino testavimą naudojant „syzkaller“ įrankių rinkinį.

Iš pradžių aš naudodamas „GadgetFS“ (kartu su „Dummy HCD / UDC“ moduliu) mėgdžiodavau USB įrenginius, kad jie būtų sugadinti, bet tada jis buvo perjungtas į pritaikytą rašytinę sąsają.

Paskata diegti kitokią sąsają buvo suteikti tiesioginę ir šiek tiek neapdorotą prieigą prie „USB Gadget“ sluoksnio, kad vartotojas galėtų naudotis vieta, kur kiekviena USB užklausa perduodama vartotojo erdvei, kad gautų atsakymą.

Apie „USB Raw Gadget“

Modulis rūpinasi naujos sąsajos pridėjimu programavimas į branduolio posistemį vadinamas „USB Gadget“ ir kuris yra kuriamas kaip „GadgetFS“ alternatyva.

Naujos API sukūrimas priklauso nuo tiesioginės ir žemo lygio prieigos poreikio į „Gadget USB“ posistemį iš vartotojo vietos, leidžiant apdoroti visas įmanomas USB užklausas („GadgetFS“ kai kurias užklausas apdoroja pati, neperkeldama jų į vartotojo erdvę).

„USB Raw Gadget“ valdoma per / dev / raw-gadget įrenginį pagal analogiją su / dev / gadget programoje GadgetFS, tačiau sąveikai naudojama ioctl () sąsaja, o ne pseudo-FS.

Be tiesioginio visų USB užklausų apdorojimo vartotojo erdvėje vykstančiu procesu, naujoji sąsaja taip pat turi galimybę grąžinti bet kokius duomenis atsakydama į USB užklausą („GadgetFS“ tikrina USB deskriptorių teisingumą ir filtruoja tam tikrus atsakymus, o tai trukdo klaidų aptikimas atliekant USB kamino valymo testą).

„USB Raw Gadget“ taip pat leidžia pasirinkti konkretų UDC įrenginį (USB įrenginio tvarkyklę) ir tvarkyklę, kad galėtumėte prisijungti, o „GadgetFS“ prisijungs prie pirmojo galimo UDC įrenginio.

Skirtingiems UDC numatomi galinių taškų pavadinimai susiejami su skirtingų tipų atskirais ryšio kanalais viename įrenginyje.

Galiausiai, jei norite sužinoti daugiau apie tai, galite patikrinti išsamią informaciją ir „USB Raw Gadget“ atliktų pakeitimų žurnalą Šioje nuorodoje.

Kaip įdiegti „Raw Gadget“ USB modulį į „Linux“?

Tiems, kurie nori išbandyti šį modulį savo sistemoje, jie gali tai padaryti vadovaudamiesi čia išsamiomis instrukcijomis.

Dummy HCD / UDC (modulis, sukonfigūruojantis virtualius USB įrenginius ir pagrindinio kompiuterio valdiklius, kurie yra sujungti vienas su kitu branduolyje). Turime atidaryti terminalą ir jame įvesti šią komandą:

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

Tokiu būdu mes gausime aplanką su moduliais, kuriuos ketiname kompiliuoti, vykdydami šią komandą terminale:

cd dummy_hcd

make

Ir mes juos diegiame:

./insmod.sh

Jei norime atnaujinti modulį, tai darome:

./update.sh

Dabar tiems, kurie nori įdiegti branduolio modulį. Terminale mes tam reikalingus failus gausime vykdydami šią komandą:

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

Tokiu būdu mes gausime aplanką su moduliais, kuriuos ketiname kompiliuoti, vykdydami šią komandą terminale:

cd dummy_hcd

make

Ir mes juos diegiame:

./insmod.sh

Jei norime atnaujinti modulį, tai darome:

./update.sh

Galite patikrinti darbą šią nuorodą. 


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.