Le module USB Raw Gadget est disponible, un module Linux pour simuler des périphériques USB

Andrei Konovalov de Google développe un nouveau module USB Raw Gadget, permettant pour émuler des périphériques USB dans l'espace utilisateur. En cours d'examen demande d'inclure ce module dans le noyau Linux. USB Raw Gadget est déjà utilisons utilisé chez Google pour simplifier les tests de fuzzing de la pile USB du noyau à l'aide d'outils syzkaller.

Le module ajoute une nouvelle interface de programmation dans la sous-système du noyau USB Gadget et se développe comme une alternative à GadgetFS. La création de cette nouvelle API est justifiée par la nécessité d'obtenir un accès bas niveau direct à la sous-système USB Gadget depuis l'espace utilisateur, permettant de traiter toutes les requêtes USB possibles (GadgetFS traite certaines requêtes par lui-même, sans les transmettre à l'espace utilisateur). La gestion de USB Raw Gadget se fait via le périphérique /dev/raw-gadget, similaire à /dev/gadget dans GadgetFS, mais pour l'interaction, une interface basée sur ioctl() est utilisée, pas un pseudo-système de fichiers.

Outre le traitement direct de toutes les requêtes USB par un processus dans l'espace utilisateur, la nouvelle interface se distingue également par la capacité de renvoyer n'importe quelles données en réponse à une requête USB (GadgetFS effectue une vérification de la validité des descripteurs USB et filtre certaines réponses, ce qui entrave la détection d'erreurs lors des tests de fuzzing de la pile USB). Raw Gadget permet également de choisir un contrôleur de périphérique USB (UDC) spécifique et un pilote à attacher, tandis que GadgetFS se fixe au premier UDC disponible. Des noms prévisibles sont attribués aux différents UDC endpoint pour séparer les différents types de canaux de communication au sein d'un même périphérique.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster