Des chercheurs découvrent 26 bugs USB dans Linux, Windows, MacOS et FreeBSD

Des chercheurs découvrent 26 bugs USB dans Linux, Windows, MacOS et FreeBSD

Des universitaires disent avoir découvert 26 nouvelles vulnérabilités dans la pile de clés USB utilisée par les systèmes d’exploitation tels que Linux, macOs, Windows et FreeBSD. L’équipe de recherche, composée de Hui Peng de l’Université de Purdue et de Mathias Payer de l’Ecole polytechnique fédérale de Lausanne, a déclaré que tous les bugs ont été découverts grâce à un nouvel outil qu’ils ont créé, appelé USBFuzz.

Cet outil est ce que les experts en sécurité appellent un fuzzer. Les fuzzers sont des applications qui permettent aux chercheurs en sécurité d’envoyer de grandes quantités de données non valides, inattendues ou aléatoires comme entrées dans d’autres programmes. Les chercheurs en sécurité analysent ensuite le comportement des logiciels testés pour découvrir de nouvelles vulnérabilités, dont certaines peuvent être exploitées de manière malveillante.

Pour tester les clés USB, Hui Peng et Mathias Payer ont développé USBFuzz, un nouveau fuzzer spécialement conçu pour tester la pile de clés USB des systèmes d’exploitation modernes. « En son cœur, USBFuzz utilise un dispositif USB émulé par logiciel pour fournir des données aléatoires aux pilotes (lorsqu’ils effectuent des opérations d’entrée/sortie) », ont déclaré les chercheurs. « Comme le dispositif USB émulé fonctionne au niveau du dispositif, le portage sur d’autres plateformes est simple ».

publicité

Tests sur différents systèmes d’exploitation

Cela a permis à l’équipe de recherche de tester USBFuzz non seulement sur Linux, où la plupart des programmes de fuzzer fonctionnent, mais aussi sur d’autres systèmes d’exploitation. Les chercheurs ont déclaré avoir testé USBFuzz sur :

  • 9 versions récentes du noyau Linux : v4.14.81, v4.15,v4.16, v4.17, v4.18.19, v4.19, v4.19.1, v4.19.2, et v4.20-rc2 (la dernière version au moment de l’évaluation) ;
  • FreeBSD 12 (la dernière version) ;
  • MacOS 10.15 Catalina (dernière version) ;
  • Windows (versions 8 et 10, avec les dernières mises à jour de sécurité installées).

A la suite de leurs tests, l’équipe de recherche a déclaré qu’avec l’aide d’USBFuzz, ils ont découvert un total de 26 nouveaux bugs. Les chercheurs ont trouvé une faille dans FreeBSD, trois dans MacOS (deux entraînant un redémarrage imprévu et un gel du système), et quatre dans Windows 8 et Windows 10 (entraînant un écran bleu fatal).

Cependant, la grande majorité des bugs, et les plus graves, ont été trouvés dans Linux : 18 au total. 16 étaient des vulnérabilités de mémoire ayant un impact de haute sécurité dans divers sous-systèmes Linux (noyau USB, son USB et réseau), un autre résidait dans le pilote du contrôleur hôte USB de Linux, et le dernier dans un pilote de caméra USB.

Les chercheurs ont déclaré avoir signalé ces failles à l’équipe du noyau Linux, et proposé des correctifs pour réduire « la charge des développeurs du noyau lors de la correction des vulnérabilités signalées ». Sur les 18 failles de sécurité de Linux, l’équipe de recherche a déclaré que 11 d’entre eux avaient reçu un correctif depuis leurs premiers rapports l’année dernière. 10 de ces 11 vulnérabilités ont également reçu un CVE, un code unique attribué aux principales failles de sécurité.

D’autres correctifs sont également attendus dans un avenir proche pour les 7 failles restantes.

USBFuzz sera disponible en libre accès

Mathias Payer a publié hier une ébauche du livre blanc de l’équipe de recherche décrivant leur travail sur USBFuzz. Les chercheurs prévoient de présenter leurs recherches lors de la conférence sur la sécurité virtuelle Usenix Security Symposium, prévue pour août 2020.

Des travaux similaires ont été réalisés dans le passé. En novembre 2017, un ingénieur en sécurité de Google a utilisé un fuzzer fabriqué par Google, nommé syzkaller, pour découvrir 79 bugs affectant les pilotes USB du noyau Linux.

Hui Peng et Mathias Payer ont déclaré que USBFuzz est supérieur aux outils précédents comme vUSBf, syzkaller et usb-fuzzer parce que leur outil permet aux testeurs de mieux contrôler les données de test et qu’il est également portable d’un système d’exploitation à l’autre, contrairement à tous les outils ci-dessus, qui ne fonctionnent généralement que sur les systèmes *NIX.

USBFuzz est prévu pour être diffusé sur GitHub en tant que projet open source après l’entretien de Hui Peng et Mathias Payer sur Usenix.

Source : ZDNet.com

Leave a Reply

Your email address will not be published. Required fields are marked *