Bluetooth Low Energy et sécurité

Alternative du Bluetooth classique, le Bluetooth Low Energy est choisi de manière croissante pour l’IoT. Cette technologie, aussi connue sous l’abréviation BLE, s’impose de plus en plus pour l’Internet des objets parce qu’elle est idéale pour envoyer de petites quantités de données entre appareils et pour préserver la batterie ; ce qui correspond parfaitement aux besoins de l’IoT. Le Bluetooth classique, de son côté, reste utilisé pour envoyer de grande quantité de données entre un appareil et l’utilisateur (les casques et enceintes sans fil se servent du Bluetooth par exemple).

Si ces deux protocoles Bluetooth sont utilisés à des fins différentes et ne sont pas compatibles, ils restent toutefois dans une certaine mesure similaires parce qu’ils ont des technologies (software et hardware) communes, comme celles qui gèrent l’appairage. Ainsi, les responsables sécurité doivent garder en tête que les failles de sécurité touchant le Bluetooth classique, affectent parfois aussi le Bluetooth Low Energy, mais que ce dernier garde néanmoins ses spécificités et donc des failles qui lui sont propres.

Les risques de l’utilisation du Bluetooth Low Energy

Utiliser un protocole adapté aux objets connectés ne suffit pas à garantir sa sécurité. Pour se rendre compte de la facilité avec laquelle un objet IoT utilisant du BLE peut être cracké, il suffit d’une rapide recherche sur internet. De nombreux articles traitent par exemple de serrures ou clés connectées hackées. Relativisons cependant.

Si certaines failles sont dues au standard Bluetooth lui-même, d’autres ont pour origine la manière dont le BLE a été implémenté. Elles sont propres à un objet connecté ou un composant particulier et peuvent donc généralement être corrigées, que ce soit par une mise à jour du firmware ou par une modification du hardware du produit.

Pour ce qui est des problèmes natifs au Bluetooth, ils sont régulièrement réétudiés quand une nouvelle version du standard est publiée (nous avons depuis janvier 2019 le Bluetooth 5.1).

Quant aux failles de sécurité propres aux implémentations, elles nécessitent une compréhension des enjeux de sécurité et une connaissance du protocole BLE. Des fonctionnalités de sécurité sont disponibles pour parer aux failles, et si vous suivez scrupuleusement le standard, vous éviterez beaucoup de déconvenues. Lors de la création du produit, les concepteurs d’objets connectés doivent rappeler (ou insister pour) que les problématiques de sécurité soient abordées avec la même importance que la facilité d’utilisation et que le prix. Le but est d’éviter de devoir modifier le produit en urgence pendant sa commercialisation.

Bonne nouvelle, il est généralement possible de se protéger contre l’exploitation des failles natives et celles dues à une mauvaise implémentation. Toutefois, si la sécurité n’a pas été intégrée pendant la conception du produit, il se peut qu’elle soit limitée par les capacités du hardware et du firmware du produit développé.

Par exemple, la méthode d’appairage Passkey Entry permet de se protéger contre les attaques par homme du milieu (Man-In-The-Middle ou MITM). Elle nécessite un écran ou un clavier pour pouvoir être utilisée. Cette fonctionnalité implique donc d’y penser dès la phase de développement pour être intégrée au produit.

Pour résumer, un objet peut être vulnérable à cause soit de failles du standard lui-même, soit d’un mauvais choix parmi les fonctionnalités (notamment au niveau de l’appairage), ou soit d’une mauvaise implémentation du BLE, ce qui est le plus courant.

Tester les implémentations du BLE

Pour vérifier la sécurité des objets communicant avec le BLE, un pentest peut être réalisé spécifiquement pour tester le Bluetooth Low Energy, que ce soit dès la phase de développement, production ou lors de la commercialisation.

Les objectifs principaux d’un pentest sur une implémentation du BLE sont de déterminer s’il est possible pour un attaquant de récupérer des informations sensibles ou des données personnelles, de commander l’appareil à distance et de le rendre inutilisable ou inaccessible. Les trois points principaux à tester sont donc

  • la résistance à l’écoute passive des échanges (eavesdropping),
  • la résistance à l’interception et la corruption,
  • et la résistance aux attaques par déni de service (DoS).

Plus concrètement, les pentesters essaient tout d’abord d’écouter et de comprendre les communications à l’aide de scripts dédiés et de programmes comme Wireshark. Ils vérifient si les échanges de données sont correctement chiffrés.

Ils tentent également de faire des attaques de l’homme du milieu, c’est-à-dire devenir intermédiaire entre les appareils testés (généralement un smartphone et un objet connecté). Les pentesters envoient alors des commandes frauduleuses à l’appareil visé pour voir s’ils peuvent le contrôler et lui faire faire ce qu’ils veulent.
Ces deux types d’attaques se font principalement pendant la phase d’appairage.

Des attaques DoS sont ensuite menées pour savoir s’il est possible de rendre inaccessible l’ aux utilisateurs (depuis leur smartphone) et aux autres appareils qui communiquent avec lui. L’une des méthodes est de vider la batterie de l’appareil en le sollicitant massivement.

Un élément à noter concernant la sécurité des objets utilisant le Bluetooth Low Energy est que les outils nécessaires aux attaques sont facilement disponibles.
En effet, le matériel utilisé par un attaquant (ou un pentester) se compose d’un adaptateur Bluetooth (avec antenne), d’un smartphone, d’un ordinateur ou d’un simple Raspberry Pi. Par exemple, l’un de ces adaptateurs, l’Ubertooth, est disponible en vente libre sur internet pour une centaine d’euros. Quant aux logiciels utilisés pour les attaques, la plupart sont open source et donc téléchargeables librement.
Par conséquent, n’importe qui peut tenter de hacker des appareils communiquant avec le BLE.

Pour protéger vos appareils et vos utilisateurs, voici quelques pistes à considérer :
– Implémenter le protocole le plus fidèlement possible au standard
– Chiffrer les données échangées, en particulier si elles sont sensibles
– Appliquer les patchs de corrections
– Intégrer les problématiques de sécurité lors de la conception et du développement des objets
– Utiliser les fonctionnalités de sécurité du BLE adaptées à votre produit (comme Low-Energy Link layer, Passkey, OOB Bonding, etc)
– S’assurer que les clés et mots de passe ne soient pas déterminables
– Choisir des composants qui proposent de la sécurité intégrée