Introduction à la norme Bluetooth, survol des questions de sécurité et War-nibbling du Nouvel An

Pourquoi Bluetooth ? La technologie Bluetooth

Les nouvelles technologies s’infiltrent de plus en plus dans tous les domaines d’activité de l’individu. Nous ne pouvons déjà plus imaginer la vie sans ces appareils qui, il y a quelques temps seulement, n’apparaissaient que dans les films de science-fiction.

Cette technologie a été développée par Ericsson en 1994. En 1998, Ericsson, IBM, Nokia, Intel et Toshiba décidèrent de former le consortium SIG qui allait développer la norme Bluetooth. A l’heure actuelle, la majorité des téléphones mobiles et des périphériques exploitent la technologie Bluetooth et on la retrouve également dans certains appareils électroménagers.

Le marché propose déjà des adaptateurs qui permettent d’utiliser la technologie Bluetooth avec les appareils incompatibles à l’origine. Il devient ainsi possible de connecter le téléphone à la chaîne hi-fi afin de transférer des fichiers mp3 sur le téléphone ou d’écouter ces mêmes fichiers mp3 directement sur le téléphone. Les écouteurs, les kits voiture sont loin de constituer les seules applications de la technologie Bluetooth dans la vie de tous les jours.

La diffusion, ainsi que la nouvauté (car un vrai pirate est attiré par tout ce qui est nouveau et non exploré) ont joué leur rôle. Les pirates informatiques se sont intéressés à la technologie Bluetooth et à ses répercussions en matière de sécurité dès le début des années 2000. Les travaux des groupes d’études @stack et shmoo ont ouvert la voie.

Ce sujet est d’actualité pour les éditeurs de logiciels antivirus également. La technologie Bluetooth est la technologie utilisée pour la diffusion des vers. Ainsi, Cabir, Lasco et Comware, qui prennent tous pour cible le système Symbian, se propagent via Bluetooth. Les vulnérabilités de la technologie et les possibilités qu’elle offre en matière de transfert de fichiers la rendent très intéressantes.

A l’origine, la norme Bluetooth a été développée afin de pouvoir reléguer les câbles aux oubliettes. En effet, un portable auquel on souhaitera raccorder une souris, une imprimante, un téléphone mobile et un récepteur GPS à l’aide de câbles perd très vite sa « mobilité » et il ne possède peut-être pas un nombre de ports suffisant.

Au fil du temps, la technologie Bluetooth a également fait son apparition dans le domaine des réseaux locaux sans fil. D’aucuns estiment que la norme Bluetooth peut être une alternative au wi-fi mais personnellement, j’estime que ces deux technologies se complètent plus qu’elles ne se concurrencent et qu’elles ont des secteurs d’applications mixtes mais néanmoins différents.

Le piconet est à la base de la norme Bluetooth. Un tel réseau peut compter un maître et jusqu’à sept esclaves placés dans un rayon de 10 m. Les piconets peuvent être réunis au sein d’un scatternet ou « réseau chaîné ». La communication est possible uniquement entre le maître et les esclaves. Il n’existe pas de communication directe entre les esclaves.

Illustration 1

Les appareils Bluetooth fonctionnent dans la gamme de fréquences non réglementées comprises entre 2,4 et 2,4835 GHz. Pour éviter les conflits avec les autres appareils fonctionnant dans cette plage de fréquences, on a introduit un algorithme de saut de fréquence : il y a 1 600 sauts de fréquence par seconde.

La durée comprise entre deux sauts de fréquences est appelée un « slot » et est égale à 625 micro secondes. Les esclaves regroupés au sein du picoréseau changent de fréquence simultanément sur commande du maître selon un algorithme pseudo aléatoire. Toute l’étendue de la plage est découpée en 79 canaux d’1 Ghz. Les données sont transmises par séquence qui peut contenir 1, 3 ou 5 mesures.

Il existe deux types de connexion : ACL (asynchronous connectionless — asynchrone non connecté) etSCO (synchronous connection oriented — synchrone connecté).

La connexion ACL sert au transfert de données qui peuvent apparaître à n’importe quel moment. Le périphérique esclave ne peut avoir qu’une seule connexion ACL avec le maître.

Les connexions SCO servent au transfert de données en temps réel, par exemple pour transmettre la voix. Le périphérique esclave peut avoir un maximum de trois connexions SCO avec le maître, d’une capacité de 64 Ko chacune.

La norme définit trois classes d’appareils:

  • Classe 1 100 mW 100m
  • Classe 2 2,5 mW 10m
  • Classe 3 1 mW 10m

La majorité des appareils appartiennent aux classes 2 et 3. Superposition des protocoles:

Illustration2

Pour une étude plus approfondie de bluetooth, on se reportera aux spécifications de cette norme.

Mécanisme de protection

Comme l’indiquent les spécifications, les données de l’utilisateur peuvent être protégées grâce au cryptage des transmissions des données tandis que le code d’accès et l’en-tête du paquet sont transmis en clair. On utilise le chiffrement de flux E0. La possibilité d’une attaque au niveau du canal de transmission est ainsi évidente.

Bluetooth peut fonctionner selon trois modes de sécurité.

  • Niveau 1 : aucune protection
    Le cryptage et l’authentification ne sont pas activés et l’appareil fonctionne en mode dit de « promiscuité ».

  • Niveau 2 : protection au niveau du service/de l’application (L2CAP)
    Une fois la connexion établie, le gestionnaire de la sécurité procède à l’authentification, ce qui permet de limiter l’accès à l’appareil.

  • Niveau 3 : protection au niveau du canal de communication (link-layer PIN authentification/MAC address encryption).

L’authentification a lieu avant l’établissement de la connexion ; un cryptage transparent est utilisé. Ce niveau de protection n’empêche toutefois pas les attaques sur un appareil.

La sécurité de la norme bluetooth repose sur la clé produite au départ d’un code PIN. Le code PIN peut contenir de 1 à 16 octets. A l’heure actuelle, la majorité des appareils utilisent un code à 4 octets. L’algorithme E2, sur la base du code PIN, génère une clé de combinaison de 16 octets. Ensuite, l’algorithme E3, sur la base de la clé de combinaison, calcule la clé de cryptage. La première clé sert à l’authentification, tandis que la deuxième sert au cryptage.

Illustration 3

L’authentification s’opère selon le schéma suivant :

  1. L’appareil qui initie la connexion envoie son adresse (BD_ADDR).
    Cette adresse de 48 octets est unique, tout comme l’adresse MAC de la carte de réseau. L’adresse permet d’identifier le fabricant de l’appareil.

  2. La séquence aléatoire de 128 chiffres AU_RAND (challenge) est envoyée en réponse.
  3. Sur la base de BD_ADDR, de la clé de combinaison et d’AU-RAND, les deux appareils génèrent la séquence de cryptage SRES.
  4. L’appareil qui demande la connexion envoie son SRES.
  5. L’appareil contacté compare le SRES reçu et le sien et s’ils correspondent, il établit la connexion.

Illustration 4

Bien que le code PIN ne soit pas transmis en clair, il peut être identifié grâce au BD_ADDR, AU_RAND et SRES interceptés.

Types d’attaques sur Bluetooth

BlueBug

Cette vulnérabilité permet à l’individu mal intentionné de réaliser des actions non autorisées avec les appareils dont le mode Bluetooth est activé. Cette attaque peut être menée en quelques secondes. Sa portée est limitée au rayon d’action des appareils de classe 2, c’est-à-dire entre 10 et 15 mètres comme nous l’avons signalé ci-dessus. Pour élargir ce rayon, la personne mal intentionnée peut utiliser une antenne directionnelle. Vu que certains téléphones prennent en charge l’exécution de commandes AT, l’agresseur peut réaliser les actions suivantes :

  • Réaliser des appels téléphoniques ;
  • Envoyer des messages SMS à n’importe quel numéro ;
  • Lire les messages SMS du téléphone ;
  • Lire et enregistrer les numéros de téléphone du carnet d’adresses ;
  • Détourner les appels ;etc.
Blueprinting

Blueprinting permet d’obtenir des informations détaillées sur un appareil distant. Comme nous l’avons déjà indiqué, chaque appareil Bluetooth possède une adresse bluetooth unique. Cette adresse contient 6 octets et se présente, à l’instar des adresses MAC, sous le format suivant : MM:MM:MM:XX:XX:XX. Les trois premiers octets (M) contiennent les informations relatives au producteur du microschéma. Malheureusement, les choses ne sont pas aussi simples pour les trois octets X et il est impossible de proposer un modèle unique de devise.

Chaque appareil bluetooth propose certains services ou d’autres. Pour les identifier, il suffit d’utiliser le protocole SDP (service discovery protocol). La requête relative aux services offerts peut donner des informations d’un format défini et sur la base de la réponse, il est possible d’identifier le modèle de l’appareil.

BlueSmack

Attaque par déni de service qui peut être menée à l’aide d’un utilitaire qui fait partie de Linux Bluez. Cette attaque ressemble aux attaques similaires lancées contre les anciennes versions de Windows 95. Il existe, au niveau L2CAP, une possibilité d’envoyer une reqûete de réponse d’un autre appareil bluetooth.

L’idée qui se cache derrière cette requête est de vérifier la connexion et de mesurer le délai de réaction vis-à-vis de la connexion établie, comme pour le ping ICMP. Grâce à l’utilitaire l2ping, fourni avec la distribution de BlueZ, l’utilisateur peut définir la longueur des paquets envoyés. Pour obtenir l’effet souhaité, il est indispensable de définir une taille d’environ 600 octets à l’aide de l’option –s.

BlueSnarf

Il s’agit peut-être de l’attaque bluetooth la plus célèbre. L’agresseur utilise l’OBEX Push Profile (OPP) exploité pour l’échange de cartes de visite et d’autres objets. Dans la majorité des cas, ce service ne requiert pas d’authentification. BlueSnarf exécute une requête OBEX GET vers un fichier connu, par exemple « telecom/pb.vcf » (carnet d’adresses) ou « telecom/cal.vcs » (calendrier). Si la qualité du firmware laisse à désirer, l’agresseur peut accéder à tous les fichiers.

BlueSnarf++

Cette attaque ressemble fortement à BlueSnarf. La principale différence se situe au niveau du moyen utilisé par l’agresseur pour accéder au système de fichiers. BlueSnarf++ donne à l’agresseur un accès complet en écriture et en lecture via l’OBEX Push Profile. Si le serveur OBEX FTP tourne sur une application, il est possible d’établir la connexion via le service OBEX Push sans appariement.

L’agresseur peut consulter le contenu du système de fichiers via la commande ls ou supprimer des fichiers (via la commande rm). Les actions sont possibles sur n’importe quel type de mémoire, y compris les cartes d’extension de mémoire de type MS ou SD.

HelloMoto

Il s’agit d’une combinaison des attaques BlueSnarf et BlueBug. Elle exploite le traitement inexact « trusted devices » sur les téléphones Motorola. L’agresseur débute la connexion via OBEX Push Profile en simulant l’envoi d’une vCard. Cet envoi est ensuite interrompu mais l’appareil agresseur reste dans la liste des appareils de confiance du téléphone attaque. Cette présence dans la liste permet à l’agresseur d’établir une connexion avec le profil écouteur sans authentification. Une fois la connexion établie, l’agresseur peut commander l’appareil via les commandes AT.

BlueBump

Pour cette attaque, l’agresseur déployera son savoir-faire en ingénierie sociale. Le but est d’établir une relation de confiance entre l’agresseur et la victime. Cela peut se faire en envoyant une carte de visite pour obliger la victime à réaliser l’authentification. L’agresseur ne ferme pas la connexion, mais demande à la victime de supprimer la clé d’authentification de l’agresseur. La victime ne sait pas que la connexion est toujours ouverte et à ce moment l’agresseur demande la clé de régénération. Après cela, l’agresseur obtient un nouvel enregistrement sans authentification. Dès cet instant, l’agresseur peut accéder à l’appareil tant que la clé n’est pas supprimée.

Attaque sur BlueDump

Clé de combinaison. Dans ce cas, l’agresseur doit connaître le BDADDR paired des appareils. L’agresseur remplace l’adresse d’un des appareils et se connecte en son nom à un autre. L’agresseur n’a pas de clé d’authentification et suite à la requête d’authentification lancée par la victime, il répond « HCI_Link_Key_Request_Negative_Reply ». Dans certains cas, la victime en arrive à supprimer sa propre clé d’authentification et active le mode d’appariement.

BlueChop

Vise à démanteler un piconet à l’aide d’un appareil qui n’en fait pas partie. Cette attaque est rendue possible par le fait que le maître doit prendre en charge plusieurs connexions pour composer un réseau chaîné (scatternet). L’agresseur peut remplacer au hasard l’adresse des appareils du piconet et se connecter au maître, ce qui détruit le piconet.

Résultats de l’enquête ou « war-nibbling » du Nouvel An

Avant le Nouvel An, tout le monde est plongé dans un esprit festif et passe beaucoup de temps dans les magasins à la recherche de cadeaux. Les centres commerciaux sont un excellent milieu pour réaliser une étude permettant de définir le nombre d’appareils bluetooth différents qui peuvent être découverts en mode visible dans un lieu public et le pourcentage de ces appareils exposés à l’une ou l’autre vulnérabilité.

Munis d’un ordinateur portable avec adapteur bluetooth dans un sac à dos, nous sommes partis dans les magasins. Voici la liste du matériel emmené :

  • Ordinateur portable Sony vaio fxa 53.
  • SuSE 10.0 OSS.
  • Adaptateur bluetooth pcmcia
  • btscanner 2.1

Au cours de la visite de plusieurs centres commerciaux, nous avons récolté certaines informations présentées ci-après.

Les appareils (téléphones portables, ordinateurs de poche) peuvent fonctionner en mode visible ou non. Le balayage des appareils invisibles est possible à l’aide d’une attaque de type « bruteforce ». Dans le cas qui nous occupe, nous n’avons pas utilisé cette technique et nous nous sommes contentés de balayer les appareils en mode visible.

Illustration 5

Nous avons trouvé 194 appareils au total. Il s’agissait dans la majorité des cas de téléphones portables et l’illustration 6 reprend la distribution de ceux-ci par fabricant. Nokia et Sony-Ericsson arrivent en tête (ceci n’est pas une surprise et ces résultats sont confirmés par d’autres enquêtes).

Illustration 6

Illustration 7

Les appareils de ces fabricants figurent parmi les plus populaires et ils sont également soumis aux attaques bluetooth les plus répandues. Btscanner a ainsi déterminé que 25% des appareils identifiés étaient vulnérables à l’attaque snarf.

Illustration 8

De plus, 25% des utilisateurs acceptaient des fichiers envoyés à distance.
Ces résultats ne sont pas réjouissants. Tout d’abord, la majorité des utilisateurs n’accordent pas l’intérêt qu’ils devraient à la sécurité de leurs appareils mobiles. En fait, ils n’y pensent même pas. Ce n’est qu’après avoir été victime d’une mauvaise blague ou d’une escroquerie que l’utilisateur comprend la gravité du problème.

Cela peut devenir dangereux au fil du temps. Il existe déjà des voitures Bluetooth et il n’est pas difficile de s’imaginer les répercussions que pourraient avoir une intrusion dans l’ordinateur de bord sur la sécurité des passagers et des autres usagers. Deuxièmement, l’absence de protection des appareils mobiles entraîne une diffusion instantanée du code malveillant.

Mesures de protection

  • Désactivation du mode visible

  • Activation de l’authentification sur la base du code PIN

  • Logiciel antivirus

    Les principaux éditeurs de logiciels antivirus diffusent déjà des produits pour les appareils nomades. Kaspersky Lab propose également de tels logiciels : Kaspersky Mobile for Symbian Smartphone et Kaspersky Security for PDA.

  • Logiciel complémentaire (Blooover, Blooover II, BT Audit)

Blooover est une application gratuite écrite en Java. Le téléphone doit être compatible avec J2ME MIDP 2.0 VM avec JSR- 82 API. Les modèles Nokia 6600, Nokia 76100, Sony Ericsson P900 et Siemens S65 répondent à ces critères. Blooover est en fait un scanneur de vulnérabilité conçu pour vérifier si les téléphones mobiles ont été touchés par une attaque. Blooover a été introduit au grand public en décembre 2004 et il a été téléchargé 150 000 fois depuis lors. Blooover a fait son apparition en décembre 2005. Il permet de détecter des attaques complémentaires.

BT Audit analyse les canaux RFCOMM ouverts et L2CAP PSM et crée des rapports sur leur état.

Sitographie :

  • www.trifinite.org
  • www.shmoo.com
  • www.bluetooth.org
  • www.bluez.org
  • www.atstake.org

Posts similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *