I-USB Raw Gadget, imojuli ye-Linux yokulingisa amadivayisi e-USB, iyatholakala

U-Andrey Konovalov ovela kwa-Google wenza imojuli entsha Igajethi eluhlaza ye-USB, ukuvumela ukulingisa amadivayisi e-USB esikhaleni somsebenzisi. Kusalindile uhlelo lokusebenza ukuze kufakwe le mojula ku-Linux kernel eyinhloko. Igajethi ye-USB Raw kakade kuyasebenza kwa-Google ukwenza lula ukuhlola kwe-fuzz kwesitaki se-USB kernel usebenzisa amathuluzi syzkaller.

Imojula yengeza isikhombimsebenzisi esisha sohlelo kusistimu engaphansi ye-kernel Igajethi ye-USB futhi iyathuthukiswa njengenye indlela ye-GadgetFS. Ukwakhiwa kwe-API entsha kwakuqhutshwa isidingo sokuthola ukufinyelela okusezingeni eliphansi nokuqondile kusistimu engaphansi Yegajethi ye-USB kusuka endaweni yomsebenzisi, ukuyivumela ukuthi icubungule zonke izicelo ze-USB ezingenzeka (I-GadgetFS icubungula ezinye izicelo ngokuzimela, ngaphandle kokuyidlulisela endaweni yomsebenzisi) . I-USB Raw Gadget ilawulwa ngedivayisi ye-/dev/raw-gadget, efana ne/dev/gadget kuGadgetFS, kodwa ukusebenzisana kusebenzisa isixhumi esibonakalayo esisekelwe ku-ioctl() kune-FS-pseudo.

Ngaphezu kokucutshungulwa okuqondile kwazo zonke izicelo ze-USB ngenqubo esesikhaleni somsebenzisi, isixhumi esibonakalayo esisha siphinde sibe nekhono lokubuyisela noma iyiphi idatha ngokuphendula isicelo se-USB (I-GadgetFS ihlola ukufaneleka kwezichazi ze-USB futhi ihlunge izimpendulo ezithile, ezivimbela amaphutha. ekubonweni ngesikhathi sokuhlolwa kwe-fuzz kwesitaki se-USB) . I-Raw Gadget futhi ikunikeza amandla okukhetha idivayisi ethile ye-UDC (USB Device Controller) kanye nomshayeli ozonamathisela kukho, kuyilapho i-GadgetFS inamathisela kudivayisi yokuqala ye-UDC etholakalayo. Amagama angabikezelwa anikezwa ama-UDC ahlukene ukuphetha ukuhlukanisa izinhlobo ezahlukene zeziteshi zokushintshana kwedatha ngaphakathi kwedivayisi eyodwa.

Source: opennet.ru

Engeza amazwana