يتوفر USB Raw Gadget ، وهو وحدة Linux لمضاهاة أجهزة USB

يعمل Andrey Konovalov من Google على تطوير وحدة نمطية جديدة أداة USB Raw, السماح محاكاة أجهزة USB في مساحة المستخدم. معلق طلب لتضمين هذه الوحدة في الجزء الرئيسي من Linux kernel. أداة USB Raw بالفعل تطبق في Google لتسهيل اختبار fuzz لمكدس kernel USB باستخدام مجموعة الأدوات syzkaler.

تضيف الوحدة واجهة برمجة جديدة إلى نظام kernel الفرعي أداة USB ويتم تطويره كبديل لـ GadgetFS. يرجع إنشاء واجهة برمجة تطبيقات جديدة إلى الحاجة إلى الحصول على وصول منخفض المستوى ومباشر إلى نظام USB Gadget الفرعي من مساحة المستخدم ، مما يسمح له بمعالجة جميع طلبات USB الممكنة (تعالج GadgetFS بعض الطلبات من تلقاء نفسها ، دون تمريرها إلى المستخدم فضاء). تتم إدارة USB Raw Gadget من خلال / dev / raw-gadget device ، على غرار / dev / gadget في GadgetFS ، لكن التفاعل يستخدم واجهة تعتمد على ioctl () بدلاً من pseudo-FS.

بالإضافة إلى المعالجة المباشرة لجميع طلبات USB من خلال عملية مساحة المستخدم ، تتميز الواجهة الجديدة أيضًا بالقدرة على إرجاع أي بيانات استجابة لطلب USB (يقوم GadgetFS بإجراء التحقق من صحة واصف USB وتصفية استجابات معينة ، مما يمنع اكتشاف الأخطاء أثناء USB كومة اختبار التشويش). يتيح لك Raw Gadget أيضًا تحديد جهاز UDC (وحدة تحكم جهاز USB) وبرنامج تشغيل لإرفاقهما ، بينما يتم إرفاق GadgetFS بأول جهاز UDC متاح. أسماء يمكن التنبؤ بها مخصصة لمختلف UDCs نقطة النهاية لفصل أنواع مختلفة من قنوات تبادل البيانات داخل جهاز واحد.

المصدر: opennet.ru

إضافة تعليق