Clé web USB et sécurité

80
31
août
2011
Sécurité

C'est l'histoire d'une personne qui reçoit un gros document papier, contenant une clé USB en forme de clé de porte (voir la photo en seconde partie de la dépêche). On se dit que la clé USB doit contenir la version numérique du document papier, et on branche négligemment l'objet sur son ordinateur.

Une fois branchée sous Windows, la clé ouvre la fenêtre Exécuter avec le raccourci clavier [Touche windows+R], tape une adresse HTTP de site web et confirme la demande. On se retrouve avec un navigateur (disons Internet Explorer par défaut sous Windows) qui ouvre un site distant inconnu. En l'occurrence la clé pointe vers le site du vendeur de ce gadget (l'adresse était en erreur la première fois que je l'ai branchée…), qui lui-même pointe vers le site désiré par l'acheteur de cet objet promotionnel.

Comment ça marche ? Simple, la clé se fait passer pour un clavier, et envoie des séries de touches dès qu'elle est branchée. Sous Windows, la clé apparaît dans le gestionnaire de périphériques comme un HID Keyboard Device.

Sous GNU/Linux, lsusb montre comme périphérique USB
Bus 005 Device 003: ID 05ac:020b Apple, Inc. Pro Keyboard [Mitsumi, A1048/US layout]
et usb-devices précise
P: Vendor=05ac ProdID=020b Rev=03.01
S: Manufacturer=WebKey
S: Product=WebKey
et la série de touches envoyées (récupérable sur la console par exemple) est du type ^[r^[r^[r^[r^[r^[[1~^[[4http://r.w3bk33.c0m/xxxxxxxxxxxxxxxx $.

Je résume : à des fins promotionnelles, on fournit à un public ciblé un objet qui envoie vers un site tiers via des redirections. Déjà au niveau sécurité c'est moyen (public ciblé donc attaque ciblée possible, site potentiellement hostile, adresse codée en dur qui restera après que l'opération promotionnelle ait disparue mais pas forcément pour un spammeur, etc.), mais surtout on se dit que ce système permet de faire beaucoup plus que ça. Au final, en se faisant passer pour un clavier, inséré à son insu par l'utilisateur, n'importe quelle commande pourrait être exécutée : effacement de données, dépôt d'un exécutable et exécution de celui-ci, sudo kill -9 -1, etc. Ici pas de parefeu USB qui bloquerait l'action, pas de confirmation, rien. Tout est automatique, on branche et c'est fait.

En sécurité informatique, il est largement connu que dès que l'attaquant a un accès physique à la machine, les choses vont de mal en pis. On est malheureusement habitué aux disquettes à secteur d'amorce infecté, aux cédéroms avec autorun hostile, etc. On se méfierait sûrement si quelqu'un nous disait « tiens branche ce dongle qui capture les touches entre ton clavier et ton ordi » ou « connecte cette clé 3G pour me filer un accès à ta machine pour que je contourne ton parefeu d'entreprise ». Et pourtant ici on est tellement habitué aux clés (ou aux souris, cf article The Register) USB que l'on ne se méfie pas… À tort.

Clé web USB

Aller plus loin

  • # Le matériel le plus innocent est parfois bien vulnérable.

    Posté par  (site web personnel) . Évalué à 10.

    Ça me fait penser à une conférence du SSTIC, présentée par quelqu'un ayant perdu le mot de passe BIOS de son portable. Jusque là, c'est banal. Hors, sur certains BIOS, il existe un mot de passe "maître" permettant de déverouiller ledit BIOS. Notre conférencier a donc eu envie de faire un peu de reverse sur sa machine pour comprendre comment ça marche.
    Au cours de ses pérégrinations, il a découvert qu'un clavier dispose d'un contrôleur et d'une RAM dédiée. Et qu'il est possible d'injecter du code dans la RAM du contrôleur clavier. Ce qui laisse la porte ouverte à de multiples idées...

    Pour une explication beaucoup plus précise, c'est par là :
    http://www.sstic.org/2011/presentation/sticky_fingers_and_kbc_custom_shop/

  • # nouveau vecteur d'attaque

    Posté par  . Évalué à 10.

    Impressionnant.

    C'est très astucieux et dans ces cas là j'épouvre une certaine admiration (qui a ses limites) pour le concepteur.

    • [^] # Re: nouveau vecteur d'attaque

      Posté par  . Évalué à 6.

      C'est super malin, et ça parait très difficile à bloquer. Même si on demande à l'utilisateur "vous venez de brancher un périphérique qui se présente comme un clavier. Autoriser?", ça n'empêche pas de refaire le même coup avec un vrai clavier.

      • [^] # Re: nouveau vecteur d'attaque

        Posté par  . Évalué à 5.

        No (New) keyboard, press F1 to continue

        • [^] # Re: nouveau vecteur d'attaque

          Posté par  . Évalué à 3.

          C'est ce que je disais : ça empêche l'utilisation de clés usb. Par contre, rien ne t'empêche de mettre une puce dans un clavier normal. Ou alors de programmer ton bidule pour qu'il se comporte comme une clé USB le temps qu'il faut pour te donner confiance. Je ne vois pas comment le système peut savoir si les données qu'il reçoit sont vraiment dues à un humain qui tape des touches ou à un gadget automatique...

          • [^] # Re: nouveau vecteur d'attaque

            Posté par  . Évalué à 10.

            programmer ton bidule pour qu'il se comporte comme une clé USB le temps qu'il faut pour te donner confiance

            Un scénario encore plus malin, mais d'abord une petite question :

            • combien de PC pro restent allumés la nuit ? Le midi ?

            Réponse : beaucoup ! La probabilité que le PC attaqué soit disponible à ces moments là diminue le risque d'être découvert.

            Donc, voilà une petite recette pour améliorer cette clé :

            • simuler une clé USB mass-storage (facile) pour tromper la cible
            • ajouter une interface 3G ou GPRS (facile) sur la clé
            • établir une connexion vers la machine de l'attaquant, via la 3G/GPRS (facile)
            • se connecter la nuit (ou le midi) à la clé, et lancer l'attaque

            Ce genre d'attaque pourrait permettre de :

            • installer un ver/keylogger/... puis :
            • copier les fichiers de la machine vers la clé USB, et les transmettre via la 3G
            • ajouter une interface réseau USB ethernet :
              • by-pass complet des sécurités réseau de l'entreprise
              • utiliser pour prendre le contrôle du PC (RDP, VNC, etc...)
              • utiliser pour re-router le trafic du PC et espionner ses communications (en interne du LAN d'une entreprise, les communications sont rarement chiffrées)
            • j'en passe et des meilleurs...

            Hop,
            Moi.

            • [^] # Re: nouveau vecteur d'attaque

              Posté par  (site web personnel) . Évalué à 4.

              Sauf que la clé a peu de chance de rester branchée...

              "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

            • [^] # Re: nouveau vecteur d'attaque

              Posté par  . Évalué à 3.

              D'où l'intérêt d'activer automatiquement l'économiseur d'écran avec mot de passe de déverrouillage au bout de 15 minutes par exemple... Le "parasite" USB n'ayant aucune chance de deviner le mot de passe, il enverra ses codes clavier à l'économiseur qui s'en moque.

              Reynald

              • [^] # Re: nouveau vecteur d'attaque

                Posté par  . Évalué à 2.

                Le périphérique USB peut simuler des évènements régulièrement dans le but d'empêcher l'écran de veille de se déclencher.

                • [^] # Re: nouveau vecteur d'attaque

                  Posté par  . Évalué à 10.

                  Le minimum serait tout de même de verrouiller sa session en quittant son poste.

                  Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

                • [^] # Re: nouveau vecteur d'attaque

                  Posté par  . Évalué à 1.

                  Le périphérique USB peut simuler des évènements régulièrement

                  Comme :

                  • un appui furtif sur la touche 'Shift'
                  • deux appuis consécutifs sur 'Num-Lock'
                  • un code touche qui n'a aucune action dans l'OS
                  • mieux, un code touche qui n'est pas reconnu par l'OS (donc serra ignoré)

                  Le minimum serait tout de même de verrouiller sa session en quittant son poste.

                  Bon, tant pis pour l'attaque, elle foire. Qui ne tente rien n'a rien. Mais franchement, combien de personnes verrouillent manuellement leur session ? Pas moi. Lors de la pause déjeuner, on ferme le bureau à clé. Pareil le soir. Pour les pauses physiologiques, vu qu'on est trois dans le bureau, ça ne pose aucun souci (je fait confiance à mes collègues, vu qu'on bosse sur les mêmes projets). Ensuite, ma session se verrouille automatiquement au bout de 5 minutes.

                  Hop,
                  Moi.

                  • [^] # Re: nouveau vecteur d'attaque

                    Posté par  . Évalué à 5.

                    Pour les pauses physiologiques, vu qu'on est trois dans le bureau, ça ne pose aucun souci

                    Mais mais mais tes collègues n'ont donc aucun sens de l'humour ? Ils ne placent jamais une capture d'écran en plein écran ? lorsque tu reviens ?
                    Ils ne font pas de $> xhost + lorsque tu est absent ? ni de xfishtank -root? Pas de xneko ou de xbugs ? pas de changement de vitesse de sourie ou de keymap clavier ? Rhaaa mais la belle époque se perd...

                    (à noter pour le xhost + une variante moins dangereuse est le xauth list )

                    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

                    • [^] # Re: nouveau vecteur d'attaque

                      Posté par  (site web personnel, Mastodon) . Évalué à 10.

                      Ça, c'était au XXème siècle : maintenant, le dév' laisse sa session Facebook ouverte et les autres lui collent un statut pourri. D'ailleurs ils n'ont aucune idée de ce peut bien être xhost.

                      • [^] # Re: nouveau vecteur d'attaque

                        Posté par  . Évalué à 1.

                        Ou les blagues de potaches qui ont ete repete depuis 20 ans ca lasse?

                        • [^] # Re: nouveau vecteur d'attaque

                          Posté par  (site web personnel) . Évalué à 10.

                          Ceux qui jouaient avec write, mesg y et autres cat de fichiers binaires (genre /vmlinuz) dans le tty ont fini par disparaître devant les comiques sous X11. Bientôt l'humour désopilant sera à base de glisser-déposer d'une machine virtuelle dans le cloud à partir d'une interface wayland simulée en HTML5+SVG dans un navigateur, le tout affichant « Prout ! » dans le site de microblogging de la victime, wizzant sa fenêtre de réseau social et le mettant comme ami de Pedobear. Sinon y a la clé USB qui insérée affiche « Prout ! » dans l'immédiat.

                          • [^] # Re: nouveau vecteur d'attaque

                            Posté par  . Évalué à 2.

                            Ceux qui jouaient avec write, mesg y et autres cat de fichiers binaires (genre /vmlinuz) dans le tty ont fini par disparaître devant les comiques sous X11.

                            Heu, j'ai pas disparu, moi... J'suis un dino, d'accord, mais j'ai pas disparu, d'abord... ;-)

                            Hop,
                            Moi.

                            • [^] # Re: nouveau vecteur d'attaque

                              Posté par  . Évalué à 10.

                              _J'suis un dino, d'accord, mais j'ai pas disparu, d'abord... _

                              Attention, derrière toi! Une météorite!

                        • [^] # Re: nouveau vecteur d'attaque

                          Posté par  . Évalué à 9.

                          hé y a moyens de se renouveler, c'est très large ce qu'on peut faire; remplacer le l par un 1 sur la keymap, plus discret et plus subtil

                          alias man='echo why dont you ask for a woman ?'
                          alias emacs='/bin/vi'
                          alias vim='/usr/bin/emacs'
                          alias eclipse="kdialog --title 'eclipse' --sorry 'oouup'"

                          Enfin faut juste garder comme règle principale de ne pas jouer avec les truc du genre rm, kill -9 -1, xkill ...

                          Ça donne une bonne ambiance, et parfois les collègues ont une imagination débordante (comme inverser les boutons de la souris toute les minutes ou à la demande... )

                          Il ne faut pas décorner les boeufs avant d'avoir semé le vent

                          • [^] # Re: nouveau vecteur d'attaque

                            Posté par  . Évalué à 3.

                            Dans le style difficile à trouver, je propose un petit autocollant (ou post-it, n'importe quoi dans ce gout là) sur les pin "signal" de la souris, dans la fiche usb du rongeur. Attention à bien laisser libre les pin d'alimentation, histoire que la lumière s'allume.

                            Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.

                            • [^] # Blague de potache

                              Posté par  . Évalué à 2.

                              Une bien bonne aussi, mais qui ne marchera pas avec un guru, c'est d'inverser une ou deux touches physiquement sur le clavier :)

                        • [^] # Re: nouveau vecteur d'attaque

                          Posté par  . Évalué à 1.

                          Ou les blagues de potaches qui ont ete repete depuis 20 ans ca lasse?

                          Ou bien ils sont encore plus cons que ça ?
                          On a, genre, deux 'règles' dans le bureau :

                          1. on ne touche pas au PC
                          2. tout le reste est permis, même enfreindre la règle #1 si c'est super inventif, ou super drôle

                          Il faut savoir, on a une scie dans notre bureau. Une vraie qui fait mal quand on s'assoit dessus par mégarde...

                          Mais bon, la plupart du temps, les blagues sont plutôt pipi-caca-prout-bite-couille-nichon (moyenne d'âge du bureau : 41 ans, j'en ai 36). Et qu'est-ce qu'on s'marre ! :-)

                          Hop,
                          Moi.

      • [^] # Re: nouveau vecteur d'attaque

        Posté par  . Évalué à 1.

        ça parait très difficile à bloquer

        Si l'autorisation d'activation est demandée seulement lorsqu'un second clavier est branché, alors il n'y a pas de problème, et c'est très facile du coup, du moins en théorie.

        Par contre si un vrai clavier commence à faire ce genre de truc... c'est très difficile à contrer mais à mon avis cela ne passera pas inaperçu et le constructeur perdrait immédiatement toute crédibilité.

        • [^] # Re: nouveau vecteur d'attaque

          Posté par  . Évalué à 10.

          le constructeur perdrait immédiatement toute crédibilité.

          Je n'ai pas encore entendu parler d'un éditeur majeur d'OS qui ait perdu sa crédibilité après que preuve soit faite que les PC téléphones à la maison de papa Bill.
          Idem pour bien d'autres. Par exemple SONY n'a pas pris une ride malgré leur méga coup de pute.

          La plupart des gens s'en foutent. Lorsqu'un truc entre dans leur derrière, il font un peu la grimace et c'est oublié le lendemain. Sinon plus personne ne voterait.

    • [^] # Pas si nouveau que ça

      Posté par  (site web personnel) . Évalué à 3.

      Le principe avait déjà été mentionné sur DLFP l'an passé:

      https://linuxfr.org/nodes/56510/comments/1165991

  • # reverse keylogger ??

    Posté par  . Évalué à 2.

    certaines applications de sécurité sous Windows permettent de se prémunir des keyloggers en se positionnant sur la couche driver.

    Quand est-il alors pour ce genre d'approche? Cela passe-t-il comme dans du beurre ou est-il possible de le considérer comme un "reverse keylogger" qui, au lieu d'écouter, produit des frappes clavier?

    Très souvent les solutions de filtrage de périphériques excluent les HID (Human Interface Devices) comme justement les claviers/souris. Elles sont donc également inefficace sur ce type de scénario...

    • [^] # Re: reverse keylogger ??

      Posté par  (site web personnel) . Évalué à 3.

      Là c'est un niveau en dessous.

      Pour éviter le problème de simulation de clavier on pourrais éventuellement avoir un paramétrage du système indiquant qu'on n'a qu'un clavier. Idem avec la souris.

      Mais... quid du lecteur code-barres qui transmet les infos comme un clavier ? Quid de la tablette tactile qui se comporte comme une souris ?

      Ou alors une identification des périphériques connectés, avec un appel à l'utilisateur lorsqu'un périphérique nouveau clavier/souris apparaît (en lui rappelant qu'il a déjà un clavier référencé Logitech XTruc, et que vient d'apparaître un clavier Schmilblik Cracker02). Mais ça n'empêchera pas une grande partie de la population de se dire "ah bon" et de cliquer sur "Continuer".

      On va tout de même pas tomber dans le TPM sur les clavier/souris ?

      Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

    • [^] # Re: reverse keylogger ??

      Posté par  (site web personnel, Mastodon) . Évalué à 9.

      Quand est-il alors pour ce genre d'approche?

      Le vendredi matin.

  • # Vive linux !

    Posté par  . Évalué à -8.

    Voilà pourquoi, sous linux, faire des dégats nécessite le mot de passe de root, mot de passe que la fausse clé usb ne peut pas connaitre.

    • [^] # Re: Vive linux !

      Posté par  . Évalué à 10.

      Oui enfin de la récupération d'adresse mail sur ton carnet + rm -rf $HOME ca peut deja etre bien emmerdant

      • [^] # Re: Vive linux !

        Posté par  . Évalué à 10.

        Ah bon ? Tu ne déconnectes pas tous tes disques dur et tu ne démarre pas avec un live CD pour tester quand on te propose d'insérer une clé usb dans ta machine ?

        • [^] # Re: Vive linux !

          Posté par  . Évalué à 4.

          Pas besoin, suffit de créer un compte avec un HOME dans un tmpfs.

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

          • [^] # Re: Vive linux !

            Posté par  . Évalué à 2.

            Je sais pas si j'devais le prendre de façon humoristique... mais un chroot est bien plus sur :)

      • [^] # Re: Vive linux !

        Posté par  . Évalué à -2.

        Vivent les webmails et les sauvegardes ;)

    • [^] # Re: Vive linux !

      Posté par  . Évalué à 10.

      Super, ça ne va pouvoir supprimer que tous mes documents, mais ça laissera intact ma distribution. Heureusement qu'il y a plein de miroirs partout de mes documents, et aucun de ma distribution. Si ça avait été l'inverse, je serais dans la merde.

      Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.

      • [^] # Re: Vive linux !

        Posté par  . Évalué à 1.

        Moi je fais des sauvegardes quotidiennes, c'est tout.

        • [^] # Re: Vive linux !

          Posté par  . Évalué à -2.

          En déconnectant physiquement le disque dur externe à chaque fois ? Parce que sinon, il n'est pas bien compliqué d'effacer la sauvegarde si la sauvegarde n'utilise pas de compte utilisateur particulier (et même dans ce cas...)

          • [^] # Re: Vive linux !

            Posté par  . Évalué à 7.

            Bien sûr, je fais des sauvegarde sur la même machine, tant qu'on y est, sur le même disque, le même fs, le même dossier, juste des noms de fichiers différents...

            Sais-tu qu'il est possible d'utiliser un réseau pour faire ses sauvegardes ? Sais-tu que si on les fait dans un endroit éloigné on réduit les probabilités d'un incidents qui touche les données et les sauvegardes (au hasard : vol, incendie, inondation). Il n'y a pas que le crash de disque dur qui peut causer la perte des données...

            • [^] # Re: Vive linux !

              Posté par  . Évalué à 10.

              Merci. Je viens enfin de comprendre pourquoi sur l'ordinateur de certains utilisateurs Windows (les plus boulets d'entre-eux on va dire) on plein de fichier avec des noms genre "(Copie de) tarte aux fraises.ppt". J'ai toujours cru qu'ils faisaient des drag'n'drop involontaires parce qu'ils avaient cinq annulaires à chaque mains. Mais non, ils font des sauvegardes !

            • [^] # Re: Vive linux !

              Posté par  . Évalué à 0.

              Bien sur que je le sais ! Je réagissais au fait que simplement dire "je vais une sauvegarde", ca ne suffit pas, il faut effectivement qu'elle soit "off-site" (au moins).

          • [^] # Re: Vive linux !

            Posté par  . Évalué à 1.

            si la sauvegarde n'utilise pas de compte utilisateur particulier

            Je ne comprends pas. Je vais peut-être dire une connerie, mais sous tous les Unices, il y forcément un utilisateur qui a lancé la sauvegarde et un utilisateur (généralement le même) à qui appartient le fichier généré. Au pire root ou nobody.

            De plus pour les petits volumes, genre le carnet d'adresse, les mails importants, on peut chiffrer la sauvegarde, ça ajoute une difficulté supplémentaire pour un éventuel attaquant.

            • [^] # Re: Vive linux !

              Posté par  . Évalué à 1.

              J'ai compris, un autre utilisateur que l'utilisateur "courant"...

              Mais bon t'étais pas très clair :)

              --> []

        • [^] # Re: Vive linux !

          Posté par  . Évalué à 7.

          moi je fais mes sauvegardes demain

      • [^] # Re: Vive linux !

        Posté par  . Évalué à -9.

        Le problème est que pour la plupart des utilisateurs, c'est le contraire, ils ont le cd d'installation de leur système d'exploitation, et AUCUNE sauvegarde de leurs données ...

        • [^] # Re: Vive linux !

          Posté par  . Évalué à 4.

          ils ont le cd d'installation de leur système d'exploitation

          Si on parle d'utilisateurs de GNU/Linux je veux bien, mais si on parle de la grande masse informe des utilisateurs du concept abstrait d'outil informatique, bah je pense qu'ils n'ont ni sauvegardes ni CD d'installation :)

          Les utilisateurs de Windows qui créent les CD/DVD de restauration et/ou réparation, ils sont déjà un peu avertis. C'est quel pourcentage d'entre-eux d'après vous ?

    • [^] # Re: Vive linux !

      Posté par  . Évalué à 5.

      Il est aussi possible de faire des dégâts sur le système avec sudo. Sudo permet un délai pendant lequel il n'est pas nécessaire de taper le mot de passe.

      Une boucle qui teste à intervalle régulière, et ce système dans une souris (qui reste normalement branchée tout au long de l'utilisation), et c'est bon.

      • [^] # Re: Vive linux !

        Posté par  . Évalué à 3.

        Toi j'ai l'impression que t'as déjà le fer à souder à la main ;)

      • [^] # Re: Vive linux !

        Posté par  . Évalué à -6.

        Bah en même temps y a que les ubuntuistes pour utiliser sudo (grosse faille) et en plus le configurer pour ne pas demander le mot de passe a chaque fois (GROSSE faille !)

        • [^] # Re: Vive linux !

          Posté par  . Évalué à -5.

          Ah, et sinon ça serait bien que quelqu'un mette un truc de ce genre dans une souris, ça ferait un argument de plus pour dire que le clickodrome c'est le mal :D

          (désolé pour le double post (mais pas pour le troll :D ))

          • [^] # Re: Vive linux !

            Posté par  . Évalué à 3.

            Arf... Souris, clavier, même combat pour se genre d'attaque. C'est les "input devices" en général qui sont une faille potentielle.

      • [^] # Re: Vive linux !

        Posté par  . Évalué à 2.

        Le délai sur sudo ne fonctionne plus sur les programmes avec interface graphique (gksudo).

        Par contre, ce délai est encore disponible dans les consoles, mais disparaît dès que la console est stoppée.
        Le fonctionnement revient donc au même que si on travaille avec "su -" dans une console.

        • [^] # Re: Vive linux !

          Posté par  . Évalué à 2.

          Le fonctionnement revient donc au même que si on travaille avec "su -" dans une console.

          Absolument pas lorsque j'ai fini mes conneries avec su - je fais un ctrl-D

          lorsque j'ai fini avec un sudo, je ne ferme pas la console.

          Il ne faut pas décorner les boeufs avant d'avoir semé le vent

          • [^] # Re: Vive linux !

            Posté par  (site web personnel) . Évalué à 2.

            Mais tu peux faire un « sudo -k », ou réduire la durée de la session (je ne sais pas si on peut la désactiver totalement).

            Il existe deux catégories de gens : ceux qui divisent les gens en deux catégories et les autres.

  • # Hors sujet mais dans le même genre...

    Posté par  . Évalué à 4.

    Ici, on peut trouver une clef flash USB se faisant passer pour un lecteur optique !
    Isostick the optical drive in a usb stick

    C'est le même genre de hack ingénieux je penses...

    • [^] # Re: Hors sujet mais dans le même genre...

      Posté par  (site web personnel) . Évalué à 3.

      Microsoft a désactivé l'autorun sur ses windows (enfin ?) sauf pour… les disques optiques, ou ce qui se fait passer pour un disque optique !

      On connaissait depuis assez longtemps déjà les clés^Wchevaux de troie U3 qui font passer une de leurs partitions pour un CD (et c'est la partition qui contient l'autorun avec les salopperies). Il existe un utilitaire, u3-tools (que je n'ai pas essayé), qui est sensé modifier le comportement de cette partition.

      Sur http://support.microsoft.com/kb/971029 ont lit bien :

      « Certains lecteurs flash USB possèdent des microprogrammes qui présentent ces lecteurs flash USB comme des lecteurs CD lorsque vous les insérez dans un ordinateur. Ces lecteurs flash USB ne sont pas affectés par cette mise à jour. »

      On comprend l'existence de ce type de clé, un peu comme la clé clavier présentée ici, l'utilisateur n'en a pas besoin pour lui-même.

      ce commentaire est sous licence cc by 4 et précédentes

    • [^] # hack USB

      Posté par  . Évalué à 1.

      Oui, il y a même des tutoriaux pour changer le contenu de ce CDROM et y injecté des saloperies qui profiteront de l'autoexec de la plupart des machines windows.

      Est ce qu'il ne serait pas possible de paramétrer la détection de périphérique (udev) pour qu'elle demande l'autorisation à l'utilisateur avant d'utiliser un périphérique ?
      Genre "un nouveau clavier (vendeur, modèle) a été inséré, voulez vous l'activer ?".
      Si on a inséré ce que l'on croyait être une clé usb et que c'est en fait un clavier, ça peut faire réagir l'utilisateur pour qu'il dise non.

      • [^] # Re: hack USB

        Posté par  . Évalué à 1.

        "un nouveau clavier (vendeur, modèle) a été inséré, voulez vous l'activer ?"

        Une clé... Bizarre le terme clé pour se genre de périphérique, quoique si il sert à pénétrer un système il reprend tout son sens :) USB donc, hackée, ne pourrait-elle pas mentir sur son (vendeur, modèle) pour en choisir un bien bateau ?

        Il faudrait ajouter un liste blanche de ces identifiants :)

        • [^] # Re: hack USB

          Posté par  . Évalué à 3.

          Peut importe le vendeur/modèle dans ma proposition.
          Si le périphérique veut agir en tant que clavier, il est obligé de se déclarer comme tel (HID) au système.
          L'idée est de demander à l'utilisateur si il ce qu'il a inséré correspond bien à la réalité.

          • [^] # Re: hack USB

            Posté par  . Évalué à 3.

            En ce cas, il suffit de répondre "je suis un clavier Logitech standard" (ou, si on connaît le clavier de la victime, la même chose). Combien d'utilisateurs, même avertis, vont alors considérer que leur clavier "officiel" a été victime d'un faux contact et l'accepter comme tel?

            • [^] # Re: hack USB

              Posté par  . Évalué à 5.

              Reprends l'exemple donné dans ce journal. L'utilisateur pense que c'est une clé usb.
              Si à l’insertion, le système demande:

              "vous venez d'insérer un clavier Machin/Truc
              voulez vous l'utiliser ?"

              L'utilisateur devrait se dire, "bah non ça devrait être une clé USB" ; et cliquer sur "non", l'arracher et la jeter à la poubelle.

              Le périphérique peut tricher sur sa marque et son modèle mais ne peut pas tricher sur son rôle de clavier sinon il ne pourra pas envoyer les instructions et le hack ne marchera pas.

              Je suis pas clair ou ça tien pas la route ?

              • [^] # Re: hack USB

                Posté par  . Évalué à 1.

                Le périphérique HID n'est pas obligé de se déclencher immédiatement. La clé peut se contenter d'apparaître comme un simple UMS, et attendre un peu avant d'activer le reste.

                • [^] # Re: hack USB

                  Posté par  . Évalué à 5.

                  Et le système demandera l'accord pour un nouveau périphérique.
                  Ça tient encore.

                  • [^] # Re: hack USB

                    Posté par  . Évalué à 3.

                    Sauf si le nouveau périphérique arrive avec un nom bien générique, auquel cas bien des utilisateurs se feront avoir en pensant à un "bug" de leur clavier officiel.

              • [^] # Re: hack USB

                Posté par  (site web personnel) . Évalué à 10.

                L'utilisateur devrait se dire, "bah non ça devrait être une clé USB" ; et cliquer sur "non", l'arracher et la jeter à la poubelle.

                L'utilisateur va plutôt ce dire "qu'il est con ce windows, de confondre une clé USB et un clavier" et cliquer sur oui.

            • [^] # Re: hack USB

              Posté par  . Évalué à 1.

              Certes il y a moyen de rendre le subterfuge moins évident mais si je reçois une notification pour un clavier (même très classique) alors que je m'attend à en recevoir une pour un périphérique de stockage (puisque c'est ce que je viens de brancher) alors je suis sensé me poser des questions.

              Après il faut faire les choses bien : si il n'est pas évident, au premier regard de quelqu'un de pas très attentif, qu'il s'agit d'un clavier, ça ne sert à rien. Je vois la notification, comme je m'attend à en avoir une je clique sur « OK » sans faire attention et je rate tous l'intérêt de la chose.

          • [^] # Re: hack USB

            Posté par  . Évalué à 4.

            Généralement, si je branche un clavier, c'est que j'en ai pas, du coup, la confirmation, je vais avoir du mal à la valider.
            Une solution efficace dans mon cas serait de limité les HID autorisés à charger le pilote correspondant selon le port USB sur lequel ils sont branchés.
            Du coup, j'ai des ports USB qui n'autorisent que les USB mass storage, et si je branche autre chose, rien ne se passe. Là, je vais voir les messages systèmes et je vois alors que mon périphérique est un clavier/un modem/un vibro ou autre chose d'exotique et je sais prendre la bonne décision.

            • [^] # Re: hack USB

              Posté par  . Évalué à 3.

              Généralement, si je branche un clavier, c'est que j'en ai pas, du coup, la confirmation, je vais avoir du mal à la valider.

              // FIXME: permettre une validation à la souris.

              • [^] # Re: hack USB

                Posté par  . Évalué à 1.

                et du coup la validation du clavier à la souris ;)
                Cela pose quand même un soucis de bootstrap, car ça suppose qu'il y ait toujours au moins un périphérique d'entrée déjà actif sur le système grâce auquel il est possible de valider un nouveau périphérique.
                Je pense que la solution de limiter les types de HID par port USB (par liste blanche, liste noire ou autre) est tout de même nécessaire. Après on peut, dans les cas ou le périphérique n'est pas autorisé sur le port en question, demander validation par l'utilisateur plutôt que de complètement interdire, effectivement.

        • [^] # Re: hack USB

          Posté par  . Évalué à 2.

          « Il faudrait ajouter un liste blanche de ces identifiants »

          [OUI] avec des DRM...

          ok je sors...

      • [^] # Re: hack USB

        Posté par  (site web personnel) . Évalué à 4.

        Si on a inséré ce que l'on croyait être une clé usb et que c'est en fait un clavier, ça peut faire réagir l'utilisateur pour qu'il dise non.

        Une réaction de l'utilisateur ? Oui, probablement.
        Pertinente ? Ça, c'est un autre problème :
        Un clavier ? Mais non, ce n'est pas un clavier, c'est une clef. Vraiment bogué ce système. Bon, je clique sur continuer, je veux voir les films/mp3/photos/etc. que popol m'a refilé !

        • [^] # Re: hack USB

          Posté par  . Évalué à 1.

          Afficher un message un peu alarmant (dans le cas où un second clavier est branché) pourrait-il donner quelque chose ? Quel effet le message alarmant de Firefox en cas d'erreur SSL produit-il sur les utilisateurs ordinaires ?

          • [^] # Re: hack USB

            Posté par  . Évalué à 3.

            Quel effet le message alarmant de Firefox en cas d'erreur SSL produit-il sur les utilisateurs ordinaires ?

            Ça leur fait peur, la peur les empêche de réfléchir, et ils répondent des conneries du genre "Ton site marche pas" ou "Ton site est piraté" au lieu d'accepter temporairement (pour la durée de la session) un certificat auto-signé.

            THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

            • [^] # Re: hack USB

              Posté par  . Évalué à 1.

              Alors, c'est parfait contre une fausse clef USB clavier, s'ils s'enfuient en courant sans valider.

    • [^] # Re: Hors sujet mais dans le même genre...

      Posté par  . Évalué à 1.

      Même principe sur un téléphone ( alcatel onetouch ) en branchant le cable mini usb a un pc, le téléphone simule un lecteur cd installe automatiquement un petit logiciel, au demeurant bien foutu (sauvegarde des contacts, affichage des texto comme un logiciel de messagerie instantanée,..).

      Sur le coup j'avais pas pensé au coté sécurité, c'est vrai que le fait d'utiliser un câble standard , et ne pas avoir à fouiner dans les forum spécialisés pour trouver un logiciel plus ou moins cracké, j'avais trouvé ça pas mal.

      nb: j'ai pas essayé sous linux, si ça se trouve ça marchais aussi bien.

  • # Pas la première fois

    Posté par  . Évalué à 3.

    Pas la première fois que les clefs USB apparaissent comme des gros trous de sécurité, si je me souviens bien, il était évoqué comme possibilité:
    -utilisation de vulnérabilité dans le "thumbnailer" (le machin qui analyse le contenu des répertoires pour créer des icones correspondant aux fichier), bon là ça parait relativement simple a éviter comme vulnérabilité en isolant le "thumbnailer".
    -utilisation de système de fichier exotiques dont les implémentations ont des vulnérabilités, et là c'est beaucoup plus compliquer à éviter vu le nombre de système de fichier implémenter par Linux!

    Pour l'histoire de la clef USB hackée pour servir de clavier, à part interdire les clefs USB, la seule défense que je puisse voir est d'avoir des ports USB spécifiques marqués "clavier" et "souris" et de n'autoriser le matériel type clavier et souris que sur ces ports, très peu probable que ce soit implémenter un jour..

    • [^] # Re: Pas la première fois

      Posté par  . Évalué à 3.

      Pourquoi pas, suffit d'enlever le U de USB et de l'appeler SB
      (ou bien PS2 :-) )

    • [^] # Re: Pas la première fois

      Posté par  (site web personnel) . Évalué à 5.

      utilisation de vulnérabilité dans le "thumbnailer"

      c'est d'ailleurs un truc dans ce style qu'utilise le virus stuxnet qui est allé mettre le bordel en iran:

      instead of exploiting a vulnerability to forcibly execute an autorun.inf file, Stuxnet takes advantage of a vulnerability in parsing shortcut (.LNK) files in order to execute a malicious Control Panel module.

      An attacker can subvert this operation with a specially crafted .LNK file, which is pointed to a specially crafted Control Panel module (in reality, the malware). When the system attempts to resolve the shortcut file's icon, the vulnerability is triggered and the Control Panel module is automatically executed. The user does not need to click on the icon in order for the malware to be executed. ( http://www.f-secure.com/v-descs/trojan-dropper_w32_stuxnet.shtml )

    • [^] # Re: Pas la première fois

      Posté par  . Évalué à 2.

      la seule défense que je puisse voir est d'avoir des ports USB spécifiques marqués "clavier" et "souris" et de n'autoriser le matériel type clavier et souris que sur ces ports, très peu probable que ce soit implémenter un jour..

      Ne serait-il pas possible avec les outils actuels, de n'autoriser sur certains port USB bien définis (ceux de devant ma machine par exemple) que les HID de type mass storage ?

      au moins, on aurait des ports un peu moins vulnérables. Il y aurait toujours le problème de la faille dans le driver de système de fichier, mais ça resterait une faille qui serait corrigée aussitôt trouvée, alors que là, c'est plutôt un problème de conception duquel qu'il est beaucoup plus dur de se protéger de mon point de vue.

      • [^] # Re: Pas la première fois

        Posté par  . Évalué à 10.

        On appellerait ça des ports ps/2 et on pourrait même les colorier
        en mauve et vert ! Bonne idée !

        La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".

        • [^] # Re: Pas la première fois

          Posté par  . Évalué à 2.

          Ça suppose alors que tu ais plusieurs de ports PS2 pour clavier et pour souris, sans compter les ports USB, et en sachant que tant que tu n'as qu'un clavier et qu'une souris, pas mal de place est inutile sur ta tour. Pas grave tu me diras, jusqu'à ce que tu te mettes à faire des périphériques plus petits, comme des ultra portables, puis des tablettes, des smartphones, ...
          Ensuite, même si l'on suppose que l'on en garde qu'un pour le clavier dit "maitre" et que les autres son en USB, ça veut sur que tu as un ou plusieurs clavier PS2 et un ou plusieurs clavier usb, ou alors plein d'adaptateurs...

          Au final, je pense que tout mettre sur la même interface (USB ou une autre, là n'est pas la question) n'est pas une mauvais idée en soi, et on pourrait effectivement colorier en rose et vert deux ports USB particuliers (ceux qui ont des numéro de BUS 0 et 1, ou je ne sais quoi qui les représente) et que l'OS n'accepte par défaut que sur ces dernier un clavier et une souris, sur les autres une validation est requise.
          Après, je repose ma question car je n'ai malheureusement plus de feutres rose chez moi : Est-ce que je peux faire ça de façon logicielle (assez facilement quand même) avec des règles udev par exemple simplement avec les outils actuels ?

          • [^] # Re: Pas la première fois

            Posté par  . Évalué à 2.

            Nan mais... c'était pour de faux, pour de rire !

            La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".

  • # Se prémunir de l'attaque ?

    Posté par  (site web personnel) . Évalué à 4.

    Peut être qu'un moyen de se prémunir de l'attaque serait d'avertir/demander confirmation de l'utilisateur lors du branchement d'un périphérique USB se présentant comme HID (clavier) alors qu'un clavier est déjà branché. Eventuellement, pour ceux qui branchent régulièrement plusieurs claviers (je ne pense pas que cela soit très courant mais bon...) offrir une option permettant de retenir les périphs autorisés en se basant sur l'ID vendor/device (même si cela ouvre une faille potentielle).

    • [^] # Re: Se prémunir de l'attaque ?

      Posté par  (site web personnel) . Évalué à 4.

      Le problème est qu'on a facilement plusieurs claviers maintenant, avec les boitiers "multimedia" avec des touches pour le volume, ou des souris compliquées, etc.
      Donc si ça se trouve, ton "vrai" clavier sera le second clavier à vouloir se connecter.

    • [^] # Re: Se prémunir de l'attaque ?

      Posté par  . Évalué à 1.

      paternité de l'idée : 15h01.

    • [^] # Re: Se prémunir de l'attaque ?

      Posté par  . Évalué à 2.

      Bonne idée mais insuffisant/incomplet car ça ne protège pas les tablettes puisqu'elles n'ont souvent pas de clavier branché..

  • # Re: Sécurité Clé web USB et sécurité

    Posté par  . Évalué à -1.

    Mouaips c'est vraiment que c'est ingénieux et que c'est la première fois que j'entends parler de ça, mais en ce qui concerne les clefs USB normales ("mass storage"),elle sont déjà dangereuses et vous devriez vous méfier plus que ça... (j'en ai déjà vu qui utilisaient le autorun pour installer).
    C'est notamment pour cela que par défaut sous OpenBSD seul le root est autorisé à monter un périphérique...
    De toutes façon, le problème ici vient surtout du fait que l'utilisateur a visiblement l'habitude de brancher tout et n'importe quoi sur sa machine...

    • [^] # Re: Sécurité Clé web USB et sécurité

      Posté par  . Évalué à 3.

      C'est notamment pour cela que par défaut sous OpenBSD seul le root est autorisé à monter un périphérique...

      Même le clavier ? j'ai un doute, je fais comment si mon clavier rend l'âme et que je dois en mettre un neuf?

      Quant à vouloir avoir root tout le temps pour faire un truc aussi simple que monter un CD ou un clé USB est un coup à avoir des utilisateurs qui bossent tout le temps en root ou qui utilisent un sudo un peu lâche, ou font des su à la pelle, faisant que le mot de passe root soit tapé plus régulièrement, facilitant la tâche des keylogguers.

      Ne pas exécuter automatiquement ce qui est sur un disque inséré est une évidence, mais le seul système qui fasse cette absurdité du point de vue de la sécurité n'est pas celui de prédilection sur ce site.

      Il ne faut pas décorner les boeufs avant d'avoir semé le vent

    • [^] # Re: Sécurité Clé web USB et sécurité

      Posté par  (site web personnel) . Évalué à 5.

      les clefs USB normales ("mass storage"),elle sont déjà dangereuses

      Non, seulement sur des systèmes mités.

      vous devriez vous méfier plus que ça...

      Non, ici on utilise des systèmes conçus autrement qu'avec les pieds.

      (j'en ai déjà vu qui utilisaient le autorun pour installer)

      Merci, mais l'autorun sans confirmation, c'est une aberration réservée aux systèmes pour neu².

  • # Et puis c'est hyper accessible ....

    Posté par  . Évalué à 9.

    Arduino like USB Keyboard (HID) :

    http://www.pjrc.com/teensy/td_keyboard.html

    teensyduino

    sans commentaires ....

    • [^] # Re: Et puis c'est hyper accessible ....

      Posté par  . Évalué à 5.

      je n'ai pas compris ton message avant d'aller lire le site en anglais, donc je le clarifie un brin, pour ceux qui ne connaissent pas :

      on peut acheter un circuit de développement arduino de la taille d'une clef USB (le "Teensy USB") et muni d'un connecteur USB, pour 16 dollars, qui fait exactement ce qui est décrit dans ce journal, et de manière complètement programmatique.

      Je ne sais pas trop si je dois dire "W00t!!1" ou "les boules".. O_o

      • [^] # Re: Et puis c'est hyper accessible ....

        Posté par  . Évalué à 2.

        L'idée va même plus loin. Le kit arduino s'est bien pour développer l'idée. Mais n'importe quel microcontroller actuel est capable de génerer l'USB (hard ou soft).

        Construire une tel clé revient à moins de 3euro :
        - un microcontroller 8pin (1,50 euro à l'unité)
        - 1cm x 2cm d'une plaque d'epoxy brute
        - 3,4 résistances et 2 diodes zener.
        - Un cable serie ou parallèle pour programmer le microcontroller

        Et sans avoir de besoin d'outils particulier :
        - de quoi couper une plaque d'epoxy : scie, couteau, ciseaux
        - de quoi graver mécaniquement la plaque : un bon tournevis, un couteau ou un ciseaux
        - et de quoi souder : un gazinière et un tournevis

        L'idée poussée à l'extrème nous donne une carte IPMI permettant d'avoir un KVM à distance. Bref, rien de nouveau.

  • # Super bonne idée !

    Posté par  . Évalué à 5.

    Sebsauvage l'a évoqué ici : http://sebsauvage.net/rhaa/index.php?2011/06/29/14/48/08-piratage-a-la-mission-impossible .
    L'idée était incroyablement ingénieuse.

    • [^] # Re: Super bonne idée !

      Posté par  . Évalué à 1.

      Ingénieuse mais pas nouvelle. Avant le boum d'internet le seul moyen de propager un virus au travers plus d'un réseau local c'était le support amovible. Je paris que la technique sociale dans ce domaine doit être assez évoluée. Un cycle recommence...

      • [^] # Re: Super bonne idée !

        Posté par  . Évalué à 3.

        C'est quand même une grosse évolution: avant il fallait que tu exécutes le programme sur le "support amovible" pour avoir un problème (enfin sauf quand Microsoft auto-exécutait pour toi!) ou que tu ouvre un fichier "compliqué", avec ces nouveautés même pas besoin: tu branches --> tu es baisé!

        C'est beau le progrès ;-)

  • # déjà vu il y a longtemps...

    Posté par  (site web personnel) . Évalué à 4.

    je me souviens avoir été bluffé par cette carte de visite usb qui simule un clavier et "tape" un CV :
    http://www.instructables.com/id/USB-PCB-Business-Card/

  • # BÉPO :)

    Posté par  (site web personnel) . Évalué à 4.

    Bonjour.

    Ce système présuppose du mapping clavier qui est utilisé sur l'ordinateur, comme la plus part des systèmes de ce type le principe est de jouer sur les configuration par défaut.

    L'utilisation d'un mapping alternatif, type BÉPO, mais celui qui me connais sais que je ne pas faire autrement que de promouvoir a chaque instant ce projet libre prometteur et qui nous concerne tous.

    Un peu plus dans le sujet, j'ai acheté il y as peu un pavé numérique externe de grande marque, qui possède quelques touches un peu particulière dont une «Excel».
    Cette dernière utilise visiblement le même principe que le dispositif ici présenté, il lance un invité de commande windows y tape «e» «x» «c» «e» «l» et fait ENTRER.
    Le mapping alternatif que j'utilise lui fait avoir une une réaction étrange.

    C'est donc un principe aussi utilisé dans des produits très grands public, et qui comme beaucoup d'astuce de ce type, présupposent une configuration statistiquement dans la moyenne.

    • [^] # Re: BÉPO :)

      Posté par  . Évalué à 7.

      un clavier usb peut préciser sa keymap (param HID bCountryCode)

      je ne sais pas si des OS utilisent cette info, et si oui je ne sais pas si on peut désactiver l'utilisation de cette info sur de tels OS

      • [^] # Re: BÉPO :)

        Posté par  (site web personnel) . Évalué à 2. Dernière modification le 24 août 2019 à 14:23.

        Je viens d'apprendre un truc sur ce coup.
        Visiblement une chose assez peu utilisé, mais qui existe pour les claviers et permettent au dit clavier de déclarer sa «nationalité».
        Le BÉPO étant ici hors cadre par rapport aux «pays» proposé.

        Doc HID (NdM: lien corrigé)

        IL faudrait voir comment les différents systèmes réagissent a cette instruction du protocole HID.

        Mais on commence a sortir du non standard pour contrer du non standard.

  • # Protection anti-brevet sur idée marketing révolutionnaire en sécurité

    Posté par  (site web personnel) . Évalué à 3.

    Histoire d'éviter qu'un consultant sécurité dépose un brevet sur cette idée révolutionnaire en terme de sécurité, je l'expose ici publiquement :

    1) on sait que l'utilisateur ne retient pas les mots de passe compliqués et les mets en post-it sur son écran (voire sur sa fenêtre)
    2) il insère n'importe quelle clé USB qu'il trouve sur sa machine et ça pose des soucis de sécurité
    3) on ne peut pas changer l'utilisateur final, alors autant lui simplifier la vie : on lui met un mot de passe à 32 caractères totalement aléatoires, que l'on dépose sur une clé USB telle qu'évoquée ici. Pour se loguer, il a juste besoin de coller la clé dans le port USB. Oui, au final ce n'est pas pire qu'un post-it... La version clé PKI du pauvre, sans mot de passe à retenir, sans certificat de sécurité, sans serveur centralisé de clés, sans rien à expliquer à l'utilisateur.
    Dans la version 2, on pourra même coller le login, entrée, le mot de passe, entrée, pour les utilisateurs ayant le moins de mémoire.

    Bref un truc aussi stupide qu'une clé de porte quoi (enfin une vraie clé de porte, pas un truc à RFID ou badge ou NFC ou digicode ou ...).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.