(Remarque: cette réponse date de 2013. Beaucoup de choses ont changé dans Bluetooth depuis lors, en particulier la forte augmentation de la popularité de BLE, les nouvelles attaques, les fonctionnalités obsolètes. Cela dit, la plupart d'entre eux sont toujours applicables.)
Introduction
Je ferai de mon mieux pour aborder vos questions sans toucher aux parties techniques de la technologie Bluetooth elle-même. J'ai beaucoup appris de ce qui suit alors que je devais rédiger un rapport de sécurité pour élaborer une politique BYOD. En vous connaissant, je n'aurai pas à vous dire qu'il n'y a rien de sûr à 100%, tout ce que nous faisons est juste de rendre la tâche plus difficile pour les méchants.
Ce que Bluetooth n'est PAS
-
Le 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 Ce 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.
-
Le Bluetooth n'est pas une méthode de communication mature (du point de vue de la 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 sérieux.
Comment le Bluetooth est-il sécurisé maintenant?
-
Sauts de fréquence comme 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.
-
Indiscoverability: à moins que vous ne définissiez votre appareil sur "détectable", il ne répondra pas aux tentatives de scan et votre BD_ADDR 48 bits (l'adresse qui identifie votre appareil compatible Bluetooth) ne sera pas révélé.
-
Association: à moins que les appareils ne soient associé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 scan ou connaissance préalable).
Est-ce une bonne idée de supprimer & ré-appairer mes appareils à un intervalle défini (en pensant que cela change 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 jumelons 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 créiez 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 faites la publicité de votre BD_ADDR à quiconque en fait la demande. La seule façon de se coupler avec un autre appareil est de connaître le BD_ADDR. Dans une attaque ciblée, il faudra un certain temps pour forcer le BD_ADDR 48 bits.
Dans le cas normal, connaître votre BD_ADDR ne devrait pas être un gros problème, mais au cas où il y aurait une vulnérabilité dans votre téléphone ou le logiciel Bluetooth sur 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 associées (non approuvées) de votre présence.
Quel type d'accès un appareil compatible Bluetooth obtient-il sur mon système?
Dans le cas normal (pas de vulnérabilité permettant l'exécution de code arbitraire), tout dépend des profils Bluetooth pris en charge par votre appareil. En règle générale, 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 à votre souris et au déclenchement d'événements de clavier (déplacement de la souris et envoi de 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. En fonction de l'implémentation, il peut donner accès à vos fichiers, répertoire, messages, etc.
Existe-t-il des fonctionnalités de sécurité Bluetooth qui peuvent (ou non être désactivées)? Comment puis-je vérifier la présence (ou l'absence de) 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 la sécurité Mode n ° 1, ce qui signifie aucune sécurité du tout. Les appareils sont autorisés à communiquer sans avoir besoin d'être associés, et le cryptage n'est pas utilisé.
Bluetooth V2.1 et les versions plus récentes nécessitent un cryptage.
En tant qu'utilisateur, il y a plusieurs choses vous pouvez faire pour rendre votre utilisation Bluetooth plus sécurisée. (Voir ci-dessous)
En supposant que le chiffrement est une fonctionnalité de sécurité qui peut être activée, est-il obligatoire ou est-il facultatif?
Comme dans la question précédente, cela dépend de l'implémentation. Le cryptage est généralement utilisé par défaut dans les communications PC-PC, smartphone-smartphone et PC-smartphone. Depuis 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?
En gros, tout ce que votre appareil prend en charge. Pour démontrer cela, 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, terminer un appel.
- Touches, Touches enfoncées: appuyer et regarder les touches enfoncées
- Contacts
- Lecture de SMS
- Mode silencieux : activer ou désactiver
- Fonctionnalité du téléphone: désactiver 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
- Verrouillage
Alors qu'est-ce qui ne va pas avec Bluetooth?
Confiance totale dans l'appareil associé: un appareil associé a accès à pratiquement tous les profils pris en charge par l'autre appareil. Cela inclut OBEX et FTP (File Transfer Profile).
-
Les profils ont trop de liberté: Les profils sont autorisés à choisir le mode de sécurité de leur choix. 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 casser E0 avec 2 64 plutôt que les 2 128 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é avec 2 opérations 38 .
-
Le couplage est défini de manière vague: Les appareils sont autorisés pour implémenter leurs propres méthodes de couplage, y compris un code PIN à 4 chiffres qui peut être craqué en un rien de temps.
Enfin, pour les bonnes pratiques:
Je vais énumérer quelques-unes des recommandations de sécurité Bluetooth de la NSA importantes (j'en ai modifié certaines et en ai ajouté quelques-unes):
- Activer Bluetooth fonctionnalité uniquement lorsque cela est nécessaire.
- Activez la découverte Bluetooth uniquement lorsque cela est nécessaire.
- Gardez les appareils associés à proximité les uns des autres et surveillez ce qui se passe sur les appareils.
- Associez les appareils à l'aide d'un Secure Long Passkey.
- Ne saisissez jamais de mot de passe ou de code PIN lorsque vous y êtes invité de manière inattendue.
- Mettez à jour et corrigez régulièrement les appareils compatibles Bluetooth.
- Supprimez immédiatement les appareils associés 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 bons changements 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 nombres, dans lequel les utilisateurs voient 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'énormes 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 interceptions rend une simple clé de passe à six chiffres plus forte qu'un caractère alphanumérique à 16 chiffres aléatoire Code PIN.
Source
Mise à jour 2: Il semble que "Just Works" à 6 chiffres Le PIN est en effet problématique. Mike Ryan a démontré une attaque contre BLE et a publié le code alors que son outil "crépitait" pour forcer la clé temporaire et décrypter le trafic.