USB Raw Gadget, USB түзмөктөрүн эмуляциялоо үчүн Linux модулу бар

Google компаниясынан Андрей Коновалов жаңы модулду иштеп чыгууда USB чийки гаджет, уруксат берүү колдонуучу мейкиндигинде USB түзмөктөрүн эмуляциялоо. Күтүүдө арыз бул модулду негизги Linux ядросуна киргизүү үчүн. USB Raw гаджети мурунтан эле колдонулат куралдарды колдонуу менен USB ядро ​​стекинин fuzz тестин жөнөкөйлөтүү үчүн Google сызкаллер.

Модуль ядронун подсистемасына жаңы программалоо интерфейсин кошот USB гаджет жана GadgetFSге альтернатива катары иштелип чыгууда. Жаңы API түзүлүшү USB Гаджет кичи тутумуна колдонуучу мейкиндигинен төмөн деңгээлдеги жана түз кирүү мүмкүнчүлүгүн алуу зарылчылыгы менен шартталган, ал бардык мүмкүн болгон USB сурамдарын иштеп чыгууга мүмкүндүк берет (GadgetFS кээ бир суроо-талаптарды колдонуучу мейкиндигине өткөрбөстөн, өз алдынча иштеп чыгат) . USB Raw гаджети GadgetFSдеги /dev/gadget сыяктуу /dev/raw-гаджет түзмөгү аркылуу башкарылат, бирок өз ара аракеттенүү псевдо-FS эмес, ioctl() негизиндеги интерфейсти колдонот.

Колдонуучу мейкиндигиндеги процесс аркылуу бардык USB сурамдарын түз иштетүүдөн тышкары, жаңы интерфейс USB сурамына жооп катары каалаган маалыматтарды кайтаруу мүмкүнчүлүгүн да камтыйт (GadgetFS USB дескрипторлорунун тууралыгын текшерет жана айрым жоопторду чыпкалайт, бул аныктоого жол бербейт. USB стектин бүдөмүк тестирлөө учурундагы каталар). Raw Гаджет ошондой эле сизге белгилүү UDC (USB Device Controller) түзмөгүн жана тиркеле турган драйверди тандоо мүмкүнчүлүгүн берет, ал эми GadgetFS биринчи жеткиликтүү UDC түзмөгүнө тиркелет. Болжолдуу ысымдар ар кандай УДКларга ыйгарылган чекити бир аппараттын ичинде маалымат алмашуу каналдарынын ар кандай түрлөрүн бөлүү.

Source: opennet.ru

Комментарий кошуу