web-dev-qa-db-fra.com

Autoriser uniquement la connexion de périphériques spécifiques à USB

Supposons que j'ai un PC Windows dans une pièce sûre, déconnecté d'Internet, avec seulement 3 câbles se connectant à une autre pièce, à une souris, un moniteur et un clavier.

L'ordinateur contient des données très sensibles. Le câble du moniteur HDMI ne pose aucun problème, mais les câbles de la souris et du clavier sont des câbles USB et peuvent être connectés à un lecteur USB. Je suis particulièrement intéressé ici à sécuriser les câbles USB. Veuillez ignorer les autres moyens de voler des informations, comme prendre des photos de l'écran, etc.

Ma question est: comment puis-je m'assurer que seuls certains souris et claviers spécifiques sont autorisés à être connectés aux câbles USB?

  • Par exemple, existe-t-il une sorte de matériel que je peux mettre entre le câble USB et l'ordinateur pour m'assurer que seul un périphérique autorisé y est connecté? Sécurité KVM Les commutateurs (commutateurs clavier-vidéo-moniteur) ne sont pas bons car dans la pratique, ils semblent tous introduire un petit retard (décalage ou latence) lors du déplacement de la souris ou de la frappe. Cela a vraiment doit se sentir comme si vous étiez directement connecté (pas de décalage du tout). Peut-être qu'il y a des projets Arduino, BasicX, Parallax, Pololu ou Raspberry Pi pour filtrer la communication USB et ne laisser passer que les appareils autorisés, sans aucun retard?

  • Je sais qu'il existe un logiciel pour le faire (par exemple: https://support.symantec.com/en_US/article.TECH175220.html ) mais puisque l'utilisateur utilise l'ordinateur, il pourrait le désactiver.

54
MarcG

Achetez un adaptateur PS2 vers USB pour claviers + souris (important: les deux doivent être dans un port USB pour vous assurer qu'il ne s'agit pas d'un connecteur direct naïf). example

Ils ont une logique et coûtent environ 10 $ US au moment de la rédaction.

Achetez ensuite des adaptateurs USB vers PS2 pour souris et clavier (adaptateurs séparés). example

Ils n'ont pas de logique, juste un câblage interne à chaque connexion et ils coûtent moins de 5 USD au moment de la rédaction.

Mettez-les tout à fait. Oui, cela a l'air génial, mais les appareils fonctionneront toujours comme prévu. Maintenant, même si l'un des câbles accessibles par l'utilisateur est épissé, ils ne peuvent pas ajouter de nouveau matériel autre que des souris et des claviers génériques.

De belles choses à ce sujet:

  • pas cher
  • facile
  • implémenté par le matériel
  • protège contre les appareils inconnus
  • Indépendant du système d'exploitation

MISE À JOUR: J'ai vérifié manuellement, deux fois, qu'il n'y a pas de continuité entre les broches de données/données + USB et les broches de données/clk PS2 (ou toute autre broche ps2) sur un adaptateur deux en un. Il existe cependant une continuité sur les adaptateurs à port unique, mais ce n'est pas important tant que l'un des adaptateurs implémente une sorte de logique comme le fait le deux en un. Le branchement de l'adaptateur vide à une boîte Windows devrait provoquer le "Ding d'insertion USB"; sinon c'est un adaptateur physique naïf.

L'adaptateur double PS2-USB que j'ai spécifiquement testé était un "ez-pu21", toujours disponible sur Amazon.

MISE À JOUR # 2, 2 choses:

  • il y a des attaques de clavier USB, vous devez donc verrouiller correctement le système d'exploitation pour maintenir la sécurité.
  • on peut entrer dans le bios avec un clavier, et je ne sais pas à quel point c'est risqué d'exfiltrer, ou si tout ce qu'ils peuvent faire est de "casser" l'ordinateur.

MISE À JOUR # 3: Après avoir utilisé les adaptateurs double ligne pendant environ 24 heures, je peux dire qu'ils fonctionnent, mais pas tout à fait à 100%, peut-être à 99%. Lorsque je faisais une programmation sérieuse (frappe), j'ai remarqué que les touches étaient maintenues enfoncées pendant environ 1/3 de seconde. C'est avant que ma répétition typographique environ 2/3 secondes par seconde après la presse, et elle ne se répète qu'une fois; menant à des trucs comme "biig" au lieu de "gros". Je ne l'ai remarqué que quelques fois, tard dans la nuit, mais je voulais le mentionner. Je ne l'ai même remarqué qu'après des heures d'utilisation, mais si vous écriviez un roman, cela pourrait être frustrant. Cela pourrait être l'adaptateur bon marché que j'ai utilisé, les très longs câbles que j'utilise ou autre chose que personne ne connaîtra.

BONUS: (lié mais OT): Je viens de réaliser ces commutateurs usb bon marché ne connectez pas les broches de données, ils sont trop bon marché pour commuter les 4 fils, faisant ainsi un "préservatif USB" bon marché pour ceux qui désirent une telle chose, pensaient que je partagerais. préservatifs bon marché, comment pouvez-vous vous tromper?

69
dandavis

Vous prenez le mauvais côté du problème. Si une personne en qui vous n'avez pas confiance peut accéder à une machine, celle-ci est compromise. Arrêt complet.

C'est la raison pour laquelle l'accès aux salles de serveurs est très contrôlé et pourquoi l'administrateur ne se soucie généralement pas de la sécurité physique des connecteurs: la ligne de défense n'est pas au niveau des connecteurs mais dans la salle contenant la machine.

Cela étant dit, vous pouvez imaginer des pilotes USB spéciaux qui n'autorisent que des identifiants matériels spécifiques. Vous ne pouvez tout simplement pas les installer par défaut lors de l'installation d'un noyau sur une nouvelle machine en raison d'un problème de poulet et d'oeufs, mais après une installation initiale, vous pouvez créer un noyau personnalisé avec ces pilotes USB spéciaux. Mais comme il existe de nombreuses autres possibilités de compromettre une machine lorsque vous y avez un accès physique, c'est tout simplement IMHO une perte de temps et d'énergie ...

Et de toute façon, rien n'empêche une organisation puissante et maléfique de construire un clavier USB spécifique qui se présente avec l'ID et l'apparence d'un clavier innocent d'un fabricant de matériel bien connu mais qui contient un enregistreur de frappe. Si vous ne faites pas confiance à votre administrateur, il pourrait remplacer le clavier lors d'un redémarrage du système. Comme je l'ai déjà dit, si un méchant peut toucher la machine, elle est compromise, et s'il ne le peut pas, ne vous inquiétez pas des connecteurs USB.

60
Serge Ballesta

Sur les systèmes Windows, vous pouvez bloquer ou restreindre les périphériques USB via une stratégie locale ou de groupe depuis au moins Windows Vista. En définissant les politiques "Removable Storage Access", vous pouvez désactiver la connexion de périphériques de stockage USB (cette catégorie comprend de nombreux périphériques USB néfastes). Ces paramètres empêchent Windows d'interagir avec les appareils car ils empêchent le chargement des services.

https://community.spiceworks.com/how_to/25619-blocking-usb-devices-and-removable-mediahttps://technet.Microsoft.com/en-us/ bibliothèque/2007.06.grouppolicy.aspx

24
claidheamh

Utilisez simplement un clavier et une souris PS/2.

Ne vous embêtez pas avec des adaptateurs et d'autres types de préservatifs matériels. Il existe encore de nombreuses cartes mères dotées de connecteurs souris/clavier PS/2.

5
raznagul

Demande de clarification: de quelles attaques vous préoccupez-vous? Par votre remarque sur le fait de ne pas vous soucier des photos de l'écran, je suppose que vous ne voulez pas que les données soient injectées dans le système et que vous ne vous souciez d'aucune exfiltration de données.

Alors, comment pouvons-nous attaquer votre système et que pouvons-nous faire?

Attaques et atténuation USB

Comme indiqué par d'autres, restez loin de l'USB. Le système d'exploitation NE PEUT PAS protéger contre toutes les attaques. Nohl et al a démontré en 2014 comment attaquer le micrologiciel du microcontrôleur hôte USB , et leur attaque, nommée BadUSB s'est avérée utilisable même lorsque le système était assis dans le BIOS après redémarrage.

Une fois que les microcontrôleurs USB Host sont compromis, une charge utile malveillante pourrait théoriquement boucher le bus PCI pour modifier ou espionner la mémoire.

Ces attaques peuvent-elles être évitées ou atténuées? OUI! Il existe au moins un périphérique pare-feu matériel USB sur le marché, le USG , qui a été explicitement conçu pour lutter contre l'attaque BadUSB. Il ne traitera toujours pas les entrées de clavier non fiables.

Entrées clavier non fiables, USB et PS/2:

Le câblage PS/2 suggéré par d'autres est également un concurrent puissant, mais il n'y a aucune raison pour qu'un appareil ne puisse pas être ajouté pour injecter toutes les frappes et mouvements de souris nécessaires pour attaquer votre système (par exemple: ouvrir le bloc-notes ou tout ce qui me permet d'entrer des caractères , injectez les caractères binaires nécessaires pour former un programme, enregistrez-les au format .exe, exécutez!). Même BadUSB ne peut pas lutter contre cela.

Attaques et atténuation HDMI

Vous autorisez la connexion d'un câble HDMI? Il y a eu au moins ne remarque par une recherche de sécurité (Dragos Ruiu) que cela peut permettre à Ethernet-over-HDMI d'être utilisé pour infecter le système restreint.

L'atténuation ici est simple: assurez-vous d'utiliser un câble HDMI sans les bits Ethernet, mais faites attention au DDC ...

Attaques vidéo DDC:

Pour être juste, même VGA a autorisé le transfert numérique via une communication DDC bidirectionnelle (comme DVI), ce qui a un potentiel d'exploitation; mais il est beaucoup moins susceptible d'être utilisé. Il n'est pas rare de mettre à jour le firmware des moniteurs via le DDC sur VGA/DVI/etc.

Fonctionne comme HDMI - Les affichages de piratage rendus intéressants par Andy Davis, Blackhat-EU-2012 concerne l'utilisation de DDC pour pirater les moniteurs, mais le bus I2C qui forme la liaison DDC est bidirectionnel et pourrait être utilisé de manière créative. la carte vidéo de l'hôte.

Vous ne pouvez pas éviter le lien DDC car il est nécessaire pour configurer correctement le mode vidéo.

4
robbat2

Vous voudriez une diode de données en ligne à côté du PC pour votre clavier et votre souris, donc aucune donnée ne pourrait être envoyée du PC à la pièce quoi qu'il en soit (puisque vous avez dit que le câble numéro 3 n'est pas un problème). Vous pourriez aussi trouver mieux d'utiliser une souris et un clavier série.

Ce n'est que de la chapellerie en papier d'aluminium. voici un protocole de communication nommé tin foil chat qui montre les diodes de données pour les périphériques série, qui sont emballées dans du tin foil. https://www.cs.helsinki.fi/u/oottela/tfc.pdf

L'ajout d'une diode seule ne crée pas une diode de données, car avec une diode que vous pourriez envoyer contre la flèche avec une tension inverse, les diodes de données utilisées dans le projet ont un optocoupleur pour empêcher les informations de voyager contre la flèche (sans avoir accès au matériel).

Après avoir trop essayé de montrer pourquoi le câble HDMI n'est peut-être pas un problème, j'ai proposé cette disposition de la pièce, l'idée est de mettre la tête vers le dispositif de visualisation à la recherche du microscope et cela vous permet de voir l'écran à travers un câble à fibre optique qui passe à travers le mur. Le clavier et la souris que vous apportez avec vous ne peuvent envoyer que des données, pas recevoir, car il y a la diode de données de l'autre côté du mur. Bob, le gars de la sécurité, est là pour vous tenir compagnie dans cet enfer sans fenêtre d'un lieu de travail et pour vous expulser si vous commencez à parler à votre appareil d'enregistrement, placez autre chose que votre œil dans le Finder de vue ou essayez de briser le mur. Notez qu'il ne peut pas surfer sur aucune information. Vous seriez déconnecté si vous déplaciez votre tête du Finder de la vue, pour vous connecter, vous devrez taper un mot de passe comme d'habitude, mais aussi rapidement saisir des caractères qui apparaissent sur les écrans gauche et droit alternés (il y a maintenant deux moniteurs qui mènent à chaque œil séparément). C'est pour vous empêcher d'ennuyer un globe oculaire et de le remplacer par un appareil photo (les pirates à un œil n'ont pas besoin de s'appliquer). Maintenant, vous ne pouvez pas copier de fichiers à partir du PC, Bob n'a plus à vous rechercher de matériel d'espionnage et tout le monde est content.

Tout ce que vous pourriez mémoriser dans le système et ramener à la maison avec vous perd une certaine crédibilité, vous auriez pu l'inventer au lieu de le mémoriser.

enter image description here

3
daniel

Une solution universelle pour tout système d'exploitation consiste à supprimer tous les pilotes USB, à l'exception de ceux dont vous avez besoin (HID). Assurez-vous cependant d'empêcher l'utilisateur d'installer de nouveaux pilotes.

2
Dmitry Grigoryev

Vous pouvez fixer le clavier à un bureau (par exemple avec des vis anti-vandalisme à travers la base du clavier) afin que le câble USB ne soit pas accessible, par ex. dans un canal découpé dans le bureau et recouvert d'une plaque métallique.

Vous n'avez pas besoin d'une souris filaire ou sans fil: vous pouvez utiliser une tablette filaire (par exemple une Wacom) avec le câble USB rendu également inaccessible. Vous pouvez obtenir une souris pour la tablette si les utilisateurs ne peuvent pas utiliser un stylo.

Bien sûr, un utilisateur particulièrement malveillant pourrait essayer de déchirer le clavier pour accéder à la connexion USB à l'intérieur, alors choisissez l'une des constructions anti-vandalisme, éventuellement avec une alarme afin que s'il parvient toujours à pénétrer à l'intérieur, quelqu'un soit alerté.

De plus, des claviers en acier inoxydable à montage sur panneau avec boule de commande sont disponibles.

2
Andrew Morton

Comme d'autres l'ont déjà dit, spécialement robbat2 et Serge Ballesta ... Une fois que les gens ont physiquement accès à la machine, vous êtes à tout prix compromis.

Vous pouvez sécuriser votre configuration électroniquement de plusieurs manières. Beaucoup d'entre eux couvriront probablement pratiquement tous vos cas d'utilisation. À moins que vous ne travailliez avec un gouvernement ou une entreprise très secret et que l'attaquant apporte avec lui une technologie spéciale, vous devriez être pratiquement en sécurité.

Mais la seule façon d'être 100% sûr en termes académiques ici est de devenir physique aussi. Vous avez besoin d'une personne de confiance pour garder la machine.

Si vous êtes vraiment paranoïaque à propos de l'épissure des câbles et que c'est vraiment votre seule préoccupation, vous pouvez couvrir la longueur des câbles de la souris et du clavier dans un maillage de cuivre connecté à un capteur. Faites passer un courant à travers lui et disposez d'un relais qui peut mesurer la tension en le vérifiant 24/7. Faites relier le relais à une autre machine, peut-être un Raspberry Pi ou un Arduino, afin qu'il puisse déclencher une alarme au cas où le maillage deviendrait dépower.

Il ne vous reste plus qu'à régler la tension sur le maillage. Utilisez un petit potentiel - disons, 3 à 12 volts - si vous voulez simplement savoir si les câbles ont été coupés ou non. Ou allez jusqu'au 220V ou plus si vous voulez qu'il serve de piège (certaines personnes diraient que c'est une chose contraire à l'éthique).

2
Renan

Et si ...

... nous avons connecté le clavier à un Raspberry Pi ou Teensy ( https://www.pjrc.com/teensy ), programmé pour lire les touches et les "taper" à nouveau dans l'ordinateur? Je suppose que ce serait assez rapide pour éviter toute latence perçue. Cela agirait comme un "pare-feu USB pour clavier", et un autre pareillement comme "pare-feu USB pour souris".

L'ordinateur identifierait le Teensy comme "FirewalledKeyboard" ou "FirewalledMoused". L'ordinateur n'a pas besoin de voir le clavier ou la souris d'origine.

Fait intéressant, l'utilisateur @ robbat2 a signalé un pare-feu USB qui empêche certaines attaques USB de bas niveau:

Il me semble que cela pourrait également être modifié pour permettre de connecter uniquement les claviers et les souris.

Nous pouvons également ajouter une solution de câbles PS/2 (voir la réponse de l'utilisateur @dandavis) entre le clavier et le "pare-feu USB".

Mise à jour:

J'ai envoyé un email à Robert Fisk, créateur de (open source) USG , et lui ai demandé (condensé):

Bonjour M. Robert Fisk,

Votre USG peut-il être modifié de sorte qu'il ne permette que la connexion des claviers et des souris et empêche également l'envoi d'informations de l'ordinateur au clavier? Si j'achète votre matériel USG prêt (au lieu de construire le mien), est-il possible de changer son firmware? Combien coûte chaque USG?

Il a répondu:

Salut Marcelo. Le micrologiciel peut facilement être transformé en un périphérique "clavier uniquement" ou "souris uniquement". Vous pouvez également désactiver la communication ordinateur-clavier qui met à jour les voyants des majuscules, du défilement et du verrouillage numérique. Cependant, vous serez toujours vulnérable à un utilisateur malveillant tapant un mauvais script VBScript, Powershell ou même binaire en utilisant des codes ascii ALT qui effectueront des actions malveillantes. Oui, vous pouvez certainement programmer dans votre propre firmware, voir cette page: https://github.com/robertfisk/USG/wiki/DFU-Firmware-Upgrade

J'espère que ça aide!

Veuillez noter que je n'avais jamais parlé à M. Fisk avant cet e-mail, et n'avais jamais entendu parler d'USG avant de poser cette question. Je ne suis en aucun cas connecté à USG ou à son créateur, et je n'en ai jamais utilisé, testé ou étudié. Personnellement, je ne sais pas si cela convient à l'emploi. Je poste juste cette information parce que je pense que c'est intéressant et peut-être utile.

Si à la fin je décide d'acheter de l'USG et de modifier son firmware, je vais probablement open-source le nouveau firmware dans GitHub et le lier ici.

1
MarcG

Voici. Epoxy, colle chaude, etc. Vous avez donné des conditions et des conditions très spécifiques sans donner beaucoup de base à l'exception des "données hautement sensibles".

Votre question suggère que l'utilisateur PEUT débrancher et insérer des périphériques USB dans l'ordinateur EN dépit de la nature stricte que vous avez décrite à l'origine. Cela implique un accès physique à une partie du système. L'ancienne règle veut que "l'accès physique l'emporte sur tous les autres contrôles".

C'est la meilleure réponse que je puisse trouver, compte tenu de vos conditions supposées. J'ai travaillé dans des environnements gouvernementaux de haute sécurité, avec des solutions interdomaines, et celles-ci étaient plus faciles. La réponse simple est généralement la réponse la plus sûre.

enter image description here

0
0xSheepdog