Elérhető az USB Raw Gadget, egy Linux-modul az USB-eszközök emulálására

Andrey Konovalov a Google-tól új modult fejleszt USB Raw Gadget, lehetővé téve emulálja az USB-eszközöket a felhasználói térben. függőben van Alkalmazás ennek a modulnak a fő Linux kernelbe való felvételéhez. USB Raw Gadget már alkalmazott a Google-nál, hogy egyszerűsítse az USB kernelverem fuzz tesztelését eszközök segítségével syzkaller.

A modul egy új programozási felületet ad a kernel alrendszerhez USB Gadget és a GadgetFS alternatívájaként fejlesztik. Az új API létrehozását az indokolta, hogy az USB Gadget alrendszerhez alacsony szintű és közvetlen hozzáférést kell biztosítani a felhasználói területről, lehetővé téve az összes lehetséges USB-kérelem feldolgozását (a GadgetFS egyes kéréseket önállóan dolgoz fel, anélkül, hogy a felhasználói területre továbbítaná). . Az USB Raw Gadget vezérlése a /dev/raw-gadget eszközön keresztül történik, hasonlóan a GadgetFS /dev/gadgetéhez, de az interakció ioctl() alapú interfészt használ pszeudo-FS helyett.

Amellett, hogy az összes USB-kérést közvetlenül feldolgozza egy folyamat a felhasználói térben, az új interfész lehetőséget biztosít bármilyen adat visszaküldésére az USB-kérésekre válaszul (A GadgetFS ellenőrzi az USB-leírók érvényességét, és kiszűr bizonyos válaszokat, ami megakadályozza a hibákat hogy a rendszer ne észlelje az USB-verem fuzz-tesztelése során). A Raw Gadget lehetőséget ad egy adott UDC (USB-eszközvezérlő) eszköz és illesztőprogram kiválasztására is, amelyhez csatlakozik, míg a GadgetFS az első elérhető UDC-eszközhöz csatlakozik. A kiszámítható nevek különböző UDC-khez vannak rendelve végpont különböző típusú adatcsere csatornák elkülönítésére egy eszközön belül.

Forrás: opennet.ru

Hozzászólás