K dispozici je USB Raw Gadget, linuxový modul pro emulaci USB zařízení

Andrey Konovalov z Google vyvíjí nový modul USB Raw gadget, dovolující emulovat USB zařízení v uživatelském prostoru. Čeká na vyřízení aplikace zahrnout tento modul do hlavní části linuxového jádra. USB Raw Gadget již aplikováno ve společnosti Google, aby se usnadnilo fuzz testování zásobníku USB jádra pomocí sady nástrojů syzkaller.

Modul přidává nové programovací rozhraní do subsystému jádra USB gadget a je vyvíjen jako alternativa k GadgetFS. Vytvoření nového API je způsobeno potřebou získat nízkoúrovňový a přímý přístup k subsystému USB Gadget z uživatelského prostoru, což mu umožňuje zpracovávat všechny možné požadavky USB (GadgetFS zpracovává některé požadavky sám, aniž by je předával uživateli prostor). USB Raw Gadget je spravován prostřednictvím zařízení /dev/raw-gadget, podobně jako /dev/gadget v GadgetFS, ale interakce využívá rozhraní založené na ioctl() spíše než pseudo-FS.

Kromě přímého zpracování všech požadavků USB procesem v uživatelském prostoru nabízí nové rozhraní také schopnost vrátit jakákoli data v reakci na požadavek USB (GadgetFS provádí ověření deskriptoru USB a filtruje určité odpovědi, což zabraňuje detekci chyb během USB testování fuzzingu zásobníku) . Raw Gadget vám také umožňuje vybrat konkrétní UDC (USB Device Controller) zařízení a ovladač k připojení, zatímco GadgetFS se připojí k prvnímu dostupnému UDC zařízení. Předvídatelná jména přiřazená různým UDC Koncový bod k oddělení různých typů kanálů výměny dat v rámci jednoho zařízení.

Zdroj: opennet.ru

Přidat komentář