web-dev-qa-db-fra.com

L'exploitation BADUSB peut-elle être évitée?

Récemment, j'ai lu quelques choses sur l'exploit Badusb, par exemple:

http://arstechnica.com/security/2014/07/this-thumbdrive-hacks-computers-badusb-exploit-makes-devices-turn-evil/

Ma compréhension est qu'un dispositif connecté à USB peut changer son apparence (lecteur, clavier, carte réseau, ...), qui ouvre la possibilité d'un lecteur USB infecté (ou d'un autre appareil à ce sujet) de simuler des éléments comme un clavier et Soumettez des commandes malveillantes ou une carte réseau et connectez-vous aux adresses Web pour télécharger des programmes. Le problème semble être que l'ordinateur fait automatiquement confiance aux périphériques USB. Cependant, la puissance de la puce infectée est probablement très limitée, ce qui rend difficile la simulation de matériel plus complexe comme des cartes réseau:

Comment prévenir les attaques BADUSB sur le bureau Linux?

Quoi qu'il en soit, je suis intéressé s'il est principalement possible d'empêcher un tel comportement:

  • Ma compréhension de l'exploit est-elle correcte?
  • Si oui: ne serait-il pas possible de mettre en place un logiciel "pare-feu" qui demande à l'utilisateur l'autorisation si de nouveaux périphériques USB sont connectés et en particulier un avertissement si le "type" du périphérique change? Par ce que je veux dire, je ne fais pas simplement en cliquant sur OK (qu'un périphérique USB malveillant peut faire seul), mais utilisez quelque chose comme un captcha.
  • Si cela n'est pas possible, car le logiciel peut ne pas pouvoir empêcher l'utilisation d'un périphérique USB (ou pour une raison quelconque): une solution matérielle sera-t-elle possible, qui transfère des données USB, mais uniquement uniquement les claviers USB et non les claviers? Comment un périphérique USB dit-il à l'ordinateur son "type"?
15
molotovsoda

Il y a un problème de poulet et d'œuf avec la solution "pare-feu": votre clavier et votre souris sont des périphériques USB *. Comment l'utilisateur indique-t-il au système d'exploitation que vous souhaitez donner la permission au clavier et à la souris, sans utiliser l'une quelconque? Qu'en est-il si le clavier et la souris sont connectés via des ports USB sur un moniteur - ils seront déconnectés et reconnaissés chaque fois que le moniteur est éteint et sur. Je suis sûr qu'il existe d'autres situations où le "pare-feu" laissera l'utilisateur sans dispositifs d'entrée ni aucun moyen d'approuver de nouveaux, ou de tenter d'éviter toute situation, approuvera automatiquement un appareil qu'il ne devra pas.

* Oui, même sur un ordinateur portable. Ce sont simplement des périphériques USB qui sont définitivement câblés en place.

6
Mark

Réponse courte: Oui, il peut être évité, mais la solution est pas facile.

Comme discuté par Steve Gibson dans une sécurité récente maintenant podcast (- ici ) et dans la présentation originale de chapeau noir ( ici ), si je me rappelle correctement, la Sollution consiste à verrouiller la Firmware dans ces contrôleurs de périphérique USB. Cela signifie fondamentalement que le micrologiciel sera écrit sur A ROM puce qui n'autoriserait pas la modification du micrologiciel sur cette puce qui constitue la base de cet exploit.

Votre compréhension de l'exploit semble être assez précise, mais je vous suggère de regarder la présentation originale mentionnée ci-dessus.

Bien que votre suggestion d'un type de logiciel de solution soit potentiellement capable de détecter des périphériques déjà exploités, il ne résout pas la cause première de la question. En outre, il est malheureusement le cas que dans certains cas, les dispositifs d'UBS devraient être en mesure de changer leur type ou même avoir plusieurs types de périphériques à la fois. En fait, dans la présentation Black Hat les auteurs font même un bon exemple de la façon dont cette capacité USB pourrait être utiliser tout à fait complète. L'avertissement est malheureusement juste que - un avertissement - et peut être facilement ignorée ou réduite au silence. Si vous deviez faire rapport sur chaque changement de type pour vos appareils USB, vous obtenez beaucoup de faux positifs.

Une autre chose mentionnée dans la conversation était qu'il y ait très peu de normalisation et de contrôle sur des périphériques USB, il n'existe donc aucun moyen réel de déterminer ce que devrait être un périphérique USB. Donc, vous avez vraiment rien à comparer à.

D'AILLEURS. Si vous venez de développer un intérêt pour Infosec, je vous suggère certainement que vous vous abonnez à la sécurité maintenant podcast - c'est plutôt génial!

2
ilikebeets

Il y a du matériel pour cela.

Le [~ # ~] USG [~ # ~ ~] est un pare-feu pour vos ports USB. Il se connecte entre votre ordinateur et un périphérique USB non approuvé, isolant le méchanceté avec un pare-feu matériel interne:

https://github.com/robertfisk/usg/wiki

1
MarcG

Jusqu'à présent, il n'y a pas de chemin de feu confirmé sûr de l'empêcher. La meilleure solution jusqu'à présent est de désactiver l'état de "mode de démarrage" de l'appareil et peut-être peut-être désactiver physiquement l'accès avec la colle par exemple.

Voici un article à ce sujet - http://news.softpedia.com/news/Ille-is-anti-badusb-protection-but-it-s-a-bit-sticky-461485.shtml

enter image description here

p.s. Vous pourriez obtenir amusant avec la chose de colle :)

1
Matthew Peters

Si un périphérique s'identifie en tant qu'adaptateur de réseau, pourquoi lui permettrait-il de télécharger des choses du Web? Soit déjà une connexion Internet et peut déjà faire des choses, soit Windows voudrait l'utiliser pour se connecter au Web et ne pas accéder à un accès Web à un périphérique réseau (à moins que quelqu'un ne cesse de "connexions de pont" ou similaires)

en ce qui concerne "Détecter les changements de type de périphérique" - Qu'est-ce qui empêcherait un périphérique USB malveillant de se présenter comme un hub qui contient tout ce dont il a besoin? Ou peut-être simplement prétendre déconnecter et se reconnecter comme un autre appareil?

CAPTCHA ne fonctionne pas - le système qui décide si l'entrée est bonne/mauvaise est le même système qui demande l'entrée - de la même manière qu'un périphérique voyou pourrait "cliquer sur le sien", il pourrait également contourner le CAPTCHA - sans parler de à quel point cela serait douloureux pour USB - c'est la popularité est due à la facilité d'utilisation, pas de sécurité

pour ce qui pourrait réellement s'intégrer à l'intérieur d'un bâton USB, je regarderais les composants contenus dans une carte SD WiFi (comme - ceci ) - et supposons que des composants similaires puissent également s'insérer à l'intérieur d'un bâton USB également - ce qui signifie Un petit système d'exploitation, complet avec une CPU, une RAM, une connexion Wi-Fi et un stockage flash

0
user2813274

Tout d'abord, tous les périphériques USB ne seront pas susceptibles de Badusb. Beaucoup sont conçus avec des circuits de contrôleur minimaux et ne peuvent pas prendre d'autres fonctions et/ou ne pas avoir de microprogramme pouvant être reprogrammé. Ceci est particulièrement le cas pour le marché de la masse, des articles à faible coût tels que des entraînements USB où tous les cents comptent.

L'autre angle de ceci est que si le logiciel peut reprogrammer le périphérique USB, le logiciel peut également détecter si le périphérique USB est reprogrammé et la ferme ainsi. Je ne serais pas surpris si la plupart des vendeurs AV ne fonctionnaient pas déjà sur un moyen de détecter quels appareils sont reprogrammés, puis refusent l'accès au système.

Badusb n'est pas la fin du périphérique USB, c'est juste une autre vulnérabilité qui doit être prise en charge.

0
Chris