Introduction
Bluetooth est une suite de protocoles (par la suite, le terme protocole sera utilisé indistinctement, pour simplifier) sans-fil de faible portée (habituellement 10-15m), opérant dans la bande des 2.4 GHz (tout comme le Wifi ou les fours à micro-ondes) et offrant des débits nominaux de l'ordre de 720 Kbps (normes v1.1 et v1.2) jusqu'à 3 Mbps (norme 2.0 + EDR).
Ce protocole permet de relier des périphériques à un hôte principal ou des hôtes entre eux, formant ainsi un "piconet". Les applications utilisant ce type de connexions sont:
- Provision de services locaux type impressions
- Connexion de périphériques locaux, types claviers, souris, écouteurs, etc
- Synchronisation de données et/ou d'applications, types agendas, contacts, etc.
Les hôtes typiques utilisant la technologie Bluetooth sont les petits appareils portables; la faible portée du protocole rend en effet la consommation énergétique peu importante, ce qui permet d'utiliser Bluetooth dans la plupart des téléphones, oreillettes, casques, micros, etc.
Architecture
Bluetooth repose sur une norme,
actuellement dans sa version 5.0, qui définit tous les aspects du protocole. Plus précisément, l'intégralité des fonctions et mécanismes sont scindés en 2 parties, l'une assignée à l'élément "Host" (en pratique le PC, portable ou autre) et l'autre au "Controller" (une clé USB par exemple, ou une pièce électronique intégrée).
Ainsi, les fonctions de communication bas-niveau (lien physique -radio-, baseband, couche ou protocole liaison) sont assurées par le Controller; les autres fonctions (applicatives, services, etc) sont effectuées par l'Host. Enfin les 2 éléments, qui peuvent être physiquement distincts, communiquent entre eux à travers l'HCI ou Hardware Controller Interface (pour plus d'informations, voir
ce site en anglais). Il faut noter que l'HCI supporte en fait plusieurs "modes" ou types par défaut, en particulier UART, RS-232 et USB. C'est ce dernier qui était utilisé jusqu'à la version 1.2 du protocole Bluetooth mais celui-ci définit maintenant sa propre HC Transport Layer (partie du HCI).
Initialement destiné à l'interconnexion de périphériques, Bluetooth a conservé la notion de Maître (master) et d'Esclave (slave) propre à l'USB, SCSI ou DNS par exemple (voir
wikipedia). Cependant, ces rôles ne présument pas ici de la capacité technique du noeud à gérer les communications et autres canaux de contrôle: un esclave sur un piconet peut être maître d'un autre piconet et permettre un chaînage des 2.
Enfin, Bluetooth implémente un mélange de commutation de paquets et de circuits, ce qui permet d'optimiser et d'économiser les ressources tout en proposant des services nécessitant une certaine qualité.
Positionnement et cadre normatif
Bien qu'étant un protocole sans-fil, Bluetooth n'est pas une technologie concurrente du Wifi, ni de la 3G ou du Wimax. Elle se distingue de ces dernières par des spécifications adaptées aux petits périphériques locaux, c'est-à-dire à une zone appelée WPAN (Wireless Personal Area Network). Les autres technologies citées ont des vocations distinctes et différentes, en particulier :
- le Wifi est utilisé dans les WLAN (Wireless Local Area Network) pour l'interconnexion d'hôtes relativement proches (env. 100m). Par exemple les réseaux privés des entreprises ou des particuliers.
- le Wimax est utilisé dans les WMAN (Wireless Metropolitan Area Network) pour l'interconnexion d'hôtes distants de plusieurs kilomètres. Par exemple pour fournir un accès broadband (Internet) à toute une agglomération comme c'est le cas en France.
- la 3G est utilisée dans les WWAN (Wireless Wide Area Network) pour l'interconnexion d'hôtes ou de téléphones cellulaires distants de centaines de kilomètres.
Cette base commune alliée à des spécificités propres nécessitent une approche des aspects sécuritaires sur 2 niveaux distincts. En pré requis, il faut rappeler que les différentes itérations de la spécification Bluetooth (1.1, 1.2, 2.0...) ont grandement amélioré les analyses et mécanismes de sécurité minimaux. Ainsi, la norme propose des mécanismes de sécurité de base afin de limiter les dérives ou intrusions dans les équipements compatibles. Ces mécanismes sont, en bref, les suivants:
- 3 modes de sécurité: aucun, niveau service et niveau liaison:
- le premier mode est ouvert et ne protège pas l'équipement. Celui-ci est visible et accepte les connexions de tous.
- le second mode est axé sur la protection des services une fois la connexion établie (niveau liaison). Il est possible d'avoir une granularité assez fine, c'est-à-dire de protéger différemment chacun des services proposés.
- le troisième mode implémente des mécanismes dès l'établissement de la connexion au niveau liaison. Tout accès aux services est donc implicitement conditionné à l'application des mécanismes de sécurité sous-jacents.
- 3 modes de protection en confidentialité: aucun, pour certains hôtes et pour tout le trafic. Le chiffrement, si activé, utilise un algorithme de flux (considéré comme faible) et une clé dérivée de la clé de liaison.
- 2 niveaux de confiance (trust): trusted et untrusted. Les éléments de confiance (trusted) ont une relation fixe et un accès total aux services proposés.
- 3 niveaux de protection pour le service, permettant une modularité des protections actives.:
- Niveau 1: nécessite autorisation et authentification. L'autorisation est automatique pour les éléments trusted qui doivent alors s'authentifier au moyen du challenge-response présenté plus loin. Les éléments untrusted doivent être autorisés par manuellement l'utilisateur (question interactive).
- Niveau 2: nécessite une authentification seulement.
- Niveau 3: aucune protection, le service est accessible de tous.
En complément, il est possible de demander explicitement et indépendamment les protections suivantes: autorisation, authentification ou chiffrement.
- Schéma de dérivation de clés temporaires et des clés de liaison: cette dérivation intervient sur la base du code ou PIN entrée par les utilisateurs (d'une longueur de 1 à 16 octets) et habituellement composé de 4 chiffres. Le schéma de dérivation implique la génération de clés secrètes à partir de ce PIN et des adresses physiques des équipements (MAC), puis un XOR final pour obtenir la clé de liaison.
- Authentification par challenge/response: le demandeur envoie un challenge à l'autre partie, qui est sensée chiffrer avec la clé de liaison et renvoyer le résultat, prouvant ainsi qu'elle connait bien la clé. En cas d'authentification mutuelle, les rôles sont inversés puis l'échange réitéré. L'algorithme de chiffrement utilisé est une variante de SAFER+.
La principale caractéristique de cette énumération est la finesse du niveau de protection qu'il est possible de spécifier. Même si certains aspects restent faible et sont connus comme tels, (chiffrement de flux faible, manque de certains services sécuritaires de base, confidentialité très faible si l'élément reste visible), l'ensemble fournit de bonnes possibilités. Il faut noter cependant que l'utilisateur peut influer sur un certain nombre de points et qu'il devient par la-même un des maillons faibles du schéma général.
Menaces génériques
La nature même du média de communication (ondes hertziennes) implique un certain nombre de menaces dites génériques puisqu'applicables à tout échange d'informations opéré sur ce type de réseau. Ainsi:
- Déni de service (DoS): il est possible de mener des attaques visant à saturer le canal de communication et à interrompre toute connectivité.
- Ecoutes et analyses passives: il est possible d'écouter et d'enregistrer tous les échanges d'information effectués dans une zone donnée (selon la portée de l'équipement d'écoute). Une analyse passive peut être effectuée "online" (à la volée) ou "offline" (après écoute) afin de chercher et d'analyser des patterns ou des hôtes.
- Man-in-the-middle: il est possible d'intercepter des communications afin de capturer les flux de données entre 2 entités (selon la puissance d'émission et la topologie du réseau). En particulier, passer pour le serveur auprès du client légitime et pour un client auprès du serveur légitime. Vous trouverez plus d'information sur ce type d'attaque en consultant notre article sur l'attaque réseau Man in the Middle
- Attaques actives: il est possible d'effectuer des attaques actives en modifiant les flux d'informations, soit en insérant ou rejouant des messages, soit en modifiant des messages, ou en ré-ordonnant des messages, etc.
Menaces spécifiques
Bluetooth fait partie de ces technologies en vogue qui sont poussées par les fabricants, implémentées dans beaucoup d'équipements mais relativement peu comprises ou adoptées par la masse. Les enjeux sécuritaires sont grandement sous-estimés, les menaces ignorées et l'éducation autour du sujet quasi-inexistante: de nombreux vecteurs d'attaque restent basés sur le facteur humain, et exploitent la crédulité ou la peur chez leur victime pour effectuer des actions illicites. Au palmarès des mauvaises pratiques des utilisateurs:
- Activation continue du protocole Bluetooth, sans besoin
- Protection par défaut de l'accès aux services: utilisation des PINs 0000 ou 1234
- Mauvais réflexes en cas de sollicitation inattendue - aspects dits de social engineering
- Etc...
Par ailleurs, il est intéressant de noter que plusieurs attaques ou failles existent sur Bluetooth, parmi lesquelles un grand nombre se calquent sur les environnements de types Wifi ou Internet, plus habituels. On retrouvera ainsi les concepts de "fingerprinting", de "sniffing" ou de "scanning", voir même d'outil type "netstumbler", mais spécifiques au protocole Bluetooth.
Spam - Bluejacking
Le
Bluejacking consiste simplement à envoyer un message (ou son/image) non-sollicité à quelqu'un via le protocole Bluetooth. Pour cela, une propriété du handshake d'autorisation qui permet d'afficher le nom de l'équipement est utilisée pour transmettre des messages non-sollicités. Cette technique ne présente pas de risque si ce n'est la méconnaissance des utilisateurs qui peuvent être amenés à exécuter un logiciel et se faire attaquer par ce biais. Le bluejacking est également utilisé dans des campagnes publicitaires ou à des fins plus personnelles. Ainsi Bluetoothing, Bluedating et Bluechating sont des variantes du Bluejacking orientées sur la rencontre de personnes et le partage d'activités diverses, à l'instar d'autres technologies telles que MSN ou les SMS. Elles n'ont pas de lien direct avec la sécurité.
Identification - Blueprinting
Le Blueprinting est une attaque qui s'inspire du fingerprinting propre aux hôtes sur les réseaux filaires (PC, server, etc.). Elle vise à identifier tant que faire se peut l'équipement utilisant Bluetooth, son modèle, son fabricant et éventuellement sa version de firmware, permettant ainsi de cibler les attaques suivantes. Chaque élément possède en effet une adresse physique, codée sur 48 bits et unique, contenant une partie propre au fabricant et une autre spécifique à l'élément. De plus, certains éléments indiquent clairement les services qu'ils proposent au moyen du protocole SDP. L'ensemble de ces informations permet d'émettre des hypothèses sur la nature exacte de l'élément attaqué. Plusieurs outils servent à automatiser cette phase, tels que
Redfang, le premier, ou encore
Blueprint.
Scanner
A la manière des ports utilisés par la paire TCP/IP, il est possible de scanner un équipement pour connaître les applications communicant via les 2 protocoles RFCOMM et L2CAP. Là encore, un
outil, BT Audit, existe.
Hijacking
Il est possible de prendre la place d'un clavier équipé de la technologie Bluetooth en se connectant au service HID à sa place et en proposant des paramètres adéquats. Suivant le mode de sécurité utilisé, la connexion sera autorisée et un accès aux frappes clavier sera possible. La méthode est décrite
à cette adresse.
Bluesnarfing
Le Bluesnarfing est une attaque utilisant une vulnérabilité dans le firmware des anciens équipements Bluetooth; elle vise à forcer une connexion puis à accéder à une partie des données (privée) de la victime. Pour cela, l'attaquant se connecte au service OBEX Push Profile (OPP) qui est habituellement accessible sans authentification. Il effectue ensuite des commandes GET sur un certain nombre de fichiers que la vulnérabilité lui permet alors de télécharger. Une variante consiste à utiliser le service OBEX FTP pour obtenir cette fois-ci un accès en lecture et écriture. Des attaques de Bluesnarfing ont été effectuées à plus d'1 km de distance de la victime, en utilisant des antennes directionnelles à la manière du wardriving pour les réseaux Wifi. Des outils
existent et ont même été portés sur Java pour être exécutés sur des cellulaires compatibles J2ME.
Bluebugging
Le
Bluebugging est une attaque utilisant une autre vulnérabilité dans le firmware des anciens équipements Bluetooth, trouvée en tentant de reproduire l'attaque du Bluesnarfing; elle permet d'utiliser les commandes AT de l'équipement à l'insu de son propriétaire, et donc d'accéder aux données de celui-ci, de passer des appels facturés à la victime, etc.
Car whisperer
Le car-whisperer est une attaque spécifique aux kits main-libre des téléphones portables, basée sur une faiblesse du chiffrement (en particulier son implémentation dans ce type d'équipements) et permet d'écouter les conversations effectuées avec ces kits. De plus, il faut noter que les connexions Bluetooth de ce type d'éléments sont habituellement sécurisées par des clés ayant des valeurs par défaut -0000 ou 1234- afin d'en faciliter la configuration et l'utilisation.
Déni de service
Cette attaque, bien que peu probable vu la distance d'opération requise, est relativement efficace puisqu'elle rend non-seulement l'équipement inopérant, mais elle peut également lui vider les batteries. Une implémentation se base sur le
"Ping of Death" bien connu des années 90, en l'adaptant aux communications Bluetooth et en particulier au protocole L2CAP. L'outil est appelé
Bluesmack.
Attaques diverses
A noter qu'un premier
Ver a déjà été répertorié par les concepteurs d'anti-virus. Enfin, d'autres attaques sont expliquées sur la
bluetooth device security database, la plupart pouvant être menée sur des équipements modifiables, notamment ceux utilisant l'implémentation Open-source du protocole Bluetooth,
BlueZ.
Conclusion
Les firmwares vulnérables ont été corrigés et les nouvelles implémentations semblent présenter une meilleure robustesse. Cependant, comme cela a été souligné, le facteur humain reste primordial et continuera à rendre les attaques les plus simples très efficaces. Il reste nécessaire de rappeler certaines règles de base :
- n'utiliser le protocole Bluetooth que si nécessaire, ne pas le laisser activé sans raison.
- ne pas laisser son équipement en mode visible.
- rejeter toute sollicitation inattendue.
- Changer le mot de passe par défaut de connexion (en général "0000").
Tags
CYBERSÉCURITÉ
SANS FIL
Inscription à notre lettre d'information
Inscrivez vous à notre
lettre d'information pour vous tenir au courant de nos actualités et de nos dernières trouvailles.