USB Raw sīkrīks, kodola modulis, kas ļauj atdarināt USB ierīces

USB neapstrādāts sīkrīks

Dažos gadījumos jau šeit emuārā mēs esam runājuši par Andreja Konovalova paveikto (Google izstrādātājs) Linux, no viņa darba, savlaicīgi atklājot kļūmes Linux kodola USB draiveros un arī Wifi ierīcēs.

Tagad viņš šobrīd strādā pie jauna moduļa izstrāde Linux kodolam, kuru viņš ir nosaucis kā "USB neapstrādāts sīkrīks" kas raksturo kā utilītu, kas ļauj atdarināt USB ierīces lietotāja telpā.

Bez tam min, ka tiek apsvērta lietojumprogramma šī moduļa iekļaušanai galvenajā Linux kodolā. Google Raw sīkrīku Google jau izmanto, lai vienkāršotu USB kodola kaudzes izplūdušo testēšanu ar syzkaller rīkkopa.

Sākotnēji es izmantoju GadgetFS (kopā ar Dummy HCD / UDC moduli), lai atdarinātu USB ierīces fuzzingam, bet pēc tam tas tika pārslēgts uz pielāgotu rakstisku interfeisu.

Stimuls citas saskarnes ieviešanai bija nodrošināt tiešu un nedaudz neapstrādātu piekļuvi USB sīkrīka slānim lietotāja vietai, kur katrs USB pieprasījums tiek nodots lietotāja telpai atbildes sniegšanai.

Par USB Raw sīkrīku

Modulis rūpējas par jauna interfeisa pievienošanu programmēšana kodola apakšsistēmai sauc par "USB sīkrīku" un kas tiek izstrādāts kā alternatīva GadgetFS.

Jaunas API izveide ir saistīta ar nepieciešamību pēc tiešas un zema līmeņa piekļuves uz Gadget USB apakšsistēmu no lietotāja vietas, ļaujot apstrādāt visus iespējamos USB pieprasījumus (GadgetFS dažus pieprasījumus apstrādā pats, nepārsūtot tos uz lietotāja vietu).

USB Raw sīkrīku kontrolē, izmantojot / dev / raw-gadget ierīci pēc analoģijas ar / dev / gadget GadgetFS, bet mijiedarbībai tiek izmantots ioctl () balstīts interfeiss, nevis pseido-FS.

Papildus visu USB pieprasījumu tiešai apstrādei, izmantojot procesu lietotāja telpā, jaunajai saskarnei ir arī iespēja atgriezt visus datus, atbildot uz USB pieprasījumu (GadgetFS pārbauda USB deskriptoru pareizību un filtrē noteiktas atbildes, kas traucē kļūdu noteikšana USB kaudzes noslaukšanas testa laikā).

USB Raw sīkrīks ļauj arī izvēlēties noteiktu UDC ierīci (USB ierīces draiveris) un draiveri, lai izveidotu savienojumu, savukārt GadgetFS izveido savienojumu ar pirmo pieejamo UDC ierīci.

Dažādiem UDC paredzamie galapunktu nosaukumi tiek kartēti ar dažāda veida atsevišķiem sakaru kanāliem vienas ierīces ietvaros.

Visbeidzot, ja vēlaties uzzināt vairāk par to, varat pārbaudīt detaļas, kā arī USB Raw sīkrīkā veikto izmaiņu žurnālu Šajā saitē.

Kā Linux instalēt Raw Gadget USB moduli?

Tiem, kurus interesē iespēja pārbaudīt šo moduli savā sistēmā, viņi to var izdarīt, izpildot šeit sīki aprakstītās instrukcijas.

Par manekena HCD / UDC (modulis, kas konfigurē virtuālās USB ierīces un resursdatora kontrollerus, kas kodolā ir savienoti viens ar otru). Mums ir jāatver termināls, un tajā mēs ierakstīsim šādu komandu:

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

Ar to mēs iegūsim mapi ar moduļiem, kurus mēs apkoposim, izpildot šādu komandu terminālā:

cd dummy_hcd

make

Mēs turpinām tos instalēt, izmantojot:

./insmod.sh

Ja mēs vēlamies atjaunināt moduli, mēs to darām ar:

./update.sh

Tagad tiem, kas vēlas instalēt kodola moduli. Terminālā mēs tam iegūsim nepieciešamos failus, izpildot šādu komandu:

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

Ar to mēs iegūsim mapi ar moduļiem, kurus mēs apkoposim, izpildot šādu komandu terminālā:

cd dummy_hcd

make

Mēs turpinām tos instalēt, izmantojot:

./insmod.sh

Ja mēs vēlamies atjaunināt moduli, mēs to darām ar:

./update.sh

Jūs varat pārbaudīt darbu šo saiti. 


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.