Çekirdek için USB aygıtlarının taklit edilmesini sağlayan bir modül olan USB Raw Gadget'ı

USB Ham Aygıtı

Zaten bazı durumlarda burada blogda Andrey Konovalov'un yaptığı işten bahsettik (bir Google geliştiricisi), Linux Kernel'in USB sürücülerindeki ve ayrıca Wifi cihazlarındaki arızaların zamanında tespiti konusundaki çalışmalarından.

Şimdi şu anda üzerinde çalışıyor adını verdiği Linux Çekirdeği için yeni bir modülün geliştirilmesi "USB Ham Aygıtı" bu, kullanıcı alanında USB aygıtlarının taklit edilmesini sağlayan bir yardımcı program olarak tanımlanır.

bunun yanı sıra bu modülün ana Linux çekirdeğine dahil edilmesi için bir uygulamanın düşünüldüğünden bahseder. Google Raw Gadget, syzkaller araç setiyle USB çekirdek yığınının bulanık testini basitleştirmek için Google tarafından zaten kullanılıyor.

Başlangıçta, USB aygıtlarını fuzzing için taklit etmek için GadgetFS (Dummy HCD / UDC modülüyle birlikte) kullanıyordum, ancak daha sonra özel bir yazılı arayüze geçildi.

Farklı bir arabirim uygulamaya yönelik teşvik, her bir USB isteğinin bir yanıt için kullanıcı alanına aktarıldığı kullanıcı alanı için USB Gadget katmanına bir kısayol ve bir şekilde ham erişim sağlamaktı.

USB Raw Gadget'ı hakkında

Modül, yeni bir arayüz eklemeyle ilgilenir programlama çekirdek alt sistemine "USB Gadget" olarak adlandırılan ve GadgetFS'ye alternatif olarak geliştirilmektedir.

Yeni bir API'nin oluşturulması, doğrudan ve düşük seviyeli erişim ihtiyacından kaynaklanmaktadır Kullanıcı alanından Gadget USB altsistemine, tüm olası USB isteklerinin işlenmesine izin verir (GadgetFS, bazı istekleri kullanıcı alanına aktarmadan kendi başına işler).

USB Raw Gadget'ı / dev / raw-gadget cihazıyla kontrol edilir GadgetFS'deki / dev / gadget ile benzer şekilde, ancak etkileşim için sözde FS yerine ioctl () tabanlı bir arabirim kullanılır.

Kullanıcı alanındaki bir işlem tarafından tüm USB taleplerinin doğrudan işlenmesine ek olarak, yeni arayüz ayrıca bir USB talebine yanıt olarak herhangi bir veriyi geri getirme yeteneğine de sahiptir (GadgetFS, USB tanımlayıcılarının doğruluğunu kontrol eder ve belirli yanıtları filtreler, bu da müdahale eder. USB yığın temizleme testi sırasında hata tespiti).

USB Raw Gadget ayrıca belirli bir UDC cihazını seçmenize izin verir (USB aygıt sürücüsü) ve bağlanmak için bir sürücü, GadgetFS ilk kullanılabilir UDC aygıtına bağlanırken.

Farklı UDC'ler için, öngörülebilir uç nokta adları, tek bir cihazdaki farklı türdeki ayrı iletişim kanallarıyla eşleştirilir.

Son olarak, bu konuda daha fazla bilgi edinmek isterseniz, USB Raw Gadget'ında yapılan değişikliklerin günlüğünün yanı sıra ayrıntıları da kontrol edebilirsiniz. Aşağıdaki bağlantıda.

Raw Gadget USB modülü Linux'a nasıl kurulur?

Bu modülü kendi sistemlerinde test edebilmek isteyenler, burada ayrıntılı olarak verilen talimatları izleyerek bunu yapabilirler.

Sahte HCD / UDC için (çekirdek içinde birbirine bağlı sanal USB aygıtlarını ve ana bilgisayar denetleyicilerini yapılandıran bir modül). Bir terminal açmalıyız ve içine aşağıdaki komutu yazacağız:

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

Bununla birlikte, terminalde aşağıdaki komutu çalıştırarak derleyeceğimiz modüllerin bulunduğu klasörü elde edeceğiz:

cd dummy_hcd

make

Ve bunları şu şekilde kurmaya devam ediyoruz:

./insmod.sh

Modülü güncellemek istersek, bunu şununla yaparız:

./update.sh

Şimdi çekirdek modülünü kurmak isteyenler için. Bir terminalde, aşağıdaki komutu çalıştırarak bunun için gerekli dosyaları elde edeceğiz:

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

Bununla birlikte, terminalde aşağıdaki komutu çalıştırarak derleyeceğimiz modüllerin bulunduğu klasörü elde edeceğiz:

cd dummy_hcd

make

Ve bunları şu şekilde kurmaya devam ediyoruz:

./insmod.sh

Modülü güncellemek istersek, bunu şununla yaparız:

./update.sh

Çalışmayı kontrol edebilirsiniz aşağıdaki bağlantı. 


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.