vendredi 21 janvier 2011

USB m'a tuer

L'USB est une prise et un protocole de communication largement répandue qui se fait attaquer. Cette prise permet de connecter à peu près n'importe quel équipement à n'importe quel système (OS grands publics, ou smartphones).

La conférence blackhat propose deux conférences intéressantes ou l'USB permet de prendre le contrôle de machines. La première, de Jon Larimer intitulée "Beyond AutoRun: Exploiting software vulnerabilities with removable storage". Cela parle de Stuxnet (encore une fois), mais présente un moyen de délocker un poste linux verrouillé. Morceau choisi: "There’s a lot of code that runs between the USB drivers themselves and the desktop software that renders icons and thumbnails for documents, providing security researchers and hackers with a rich set of targets to exploit.". A suivre, donc.
Une seconde conférence propose un moyen original de prendre le contrôle de votre machine via l'USB et un smartphone piégé. Conférence de "Angelos Stavrou, Zhaohui Wang", "Exploiting Smart-Phone USB Connectivity For Fun And Profit". L'idée est originale et assez efficace. Il faut savoir que lors de la connexion à la prise USB, les périphériques se font reconnaître, comme support de stockage, hub USB, clavier, etc... Rien n'empêche un périphérique de se faire passer pour une souris et un clavier afin de pouvoir agir directement sur la session de l'attaqué! Sous windows, il y a une courte infobulle informant de l'ajout de ces périphériques, sous Mac un pop-up apparaît, mais il est possible pour l'attaquant de le fermer, et sous linux, il n'y a aucun warning[1]. Owned!

On constate de plus que le laboratoire SOGETI/ESEC recrute (entre autre) un stagiaire pour : "Malicious hardware and USB: the purpose is to study the USB protocol and use it on a device (e.g. FPGA) to compromise a target host (Windows, MacOS X, Linux, iOS, Android)". On imagine facilement l'idée derrière, obtenir un périphérique capable de fournir des réponses choisies (malicieuses) lors de la discussion USB qui s'instaure à la connexion de ce périphérique.

L'USB est déjà un vecteur d'insécurité largement généralisé du fait des infections par clés USB qui permettent de transporter les virus. Mais une nouvelle famille de failles est peut-être encore à découvrir, attaquant directement le protocole USB lui-même.


[1] Ceci dit, le magazine MISC n°50 proposait un article implémentant un pare-feu USB sous linux.

2 commentaires:

  1. Y'a déjà des trucs existants dans le Social Engineering Toolkit qui font des trucs sympa sur l'USB, avec un microcontrolleur :-)

    http://www.offensive-security.com/metasploit-unleashed/SET_Teensy_USB_HID_Attack

    Ca se fait juste passer pour un clavier USB pour émuler une frappe clavier qui taperait super vite (et sans faire aucune faute) un script vbs par exemple dans notepad et qui l'executerait.

    Leur code est base sur des cartes a microcontrolleurs teensy (les cartes les plus utilisées à ma connaissance pour le fameux hack ps3 dont on a pas mal parlé en septembre, pour leur petite taille et donc leur discrétion), mais ça s'adapte assez bien sur pas mal d'autres microcontrolleurs :-)

    RépondreSupprimer
  2. C'est clair qu'il y a du potentiel dans l'USB, surtout avec les évolutions permanentes de la norme (ex. USB OTG).

    Ce qui m'avait semblé intéressant à regarder: périphériques USB qui embarquent des drivers Windows pour installation automatique, fuzzing de tous les drivers disponibles dans l'OS ...

    RépondreSupprimer