Accueil / Sans-fil & radio
Bluetooth & BLE
Communication sans-fil courte portée à 2,4 GHz — Classic et Low Energy, GATT, appairage et sniffing.
Description
Le Bluetooth est une technologie sans-fil courte portée opérant dans la bande 2,4 GHz (ISM). On distingue deux mondes largement incompatibles :
- Bluetooth Classic (BR/EDR) : audio, transfert de fichiers, débits plus élevés.
- Bluetooth Low Energy (BLE) : basse consommation, dominant dans l’IoT (montres, capteurs, serrures, ampoules).
En BLE, un appareil expose ses données via GATT (Generic Attribute Profile) : une hiérarchie de services contenant des caractéristiques (valeurs lisibles/écrivables/notifiables), chacune identifiée par un UUID.
Identification
- Scanner l’environnement :
bluetoothctl(scan on), applications mobiles type nRF Connect ou LightBlue. - Relever l’adresse (BD_ADDR), le nom, les services annoncés dans les paquets d’advertising.
- Énumérer les services/caractéristiques GATT pour comprendre la surface exposée.
# Scanner puis se connecter avec bluetoothctl
bluetoothctl
> scan on
> connect AA:BB:CC:DD:EE:FF
Attacking
Énumération GATT
Beaucoup d’objets BLE exposent des caractéristiques sans authentification. Lire et écrire directement peut suffire à commander l’appareil (allumer, déverrouiller, changer un réglage).
gatttool,bleak(Python), ou nRF Connect pour lister et manipuler les caractéristiques.- Chercher les caractéristiques inscriptibles qui déclenchent une action.
Sniffing et rejeu
- Un dongle nRF52 avec le firmware nRF Sniffer, ou Ubertooth, permet de capturer le trafic BLE et de l’analyser dans Wireshark.
- Si les échanges ne sont pas chiffrés (appairage Just Works, absence de chiffrement de lien), il est possible de rejouer des commandes.
Faiblesses d’appairage
- L’appairage Just Works n’offre aucune protection contre l’homme du milieu.
- Certaines implémentations gardent des clés statiques ou acceptent une reconnexion sans re-vérification.
Protections
- Utiliser un appairage avec authentification (LE Secure Connections, comparaison de code) et chiffrer le lien.
- Contrôler les permissions GATT : ne pas exposer d’actions sensibles en lecture/écriture libre.
- Ajouter une authentification applicative au-dessus du GATT (challenge/réponse), indépendante de l’appairage.
- Limiter la durée et la portée de l’advertising, effacer les liaisons obsolètes.
Example devices
- Serrures connectées, bracelets/montres, capteurs, ampoules et prises pilotables en BLE.