USB qurilmalarini taqlid qilish uchun Linux moduli USB Raw Gadget mavjud

Google kompaniyasidan Andrey Konovalov yangi modul ishlab chiqmoqda USB xom gadjet, ruxsat berish foydalanuvchi maydonida USB qurilmalarini taqlid qilish. Kutilmoqda dastur ushbu modulni asosiy Linux yadrosiga kiritish uchun. USB Raw Gadget allaqachon qo'llaniladi Asboblar yordamida USB yadro stekini fuzz testini soddalashtirish uchun Google syzkaller.

Modul yadro quyi tizimiga yangi dasturlash interfeysini qo'shadi USB gadjet va GadgetFSga muqobil sifatida ishlab chiqilmoqda. Yangi API yaratilishi USB Gadget quyi tizimiga foydalanuvchi maydonidan past darajadagi va to'g'ridan-to'g'ri kirish zarurati bilan bog'liq bo'lib, unga barcha mumkin bo'lgan USB so'rovlarini qayta ishlash imkonini beradi (GadgetFS ba'zi so'rovlarni foydalanuvchi maydoniga o'tkazmasdan mustaqil ravishda qayta ishlaydi). . USB Raw Gadget GadgetFS-dagi /dev/gadget-ga o'xshash /dev/raw-gadget qurilmasi orqali boshqariladi, ammo o'zaro ta'sir pseudo-FS emas, balki ioctl()-ga asoslangan interfeysdan foydalanadi.

Foydalanuvchi maydonidagi jarayon orqali barcha USB so'rovlarini to'g'ridan-to'g'ri qayta ishlashdan tashqari, yangi interfeys USB so'roviga javoban har qanday ma'lumotni qaytarish qobiliyatiga ega (GadgetFS USB identifikatorlarining to'g'riligini tekshiradi va ma'lum javoblarni filtrlaydi, bu esa aniqlashni oldini oladi. USB to'plamini noaniq sinovdan o'tkazishda xatolar). Raw Gadget sizga ma'lum UDC (USB Device Controller) qurilmasi va biriktiriladigan drayverni tanlash imkoniyatini beradi, GadgetFS esa birinchi mavjud UDC qurilmasiga ulanadi. Turli UDC larga bashorat qilinadigan nomlar beriladi so'nggi nuqta bir qurilma ichida ma'lumotlar almashish kanallarining har xil turlarini ajratish.

Manba: opennet.ru

a Izoh qo'shish