Des chercheurs de l’École polytechnique fédérale de Lausanne (EPFL) ont développé un outil baptisé USBFuzz. Il s’agit d’un fuzzer, une application qui permet de détecter des vulnérabilités dans la pile de clés USB utilisée par les systèmes d’exploitation, dont certaines peuvent être exploitées à des fins malveillantes. En 2017, le fuzzer fabriqué par Google, nommé syzkaller, a par exemple alerté sur l’existence de 79 bugs USB dans Linux. De son côté, celui des chercheurs de l’EPFL a détecté 26 failles dans les groupes de pilotes USB de Linux, Windows, macOS et FreeBSD.
L’Universal Serial Bus (USB) permet de connecter des appareils à un hôte et l’interface expose les noyaux du système d’exploitation ainsi que les pilotes de périphériques aux attaques malveillantes. Malheureusement, les noyaux et les pilotes ont été développés selon un modèle de sécurité qui fait implicitement confiance aux appareils connectés. De plus, les pilotes ont été conçus uniquement pour détecter des problèmes matériels. Le fuzzing des pilotes de périphériques est la technique la plus utilisée pour trouver des bugs.
Le fuzzing consiste à rechercher des failles de sécurité en envoyant de grandes quantités de données non valides, inattendues ou aléatoires comme entrées dans d’autres programmes. Le comportement des logiciels testés est alors examiné afin de découvrir de nouvelles vulnérabilités. Néanmoins, le fuzzing n’est pas facile à réaliser en raison de la difficulté à franchir la barrière matériel/logiciel et à fournir des données aléatoires au pilote testé.
Plusieurs fuzzers ont déjà été présentés et de nombreuses failles ont été détectées puis corrigées. La dernière en date est USBFuzz, mis au point par Mathias Payer, chef du laboratoire HexHive de la faculté Informatique et Communications (IC) de l’EPFL, et Hui Peng, chercheur à HexHive et doctorant à l’Université de Purdue. « Le fuzzing est une approche établie pour tester les logiciels. USBFuzz a développé cette approche pour contrôler les périphériques externes au-delà de la barrière du logiciel-matériel. Les périphériques sont réputés difficiles à tester ; USBFuzz fournit une approche automatisée pour le faire », explique Mathias Payer.
Grâce à USBFuzz, les deux chercheurs ont pu identifier 26 nouvelles vulnérabilités exploitables par des individus malveillants. 18 de ces failles concernent Linux : seize bugs de mémoire ayant un impact élevé sur la sécurité dans divers sous-systèmes, une dans le pilote du contrôleur hôte USB et une autre dans un pilote de caméra USB du système d’exploitation. En outre, quatre failles ont été détectées pour Windows 8 et Windows 10 (entraînant un écran bleu), trois dans macOS (dont deux entraînant un redémarrage imprévu et un blocage du système), et une dans FreeBSD.
« La découverte de failles dans FreeBSD, Windows et macOS souligne la puissance de nos efforts de pollinisation croisée et démontre la portabilité de USBFuzz », indiquent les deux chercheurs. Ces derniers ont également proposé des solutions logicielles ou des correctifs et ils travaillent avec les équipes chargées de la sécurité chez Linux, Android, Microsoft et Apple. En outre, 11 des bugs impactant Linux ont déjà été corrigés.
Par ailleurs, Hui Peng et Mathias Payer ont précisé qu’USBFuzz est plus performant que les outils similaires tels que syzkaller, usb-fuzzer ou vUSBf, car celui-ci permet aux testeurs de mieux contrôler les données de test et qu’il est portable. De plus, les deux chercheurs envisagent de publier USBFuzz sur GitHub en tant que projet open source.
Source : EPFL
Et vous ?
Qu'en pensez-vous ?
Voir aussi :
Google rend disponible en open source ClusterFuzz, une infrastructure de test à données aléatoires, fonctionnant sur plus de 25 000 cœurs
Linux : un outil de fuzzing révèle un paquet de vulnérabilités du sous-système USB, des raisons de s'inquiéter ?
Les résultats de fuzzing d'un chercheur de Google mettent en évidence plus de failles dans Safari, que dans les autres navigateurs réunis
Le bot de test à données aléatoires de Google a découvert plus de 1000 failles dans des projets open source, l'entreprise encourage son utilisation
Gryffin : la plateforme de scan de sécurité conçue par Yahoo, est disponible en open source
Des chercheurs de l'EPFL ont découvert 26 bugs USB dans Windows, Linux, macOS et FreeBSD,
Grâce à un outil qu'ils ont baptisé USBFuzz
Des chercheurs de l'EPFL ont découvert 26 bugs USB dans Windows, Linux, macOS et FreeBSD,
Grâce à un outil qu'ils ont baptisé USBFuzz
Le , par Axel Lecomte
Une erreur dans cette actualité ? Signalez-nous-la !