Sécurité de l'IoT Partie 4, La lutte du Bluetooth contre les hackers s'intensifie
Le Bluetooth est l'un des protocoles sans fil les plus répandus aujourd'hui. Au départ considéré comme une façon d'étendre les fonctionnalités des smartphones, il est aujourd'hui fondamental pour le développement de l'Internet des objets (IoT). L'arrivée du Bluetooth 5 apporte de nouvelles fonctionnalités destinées à prendre en charge l'utilisation du protocole sans fil dans des réseaux plus vastes. L'une de ces nouveautés est l'augmentation de la portée maximale à 200 m, prenant en charge l'utilisation du Bluetooth dans les réseaux des bâtiments. L'ajout de la capacité de maillage et de la prise en charge de la connectivité 6LoWPAN confirme l'évolution du Bluetooth, passant d'un réseau personnel à courte portée à un réseau polyvalent qui, en principe, rivalise avec d'autres options de connectivité de l'IoT comme Thread et Zigbee.
Le Bluetooth permet la connexion de divers dispositifs, comme des casques audio, des thermostats, des capteurs de sécurité et des moniteurs de fréquence cardiaque. Cependant, avec l'augmentation de l'utilisation des dispositifs Bluetooth permettant de surveiller sa santé et d'autres aspects sensibles de nos vies personnelles, la sécurité de la connexion en elle-même est désormais une question cruciale.
Attaques Bluetooth
Malheureusement, par une combinaison de facteurs, le Bluetooth s'est avéré vulnérable à une variété d'attaques. Le vecteur d'attaque BlueBorne qu'Armis Labs a identifié en septembre 2017 est juste un exemple qui a montré la façon dont la nature des attaques est en train de changer et qu'il est plus difficile de s'en protéger. Dès le début, le protocole Bluetooth en soit a souffert de faiblesses qui permettaient à un hacker de prendre le contrôle d'un appareil à distance ou de le forcer à exécuter un code malveillant. Les lacunes de sécurité du protocole les plus graves ont été abordées avec la sortie de la version 2.1 en 2007. Depuis lors, les problèmes liés au protocole de base ont été relativement mineurs et il n'a pas été possible qu'un dispositif attaqué exécute un code malveillant.
Bien que le protocole Bluetooth soit désormais plus sûr qu'à ses débuts, ses mises en œuvre et les mécanismes d'utilisation courante ont mis en évidence de multiples vulnérabilités. Des chercheurs en matière de sécurité soutiennent qu'un certain nombre de problèmes dans les mises en œuvre du protocole Bluetooth découlent de sa grande complexité et de la prise en charge de différents profils d'application. Aujourd'hui, la spécification de la technologie Bluetooth s'étend à plus de 2 800 pages.
Cette complexité peut facilement jouer un rôle d'hôte pour un grand nombre de vulnérabilités potentielles. Par exemple, il existe plusieurs couches de fragmentation au sein de la pile Bluetooth qui sont utilisées pour diviser les longs messages en petites trames de couche physique. Chaque couche de fragmentation est l'occasion de trouver des faiblesses qui peuvent être exploitées par des techniques communément utilisées, comme le dépassement de mémoire tampon. En général, une telle attaque envoie une trame de protocole délibérément surdimensionnée, causant la dispersion des données à partir de l'extrémité d'un tampon de taille fixe qu'une tâche aura défini pour contenir les données. Une manipulation attentive de ces données permet au hacker de commencer à prendre le contrôle de la pile et, à partir de là, du dispositif lui-même.
Un autre facteur des défis liés à la sécurité auxquels fait face le Bluetooth provient de fonctionnalités qui ont été mises en œuvre dans une large mesure pour améliorer la facilité d'utilisation et sa rapidité de mise en service. En utilisant des paramètres par défaut, les dispositifs Bluetooth diffusent des informations sur eux-mêmes qu'exploitent les hackers pour en prendre le contrôle. Les dispositifs qui utilisent les protocoles de connexion à partir de versions antérieures de la norme vérifient très peu l'authentification. De nombreux dispositifs Bluetooth avec des interfaces utilisateur limitées emploient seulement l'appariement « Just Works ». De nombreux dispositifs d'IoT entrent dans cette catégorie puisqu'ils ne sont que des nœuds du capteur avec aucune interface utilisateur reconnaissable. L'appariement « Just Works » implique l'utilisation de clés d'accès courtes (souvent seulement quatre chiffres) ou ne nécessite pas de clé d'accès du tout. Cela rend pratiquement impossible d'authentifier correctement le point terminal.
Une attaque qu'une authentification peu sécurisée laisse passer est le « bluebugging ». Il s'agit de se faire passer pour un dispositif auquel un utilisateur veut connecter son appareil. Une fois connecté, l'appareil du hacker peut être utilisé pour accéder à des données sur la cible ou tenter de télécharger un ver ou un virus. L'inconvénient pour le hacker, c'est qu'une telle attaque s'appuie sur la capacité à tromper un utilisateur pour qu'il se connecte, ce qui réduit la probabilité de succès. Avec une attaque basée sur BlueBorne ou des vulnérabilités inconnues à ce jour, le hacker n'exige pas la participation active de l'utilisateur.
L'attaque de l'homme du milieu (MITM) en elle-même est une des méthodes que les hackers ont utilisées pour éviter la détection de leur intrusion et qui est hautement applicable aux applications de l'IoT. Lors d'une attaque MITM, le hacker utilise son appareil comme un intermédiaire entre deux terminaux autorisés, tels qu'un nœud capteur IoT et une passerelle, qui est peut-être un smartphone ou un routeur domestique. Habituellement, le dispositif du hacker agira comme passerelle et fera passer les messages vers la destination prévue. Une fois au milieu, les nouveaux messages peuvent être injectés ou ceux qui passent corrompus. Les points terminaux seront dupés et croiront qu'ils participent directement entre eux.

Fig.1 : Attaque de l'homme du milieu, Copyright Premier Farnell Ltd
Si l'attaque se produit suffisamment tôt, le hacker peut même écouter les communications que les parties autorisées croyaient être correctement chiffrées. La clé publique commune fournie par l'un des terminaux peut être interceptée et remplacée par une clé utilisée par le hacker durant le processus d'appariement. Dans de nombreux cas actuellement, seul le chiffrement limité est utilisé. Avant le Bluetooth 2.1, les transmissions entre dispositifs appariés n'avaient pas besoin d'être chiffrées au niveau de la couche de liaison. Cela a changé maintenant, ce qui ajoute un degré de protection supplémentaire des données.
Cependant, même si la spécification du protocole est progressivement renforcée pour faire face aux erreurs et améliorer l'ensemble de la sécurité, les mises en œuvre de la technologie Bluetooth fournissent des trappes facilement exploitables par les hackers. BlueBorne est un exemple très difficile à contrer.
BlueBorne : un important vecteur d'attaques Bluetooth
BlueBorne est le terme générique inventé par Armis pour huit différentes vulnérabilités de la pile Bluetooth qui se trouvent à l'intérieur de nombreux équipements mobiles. En exploitant une vulnérabilité BlueBorne, non seulement le hacker est capable de pénétrer et de contrôler un dispositif en l'infectant avec du code malveillant, mais le code peut également se propager d'un appareil à l'autre uniquement à l'aide du Bluetooth. Il est ainsi possible d'attaquer les réseaux qui sont sous air gap (ceux qui n'ont aucun lien les uns avec les autres ou avec Internet) s'ils ont des dispositifs avec des interfaces Bluetooth actives.
L'une des raisons pour lesquelles les chercheurs d'Armis estiment que BlueBorne est dangereux est la combinaison de vulnérabilités de la pile Bluetooth de nombreux dispositifs, la nature de la pile Bluetooth et les décisions de conception prises dans un grand nombre de systèmes intégrés et de dispositifs de l'IoT. Dans ce dernier cas, un problème majeur est que la pile Bluetooth a des privilèges élevés dans de nombreuses plates-formes. Cela signifie qu'une attaque qui prend le contrôle des processus et du micrologiciel Bluetooth dans un dispositif est plus facilement en mesure de prendre le contrôle des fonctions de base du dispositif.
L'attaque BlueBorne implique un certain nombre d'étapes. La première est l'identification des dispositifs Bluetooth à proximité. Ceux-ci peuvent être trouvés même si le point terminal Bluetooth est défini sur « non détectable ». Cela est possible parce que les dispositifs Bluetooth actifs vont écouter les paquets qui leur sont envoyés. L'envoi d'un paquet à un point terminal nécessite de connaître son adresse de dispositif Bluetooth unique (BDADDR). Bien qu'un appareil non détectable n'indique pas son BDADDR, il est possible dans de nombreux cas de déterminer la BDADDR d'une cible en surveillant simplement les communications entre les dispositifs connectés.
Une convention adoptée par de nombreux fabricants est que si le Bluetooth est activé mais en veille, il est possible de déterminer la BDADDR à partir d'un trafic Wi-Fi. L'adresse de contrôle d'accès au Wi-Fi (MAC) n'est pas chiffrée et, sur un dispositif donné, la BDADDR sera configurée pour être la même ou compensée par une valeur d'un.
Des différences subtiles dans la mise en œuvre rendent possible, en approfondissant les recherches, la détermination du système d'exploitation sous-jacent. L'appareil peut ne pas révéler le système d'exploitation et la plate-forme de façon explicite, mais le hacker peut les trouver en comparant les réponses connues aux sondes. En utilisant ces informations, le hacker peut utiliser la connaissance des vulnérabilités des parties spécifiques de la pile pour tenter de pénétrer le système.
Aborder la sécurité Bluetooth
La meilleure protection contre les attaques consiste simplement à désactiver complètement le Bluetooth. Toutefois, compte tenu de la nature de l'IoT, ce n'est pas pratique si le Bluetooth est utilisé comme principale connexion sans fil aux nœuds capteurs et autres dispositifs. En principe, la configuration de l'appareil eu mode non détectable par d'autres qui n'ont pas de connexion officielle le rend plus difficile à trouver et à attaquer. Cependant, le vecteur d'attaques de BlueBorne démontre que ce niveau de protection ne pourra pas constituer de défense contre un agresseur plus déterminé.
Une approche en couches assure un degré de protection contre la plupart des attaques, bien qu'un piratage ciblé sophistiqué s'avérera difficile pour pratiquement tous les dispositifs avec une interface Bluetooth active. Dans la construction de défenses, il est important de faire la distinction entre les problèmes qui découlent des choix effectués par les concepteurs du protocole et ceux qui résultent des erreurs de programmation ou de mauvaises hypothèses. Par exemple, des attaques comme BlueBorne se concentrent sur l'échec des fonctions logicielles spécifiques pour exploiter des paquets délibérément mal formés et les structures de données qu'ils sont censés contenir.
Au fil du temps, l'industrie peut s'attendre à ce que les pratiques en matière de programmation s'améliorent, maintenant que la prévalence d'attaques par débordement de mémoire tampon et par injection de données a été démontrée avec plusieurs protocoles de communication employés par les systèmes intégrés et les appareils de l'IoT. Même ainsi, de tels problèmes continueront à être découverts avec le développement de l'IoT et de son utilisation du Bluetooth. Les intégrateurs et fabricants de dispositifs de l'IoT doivent prévoir non seulement les conséquences des vulnérabilités, mais également la mise à jour de leurs produits une fois les corrections publiées. Cela signifie fournir des mécanismes qui permettent le transfert des mises à jour vers les dispositifs et la bonne installation de ces mises à jour. Si le Bluetooth est le seul protocole de communication à utiliser, les fabricants doivent prévoir l'éventualité qu'un dispositif compromis puisse rejeter les tentatives de mise à jour. En conséquence, le micrologiciel interne doit être conçu de telle façon qu'il puisse démarrer de manière sécurisée dans un mode d'installation aux valeurs d'usine ou dans un autre mode sans échec et être mis à jour à partir de ce mode.
Il existe des ajouts récents au protocole Bluetooth que les fabricants et les intégrateurs peuvent utiliser pour améliorer l'ensemble des niveaux de sécurité. La version 4.2, par exemple, a introduit un processus d'appariement sur la base de comparaisons numériques. Cependant, il s'agit d'un mécanisme qui repose sur une certaine forme d'affichage disponible sur le dispositif de l'IoT. Sous une comparaison numérique, une clé de six chiffres générée par le dispositif qui tente de se connecter à un autre apparaît sur les deux dispositifs. L'utilisateur doit vérifier qu'il s'agit du même nombre pour que la connexion soit mise en place correctement. Un problème avec cette approche est qu'elle ne protège pas des attaques utilisant des techniques de contrefaçon qui peuvent tromper un utilisateur en lui faisant croire qu'il a connecté un dispositif authentique.
Une approche pour l'appariement qui peut offrir des niveaux de sécurité nettement supérieurs est l'utilisation d'un canal de communication distinct. Bien que le canal soit utilisé dans un processus unique de mise en service simplement pour l'appariement et non pas pour les transferts de données, l'ajout d'un émetteur-récepteur RF supplémentaire ne nécessite pas d'augmenter considérablement le coût et la complexité. Le protocole de la Communication en champ proche (NFC) fournit un canal économique. Il présente l'avantage de nécessiter que le hacker soit proche du dispositif cible afin d'intercepter ses communications. Pour relier deux dispositifs, l'utilisateur appuie simplement le dispositif IoT compatible NFC sur l'autre unité et le protocole s'occupe de la liaison.
L'un des principaux avantages du protocole NFC est qu'il peut fournir un moyen d'utiliser des mécanismes d'appariement plus sécurisés issus de la dernière version du Bluetooth, mais également effectuer des contrôles de sécurité. Le dispositif de mise en œuvre compatible NFC peut vérifier l'authenticité des certificats de sécurité installés en usine et, s'ils sont conformes, offrir des clés publiques qui peuvent utilisées pour prendre en charge le chiffrement de bout en bout lors de la mise en service et de l'utilisation. Cela complique grandement les tentatives d'écoutes sur le canal Bluetooth, tant qu'il n'y a pas de vulnérabilités utilisables dans le logiciel s'exécutant sur le dispositif IoT qui traite les flux chiffrés ou dans la pile Bluetooth sous-jacente.
Une approche encore plus économique, mais moins pratique et moins efficace qu'un canal latéral tel que NFC est l'utilisation d'une simple étiquette détachable jointe au dispositif IoT. Tant que le code est unique et n'est pas répliqué sur d'autres appareils du même type, cela permet d'utiliser une ancienne technique d'appariement de façon raisonnablement sécurisée. Des approches similaires peuvent être utilisées pour aider à la mise en service non seulement des dispositifs connectés en Bluetooth, mais également de ceux utilisant des alternatives axées sur l'IoT telles que Zigbee et Z-Wave.
Conclusion
Depuis son introduction il y a deux décennies, le Bluetooth a fait de grands pas comme protocole sans fil de courte portée et de faible puissance. À présent, il renforce une base croissante d'appareils de l'IoT. Tout protocole largement utilisé représente une cible de grande valeur pour les hackers. Le problème pour les fabricants et les intégrateurs est que la complexité et les défis de mise en œuvre du Bluetooth le rendent vulnérable. Bien qu'il soit possible de prendre des mesures pour réduire les risques, comme l'utilisation de canaux secondaires pour les dispositifs de mise en œuvre, le Bluetooth ne peut pas encore être considéré comme sécurisé. Dans les applications où des niveaux supérieurs de sécurité des données sont nécessaires, les ingénieurs devraient envisager d'autres options.
Sécurité de l'IoT Partie 4, La lutte du Bluetooth contre les hackers s'intensifie Publié le 15 décembre 2017 par Farnell