Vegël Raw USB, një modul për Kernel që lejon të imitojmë pajisjet USB

Vegël Raw USB

Tashmë në disa raste këtu në blog kemi folur për punën e bërë nga Andrey Konovalov (një zhvillues i Google) në Linux, nga puna e tij në zbulimin në kohë të dështimeve në drejtuesit USB të Kernel Linux dhe gjithashtu në pajisjet Wifi.

Tani ai po punon aktualisht zhvillimin e një moduli të ri për Kernel Linux të cilin ai e ka emëruar si "Vegël Raw USB" e cila përshkruan si një dobi që lejon të imitojmë pajisjet USB në hapësirën e përdoruesit.

Përveç kësaj përmend që po shqyrtohet një aplikacion për përfshirjen e këtij moduli në kernelin kryesor Linux. Google Raw Gadget tashmë po përdoret nga Google për të thjeshtuar testimin e paqartë të pirjes së bërthamës USB me paketën e veglave syzkaller.

Fillimisht isha duke përdorur GadgetFS (së bashku me modulin Dummy HCD / UDC) për të imituar pajisjet USB për fuzzing, por më pas ajo u kalua në një ndërfaqe të shkruar me porosi.

Nxitja për implementimin e një ndërfaqe tjetër ishte sigurimi i hyrjes direkte dhe disi të papërpunuar në shtresën Gadget USB për hapësirën e përdoruesit, ku çdo kërkesë USB kalon në hapësirën e përdoruesit për një përgjigje.

Rreth Vegël Raw USB

Moduli kujdeset për shtimin e një ndërfaqeje të re programimi në nënsistemin e bërthamës i quajtur "Vegël USB" dhe që po zhvillohet si një alternativë ndaj GadgetFS.

Krijimi i një API të ri është për shkak të nevojës për qasje të drejtpërdrejtë dhe të nivelit të ulët në nënsistemin Gadget USB nga hapësira e përdoruesit, duke lejuar që të gjitha kërkesat e mundshme USB të përpunohen (GadgetFS përpunon disa kërkesa më vete, pa transferuar në hapësirën e përdoruesit)

Vegla Raw USB kontrollohet përmes pajisjes / dev / paisje-vegël me analogji me / dev / vegël në GadgetFS, por një ndërfaqe e bazuar në ioctl (), në vend të një pseudo-FS, përdoret për ndërveprimin.

Përveç përpunimit të drejtpërdrejtë të të gjitha kërkesave USB nga një proces në hapësirën e përdoruesit, ndërfaqja e re gjithashtu ka aftësinë për të kthyer çdo të dhënë në përgjigje të një kërkese USB (GadgetFS kontrollon korrektësinë e përshkruesve USB dhe filtron përgjigje të caktuara, të cilat ndërhyjnë me zbulimi i gabimit gjatë testit të pastrimit të pirgut USB).

Vegla Raw USB gjithashtu ju lejon të zgjidhni një pajisje specifike UDC (Drejtuesi i pajisjes USB) dhe një drejtues për tu lidhur, ndërsa GadgetFS lidhet me pajisjen e parë të disponueshme UDC.

Për UDC të ndryshme, emrat e parashikueshëm të pikave fundore janë të shënuara në lloje të ndryshme të kanaleve të veçanta të komunikimit brenda një pajisje të vetme.

Më në fund, nëse doni të dini më shumë për këtë, mund të kontrolloni detajet, si dhe regjistrin e ndryshimeve të bëra në Vegël Raw USB Në lidhjen vijuese.

Si të instaloni modulin Raw Gadget USB në Linux?

Për ata që janë të interesuar të jenë në gjendje të provojnë këtë modul në sistemin e tyre, ata mund ta bëjnë këtë duke ndjekur udhëzimet e detajuara këtu.

Për Dummy HCD / UDC (një modul që konfiguron pajisjet virtuale USB dhe kontrollorët e hostit që janë të lidhur me njëri-tjetrin brenda kernelit). Ne duhet të hapim një terminal dhe në të do të shtypim komandën e mëposhtme:

svn checkout https://github.com/xairy/raw-gadget/trunk/dummy_hcd

Me këtë ne do të marrim dosjen me modulet të cilat do të përpilojmë duke ekzekutuar komandën e mëposhtme në terminal:

cd dummy_hcd

make

Dhe ne vazhdojmë t'i instalojmë me:

./insmod.sh

Në rast se duam të azhurnojmë modulin e bëjmë me:

./update.sh

tani për ata që duan të instalojnë modulin e kernelit. Në një terminal do të marrim skedarët e nevojshëm për këtë duke ekzekutuar komandën e mëposhtme:

svn checkout https://github.com/xairy/raw-gadget/trunk/raw_gadget

Me këtë ne do të marrim dosjen me modulet të cilat do të përpilojmë duke ekzekutuar komandën e mëposhtme në terminal:

cd dummy_hcd

make

Dhe ne vazhdojmë t'i instalojmë me:

./insmod.sh

Në rast se duam të azhurnojmë modulin e bëjmë me:

./update.sh

Ju mund ta kontrolloni punën në lidhja e mëposhtme. 


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.