Recherche de vulnérabilités dans les piles USB : approches et outilsFernand Lone Sang,Jordan Bouyat

La norme USB est aujourd'hui adoptée à grande échelle et son interface tend à se généraliser rapidement. En effet, il n'est pas rare de trouver des ports ou des connectiques USB sur les objets que nous utilisons quotidiennement (ordinateurs, smartphones, etc.). L'USB est entrée dans les habitudes des utilisateurs de l'informatique et constitue souvent un moyen d'attaque privilégié. Les clés USB, par exemple, sont parfois plébiscités par les attaquants pour s'introduire avec succès dans les systèmes informatiques d'organisations, même lorsqu'elles ont un niveau de sécurité élevé. Par ailleurs, l'USB constitue également un excellent vecteur d'attaque. En eet, étant simplement un protocole de transport pour d'autres protocoles spéciques (SCSI, SATA, etc.), l'USB permet de couvrir une surface d'attaque large dans les couches basses des systèmes d'exploitation. Pour ces raisons, il paraît intéressant de rechercher des vulnérabilités dans les piles USB dans diérents systèmes. Étant donné que la majorité des systèmes sont fermés et que leurs sources ne sont pas disponibles, la recherche de vulnérabilités liées à l'USB par fuzzing s'avère être la plus appropriée pour une analyse menée souvent en boîte noire. Cet article constitue un retour d'expérience quand à la mise en oeuvre d'un fuzzer USB pour les plates-formes Windows (XP et 7) et présente quelques idées que nous avons commencé à implémenter pour étendre ce fuzzer à d'autres versions de Windows (notamment la pile USB 3.x de Windows 8) et puis à d'autres systèmes, aussi bien dans leurs rôles d'hôte ou de périphérique.