web-dev-qa-db-fra.com

Existe-t-il un moyen d'examiner en toute sécurité le contenu d'une clé USB?

Supposons que je trouve une clé USB qui traîne et que je veuille examiner son contenu afin de localiser son propriétaire légitime. Étant donné que les clés USB pourraient en fait être quelque chose de plus malveillant qu'un périphérique de stockage de masse , est-il possible de le faire en toute sécurité? Un "préservatif" à isolation électrique est-il possible? Existe-t-il un moyen de charger manuellement les pilotes USB sous Linux/Windows/OS X afin de garantir qu'il ne traitera pas l'appareil comme autre chose qu'un stockage de masse USB?

Après tout, malgré tous les propos alarmistes, il est encore plus probable que ce qui semble être une clé USB mal placée n'est en fait qu'une clé USB.

Question complémentaire: quelles mesures les kiosques d'impression photo peuvent-ils prendre pour se prémunir contre ce type d'attaques?

124
200_success

Une approche intéressante de ce problème est CIRClean , également décrite dans un article LWN .

Il utilise un Raspberry Pi (vraisemblablement assez consommable face aux surtensions et autres attaques électriques) dans lequel le stockage de masse USB non fiable et un stockage de masse USB vierge de confiance doivent être branchés. Et aucun autre appareil n'est branché - c'est pas connecté à un réseau ou clavier/souris/moniteur. Et il n'y a pas de stockage permanent inscriptible, ni de BIOS à infecter (et les vrais paranoïaques peuvent re-flasher la carte SD de démarrage avant chaque utilisation s'ils le souhaitent, je suppose).

Mettez-le sous tension et il transférera les fichiers de l'un à l'autre, en effectuant un nettoyage automatique des vecteurs de logiciels malveillants connus (par exemple, la transformation de PDF ou des fichiers MSOffice en HTML plus sûr). Un indicateur visuel et sonore indique lorsque le processus est terminé et que le système peut être mis hors tension, laissant à l'utilisateur une version quelque peu aseptisée du système de fichiers d'origine sur le stockage approuvé, prête à être transférée sur le poste de travail de l'utilisateur.

Si vous prévoyez d'utiliser CIRClean, je recommande de vérifier son traqueur de problème pour les défauts actuels - l'article de LWN note (décembre 2014) qu'il n'y avait aucune protection contre les attaques de clavier BadUSB; Je n'ai pas déterminé si c'est toujours vrai. En regardant le fichier de configuration du noyau dans le référentiel Git, il semble certainement qu'il pourrait être verrouillé beaucoup plus (Magic Sysrq, n'importe qui?). Peut-être un projet dans lequel s'impliquer plutôt qu'un (encore) un produit fini.

11
Toby Speight

J'utiliserais un Raspberry Pi, le modèle A/A + sans connexion réseau, comme:

  • Il (ou plutôt Linux) peut lire la plupart des types de système de fichiers sur une clé USB.
  • La seule mémoire non volatile dont elle dispose est une carte SD, qui peut être reformatée (ou jetée si vous êtes paranoïaque) par la suite.
  • Si la clé USB s'avère électriquement malveillante, vous n'avez perdu que 20 $ de matériel.
  • Il exécute un système d'exploitation quelque peu non traditionnel sur une plate-forme non x86, ce qui le rend moins susceptible d'être vulnérable aux logiciels malveillants Windows typiques.

Cela laisse toujours la question de ce que vous feriez avec les fichiers que vous y trouverez - les copier sur n'importe quelle autre machine mettrait évidemment cette machine en danger.

Rien n'est sûr à 100%, attention. Je ne peux pas dire mieux que James Mickens: "Si votre adversaire est le Mossad, VOUS ÊTES GONNA DIE ET IL N'Y A RIEN QUE VOUS POUVEZ FAIRE À CE SUJET").

78
Ian H

Le tueur USB ne tuerait pas votre PC si vous le connectiez via un concentrateur opto-isolé. Ils existent, (recherche: "hub USB opto-isolé") mais comme je n'en ai jamais utilisé moi-même, je ne recommanderai pas un modèle spécifique. Mais ils ne sont pas bon marché. Voici un exemple:

usb hub

Une fois que vous avez traité l'aspect matériel, vous êtes réduit à un problème plus courant. Vous avez probablement déjà plus de conseils d'experts dans d'autres réponses, mais ma décision est de débrancher le disque dur (et tout autre stockage inscriptible) d'un PC et de le démarrer à partir d'un CD live ou d'une clé USB live (une qui n'auto -exécuter le contenu des clés USB bien sûr). C'est parce que c'est le retour maximum pour l'effort donné d'où je commence. Il serait judicieux de prendre l'habitude de configurer même votre CD live pour qu'il ne monte pas automatiquement et n'installe pas automatiquement le matériel, et de débrancher la machine du réseau. Le démarrage avec le bâton suspect en place serait également une mauvaise idée, au cas où il serait amorçable, mais aussi parce que vous voudrez peut-être avoir accès aux journaux d'événements lorsque vous venez de le brancher.

49
Chris H

Si nous supposons que le bâton aurait pu être physiquement modifié pour un maximum de méchanceté, alors il faut tenir compte de la possibilité que le soi-disant "bâton de mémoire" crache des spores de charbon ou un nuage d'oxyde de plutonium lorsqu'il est inséré dans un ordinateur, de sorte que le la réponse à votre question serait: il n'y a aucun moyen sûr d'examiner le contenu d'une clé USB (sauf si vous pouvez déléguer la tâche à un subordonné qui le fera dans un autre bâtiment).


Inversement, si nous supposons que l'attaquant ( ne sera pas aussi minutieux, alors nous utilisons implicitement un "seuil de méchanceté" qui est de nature arbitraire. Si nous excluons les effets destructeurs physiques bruts (y compris essayer de faire frire l'électronique de l'ordinateur hôte), il y a principalement cinq façons par lesquelles une mauvaise clé USB pourrait endommager la machine dans laquelle elle est insérée:

  • La clé USB peut tenter d'exploiter une vulnérabilité du matériel du contrôleur USB. Ce contrôleur est une puce avec son propre firmware, qui est également connecté aux principales voies de données de l'ordinateur, il existe donc la possibilité théorique de trous exploitables. Ce serait très spécifique à une version du contrôleur et de son micrologiciel, et je ne suis pas au courant d'un tel trou dans la nature.

  • La clé USB peut tenter d'abuser d'une vulnérabilité dans le code du système d'exploitation qui gère le dialogue USB. C'est essentiellement ce que faisait PlayStation Jailbreak : l'appareil était, au niveau USB, plusieurs appareils, dont l'un envoyer des messages légèrement hors spécifications qui ont déclenché un débordement de tampon dans le code du système d'exploitation qui détecte et énumère les périphériques USB.

  • La clé USB peut être, en fait, non pas une clé USB, mais un autre type d'appareil, éventuellement plusieurs d'entre eux simultanément. Par exemple, le bâton pourrait être, du point de vue du système d'exploitation, un clavier, et lors de son insertion, il pourrait commencer à taper des choses. Cela se produit dans la nature.

  • La clé USB peut être une véritable clé USB, avec un système de fichiers qui exploite une vulnérabilité dans le code du système d'exploitation pour les systèmes de fichiers. Outre les débordements directs de tampon, il peut également y avoir des problèmes avec, par exemple, les fonctionnalités d'exécution automatique (il convient de noter qu'un certain nombre de clés de mémoire existantes non malveillantes émulent également un lecteur de CD-ROM virtuel précisément afin d'essayer d'exercer une telle exécution automatique). Une variante serait un bâton contenant des images qui exploitent les trous dans les bibliothèques de rendu d'image (qui seraient invoquées par l'ordinateur hôte lors de la tentative d'afficher des "vignettes" lors de l'exploration graphique des répertoires et des fichiers).

  • Enfin et surtout, un opérateur humain est impliqué, ce qui ouvre de nombreuses possibilités d'attaque. De nombreuses attaques exploitent simplement le puits sans fond de la crédulité humaine. Le contenu du bâton pourrait inciter l'opérateur humain à lancer négligemment ce qui ressemble à un exécutable inoffensif. Ou, pire encore sur cette ligne, le bâton pourrait contenir des documents de nature inquiétante (certaines choses ne peuvent pas simplement être invisibles), qui comptent toujours comme des "dommages".

Votre meilleur pari pour une "exploration sûre" de la clé serait d'utiliser un PC de base avec un système d'exploitation ayant une bonne réputation en ce qui concerne la qualité du code, à jour avec des correctifs de sécurité et, surtout, avec aussi peu de plug- et jouer le support que possible. Idéalement, un système d'exploitation qui n'essayera pas de faire quoi que ce soit automatiquement avec le périphérique USB nouvellement inséré (c'est-à-dire un système d'exploitation qui est exactement ce que le système d'exploitation moderne comme Windows, OS X ou Linux ne le sont pas). Je suggère de commencer par OpenBSD ou NetBSD , personnalisé pour désactiver toute forme de magie liée à l'USB. L'utilisation de logiciels et de matériel peu communs offre également une petite protection supplémentaire, car les attaquants de bas niveau et à large diffusion ont tendance à ne pas déranger les exploits d'écriture pour, par exemple, les systèmes NetBSD fonctionnant sur un ancien Mac PowerPC.

35
Tom Leek

Dans tous les cas, gardez à l'esprit qu'il n'existe pas de système parfaitement bac à sable (matériel/électrique, logiciel) qui puisse vous empêcher de telles infections à 100%.

D'un autre côté, votre situation peut dépendre de qui vous êtes et de l'endroit où vous l'avez trouvée.

Si vous êtes un travailleur qualifié, disons, pour une entreprise automobile et que vous avez trouvé la clé à côté de votre lieu de travail ou à côté de votre lieu de vie (vous êtes ciblé), alors la meilleure chose que vous pourriez faire est de détruire cette clé USB car le problème est qu'il n'y a aucun moyen de savoir à l'avance si la clé USB que vous avez trouvée contient un logiciel malveillant intégré au micrologiciel, auquel cas rien ne semble utile ( le logiciel malveillant `` BadUSB '' vit dans le micrologiciel USB pour rester non détecté, non réparable ). De tels logiciels malveillants peuvent entraîner l'infection de votre BIOS, ce qui peut être trop difficile à éliminer (sinon impossible).

Si vous êtes M. X ou Y et que vous avez trouvé la clé USB dans un lieu public aléatoire, il se peut que même si la clé USK est infectée (intentionnellement ou non), le malware ne pourrait pas être si dramatique et dans ce cas peut démarrer sur votre ordinateur à l'aide d'un Linux Live-CD pour démarrer et vérifier le contenu de votre clé USB peut être une action raisonnable.

19
user45139

Alors qu'au-dessus des aspects électriques ont été abordés, beaucoup sont préoccupés par un malware infectant votre BIOS. Eh bien, branchez-le sur une machine qui n'a pas de BIOS et qui ne fonctionnera pas sur le bâton: utilisez une machine SPARC. Je vois des machines Sunfire V100 sur eBay pour 50-60 $ dans des conditions incertaines, moins de 200 $ pour les soi-disant "vendeur remis à neuf". Il est possible qu'il y en ait d'anciens donc encore moins chers qui avaient un port USB que je ne me souviens pas du tout. Le V100 a définitivement des ports USB. Je suis sûr que si une lettre de trois l'agence sait que vous utilisez un SPARC ils pourront faire quelque chose de méchant avec une clé USB mais ce serait une attaque extrêmement coûteuse car ils auraient besoin de faire des recherches originales sur la façon de faire Voici la page officielle d'Oracle sur le montage de clés USB sous Solaris .

Ce sujet de forum parle de ajout d'USB à Ultra 5/1 si vous souhaitez vous embêter avec ça mais je ne les vois pas beaucoup moins cher que le Sunfire V100.

11
chx

L'OP fait référence à une isolation électrique en raison du risque dû à un appareil SB killer :

L'appareil fonctionnerait apparemment en tirant l'alimentation des ports USB et en utilisant un convertisseur jusqu'à ce qu'une tension négative soit atteinte. L'alimentation est ensuite redirigée vers l'ordinateur, le processus étant mis en boucle jusqu'à ce que les circuits de la machine frisent.

Malheureusement, il n'y a aucun moyen de se défendre contre cette attaque car elle implique le circuit électrique (sauf si vous construisez vos propres ports USB personnalisés!), Mais il semble très peu probable.

Le vecteur d'attaque le plus courant de nos jours est un virus Windows exécuté automatiquement lorsque vous insérez la clé USB. Par conséquent, je dirais que l'examen du contenu d'un lecteur USB sur une machine Linux est relativement sûr. C'est dangereux en théorie, mais en réalité, vous ne risquez pas grand-chose de le faire, à moins que quelqu'un ne cible vous ou votre entreprise (il y a une différence entre une clé USB trouvée dans une rue aléatoire et une clé USB trouvée sur le parking de votre entreprise ).

8
dr_

Techniquement, sous Linux, il est assez facile d'arrêter udev et de décharger tous les modules du noyau liés à USB, sauf usb-storage. Cependant, il y aura deux problèmes pratiques:

  1. Votre noyau stock peut avoir le module hid intégré, vous devrez donc recompiler le noyau pour le rendre chargeable.

  2. Une fois que vous avez déchargé le module hid, les claviers et souris USB légitimes cesseront également de fonctionner. Trouvez un ancien clavier PS/2 ou utilisez un clavier virtuel avec pavé tactile/écran tactile (ne fonctionne que si ceux-ci ne sont pas USB).

4
Dmitry Grigoryev

tl; dr: Faire quelque chose de radical comme utiliser un PC ou un périphérique "graveur" que vous utiliserez une fois pour lire la clé USB et ensuite le jeter est un (presque) complètement pare-balles pour voir ce qui est sur le bâton. Mais aller à de tels extrêmes pendant l'enquête est exagéré et un peu idiot. Sauf là où ce n'est pas le cas.


Croyez-le ou non, il y a c'est une façon presque infaillible d'examiner une telle clé USB. Pas à pas:

  1. Trouvez un ordinateur portable/netbook super ancien, super bon marché, mais toujours fonctionnel sur Internet et achetez-le. (Toute tablette suffisamment grande pour avoir un port USB de taille normale et avec un système d'exploitation qui peut utiliser le stockage externe sur ce port USB fonctionne également.)

    • Alternative # 1: Si, cependant, vous vous souciez vraiment aussi de ne pas potentiellement infecter la clé USB en la branchant sur un appareil appartenant à des antécédents de sécurité inconnus, vous pourriez tout aussi bien, disons, Nouvelle tablette Windows de 60 $ à 70 $ au bas du baril avec un port USB complet. (Ils ne sont pas difficiles à trouver sur Newegg, Amazon, eBay, etc. et via des sites comme Dealnews.) Le matériel de base le moins cher a sa place.

    • Alternative n ° 2: si vous voulez économiser un peu d'argent et que vous avez déjà un appareil ancien, merdique ou vieux et merdique, vous seriez heureux de sacrifier afin de savoir ce qui est sur cette clé USB, vous pouvez certainement suivre cette voie à la place . Cependant, il est évident que vous voudrez vous assurer qu'il ne restera absolument, absolument aucune donnée personnelle (ou professionnelle) de quelque sorte que ce soit avant de le faire. Avec un PC doté d'un disque dur classique, vous pouvez très probablement accomplir cela en l'essuyant avec un programme de démarrage qui écrase chaque bit d'espace sur le disque avec des données aléatoires plusieurs fois, puis en réinstallant le système d'exploitation que vous souhaitez. Probablement. D'autre part, si vous souhaitez utiliser un périphérique qui a un stockage à semi-conducteurs ....

  2. Lorsque le colis contenant votre appareil arrive, saisissez-le, un câble de charge approprié que vous êtes prêt à sacrifier (vous verrez pourquoi dans une minute) et faites un voyage dans un endroit qui a des fiches d'alimentation mais soit (a) pas de sans fil la disponibilité du réseau ou (b) au moins aucun réseau sans fil auquel vous vous êtes déjà connecté auparavant et, selon toute probabilité, ne se connectera jamais à l'avenir. (Une Panera ou Starbucks de l'autre côté de la ville qui est loin de votre chemin nominal fonctionne très bien). Juste pour couvrir le cas hypothétique où certains logiciels malveillants de niveau NSA ultra-sophistiqués présents sur la clé USB infectent votre appareil, puis commencent de manière autonome à utiliser ses radios pour tenter de violer les réseaux Wi-Fi, Bluetooth, etc. qui l'entourent. Bonus paranoïa: laissez également tous vos autres appareils électroniques dotés d'une connectivité sans fil à la maison. (Oui, y compris votre smartphone. Je sais que c'est difficile d'être séparé, mais juste une fois.)

  3. Lorsque vous arrivez à votre emplacement, déballez et branchez votre nouvel appareil. Attendez qu'il se charge un peu.

  4. Allumez votre appareil, attendez qu'il démarre et branchez votre clé USB suspecte. Jetez un œil à tout ce qui s'y trouve, à sa structure de fichiers, quelles que soient les caractéristiques que vous aimez. Si vous êtes dans un endroit qui dispose du wifi public, connectez-vous et récupérez des outils sur Internet (si votre ancien morceau de courrier indésirable les installe et les exécute) et examinez de plus près. Ne faites littéralement rien d'autre avec l'appareil.

  5. Lorsque vous avez satisfait votre curiosité, prenez votre appareil et votre chargeur, allez dans un champ quelque part à proximité et donnez-leur un bon envoi final en reconstituant cette scène à partir d'OfficeSpace . (Alerte: lecture automatique de la vidéo YouTube, avec probablement NSFW langue. Duh.)

  6. Faites ce que vous avez décidé de faire avec la clé USB et toutes les données qu'elle contient.

(D'accord, si vous êtes fier de ne pas être extrêmement gaspilleur et/ou écologiquement irresponsable, au lieu de détruire votre appareil/PC "brûlé" d'une manière amusante, vous pouvez le recycler, le donner à une œuvre de bienfaisance ou le vendre pour une bouchée de pain. Si vous choisissez l'une des deux dernières voies, devez-vous dire à la partie destinataire exactement pourquoi vous vous débarrassez de l'appareil? Eh bien, appelons peut-être cela une question de cybermoralité pour un autre jour.)

La fin.

Bon, d'accord, je suis un peu facétieux. Mais seulement un peu. Le fait demeure que si nous parlons d'examiner un périphérique USB avec un risque de sécurité (presque) nul, la seule vraie option est de le brancher sur un système qui (a) ne contient absolument aucune de vos informations sensibles, (b) vous êtes prêt sacrifier si l'USB s'avérait être un élément électriquement malveillant, (c) vous n'utiliserez plus jamais à des fins qui nécessitent de faire confiance à sa sécurité, et (d) ne pourrez physiquement vous connecter à aucun les réseaux ou autres appareils pour propager toute infection par un logiciel malveillant susceptible de provenir de la clé USB douteuse. (Ou pour rechercher des informations sensibles susceptibles de résider sur ces appareils et/ou réseaux.)

En d'autres termes, un ordinateur "brûleur" est votre meilleur choix. Si vous voulez vraiment, vraiment, vraiment examiner le lecteur avec une sécurité/sécurité presque * parfaite, bien sûr.

Maintenant, si nous parlons simplement d'examiner la clé USB avec un degré de sécurité/sécurité "très probablement assez bon, compte tenu des considérations pratiques", la suggestion de @Chris H ci-dessus est bonne: prenez un ordinateur de bureau ou un ordinateur portable ( que vous pouvez réellement ouvrir/réparer sans outils professionnels), retirez le ou les disques de stockage, démarrez à partir d'un CD OS/USB live que vous préférez et branchez la clé USB suspecte/intrigante. Y a-t-il encore une petite chance que l'USB puisse contenir des logiciels malveillants sophistiqués qui pourraient s'exécuter lorsque vous branchez la clé USB puis flashez le BIOS/UEFI de votre machine, ou flashez un autre firmware inscriptible contenu dans des choses comme votre carte vidéo, votre carte réseau, votre Contrôleurs USB, etc.? Oui. (Bien qu'à l'heure actuelle, toutes les choses en dehors des attaques BIOS/UEFI restent très rares dans la nature. Et même les logiciels malveillants BIOS ou UEFI doivent être écrits spécifiquement pour l'implémentation du fabricant/de la version utilisée dans une machine ciblée.) L'élément qui semble être une clé USB en réalité est-elle un tueur USB qui va électriquement frire votre carte mère? Eh bien ... théoriquement, oui. Mais les probabilités que l'une de ces choses soit vraie - en particulier celle qui tue l'USB - sont fortement en votre faveur. Pour paraphraser un bon point que vous avez soulevé dans votre question, la plupart du temps, une vieille clé USB ordinaire n'est qu'une simple vieille clé USB.

À moins que vous, votre employeur, sur une autre entité dont vous faites partie, vous puissiez être considéré comme une cible de très haute valeur par un attaquant sophistiqué. Ensuite, tous les paris sont désactivés. Et dans ce cas, une méthode compliquée de sécurité avant tout comme celle ci-dessus pourrait en fait être la seule appropriée.

* Bien sûr, la sécurité "parfaite" n'existe pas. Mais la sécurité "presque parfaite" est assez proche de nos objectifs ici.

4
mostlyinformed

Les autres réponses concernent les clés USB qui sont malveillantes, je vais parler du tueur USB mentionné dans votre réponse liée. (EDIT - ils l'ont fait quand j'ai commencé à taper ceci)

Une machine virtuelle n'aidera pas avec cela, elle va toujours obtenir de l'énergie et essayer de faire frire tout ce à quoi elle est connectée. Autant que je sache, vous avez trois options:

  1. Ouvrez le lecteur et voyez s'il a l'air légitime ou s'il est couvert d'une charge de gros condensateurs.
  2. Branchez-le sur une vieille machine ou un rPi, etc. (quelque chose que cela ne vous dérange pas de frire)
  3. Construisez une extension USB avec des diodes décentes, qui ont une tension inverse élevée.

Ce que vous choisissez de faire dépend vraiment de l'endroit où vous trouvez le lecteur et de votre curiosité. Personnellement, si je trouvais un travail extérieur et que je devais absolument le vérifier, je le brancherais sur un rPi. Si j'en trouve un dans la rue, il y reste.

3
Jay

Vous pouvez faire une machine virtuelle pour agir comme un soi-disant "préservatif". Quelques hyperviseurs populaires incluent VMware Player et Virtual Box . Si vous plantez votre machine virtuelle, vous pouvez simplement en créer une nouvelle et réessayer. Vous pouvez trouver des fichiers ISO sur le Web pour les créer. Parcourez simplement quelques didacticiels si vous avez besoin d'une visite, en fonction de l'hyperviseur avec lequel vous allez.

Si vous avez une machine Linux, vous pouvez rendre le disque en lecture seule, et peut être plus facile, selon ce que vous avez. Vous pouvez le faire via diskutil dans Terminal.

Selon l'itinéraire que vous empruntez, il suffit de commenter, et je peux aller plus en profondeur en modifiant cette réponse. J'espère que cela vous donnera quelques idées et vous rapprochera de votre objectif.

1
Vandal