Dostupný USB Raw Gadget, Linuxový modul pro emulaci USB zařízení

Andrej Konovalov ze společnosti Google vyvíjí nový modul USB Raw Gadget, umožňující emulovat USB zařízení v uživatelském prostoru. Je podán k posouzení žádost o zahrnutí tohoto modulu do hlavního jádra Linuxu. USB Raw Gadget již se používá ve společnosti Google pro zjednodušení fuzzingového testování USB zásobníku jádra pomocí nástrojů syzkaller.

Modul přidává nové rozhraní do jádrové subsystému USB Gadget a je vyvíjen jako alternativa k GadgetFS. Vytvoření nového API je důsledkem potřeby získání nízkoúrovňového a přímého přístupu k subsystému USB Gadget z uživatelského prostoru, což umožňuje zpracovávat všechny možné USB požadavky (GadgetFS některé požadavky zpracovává samostatně, aniž by je předával do uživatelského prostoru). Správa USB Raw Gadget se provádí přes zařízení /dev/raw-gadget, podobně jako /dev/gadget v GadgetFS, ale pro interakci se používá rozhraní založené na ioctl(), nikoli na pseudo-FS.

Kromě přímého zpracování všech USB požadavků procesem v uživatelském prostoru nové rozhraní také umožňuje vracet jakákoliv data jako odpověď na USB požadavek (GadgetFS provádí kontrolu správnosti USB popisovačů a filtruje určité odpovědi, což ztěžuje odhalování chyb při fuzzingovém testování USB zásobníku). Raw Gadget také umožňuje vybrat konkrétní zařízení UDC (USB Device Controller) a ovladač pro připojení, zatímco GadgetFS se připojuje k prvnímu dostupnému zařízení UDC. Pro různé UDC se přiřazují předvídatelná jména endpoint pro rozlišení různých typů datových kanálů uvnitř jednoho zařízení.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster