Les systèmes USB peuvent présenter de graves failles de sécurité, en particulier sous Linux

Les systèmes USB peuvent présenter de graves failles de sécurité, en particulier sous Linux

Les universitaires ont développé un nouvel outil qui a découvert 26 vulnérabilités jusqu'alors non identifiées dans la pile de pilotes USB utilisée par de nombreux systèmes d'exploitation populaires, notamment Linux, macOS, Windows et FreeBSD. Hui Peng de l'Université Purdue et Mathias Payer de l'École polytechnique fédérale de Lausanne ont créé un nouvel outil appelé USBFuzz, fournissant plus de détails dans un article intitulé "USBFuzz : Un cadre pour contrôler les contrôleurs USB par émulation de périphérique", qui se lit comme suit : «Présentation d'USBFuzz, un framework portable, flexible et modulaire pour tester les pilotes USB fuzz. Essentiellement, USBFuzz utilise un périphérique USB émulé par logiciel pour fournir des données aléatoires sur le périphérique aux pilotes (lors de l'exécution d'opérations d'E/S). "L'outil est utilisé pour le floutage, qui consiste à placer ou à injecter délibérément des données tronquées dans une application ou un programme spécifique. Si le logiciel ne gère pas correctement les données inattendues, les développeurs peuvent identifier les failles de sécurité potentielles et les corriger avant que les utilisateurs ne courent un risque.

USBFuzz

Après avoir développé USBFuzz, les chercheurs ont testé l'outil sur neuf versions récentes du noyau Linux (v4.14.81, v4.15, v4.16, v4.17, v4.18.19, v4.19, v4.19.1, v4 et v19.2. 4.20-rc2), FreeBSD12, macOS 10.15 et Windows 8 et 10. Après les tests, ils ont trouvé un bug sur FreeBSD, trois sur macOS et quatre sur Windows 8 et Windows 10. Cependant, sur les 26 nouveaux bugs découverts par les chercheurs , 18 ont été trouvés sous Linux. Seize des bogues étaient des erreurs de mémoire de haute gravité dans divers sous-systèmes Linux (noyau USB, USB et son réseau), un bogue a été trouvé dans le pilote du contrôleur hôte USB Linux et le dernier bogue a été découvert dans un pilote de caméra USB. Les chercheurs ont depuis signalé ces bugs à l'équipe du noyau Linux et ont également soumis leurs idées de correctifs pour rendre les choses un peu plus faciles pour les développeurs du noyau. Sur les 18 bogues USBFuzz trouvés sous Linux, 11 d'entre eux ont été corrigés depuis que les chercheurs ont soumis leurs premiers rapports l'année dernière. Des solutions supplémentaires devraient être publiées dans un avenir proche pour les sept problèmes restants. Les chercheurs prévoient également de publier USBFuzz sur GitHub en tant que projet open source afin que d'autres puissent utiliser leur outil de fuzzing. Via ZDNet