GNU/Linux >> Tutoriels Linux >  >> Linux

Que peut faire un attaquant avec Bluetooth et comment doit-il être atténué ?

(Remarque :Cette réponse date de 2013. Beaucoup de choses ont changé dans le Bluetooth depuis lors, en particulier la forte augmentation de la popularité du BLE, les nouvelles attaques, les fonctionnalités obsolètes. Cela dit, la plupart sont toujours applicables.)

Présentation

J'essaierai au mieux de mes connaissances d'aborder vos questions sans toucher aux parties techniques de la technologie Bluetooth elle-même. J'ai appris beaucoup des éléments suivants lorsque j'ai dû rédiger un rapport de sécurité pour façonner une politique BYOD. Vous connaissant, je n'aurai pas à vous faire la leçon sur le fait qu'il n'y a rien de sûr à 100 %, tout ce que nous faisons est juste pour rendre la tâche plus difficile aux méchants.

Ce que Bluetooth n'est PAS

  • Bluetooth lui-même en tant que technologie n'est pas sécurisé, il ne s'agit pas seulement de la mise en œuvre, il y a de graves défauts dans la conception elle-même.

  • Bluetooth n'est pas une méthode de communication à courte portée - ce n'est pas parce que vous êtes un peu loin que vous êtes en sécurité. Les appareils Bluetooth de classe I ont une portée allant jusqu'à 100 mètres.

  • Bluetooth n'est pas une méthode de communication mature (en termes de sécurité). Avec les téléphones intelligents, il est devenu quelque chose de totalement différent de ce qu'il était censé être. Il a été créé pour connecter des téléphones à des périphériques. Mon conseil :n'utilisez pas Bluetooth pour quelque chose de grave.

Comment le Bluetooth est-il désormais sécurisé ?

  • Saut de fréquence comme un fou :Bluetooth utilise quelque chose appelé AFH (Adaptive Frequency Hopping). Il utilise essentiellement 79 canaux dans la bande ISM 2,4 Ghz et continue de sauter entre eux à un taux de 1600 sauts/s, tout en observant l'environnement et en excluant toutes les fréquences existantes de la liste de sauts. Cela réduit considérablement les interférences et les tentatives de brouillage.

  • Suite de chiffrement E0 :utilise un chiffrement de flux avec une clé de 128 bits.

  • Non-découvertabilité :à moins que vous ne définissiez votre appareil sur "découvert", il ne répondra pas aux tentatives d'analyse et votre BD_ADDR 48 bits (l'adresse qui identifie votre appareil compatible Bluetooth) ne sera pas révélée.

  • Jumelage :à moins que les appareils ne soient jumelés avec le consentement des parties, ils ne pourront pas communiquer. Une demande d'association ne peut être effectuée que si vous connaissez le BD_ADDR de l'autre appareil (par le biais d'un scan ou d'une connaissance préalable).

Est-ce une bonne idée de supprimer et de réassocier mes appareils à un intervalle défini (en pensant que cela modifie le code PIN Bluetooth)

Oui. C'est une très bonne idée. Vous éliminez les risques d'être exploités par vos appareils de confiance. Étant donné que nous apparions généralement des appareils pour des raisons insignifiantes (envoyer un fichier à une connaissance, obtenir une VCard d'une personne que vous avez rencontrée quelque part...), il est très probable que vous construisiez une énorme liste d'appareils "de confiance" si vous utilisez beaucoup Bluetooth.

Quel est l'impact sur la sécurité du fait de rendre mon appareil ou mon ordinateur "détectable" ?

Le problème de rendre votre appareil détectable est que vous annoncez votre BD_ADDR à quiconque le demande. La seule façon de coupler avec un autre appareil est de connaître le BD_ADDR. Dans une attaque ciblée, il faudra un certain temps pour forcer brutalement le BD_ADDR 48 bits.

Dans le cas normal, connaître votre BD_ADDR ne devrait pas être un gros problème, mais en cas de vulnérabilité de votre téléphone ou du logiciel Bluetooth de votre ordinateur, il vaut mieux être sous le radar. Un autre problème est l'impact sur la vie privée; en étant détectable, vous informez les parties non jumelées (non fiables) de votre présence.

Quel type d'accès un appareil compatible Bluetooth obtient-il sur mon système ?

Dans le cas normal (aucune vulnérabilité permettant l'exécution de code arbitraire), tout dépend des profils Bluetooth pris en charge par votre appareil. Habituellement, vous pouvez supposer que votre ordinateur prend en charge tous les profils. Je vais juste en énumérer quelques-uns :

  • BHIDP (Bluetooth Human Interface Device Profile) donnera accès au déclenchement des événements de votre souris et de votre clavier (déplacement de la souris et envoi des touches du clavier).
  • BIP (Basic Imaging Profile) donnera accès à votre caméra.
  • A2DP (Advanced Audio Distribution Profile) donnera accès à votre MIC et à votre sortie audio.
  • OBEX (OBject EXchange) est ce dont vous devez généralement vous soucier. Selon l'implémentation, cela pourrait donner accès à vos fichiers, répertoire, messages, etc.

Existe-t-il des fonctions de sécurité Bluetooth qui peuvent (ou non être activées) ? Comment puis-je vérifier la présence (ou l'absence) de ces fonctionnalités ?

Avant Bluetooth V2.1, lors de la mise en œuvre du protocole lui-même, le développeur a la possibilité d'utiliser le mode de sécurité n°1, ce qui signifie qu'il n'y a aucune sécurité. Les appareils sont autorisés à communiquer sans avoir besoin d'appairage, et le cryptage n'est pas utilisé.

Bluetooth V2.1 et les versions plus récentes nécessitent un cryptage.

En tant qu'utilisateur, vous pouvez faire certaines choses pour rendre votre utilisation de Bluetooth plus sûre. (Voir ci-dessous)

En supposant que le chiffrement est une fonctionnalité de sécurité qui peut être activée, est-ce obligatoire ou facultatif ?

Comme dans la question précédente, cela dépend de la mise en œuvre. Généralement, le cryptage est utilisé par défaut dans les communications PC-PC, smartphone-smartphone et PC-smartphone. À partir de Bluetooth V2.1, le cryptage est activé par défaut.

Que peut faire un attaquant une fois qu'un appareil malveillant est associé au mien ?

Fondamentalement, tout ce que votre appareil prend en charge. Pour le démontrer, utilisez simplement une application appelée Super Bluetooth Hack, vous verrez des choses très effrayantes, notamment :

- Sonnerie :lecture des sons d'appel entrant, réveil.
- Appels :composer un numéro, mettre fin à un appel.
- Touches, Touches enfoncées :appuyer et regarder les touches enfoncées
- Contacts
- Lecture de SMS
- Mode silencieux :activation ou désactivation
- Fonctionnalité téléphone :éteindre le réseau/téléphone
- Alarmes
- Horloge :changer la date et l'heure
- Changer d'opérateur réseau
- Java :démarrer, supprimer des applications java
- Calendrier
- État de la mémoire
- Serrure à clé

Alors, qu'est-ce qui ne va pas avec le Bluetooth ?

  • Confiance totale dans l'appareil couplé : Un appareil couplé a accès à pratiquement tous les profils pris en charge par l'autre appareil. Cela inclut OBEX et FTP (profil de transfert de fichiers).

  • Les profils ont trop de liberté : Les profils sont autorisés à choisir le mode de sécurité qu'ils souhaitent. Vous pouvez même implémenter votre propre version d'OBEX sans que Bluetooth ne vous oblige à utiliser le cryptage ou l'authentification. (Avant Bluetooth V2.1)

  • Faiblesses dans E0 : Depuis 1999, les vulnérabilités E0 ont commencé à apparaître. Il a été prouvé qu'il est possible de craquer E0 avec 2 plutôt que les 2 que l'on croyait auparavant. Année après année, les chercheurs ont découvert plus de vulnérabilités, menant à l'attaque de 2005 par Lu, Meier et Vaudenay. L'attaque a démontré la possibilité de récupérer la clé en 2 opérations.

  • L'association est vaguement définie : Les appareils sont autorisés à mettre en œuvre leurs propres méthodes de couplage, y compris un code PIN à 4 chiffres qui peut être déchiffré en un rien de temps.

Enfin, pour les directives de bonnes pratiques :

Je vais énumérer quelques-unes des recommandations de sécurité Bluetooth importantes de la NSA (j'en ai modifié certaines et ajouté les miennes) :

  • Activez la fonctionnalité Bluetooth uniquement lorsque cela est nécessaire.
  • Activez la détection Bluetooth uniquement lorsque cela est nécessaire.
  • Gardez les appareils associés proches les uns des autres et surveillez ce qui se passe sur les appareils.
  • Associez des appareils à l'aide d'un long mot de passe sécurisé.
  • Ne saisissez jamais de clés d'accès ou de codes PIN lorsque vous y êtes invité de manière inattendue.
  • Mettez régulièrement à jour et corrigez les appareils compatibles Bluetooth.
  • Supprimez les appareils associés immédiatement après utilisation.

Mise à jour : Il y a une heure, je plongeais dans les spécifications Bluetooth V4.0 et, à ma grande surprise, il semble qu'ils utilisent toujours E0 pour le cryptage, et il n'y a pas eu de changements positifs dans le mécanisme de couplage. Ce qui est encore pire, c'est qu'ils font avancer le mécanisme d'appariement de comparaison de numéros, dans lequel les utilisateurs reçoivent un numéro à six chiffres sur les deux appareils et sont invités à vérifier s'ils sont identiques. Ce qui, à mon avis, ouvre d'immenses portes aux attaques d'ingénierie sociale.

Pour les scénarios d'appariement qui nécessitent une interaction de l'utilisateur, la protection contre les écoutes clandestines rend une simple clé d'authentification à six chiffres plus puissante qu'un code PIN aléatoire à 16 caractères alphanumériques.

Source

Mise à jour 2 : Il semble que ce code PIN à 6 chiffres "Just Works" soit effectivement problématique. Mike Ryan a démontré une attaque sur BLE et a publié le code alors que son outil "craquait" pour forcer brutalement la clé temporaire et décrypter le trafic.


La sécurité de l'appareil est limitée au type d'appareil.

Quels sont les risques de sécurité du Bluetooth et quelles technologies et meilleures pratiques doivent être utilisées pour protéger mon appareil ?

Chaque appareil fournit un niveau de services. Les services fournis créent des restrictions ou des limitations d'accès et d'exploitation. La meilleure protection est de garder le Bluetooth désactivé (si vous êtes paranoïaque). Quelques lectures intéressantes sur le site de Symantec et sur Dark Reading.

Que peut faire un attaquant une fois qu'un appareil malveillant est associé au mien ?

Quelques choses qui pourraient arriver :

  • Quelqu'un pourrait :voler des annuaires téléphoniques, des photos, des vidéos, des calendriers ou permettre de passer des appels téléphoniques, envoyer et lire des e-mails, prendre des rendez-vous et envoyer des SMS.

  • Après avoir exploité un téléphone portable, vous pourriez potentiellement envoyer un message SMS avec une alerte à la bombe au poste de police local. Les enregistrements de facturation vous indiqueront certainement directement en tant que propriétaire du téléphone et véritable expéditeur du SMS. Cela dépend vraiment de la mise en œuvre de la norme Bluetooth par le système cible. Norton

  • Ils pourraient également écouter les appels téléphoniques (s'ils ont usurpé un casque) et contrôler le curseur de votre souris sur votre bureau (s'ils ont usurpé votre souris).

Je me suis un peu amusé avec un autoradio chez un concessionnaire Nissan pendant que je m'ennuyais en attendant que mon entretien soit fait. La chaîne stéréo de l'une des voitures de démonstration était détectable, j'ai donc jumelé lors d'une démonstration lorsque le vendeur montrait les nouvelles fonctionnalités à un acheteur potentiel, ils se sont jumelés avec mon appareil, puis lorsque le client potentiel a indiqué que leur jumelage avait échoué, il a réessayé (nous étions tous les deux jumelés). Puis, après le départ du personnel de vente, j'ai "possédé" la chaîne stéréo, diffusant des chansons au hasard et contrôlant le volume. Quelqu'un s'éloignerait de la voiture, la stéréo deviendrait plus forte. Quelqu'un marcherait vers la voiture, puis la stéréo deviendrait plus silencieuse. Tout cela était amusant jusqu'à ce que je reçoive un appel téléphonique et que la chaîne stéréo réponde automatiquement et me fasse presque sauter (j'ai ignoré l'appel).

Est-ce une bonne idée de supprimer et de réassocier mes appareils à un intervalle défini (en pensant que cela modifie le code PIN Bluetooth)

Étant donné que le système est facilement exploitable, cela ne supprime pas les vulnérabilités d'origine qui existent dans les limitations de communication du matériel cible avec d'autres appareils (son niveau de confiance). lecture sombre

Quel est l'impact sur la sécurité du fait de rendre mon appareil ou mon ordinateur "détectable" ?

En rendant votre système "découvert", vous permettez à quelqu'un d'usurper l'identité de votre appareil en renommant son appareil en conséquence. Ceci est inévitable sur certains appareils.

Quel type d'accès un appareil compatible Bluetooth obtient-il sur mon système ?

Cela dépend des restrictions en place sur le système lui-même. Si votre système suppose que toutes les souris sans fil ou tous les casques sans fil se comportent de la même manière parce que le développeur du logiciel n'a pas pris le temps de sécuriser les échanges et que quelqu'un se fait passer pour votre souris sans fil, il pourrait avoir accès à tout ce qui est autorisé dans les services de votre système. Sous Windows, cela pourrait signifier un contrôle total.

Comment puis-je contrôler l'étendue de l'accès d'un appareil Bluetooth ? (si mon téléphone était compromis, je voudrais limiter l'exposition de mon PC)

Tout système Bluetooth peut potentiellement être compromis à sa manière en raison des limites de la mise en œuvre de la sécurité. Quelqu'un à portée peut tout aussi facilement compromettre votre ordinateur de bureau ou portable "découvert" que votre téléphone portable, votre casque, votre souris, votre réfrigérateur compatible Bluetooth, etc. Dissociez et désactivez Bluetooth lorsque vous ne l'utilisez pas. Éteignez les appareils inutiles lorsqu'ils ne sont pas utilisés.

Existe-t-il des fonctions de sécurité Bluetooth qui peuvent (ou non) être activées ? Comment puis-je vérifier la présence (ou l'absence) de ces fonctionnalités ?

Cela dépend de l'appareil. Les appareils tels que les souris sans fil n'auront pas de journal d'activité. Les ordinateurs de bureau peuvent. Certains téléphones portables ne le font pas.

En supposant que le chiffrement est une fonctionnalité de sécurité qui peut être activée, est-ce obligatoire ou facultatif ? (de plus, un SSL Strip pour Bluetooth pourrait-il être créé ?)

Le chiffrement ne peut être géré que par les appareils qui le prennent en charge. Lors de la poignée de main initiale, si vous indiquez que votre appareil ne dispose pas de capacités de cryptage, le système n'essaiera pas de crypter les transactions. Les souris sans fil, par exemple, ne transmettront pas de signaux sécurisés.

Vulnérabilité Mac Bluetooth exploitée pour le déploiement de chevaux de TroieVulnérabilités Windows

Un attaquant pourrait alors installer des programmes; afficher, modifier ou supprimer des données ; ou créer de nouveaux comptes avec tous les droits d'utilisateur. Cette vulnérabilité n'affecte que les systèmes dotés de la fonctionnalité Bluetooth.

L'exploit Bluetooth Linux inclut la manipulation et la lecture de la pile de mémoire.

Bonne chance.


Cette réponse peut être incomplète ou incorrecte car mes connaissances sur le sujet sont limitées, mais ma compréhension de Bluetooth est qu'il s'agit d'une pile assez lâche sur laquelle différents protocoles (appelés profils) peuvent être développés. De nombreux détails de sécurité vont dépendre de la pile et du profil Bluetooth particuliers que vous avez sur votre matériel.

En supposant que votre pile Bluetooth (les pilotes de votre matériel) ne présente aucune faille de sécurité, avoir un appareil détectable ne devrait faire aucune différence tant que le couplage automatique est désactivé. Le pire que quelqu'un puisse faire est de faire une demande d'association que vous pourriez ensuite refuser.

Le niveau d'accès qu'un appareil Bluetooth obtient à un système est entièrement déterminé par la façon dont la pile et les profils Bluetooth sont implémentés et configurés, il n'est donc pas vraiment possible de répondre directement à cette partie de la question.

Le meilleur parallèle serait peut-être de considérer Bluetooth comme un petit serveur qui fournit une variété de services différents sur une liaison radio à courte portée. Les services offerts et la façon dont les services sont mis en œuvre peuvent être très différents, mais le protocole utilisé pour chaque type de profil est cohérent. (Par exemple, l'audio du casque est un profil courant, tout comme l'AVRCP (protocole de télécommande audio/vidéo)).

En ce qui concerne l'appariement, pendant le processus d'appariement, une clé secrète partagée est développée pour être utilisée à l'avenir. Tant que le secret partagé n'est pas divulgué par l'un ou l'autre des appareils, un autre appareil ne peut pas se faire passer pour cette paire. De plus, tant que les communications sont chiffrées avec cette clé, plutôt qu'une simple poignée de main, les communications elles-mêmes seront sécurisées.

Selon Wikipédia, le chiffrement était facultatif dans Bluetooth avant la version 2.1 et pouvait être facilement interrompu s'il était utilisé pendant plus d'une journée environ, mais la version 2.1 et les versions plus récentes de Bluetooth résolvent ce problème en exigeant le chiffrement sur autre chose que la découverte de services et une meilleure gestion des clés partagées.


Linux
  1. Tutoriel :qu'est-ce que Git et Github ? Comment puis-je l'utiliser et pourquoi devrais-je m'en soucier?

  2. Qu'est-ce que la curation de contenu et comment procéder ?

  3. Comment puis-je contrôler le clavier et la souris avec Python ?

  4. Comment puis-je trier les ls par propriétaire et groupe ?

  5. Que signifie avoir * * * dans la commande traceroute ? et Comment pouvez-vous faire face à cette situation?

Qu'est-ce que la prison chroot et comment l'utiliser ?

Commande Linux Tail :qu'est-ce que c'est et comment l'utiliser

Comment exclure des fichiers et des répertoires avec Rsync

Comment se connecter via Bluetooth dans GNOME sous Linux

Comment sauvegarder et restaurer Ubuntu avec TimeShift

Qu'est-ce que Crontab et comment automatiser des tâches sous Linux avec Crontab