USB aygıtlarını taklit etmek için bir Linux modülü olan USB Raw Gadget mevcuttur

Google'dan Andrey Konovalov yeni bir modül geliştiriyor USB Ham Aygıtı, izin vermek Kullanıcı alanında USB aygıtlarını taklit edin. Beklemede uygulama Bu modülün ana Linux çekirdeğine dahil edilmesi için. USB Raw Gadget'ı zaten uygulamak araçları kullanarak USB çekirdek yığınının bulanıklık testini basitleştirmek için Google'da syzkaller.

Modül, çekirdek alt sistemine yeni bir programlama arayüzü ekler USB Aygıtı GadgetFS'ye alternatif olarak geliştirilmektedir. Yeni bir API'nin oluşturulması, kullanıcı alanından USB Gadget alt sistemine düşük seviyeli ve doğrudan erişim elde etme ihtiyacından kaynaklandı ve bu da onun tüm olası USB isteklerini işlemesine olanak tanıdı (GadgetFS, bazı istekleri kullanıcı alanına iletmeden bağımsız olarak işler) . USB Raw Gadget, GadgetFS'deki /dev/gadget'a benzer şekilde /dev/raw-gadget aygıtı aracılığıyla kontrol edilir, ancak etkileşim, sözde FS yerine ioctl() tabanlı bir arabirim kullanır.

Tüm USB isteklerinin kullanıcı alanındaki bir işlem tarafından doğrudan işlenmesine ek olarak, yeni arayüz aynı zamanda bir USB isteğine yanıt olarak herhangi bir veriyi döndürme olanağına da sahiptir (GadgetFS, USB tanımlayıcılarının doğruluğunu kontrol eder ve belirli yanıtları filtreleyerek tespit edilmesini engeller) USB yığınının bulanıklık testi sırasındaki hataların sayısı). Raw Gadget ayrıca, eklenecek belirli bir UDC (USB Aygıt Denetleyicisi) aygıtını ve sürücüyü seçme olanağı sağlarken GadgetFS, kullanılabilir ilk UDC aygıtına bağlanır. Tahmin edilebilir adlar farklı UDC'lere atanır Son nokta tek bir cihazda farklı türdeki veri değişim kanallarını ayırmak için.

Kaynak: opennet.ru

Yorum ekle