Cette thèse a été financée par l’Université de Lille et l’équipe 2XS du laboratoire CRIStAL, avec le soutien de l’IRCICA qui est une unité de service et de recherche du CNRS. L’IRCICA permet la collaboration d’équipes de différents domaines scientifiques afin de mener des projets interdisciplinaires. Ainsi, j’ai été encadré par des membres de l’équipe 2XS, mais aussi un membre de l’équipe CSAM du laboratoire IEMN , spécialisée dans les communications sans fil à basse consommation. L’équipe 2XS (pour eXtra Small eXtra Safe) est spécialisée les systèmes embarqués et la sécurité informatique. Une partie de l’équipe 2XS travaille sur pipcore [Jom18], un noyau de système d’exploitation avec des fonctionnalités d’isolation mémoire formellement prouvées. L’équipe étudie également les techniques de détection d’intrusion. Damien Riquet a conçu Discus [Riq15], un système de détection d’intrusion (IDS) distribué destiné à sécuriser les centres de données. Une seconde thèse actuellement en cours porte sur la détection d’attaques DDoS, également dans les centres de données. Enfin, deux thèses dont celle-ci portent sur la sécurité des communications sans fil des objets connectés. Les communications sans fil ont toujours posé des enjeux de sécurité spécifiques. D’abord car elles sont par nature directement exposées à des attaques distantes, pouvant mettre à mal leur confidentialité, leur disponibilité, mais aussi leur intégrité. Aujourd’hui, les interfaces sans fil représentent toujours des portes d’entrée intéressantes pour des intrusions, qui restent mal protégées au regard de leur exposition. Il est donc important d’étudier des solutions pour mieux assurer leur sécurité.
Avec le développement rapide des objets connectés, de nouvelles contraintes apparaissent. Les objets connectés s’appuient sur une multitude de protocoles de communication sans fil plus ou moins standardisés. Cela représente un défi pour les solutions de détection d’intrusion basées sur le réseau, qui font désormais face à des environnements radio hétérogènes. En outre, il est difficilement envisageable d’intégrer des IDS directement dans les objets connectés, qui utilisent des architectures propriétaires et souvent contraintes, qui se prêtent mal à l’ajout de logiciels extérieurs. Pour assurer la sécurité des communications sans fil des objets connectés, les méthodes de détection d’intrusion réseau doivent être adaptées.
Standards et équipements sans fil
Avec le développement de la téléphonie mobile, nous utilisons désormais quotidiennement les communications sans fil, partout où nous allons. D’autres normes de communication sans fil ont ensuite été adoptées, comme la Wi-Fi ou le Bluetooth. Avec l’émergence de l’Internet des Objets (IdO), de plus en plus d’objets communiquent via tout un éventail de standards sans fil. La standardisation des protocoles de communication permet à des appareils de constructeurs différents d’être compatibles les uns avec les autres. Aujourd’hui, les communications sans fil reposent beaucoup sur des composants intégrés (modems), qui fournissent le support clé en main d’une ou plusieurs normes de communication. Ces modems présentent de nombreux avantages : ils sont performants, leur consommation d’énergie est maîtrisée, et ils peuvent être rapidement intégrés dans de nouveaux produits.
Bluetooth Classic
Bluetooth est une norme de communication sans fil, dont la première version fut publiée en 1999. Elle offre une courte portée allant de quelques mètres à une centaine de mètres selon les classes d’appareils. Bluetooth a rapidement été intégré aux téléphones mobiles et aux ordinateurs, et est très utilisé pour y connecter sans fil des accessoires tels des claviers et souris, périphériques audio, etc. Bluetooth partage la bande de fréquence ISM 2,4 GHz, également utilisée par la WiFi. Sa première version (Bluetooth 1.0) ne définissait qu’un seul type de modulation : Gaussian Frequency Shift Keying (GFSK) avec un débit d’un mégabit par seconde (Mbps). La norme a ensuite évolué et offre désormais deux nouveaux types de modulation pour fournir des débits allant jusqu’à 3 Mbps. Avec le Bluetooth 3.0 + High Speed, les données peuvent désormais utiliser la couche physique Wi-Fi pour permettre un débit de 24 Mbps. En outre, la norme Bluetooth s’est enrichie d’une version Low Energy, avec une bande passante réduite pour une consommation plus faible, qui est mieux adaptée pour les objets connectés.
Architecture d’un équipement Bluetooth
Voyons maintenant comment sont implémentés les différents éléments d’une pile Bluetooth. Rappelons d’abord que le contrôleur et l’hôte ne sont pas nécessairement conçus par le même acteur. Le contrôleur est un composant dédié vendu par un constructeur spécialisé. L’hôte peut être un ordinateur, un smartphone ou un objet connecté, qui contient sa propre implémentation des couches supérieures Bluetooth.
Hôtes Bluetooth
Les piles Bluetooth hôtes les plus répandues sont celles qui sont intégrées aux les systèmes d’exploitation les plus utilisés. Plusieurs solutions ont été retenues. La pile Bluetooth de Linux (BlueZ) gère l’intégralité des couches hôtes Bluetooth dans le noyau. Dans Windows, la pile Bluetooth est également gérée par le noyau, via un driver principal, qui peut ensuite charger d’autres drivers pour gérer les profils nécessaires. Lorsque la pile Bluetooth est située dans le noyau du système d’exploitation, les vulnérabilités peuvent avoir des conséquences importantes. Par exemple, les failles CVE-2017-1000251 et CVE-2017- 1000250 de BlueZ présentées dans BlueBorne [SV17], permettaient de prendre le contrôle du noyau Linux via un lien Bluetooth non authentifié. Dans les OS mobiles Android et iOS, les piles Bluetooth sont exécutées par des démons en espace utilisateur, avec un ensemble de permissions réduit, ce qui limite quelque peu les risques posés par les vulnérabilités.
Contrôleur Bluetooth
L’architecture des contrôleurs Bluetooth est moins bien connu que celui des hôtes. En principe il n’est pas nécessaire de savoir comment marche un contrôleur Bluetooth pour pouvoir l’utiliser. Il faut seulement connaitre le protocole HCI. Le fonctionnement interne des contrôleurs est donc fermé et peu documenté. Mais pour expliquer les enjeux de sécurité des contrôleurs Bluetooth, il nous faut décrire succinctement leur architecture, et en particulier distinguer les opérations qui sont réalisées par du logiciel de celles qui sont faites par du matériel.
Les couches LMP et HCI sont pour leur part implémentées sous forme de logiciel (firmware). Ces tâches sont plus complexes car elles ont à gérer les nombreux messages LMP et HCI de la norme, mais elles n’ont pas besoin de fonctionner en temps réel. Les contrôleurs Bluetooth intègrent donc de petits processeurs qui peuvent être basés sur diverses architectures : ARM-Cortex, MIPS, 8051, Xtensa, etc. Ces processeurs ont une fréquence de fonctionnement faible de l’ordre d’une dizaine de mégahertz et une consommation d’énergie réduite. Le plus souvent le firmware est exécuté depuis une mémoire ROM. Néanmoins les contrôleurs prévoient des mécanismes permettant d’appliquer des correctifs sur le firmware, soit par l’ajout de patchs en RAM, soit avec des moyens de patcher temporairement la ROM.
Détection d’intrusion
Les communications et les réseaux sans fil sont au centre de nombreuses problématiques de sécurité. Ils peuvent être la cible d’attaques distantes, visant à manipuler les communications ou à obtenir un accès illégal à un système d’information. Ces attaques peuvent tirer partie de faiblesses dans les fonctions de sécurité des protocoles, ou de failles de conception dans les équipements. Lorsque sont apparus les premiers réseaux WLAN, les mesures existantes de sécurité ont d’abord été adaptées. Ainsi, les pare-feu permettent de limiter l’exposition d’une interface réseau. Les systèmes de détection et de prévention d’intrusion (IDPS) peuvent identifier et bloquer des intrusions sur les services qui restent exposés. Cependant, les objets connectés posent de nouveaux défis aux solutions classiques de sécurité. Une tendance actuelle consiste à greffer des composants de communication sans fil et des batteries à des objets du quotidien. On parle d’objets connectés ou d’objets communicants. Ces objets font face à différentes contraintes, et peuvent puiser dans un large choix de normes de communication pour y répondre. En outre, certains fabricants continuent d’utiliser leurs propres protocoles non standardisés. Pour tenir compte de ces objets connectés, les techniques de détection d’intrusion doivent donc pouvoir s’adapter à des environnements hétérogènes qui voient cohabiter de multiples protocoles de communication. Par ailleurs ces objets ont de faibles ressources et peuvent difficilement être mis à jour. Les systèmes de détection d’intrusion (IDS) servent à détecter des tentatives d’intrusion. Ils peuvent aussi chercher à les bloquer activement, ce sont alors des systèmes de prévention d’intrusion (IPS). On parle plus généralement de systèmes de détection et de prévention d’intrusion (IDPS). Un IDS se compose d’au moins trois éléments :
— une sonde chargée de collecter des informations sur l’état du système ou du réseau ;
— un analyseur qui traite ces informations, recherche des tentatives d’attaques, et génère des alertes ;
— une base de donnée qui stocke les alertes.
Un IDPS comprendra également des contremesures pour lui permettre d’interrompre les tentatives d’intrusion détectées. Il existe différents types d’IDS, qu’on distingue selon leur placement et le type d’information qu’ils analysent. Par exemple, les NIDS (Network-based IDS) sont placés au niveau du réseau et analysent le trafic. Les HIDS (Host-based IDS) sont placés sur l’hôte à protéger (par exemple, un anti-virus). Les WIDS analysent pour leur part les échanges Wi-Fi au niveau du canal sans fil. Les méthodes d’analyse peuvent être résumées en deux grandes catégories : la détection de signatures et la détection d’anomalies. Des IDS hybrides peuvent mettre en œuvre ces deux types d’analyse.
|
Table des matières
1 Introduction
2 Contexte et état de l’art
2.1 Standards et équipements sans fil
2.1.1 Bluetooth Classic
2.1.2 Architecture d’un équipement Bluetooth
2.2 Détection d’intrusion
2.2.1 Détection de signature
2.2.2 Détection d’anomalie
2.2.3 Sondes pour l’IoT
2.3 Radio Logicielle
2.3.1 Généralités
2.3.2 Applications à la détection d’intrusion
2.4 Sécurité des baseband
2.4.1 Recherche de vulnérabilités
2.4.2 Instrumentation
2.5 Implémentations ouvertes de baseband
2.5.1 GSM
2.5.2 Bluetooth Low Energy
2.6 Conclusion
3 Problématique
3.1 Des protocoles peu sécurisés
3.1.1 Exemple du GSM
3.1.2 Exemple du Bluetooth
3.2 L’opacité des modems
3.2.1 La sécurité par l’obstacle matériel
3.2.2 Du matériel très soft
3.2.3 Nous dépendons de code fermé et vulnérable
3.3 L’angle mort des communications réseau
3.3.1 Une perte de contrôle sur le code réseau du système ?
3.3.2 Les HIDS : une vision partielle
3.3.3 Les WIDS c’est pour le Wi-Fi
3.4 Pistes étudiées .
3.4.1 Opportunités de sécurisation
3.4.2 Prendre le problème par en-dessous : IDS sur couche physique
3.4.3 Les micrologiciel
3.5 Conclusion
4 Sonde SDR pour la détection d’intrusion
4.1 Motivations
4.1.1 Software Defined Radio
4.1.2 Travaux reliés
4.1.3 Approche générale
4.1.4 Objectifs détaillés
4.2 Architecture proposée
4.2.1 Description générale
4.2.2 Chaine de traitement
4.3 Implémentation : Phyltre
4.3.1 Format du projet
4.3.2 Détection d’activité des canaux
4.3.3 Adaptation des canaux
4.3.4 Détection d’énergie dans le domaine temporel
4.3.5 Démodulation
4.4 Conclusion
5 Conclusion
Télécharger le rapport complet