Sécurité des clés USB

Date : 05 Janvier 2007

Aujourd'hui, les périphériques USB se multiplient, et en particulier, les périphériques de stockage que l'on appelle désormais couramment "clés USB" (ou aussi "memory sticks"). Ce type de "clé" est devenu très courant, aussi bien dans le cadre professionnel que personnel. Elle est très mobile : elle suit l'utilisateur et se branche sur tous les ordinateurs auquels ce dernier à accès (au bureau, à la maison, à l'occasion de présentations, dans un cyber-café, etc…).

En fait, ce type de périphérique présente des dangers, que nous détaillons ici en nous intéressant successivement :

  • au cas où l'on cherche à attaquer la clé,
  • puis au cas où la clé est utilisée pour attaquer le poste de travail sur lequel elle est branchée.

 
Nota : fondamentalement, les dangers exposés ici sont similaires à ceux que l'on a connu du temps des disquettes, mais cette fois à un échelle de grandeur bien supérieure.

 

La clé menacée

Le premier danger pour une clé USB est qu'elle peut facilement être perdue (ou volée). Si elle contient des données sensibles, alors ces données sont à la disposition de celui qui trouve ensuite la clé.

De même, le contenu de la clé peut être subtilisé au moment où la clé est branchée sur un ordinateur étranger. Par exemple, il suffit que sur ce poste étranger ait été installé une application comme "USB Dumper" (application présentée en juin 2006 lors de la conférence française SSTIC), pour qu'ensuite, à chaque fois qu'une clé USB est insérée dans la machine, le contenu intégral de la clé soit recopié sur le disque dur du poste.

Les données placées sur une clé USB sont donc très exposées au vol et il est donc fortement recommandé de les protéger en les stockant sur la clé uniquement sous forme chiffrée. Une solution simple peut être par exemple de stocker les documents sensibles dans un simple fichier "ZIP" protégé par mot de passe. Si cette solution n'est pas la plus robuste (il existe des logiciels de "cassage" des mots de passe ZIP) elle a l'intérêt d'être simple à mettre en œuvre, presque universelle (il est rare de trouver un ordinateur qui ne dispose pas d'un logiciel de type "WinZip"), et non trivialement contournable si le mot de passe choisi pour l'archive ZIP n'est pas trop simple (typiquement, un mot de passe de 12 caractères ne pourra pas être "cassé" facilement). Bien sûr cette solution simple n'est adaptée que pour les "petits secrets ordinaires", les "gros secrets" méritant eux un chiffrement plus robuste.

Nota : Certaines clés USB sont vendues avec un logiciel permettant de protéger le contenu de la clé. La robustesse de cette protection est à évaluer au cas par cas (il s'agit de solutions "propriétaires").

 

Un autre aspect préoccupant avec les clés USB est qu'il n'est pas toujours possible d'effacer de façon sure un fichier préalablement stocké sur une clé. En effet, avec certains types de clés, les logiciels d'effacement sécurisés (logiciels de "wiping" qui écrasent les données en écrivant de multiple fois par-dessus) ne sont pas efficaces car ces clés utilisent un algorithme de "wear-levelling" pour maximiser la durée de vie de la clé. Un bloc mémoire sur une clé USB ne pouvant être écrit qu'un nombre fini de fois (par exemple 10 000 fois), l'algorithme de "wear-levelling" limite cet effet d'usure en changeant l'emplacement attribué à un bloc mémoire à chaque fois que ce bloc est écrit Dans ce cas, écrire plusieurs fois sur le même bloc mémoire (pour le "wiper") n'a donc pas l'effet prévu (puisque ce n'est pas le même bloc physique qui est écrasé à chaque écriture). Ici encore, le chiffrement nous parait une solution appropriée, puisqu'il n'y a pas nécessité d'effacer de façon sure un fichier chiffré.

Nota : A notre connaissance, il n'existe pas de moyen de savoir si une clé implémente ou non le "wear-levelling".

 

La clé malicieuse

Ce second cas de figure correspond au cas où la clé est cette fois utilisée pour attaquer le poste sur lequel elle est branchée.

Une première façon de réaliser ce type d'attaque est de placer sur la clé un fichier infecté (cela peut être fait manuellement par une personne malveillante, ou automatiquement par un virus), puis d'attendre que la clé soit branchée sur un nouvel ordinateur et que le fichier infecté soit exécuté. Ce principe peut sembler simpliste, mais pourtant le risque d'une telle attaque est réel.

Une banque américaine a fait réaliser une expérimentation (cf. l'article cité ci-dessous à la rubrique "pour plus d'information") qui a consisté à abandonner vingt clés infectées à des endroits fréquentés par les employés de la banque. Quinze de ces clés ont été ramassées puis branchées sur un ordinateur de l'entreprise. Plusieurs utilisateurs ont ensuite activé un fichier malicieux présent sur la clé (ce fichier avait l'apparence d'une photo) et ont ainsi involontairement infecté leur poste de travail.

 

Sur les ordinateurs n'ayant pas désactivé la fonction "Autorun" (qui permet le lancement automatique des CD-ROM dès leur insertion), il est aussi possible de rendre l'attaque plus efficace en déclenchant automatiquement l'exécution du fichier malicieux dès l'insertion de la clé USB. Normalement la fonction "Autorun" ne fonctionne pas pour une clé USB (parce que celle-ci est reconnue par Windows comme un disque amovible, et donc jugée non sure). Cependant, il est possible de faire passer certaines clés USB pour un CD-ROM : lorsque la clé est insérée, Windows voit alors cette clé comme étant un CD-ROM (au lieu d'un disque amovible) et exécute automatiquement le fichier "autorun.inf" présent sur la clé. Ceci peut être réalisé très facilement avec les clés USB ayant le label "U3". La norme "U3" permet d'embarquer sur des clés USB des applications autonomes qui s'exécutent sur la clé. Les clés conformes "U3" sont disponibles couramment depuis l'automne 2005, et depuis l'été 2006 la méthode pour configurer une clé U3 en clé d'attaque a été largement diffusée sur Internet.

Indépendamment de la fonction "Autorun", il est aussi théoriquement possible de déclencher l'exécution automatique d'un code malicieux présent sur la clé USB si une faille dans les pilotes USB est découverte. Nous qualifions ce risque de théorique parce qu'à notre connaissance aucune faille concrète de ce type n'a encore été publiée, mais visiblement il existe des recherches dans cet axe (cf. la présentation "CanSecWest 2005" citées dans la rubrique "Pour plus d'information").

 

Pour limiter globalement cette seconde catégorie de risques, nous recommandons de :

  • considérer comme suspect tout fichier inconnu trouvé sur une clé USB (et a fortiori de considérer comme suspecte une clé USB que l'on vous prête).
  • désactiver la fonction "Autorun" de Windows (cf. le lien donné pour cet aspect dans la rubrique "Pour plus d'information").

 

Pour plus d'information


 

Précedent Précedent Suivant Suivant Imprimer Imprimer