Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

La sécurité des communications sans fil

Présentation

La transmission d’informations numériques est de plus en plus présente dans la vie quotidienne des personnes. Avec cette évolution, des contraintes apparaissent, car les données transmises peuvent être critiques du point de vue de la sécurité ou sur un plan personnel.

Pour satisfaire aux exigences actuelles, les communications doivent être fiables, sécurisées, rapides et pratiques. Deux grandes technologies s’affrontent pour répondre à ces contraintes :

  • Les liaisons câblées (cuivre, fibre optique...).

  • Les liaisons radio (Wi-Fi, Bluetooth…).

Pour l’aspect pratique, le choix se porte bien entendu sur les liaisons sans fil qui permettent, comme leur nom l’indique, d’éviter de brancher un câble pour transmettre des informations.

L’inconvénient est qu’une transmission radio peut être écoutée par n’importe quels récepteurs légitimes ou pirates. Des personnes ayant très peu de connaissances jusqu’à des spécialistes peuvent compromettre des communications radio avec du matériel simple trouvé tout fait sur Internet ou des appareils sophistiqués et performants réservés aux professionnels (si l’on accepte d’appeler professionnels des pirates de haut niveau).

Dans l’expansion croissante des communications sans fil, on trouve tous les moyens de communication classiques comme le téléphone portable, le Wi-Fi, etc. Mais un domaine particulier prend une place de plus en plus importante : l’IoT (Internet of Things : les objets connectés à Internet).

Les objets connectés

Ces objets deviennent un vaste sujet. La grande mode actuelle est de connecter tous les accessoires qui nous entourent. Mais qu’appelle-t-on un IoT ? Un objet qui possède à l’origine une fonction simple et précise et à qui l’on ajoute la possibilité d’envoyer des informations numériques à un équipement informatique.

Les exemples sont nombreux. De l’application simple, parfois farfelue, à l’application qui amène véritablement un plus, les concepteurs ne manquent pas d’imagination. Nous n’allons pas faire ici un état des lieux des nouveautés, mais plutôt nous intéresser à quelques points particuliers des technologies utilisées. Le premier constat est que les communications sont sans fil, donc utilisent des transmissions radio numériques. Cette technologie n’est pas nouvelle, mais ses évolutions et son utilisation intensive sont vraiment de notre époque.

Quelques notions sont donc essentielles pour les comprendre et ainsi mieux maîtriser les outils de test, d’analyse et de piratage. Une bonne connaissance permet le développement de ces outils aussi bien logiciel que matériel.

Les transmissions radio

L’objectif ici n’est évidemment pas de faire une longue et complète présentation des techniques de transmission radio, ce qui serait certes très intéressant, mais plutôt de poser les bases techniques et le vocabulaire employé.

Une transmission radio permet d’envoyer et de recevoir des informations (numériques pour notre étude) d’un point A vers un point B sans support galvanique. Ce sont les ondes électromagnétiques qui vont permettre cette communication. Nous sommes donc en présence de deux appareils technologiques appelés émetteur-récepteur radio.

Le schéma est très simple :

images/XXEP001.png

Émetteur-récepteur radio

L’onde électromagnétique de base est en fait sinusoïdale :

images/XXEP004.png

Signal sinusoïdal (source Internet : http://philduweb.free.fr/contributions/spectre/sinus.htm)

Pour arriver à transmettre des informations, il est nécessaire de modifier quelque chose à cette onde afin de différencier l’envoi d’une valeur d’une autre (dans le cas le plus trivial, le "0" et le "1" logiques). En analysant un signal sinusoïdal, on peut constater qu’il est caractérisé par son amplitude, sa fréquence et sa phase. D’un point de vue mathématique :

images/p423.png

Équation d’un signal sinusoïdal

On peut donc modifier son amplitude, sa fréquence, sa phase ou même combiner deux paramètres en fonction des données numériques à transmettre. On dit que l’on module le signal. C’est en fait la célèbre fonction "modulation" dont on entend parler pour toutes les communications radio.

Dans notre exemple trivial ci-dessus, on peut imaginer une modulation très simple :

  • On transmet un 0 logique...

La radio logicielle

Avec l’évolution technologique, les circuits électroniques sont capables maintenant de convertir les fréquences radio en bande de base sur des plages de fréquences relativement étendues. Plus fort encore, les convertisseurs analogiques numériques à très grande vitesse permettent un échantillonnage haute fréquence pouvant ainsi couvrir de larges canaux, voire plusieurs en même temps. Avec ces circuits performants et peu coûteux, la partie concernant le matériel devient très simple et presque générique, quelle que soit la communication radio concernée. Le schéma de principe d’un tel récepteur est représenté ci-dessous :

images/XXEP005.png

Émetteur-récepteur numérique NI USRP 2920

On constate que la partie matérielle est relativement simple et que sa structure est assez générique. Cette technologie crée (réception) ou gère (émission) en fait un flux important de données numériques. C’est cela le plus intéressant, mais aussi le plus complexe d’un point de vue traitement numérique.

Les données numériques sont la représentation des échantillons issus de la conversion analogique/numérique qui représentent la valeur réelle et imaginaire d’un nombre complexe image d’une valeur instantanée du signal en bande de base. Sans entrer dans les détails mathématiques, cette représentation permet de moduler ou démoduler toutes les communications possibles. Vous avez compris qu’en possédant un tel appareil, il suffit de mettre le bon traitement numérique derrière pour réaliser des "radios logicielles". Bien entendu, il existe des logiciels informatiques tout faits permettant...

Le matériel disponible

La réalisation de la partie électronique peut être une opération envisageable, mais serait hors sujet. Il existe suffisamment de matériels disponibles, aux performances et aux prix variés, pour éviter l’étape de la fabrication. Une liste non exhaustive des plus utilisés est présentée ci-après.

La clé RTL-SDR

SDR : Software-Defined Radio (radio définie par logiciel)

Ce récepteur DVB-T est un "dongle" indispensable pour les débutants. Son prix est très abordable, 10 à 30 euros, et ses caractéristiques permettent déjà quelques manipulations. Son gros défaut est qu’il ne permet pas d’émission.

images/XXEP006.png

Clé RTL-SDR

Ses principales caractéristiques sont les suivantes :

  • Bande de fréquences : 30 - 1700 MHz.

  • Échantillonnage : 2 MHz.

Grâce à ces paramètres, ce circuit permet l’écoute et le décodage de beaucoup de communications comme les radios AM/FM, les télécommandes 433Mhs 868 MHz et bien d’autres encore.

Cependant, sa limite en fréquence (environ 1,7-2,0 GHz) ne permet pas d’atteindre la bande ISM (industrielle, scientifique et médicale) des 2,4 GHz où beaucoup de communications se trouvent comme le Wi-Fi, le Bluetooth, NRF24, le ZigBee, etc.

Le HackRF One

L’intérêt principal du HackRF est qu’il permet d’émettre. Bien sûr, il possède des caractéristiques supérieures à la clé TNT, ce qui permet d’écouter ou d’émettre des communications dans pratiquement toutes les bandes ISM classiques. Son prix est compris entre 300 et 400 euros.

images/XXEP007.png

Le HackRF One

Ses caractéristiques...

Les protocoles

Des ouvrages entiers sont consacrés à chaque protocole de communication tant le sujet est vaste et complexe. La liste qui suit fait donc une présentation rapide de quelques protocoles ayant des bases communes dans l’organisation et utilisant des modulations spécifiques au niveau de la couche physique (Liaison).

Le ZigBee

Ce protocole est basé sur la norme IEEE802.15.4 et ses spécifications sont définies par la communauté industrielle ZigBee Alliance. Ratifié dans le début des années 2000, ZigBee permet la réalisation de WPAN (Wireless Personal Area Network, réseau sans fil personnel). La portée radio de l’ordre de 100 mètres et son débit de transmission de 250 kbits par seconde sont adaptés à l’utilisation par des objets connectés qui nécessitent en plus une consommation d’énergie électrique réduite. On trouve également des applications dans les domaines industriels, médicaux et de sécurité. Comme tout protocole de haut niveau, le ZigBee possède un fonctionnement en couches (semblables au modèle OSI) qui définit les normes allant de la couche physique à la couche application.

Ci-dessous la représentation de cette pile :

images/XXEP014.png

Pile du protocole ZigBee

La communication radio est normalisée par les couches IEEE 802.15.4 et nous intéresse plus particulièrement dans notre chapitre puisque c’est là que l’on va intervenir avec nos émetteurs-récepteurs numériques. Le format de transmission de la couche physique est parfaitement décrit dans la norme et utilise des trames structurées.

images/XXEP015.png

Trames normalisées du protocole IEEE 802.15.4

Il reste maintenant à connaître le type de modulation radio pour effectivement...

La suite GNU Radio

Toutes les communications radio peuvent être écoutées et éventuellement piratées. Dans certains cas, on peut même entrer dans la transmission en émettant des données acceptées par les récepteurs légitimes. Pour cela, les appareils décrits dans la section Le matériel disponible peuvent être utilisés. Mais ils ne servent à rien sans un traitement logiciel associé. La difficulté dans ce genre d’opérations réside même dans ce traitement. Des outils tout faits sont disponibles et compatibles avec les émetteurs-récepteurs numériques. Ils sont développés avec ou en parallèle d’un projet très important appelé GNU Radio disponible sous Linux.

Ce projet propose la gestion du matériel et les bibliothèques de traitement du flux des informations numériques. Pour installer cette suite logicielle, vous pouvez utiliser les dépôts de votre distribution Linux si elle y est proposée ou bien utiliser directement les sources.

Plusieurs possibilités pour l’installation à partir des sources sont possibles comme le script d’installation build-gnuradio disponible à l’adresse http://www.sbrac.org/files/build-gnuradio. Quand tout se déroule sans problème, ce script installe tous les outils nécessaires. Parmi les applications intéressantes, on trouve :

  • les outils RTL-SDR développés pour les clés récepteurs DVB-T. La liste installée :

rtl_adsb 
rtl_eeprom 
rtl_fm 
rtl_power 
rtl_sdr 
rtl_tcp 
rtl_test 

Notons par exemple l’outil rtl_fm qui permet d’écouter une station radio FM, ou bien encore rtl_sdr qui permet d’enregistrer les signaux I/Q dans un fichier afin...

Exemples d’applications

Deux applications sont présentées dans cette section. La première est basée sur un circuit NRF24 fabriqué par la société Nordic Semiconductor et utilisé dans beaucoup de domaines d’application nécessitant une communication sans fil à courte distance et fiable. Nous allons construire notre propre traitement du flux de données à l’aide du bloc créé dans la section précédente. La deuxième application est destinée à l’écoute des communications du protocole ZigBee. Elle utilise la suite d’outils et les blocs scapy-radio.

Communication NRF24

Il est nécessaire de faire une étude approfondie de la fiche technique du circuit intégré utilisé dans cette application, le NRF24L01. Le document fourni par Nordic Semiconductor fait plus de 180 pages et détaille toutes les caractéristiques dont on a besoin. Pour aller à l’essentiel, voici ce qui nous intéresse :

images/XXEP045.png

Domaines d’application du NRF24L01

Les spécifications de la partie radio sont très importantes pour construire le diagramme GNU Radio Companion, en particulier la modulation utilisée, la ou les fréquences et le débit.

images/XXEP046.png

Spécifications de la partie radio

Ce circuit utilise la modulation GFSK dans les fréquences 2,4 GHz avec un débit de 1 ou 2 Mbps.

Pour décoder les informations reçues, on doit connaître le format de transmission numérique, c’est-à-dire la manière dont le circuit organise l’assemblage des données et des octets de contrôle, en d’autres termes le protocole. Nordic Semiconductor a choisi l’utilisation de trames structurées.

images/XEP047.png

Trame du NRF24L01

Chaque champ de la trame est détaillé...

Conclusion

Les communications sans fil ont ceci de particulier qu’il est assez difficile de contrôler la propagation des ondes ainsi que leurs origines. En d’autres termes, il est facile d’avoir accès directement au support physique de ces transmissions depuis une zone géographique parfois non négligeable. La sécurité et la fiabilité doivent être assurées par les protocoles et les technologies radio utilisés. Les modulations et étalements de spectre peuvent considérablement limiter l’accès physique aux communications et les protocoles limitent l’interprétation ou la participation du contenu en utilisant par exemple le chiffrement. Cependant, tout est piratable ; la vraie question est : quelle est l’énergie humaine à utiliser pour y arriver ?

Vous pouvez constater en observant dans votre environnement que les communications utilisent de plus en plus la technologie radio pour transmettre leurs informations. Que ce soit la téléphonie, l’informatique, Internet, les transports, la domotique, les jouets, les montres, les machines industrielles ou bien encore les vêtements, les exemples sont innombrables. Certaines technologies comme le Wi-Fi peuvent être attaquées grâce au matériel classique utilisé par tous les terminaux informatiques. Si vous avez des connaissances en informatique et en électronique, vous pouvez alors utiliser les puces spécialisées dans ces communications, comme le Bluetooth ou le ZigBee, par exemple, pour les associer à un microcontrôleur et détourner leur utilisation pour réaliser des circuits de hacking. C’est le cas du fameux Ubertooth One pour le Bluetooth ou le HackRF One qui utilise des puces de point d’accès Wi-Fi. Beaucoup d’autres possibilités...