BlueBorne : quand le Bluetooth est source de failles de sécurité
Armis Labs attire l’attention sur plusieurs failles liées à l’implémentation du Bluetooth dans les principaux systèmes d’exploitation.
Régie par des spécifications complexes, l’implémentation du Bluetooth est susceptible d’engendrer d’autant plus de failles de sécurité.
Ce constat, Armis Labs l’établit – et l’étaye – dans un rapport (PDF, 42 pages) consacré à BlueBorne.
La société, à l’origine d’une plate-forme pour la sécurité de l’IoT, a regroupé sous cette appellation une série de huit vulnérabilités, dont quatre critiques, qui concernent potentiellement plusieurs milliards d’appareils. Leur point commun : elles ne requièrent aucune action de la part de l’utilisateur ciblé et ne laissent, en théorie, aucune trace.
Du code et des interfaces
Quatre de ces failles touchent Android. Google, informé le 19 avril 2017, a développé, pour les versions 6.0 (« Marshmallow ») et 7.0 (« Nougat ») de son OS, des correctifs transmis à ses partenaires constructeurs le 7 août et intégrés dans le bulletin de sécurité du 4 septembre.
En tête de liste sur la fiche de soins, la vulnérabilité CVE-2017-0781. Localisée dans le protocole Bluetooth Network Encapsulation, qui permet le partage de connexion Internet par Bluetooth, elle peut être exploitée pour corrompre la mémoire et y insérer du code exécutable.
Même effet pour la CVE-2017-0782, qui se trouve dans une couche supérieure du même protocole : le Personal Area Networking (PAN), destiné à établir une connexion IP entre deux appareils.
Le PAN abrite une deuxième vulnérabilité (CVE-2017-0783) utilisable pour créer, sur l’appareil visé, une interface réseau malveillante… et y router tout le trafic. On est là sur une attaque de type « Man-in-the-middle ».
Dans l’optique d’une exécution de code distant, des informations précieuses peuvent être recueillies via la faille CVE-2017-0785, localisée dans le Service Discovery Protocol, qui permet d’identifier des services Bluetooth dans le voisinage. Elle peut servir à envoyer des requêtes spéciales à ce serveur, qui révèlera alors des données, dont des clés de chiffrement.
Protection(s) renforcée(s)
La CVE-2017-0783 a son pendant sur Windows avec la CVE-2017-8628, qui touche l’ensemble des éditions de l’OS depuis Vista. Averti le 19 avril, Microsoft a dégainé un patch le 11 juillet et a officialisé la faille ce 12 septembre.
Du côté d’Apple, iOS 10 échappe à BlueBorne. Tous les iPhone, iPad et iPod touch dotés d’iOS 9.3.5 ou d’une mouture antérieure sont en revanche concernés – ainsi que les Apple TV sous tvOS 7.2.2 ou plus ancien.
Sur Linux, deux failles sont recensées. L’une (CVE-2017-1000250) peut entraîner des fuites de données. Située elle aussi dans le Service Discovery Protocol, elle touche tous les appareils qui utilisent le service BlueZ.
L’autre est présente dans le kernel jusqu’à la version 3.3-rc1, sortie en octobre 2011. Affectant le protocole L2CAP (Logical Link Control and Adaptation protocol), qui gère la connexion aux services Bluetooth, elle peut permettre l’exécution distante de code.
À quelle adresse ?
L’exploitation de toutes ces failles ne requiert pas d’appairage. Et elle est possible y compris sur les terminaux configurés pour ne pas être visibles dans leur environnement Bluetooth.
La principale condition pour l’attaquant est d’obtenir l’adresse MAC de la machine ciblée. Des solutions open source comme Ubertooth le permettent.
Quand bien même les communications sont chiffrées, l’en-tête des paquets contient, d’après Armis Labs, suffisamment d’informations pour en déduire le MAC.
Pour les appareils qui ne font qu’« écouter » le trafic sans en émettre, il est possible d’espionner la connexion Wi-Fi : le MAC associé est généralement le même que celui de l’interface Bluetooth, ou alors à un chiffre près.
La vidéo ci-dessous illustre une attaque menée contre un smartphone Pixel de Google. Le pirate utilise une souris à distance, prend une photo à l’insu de l’utilisateur et la récupère.