Yra USB Raw Gadget, Linux modulis, skirtas USB įrenginiams emuliuoti

Andrejus Konovalovas iš Google kuria naują modulį „USB Raw“ programėlė, leidžiantis emuliuoti USB įrenginius vartotojo erdvėje. Laukiama prašymą Norėdami įtraukti šį modulį į pagrindinį Linux branduolį. USB Raw programėlė jau taikoma „Google“, kad supaprastintų USB branduolio krūvos „fuzz“ testavimą naudojant įrankius syzkaller.

Modulis prideda naują programavimo sąsają į branduolio posistemį USB programėlė ir yra kuriama kaip „GadgetFS“ alternatyva. Kuriant naują API lėmė poreikis gauti žemo lygio ir tiesioginę prieigą prie USB programėlės posistemio iš vartotojo erdvės, leidžiančią apdoroti visas įmanomas USB užklausas (kai kurias užklausas „GadgetFS“ apdoroja savarankiškai, neperduodant jos į vartotojo erdvę). . USB neapdorota programėlė valdoma per /dev/raw-gadget įrenginį, panašiai kaip /dev/gadget programoje GadgetFS, tačiau sąveikai naudojama ioctl() pagrįsta sąsaja, o ne pseudoFS.

Be tiesioginio visų USB užklausų apdorojimo proceso vartotojo erdvėje, naujoji sąsaja taip pat turi galimybę grąžinti bet kokius duomenis atsakant į USB užklausą (GadgetFS tikrina USB deskriptorių teisingumą ir filtruoja tam tikrus atsakymus, o tai neleidžia aptikti. klaidų, susijusių su USB dėtuvės fuzz testavimu). „Raw Gadget“ taip pat suteikia galimybę pasirinkti konkretų UDC (USB įrenginio valdiklio) įrenginį ir tvarkyklę, prie kurios norite prijungti, o „GadgetFS“ prijungiama prie pirmojo galimo UDC įrenginio. Nuspėjami pavadinimai priskiriami skirtingiems UDC vertinamoji baigtis atskirti skirtingų tipų duomenų mainų kanalus viename įrenginyje.

Šaltinis: opennet.ru

Добавить комментарий