USB Raw Gadget, Linux module yekutevedzera USB zvishandiso, inowanikwa

Andrey Konovalov anobva kuGoogle ari kugadzira module nyowani USB Raw Gadget, kubvumira tevedzera USB zvishandiso munzvimbo yemushandisi. Yakamirira kunyorera yekuisirwa iyi module mune huru Linux kernel. USB Raw Gadget kare kuiswa paGoogle kurerutsa kuyedzwa kwefuzz kwe USB kernel stack uchishandisa maturusi syzkaller.

Iyo module inowedzera nyowani programming interface kune kernel subsystem USB Gadget uye iri kuvandudzwa seimwe nzira yeGadgetFS. Kusikwa kweiyo API itsva kwaifambiswa nekudiwa kwekuwana yakaderera-chikamu uye yakananga kupinda kune USB Gadget subsystem kubva munzvimbo yemushandisi, ichiibvumira kugadzirisa zvese zvinobvira zvikumbiro zve USB (GadgetFS inogadzirisa zvimwe zvikumbiro yakazvimirira, pasina kupfuudza kune mushandisi nzvimbo) . Iyo USB Raw Gadget inodzorwa kuburikidza ne / dev / raw-gadget mudziyo, yakafanana ne / dev / gadget muGadgetFS, asi kupindirana kunoshandisa ioctl () -based interface pane pseudo-FS.

Pamusoro pekugadzirisa kwakananga kwese zvikumbiro zve USB nemaitiro ari munzvimbo yemushandisi, iyo nyowani interface inoratidzawo kugona kudzosa chero data mukupindura chikumbiro che USB (GadgetFS inotarisa kurongeka kwe USB zvinotsanangura uye kusefa dzimwe mhinduro, izvo zvinodzivirira kuonekwa. yezvikanganiso panguva yekuyedzwa kwefuzz yeiyo USB stack). Raw Gadget inokupawo kugona kusarudza yakananga UDC (USB Device Controller) mudziyo uye mutyairi wekubatanidza pairi, nepo GadgetFS inonamatira kune yekutanga inowanikwa UDC mudziyo. Mazita anofanotaurwa anopihwa kune akasiyana maUDC endpoint kuparadzanisa marudzi akasiyana-siyana ematanho ekuchinjana data mukati memudziyo mumwe.

Source: opennet.ru

Voeg