Ir pieejams USB Raw Gadget, Linux modulis USB ierīču emulēšanai

Andrejs Konovalovs no Google izstrādā jaunu moduli USB neapstrādāts sīkrīks, ļaujot emulēt USB ierīces lietotāja telpā. Tiek gaidīts pieprasījumu par šī moduļa iekļaušanu galvenajā Linux kodolā. USB Raw sīkrīks jau piemēro Google, lai vienkāršotu USB kodola steka izplūdes testēšanu, izmantojot rīkus syzkaller.

Modulis pievieno jaunu programmēšanas interfeisu kodola apakšsistēmai USB sīkrīks un tiek izstrādāta kā alternatīva GadgetFS. Jaunas API izveidi noteica nepieciešamība iegūt zema līmeņa un tiešu piekļuvi USB sīkrīku apakšsistēmai no lietotāja vietas, ļaujot tai apstrādāt visus iespējamos USB pieprasījumus (dažus pieprasījumus GadgetFS apstrādā neatkarīgi, nenododot to lietotāja vietai) . USB Raw sīkrīks tiek kontrolēts, izmantojot /dev/raw-sīkrīka ierīci, līdzīgi kā /dev/gadget programmā GadgetFS, taču mijiedarbībā tiek izmantots uz ioctl() balstīts interfeiss, nevis pseido-FS.

Papildus visu USB pieprasījumu tiešai apstrādei, ko veic kāds process lietotāja telpā, jaunais interfeiss piedāvā arī iespēju atgriezt jebkādus datus, atbildot uz USB pieprasījumu (GadgetFS pārbauda USB deskriptoru pareizību un filtrē noteiktas atbildes, kas novērš atklāšanu. kļūdu skaits USB steka izplūdes testēšanas laikā). Raw Gadget arī sniedz iespēju izvēlēties konkrētu UDC (USB ierīces kontrollera) ierīci un draiveri, kam pievienot, savukārt GadgetFS pievienojas pirmajai pieejamajai UDC ierīcei. Paredzamie nosaukumi tiek piešķirti dažādiem UDC galapunkts lai vienā ierīcē atdalītu dažāda veida datu apmaiņas kanālus.

Avots: opennet.ru

Pievieno komentāru