Détection d'intrusions depuis des liens radio
# Détection d'intrusions depuis des liens radio

La détection d'intrusions depuis des liens radio est le processus permettant de détecter une intrusion dans un réseau communicant par onde radio. La détection d'intrusions est un des piliers de la sécurité des systèmes d'informations actuels en complément ou en appui de la prévention d'intrusions et de la tolérance aux intrusions.

## Contexte

La rapide prolifération des technologies sans fil (notamment les réseaux WLAN, la téléphone mobile) est due principalement à des couts d'installation et de maintenance plus $faibles^,.$ La détection d'intrusions vient généralement se placer après le mécanisme de prévention d'intrusions. Ce dernier est chargé d'empêcher l'accès non autorisé à un réseau (principalement en utilisant des mécanismes de chiffrement des données et d'authentification). Si l'accès non autorisé est commis malgré le système de prévention d'intrusions, le rôle du système de détection d'intrusions est de détecter qu'un tel accès a eu lieu. Les systèmes de détection d'intrusions ont été utilisés en premier lieu pour les réseaux filaires d'entreprises et d'organisation. Aujourd'hui l'utilité de tels systèmes dans les réseaux sans fil est fortement recommandée si ce n'est nécessaire. La principale difficulté rencontrée lors de la sécurisation des réseaux sans fil par rapport à celle des réseaux filaires est la volatilité de leur médium physique de transport de données. Tant les réseaux filaires sont dans l'enceinte d'un bâtiment avec des mécanismes de sécurité plus ou moins importants empêchant l'accès à un intrus, tant les réseaux sans fil sont par nature diffusés via des ondes hertziennes et sont donc susceptibles d'être interceptés (attaque dite passive) ou corrompus via des données injectées modifiées/altérées sur le médium (attaque active : typiquement appelé $jamming)^,.$

Il existe des outils qui permettent d'utiliser certaines des techniques citées plus bas, dont :

* AirDefense ;
* Snort wireless ;
* ou IBM RealSecure Server Sensor.

## Type d'architectures cibles

Il existe différents types d'architecture de réseaux sans fil. Les technologies sans fil peuvent être regroupées en deux grandes catégories qui sont les réseaux infrastructure qui dépendent de réseaux filaires sous-jacents et déjà existants (le Wifi fonctionne généralement dans ce mode avec le réseau filaire des fournisseurs d'accès) et les réseaux de type ad hoc ou les équipements sont capables de communiquer entre eux sans nécessité de nœud central ou point d'accès pour relayer l'information. Certaines techniques de détection (détaillées plus bas dans la section...) sont plus spécifiques à une architecture qu'à d'autres. On peut trouver aujourd'hui les sous-architectures suivantes :

* les WLAN (Wireless Local Area Network) ;
* les WPAN (Wireless Personal Area Network) ;
* les WSN (Wireless Sensors Networks) ;
* les réseaux Ad hoc ;
* la téléphonie mobile ;
* et les WMN (Wireless Mesh Networks).

Aussi, certaines sous architectures sont plus vulnérables dans certaines couches que dans d'autres. Un exemple simple est le système de routage dynamique des réseaux mobiles ad hoc (MANET pour Mobile Ad hoc Networks en anglais) dans lesquels les déplacements des nœuds dans le réseau modifient continuellement le routage des données. Dans le cas des protocoles de routage dirigés par les tables (ou tous les nœuds possèdent en permanence localement une version complète des routes du réseau), les nœuds communiquent entre eux les nouvelles routes à utiliser. Ainsi il est possible pour un attaquant de communiquer de fausses routes pour rediriger les données vers lui-même.

## Détection d'intrusion multi-couche

Les systèmes de détection d'intrusions se basent tous sur un ou plusieurs jeux de données qu'il faut analyser pour détecter s'il y a présence ou non d'intrusions. Le jeu de données peut provenir de journaux du système, de journaux d'applications, ou de données transmises ou reçues sur le réseau. Le niveau global de sécurité d'un système d'information étant défini par le niveau de sécurité du maillon le plus faible du système, les recherches en détections d'intrusions sont principalement tournées vers une détection en $multi-couches^,.$ Ainsi plusieurs études proposent des mécanismes de détections à certaines couches du systèmes comme la couche réseau du modèle OSI alors que d'autres proposent des modèles de mécanismes de détection sur plusieurs couches. Ces derniers mécanismes effectuent une première analyse et peuvent passer des informations sur l'analyse à une couche inférieure lors d'une émission par exemple. Ainsi, la détection d'une anomalie possible uniquement à une couche spécifique du modèle OSI peut rendre une détection d'intrusion possible et une meilleure segmentation des modules de détection.

## Sécurisation du médium physique

Dans une communication par liens radio, les interceptions (eavesdropping en anglais) sont critiques pour la confidentialité des données tout comme la modification ou la perturbation des transmissions compromet la bonne communication entre transmetteurs. Ainsi sont mis en place des mécanismes dit TRANSEC (pour Transmission security). Ces mécanismes sont composés de cinq étapes qui sont :

* l'authentification et la non-répudiation ;
* la confidentialité et le contrôle d'accès ;
* l'intégrité et la disponibilité ;
* la résistance au brouillage ;
* et la résistance à l'écoute passive.

## Empreinte radio

Une des méthodes d'identification utilisées dans les communications radios est l'empreinte radio. En effet dans les communications radios, il n'est en théorie pas possible de savoir si une donnée vient d'un nœud intrus ou autorisé. Cela est vrai dans le cas par exemple des usurpations d’adresses MAC dans les WLAN où une adresse MAC d'un équipement est modifiée pour usurper l'identité d'autres équipements sur le réseau sans fil. L'empreinte radio est une technique d'identification qui permet de différencier chaque équipement réseau grâce à son empreinte unique et non modifiable (car propre aux variations de signal émis par chaque équipement au niveau $hardware)^,.$ Techniquement deux méthodes peuvent permettre une telle identification :

* l'identification transitoire ;
* l'identification de modulation.

L'identification transitoire permet d'identifier uniquement l'équipement en analysant le passage absence/présence de transmission de signal (le début de la mise sous tension de l'émetteur radio). Au début utilisé pour trouver le constructeur de l'équipement ainsi que le modèle, de récentes recherches montrent qu'il est également possible d'identifier l'équipement parmi d'autres équipements du même modèle/constructeur de manière unique. L'identification de modulation permet d'identifier uniquement l'équipement en analysant les particularités/imperfections au niveau de la modulation de fréquence de l'émetteur. Ainsi il est possible d'utiliser ce type de méthode pour alerter directement ou pour fournir un nouveau jeu de données permettant de détecter au niveau de la couche physique de possibles trames forgées permettant une usurpation dans un réseau comme un WLAN par exemple.

## Détection de brouillage

La détection de brouillage est utilisée pour détecter et contrer des attaques de type déni de service, au niveau de la couche physique (ou même sur la couche MAC pour une attaque plus sophistiquée) sur les réseaux sans fil, connues sous le nom de brouillage radio (jamming en anglais). Alors que certaines études montre la possibilité de générer un brouillage pour augmenter la performance ou la sécurité de leurs propres communications sans fil, la présence de brouillage est en général un phénomène que l'on souhaite neutraliser. Pour permettre la détection de brouillage, plusieurs métriques (metrics en anglais) largement utilisées nous renseignent sur la qualité des données transmises/reçues entre deux transmetteurs radio.

### Force du signal

La force du signal (ou signal strength en anglais) peut nous renseigner sur l'utilisation des transmissions sur un canal. Deux méthodes basées sur la force du signal sont présentées. La première est utilisée en calculant la moyenne ou la somme totale de la force du signal perçu sur une fenêtre de N échantillons. La deuxième méthode utilise N échantillons du spectre des signaux sur lesquels on peut éventuellement appliquer un traitement différent pour calculer la force du signal. L'inconvénient de cette technique est qu'elle convient plus à la détection de brouillage par signaux constant où un signal identique est envoyé continuellement sur le médium.

### Ratio de paquets envoyés

Les paquets destinés à être envoyés et qui sont dans une file d'attente de la couche MAC le sont tant que le médium n'est pas libre, utilisé par un autre équipement ou possiblement sujet à un brouillage comme pour la classe de protocoles CSMA (pour Carrier Sense Multiple Access). Un certain délai est accordé à chaque paquet pour être envoyé sur le médium au-delà duquel le paquet est supprimé de la file d'attente sans avoir été envoyé. Le ratio ′paquets destinés à être envoyés/paquets réellement envoyés′ est nommé PSR pour Packet Send Ratio (ou ratio de paquets envoyés). L'inconvénient de cette méthode est qu'elle ne permet pas de différencier les phénomènes de congestion des phénomènes de brouillage qui ont les mêmes effets sur le protocole CSMA.

### Ratio de paquets délivrés

Dans le cas d'un brouillage réactif où le brouilleur attend que l'émission de données d'un certain équipement soit effectuée pour immédiatement envoyer son signal de brouillage, lorsqu'un paquet est reçu par le récepteur légitime, il traverse l'ensemble des couches réseaux pour arriver au niveau applicatif du récepteur. Si une des couches détecte une erreur comme une erreur du CRC (pour contrôle de redondance cyclique) au niveau de la couche MAC, alors le paquet est rejeté. Le ratio paquets acceptés/paquets rejetés est appelé PDR pour Packets Delivery Ratio (ou ratio de paquets délivrés). L'inconvénient de cette méthode est qu'elle ne permet pas de différencier des phénomènes engendrés par exemple par une distance trop importante entre les deux équipements.

La détection de brouillage peut utiliser une technologie d'étalement de spectre. Il existe plusieurs types de méthode d'étalement de spectre qui servent principalement à permettre l'accès multiple sur un canal de communication radio (utilisé dans les réseaux GSM, Wifi, satellites, etc.), à permettre un certain niveau de confidentialité des données transmises mais également à permettre une détection de brouillages/d’interférences.

### Étalement de spectre à séquence directe

L'étalement de spectre à séquence directe est une des nombreuses méthodes d'étalement de spectre utilisées pour la détection de brouillage. Dans cette méthode on utilise une suite de n 1 et de −1 pseudo aléatoire et unique pour chaque utilisateur/transmetteur nommé PN code (pour Pseudo Noise code). Il est nécessaire que les deux parties possèdent ce code. Lors de la transmission, la période du signal de base est multipliée par n. Pour chaque période résultante, on multiplie le signal de base par 1 ou −1 suivant la valeur dans la suite ayant pour index le numéro pour cette période. Côté réception, la même étape est effectuée pour récupérer le signal de base (1 x 1 = 1 , -1 x -1 = 1). Il existe des variantes permettant d'utiliser cette méthode sans la connaissance préalable par les deux parties de la clé secrète.

### Étalement de spectre à saut de fréquence

L'étalement de spectre par saut de fréquence est une méthode d'étalement de spectre qui utilise la réplication, non pas sur des périodes à une fréquence donnée comme pour la méthode à séquence directe, mais sur d'autres fréquences que celle de base. Ainsi lorsqu'un émetteur veut envoyer un signal vers un récepteur, les deux doivent se mettre d'accord sur une série de fréquences à utiliser séquentiellement. L'émetteur envoie le signal sur ces fréquences vers le récepteur qui récupère le signal grâce à sa connaissance préalable de la séquence pseudo-aléatoire utilisée. Outre le fait que cette méthode répond aussi à plusieurs problématiques des communications sans fil telles que le multipath (multi-trajets en anglais) ou le fading (atténuation en anglais), elle permet également de détecter et contourner la présence de brouillages qui opèrent souvent sur une fréquence unique.

## Techniques de détections d'intrusions

Il existe principalement trois types d'analyse dans les systèmes de détection d'intrusions sans fil qui sont la détection basée sur les signatures, sur les anomalies ou sur la réputation.

### Détection basée sur les signatures

La détection basée sur les signatures est une analyse de détection utilisant une base de données aussi appelée dictionnaire d'attaques contenant les signatures des attaques les plus connues sur le système utilisé. Cette technique de détection est connue pour avoir un taux de faux positifs très faible. Cependant elle est aussi connue pour avoir un taux de faux négatifs plus important pour les nouveaux types $d'attaques^,.$

### Détection basée sur les anomalies

La détection basée sur les anomalies est une technique de détection qui utilise des valeurs limites sur certaines données du trafic réseau pour détecter une intrusion ou non. Pour une détection de ce type, il est parfois nécessaire d'employer des méthodes plus modernes comme l'apprentissage automatique (machine learning en anglais). Le principe est de fournir un jeu de données de trafic réseau à un système de détection d'intrusion. Ce jeu de données étant considéré comme du trafic normal/autorisé, l'apprentissage automatique peut ainsi fixer des valeurs limites sur des caractéristiques permettant de classifier le trafic réseau dans une catégorie ou dans une autre (ici catégorie normale ou anormale). D'autres recherches utilise la fouille de données pour automatiser la création de modèle permettant une détection d'anomalie en regroupant des caractéristiques pertinentes sur les jeux de données de trafic normaux ou permettant par la suite de classifier le trafic à tester en normal ou anormal. L'avantage de ce type d'analyse est qu'elle permet d'automatiser une détection sur de nouveaux types d'attaque qui peuvent ne pas être détectés par une détection basée sur les signatures. L'inconvénient est qu'elle fournit un taux de faux positif plus important que la détection basée sur les signatures. Il existe également des méthodes utilisant des algorithmes tels que le K-moyens, pour regrouper le trafic réseau selon un critère de distance séparant la provenance du trafic et le centre du nœud central. Testée sur des réseaux WLAN, cette méthode a permis une détection des intrusions entre 65,3 et 82,5 %.

### Détection basée sur la réputation

La détection basée sur la réputation permet de savoir si un nœud du réseau est corrompu et doit être écarté du réseau. La gestion de la réputation des nœuds est calculée pour chaque nœud puis partagée avec les nœuds $voisins^,.$ Les réputations des nœuds sont ainsi échangées entre tous les nœuds dans le rayon d'émission/réception des voisins du nœud corrompu.

## Détection d'intrusion coopérative

Sur des réseaux ad hoc, les recherches récentes poussent à utiliser des systèmes de détection d'intrusions distribués et coopératifs. Sur les réseaux filaires, Il peut exister des nœuds qui font office de système centralisé de détection ou de prévention d'intrusion (passerelle réseau / pare-feu). Sur des réseaux sans fil et plus spécifiquement sur les réseaux ad hoc, la mise en place d'agents sur les nœuds permet de répondre à plusieurs problématiques propres aux communications radio dont la principale est le champ de diffusion des ondes radios émises ou reçues. En effet un nœud central ne peut couvrir toute la surface d’émission/réception de tous les nœuds du réseau. Les systèmes de détection distribués sont ainsi une réponse possible à cette $problématique^,.$

Le principe de la détection d'intrusion distribuée et coopérative consiste à déployer des agents sur les nœuds du réseau et à analyser localement le ou les jeux de données recueillis. Cette première analyse peut permettre de détecter une intrusion locale. Il est aussi possible, dans un second temps, de fournir l'information pertinente à des nœuds du réseau, ou de recueillir auprès de nœuds voisins des informations permettant de classifier une donnée comme provenant d'une intrusion. Les échanges d'informations se font sur un canal séparé qui doit être sécurisé (authentification et chiffrement). Ainsi, au lieu de ne traiter que depuis le jeu de données local, la détection se base à la fois sur le jeu de données local ainsi que sur celui des nœuds voisins.

D'autres études se basent sur ce type de détection pour fournir plus d'informations sur la source de l'intrusion et sur le type d'intrusion perpétré. Par exemple, dans le cas de l'attaque de l'homme du milieu, la détection est effectuée sur les nœuds via l’intégration d'un système de détection logicielle. Celui-ci est basé sur un noyau Linux modifié qui va notifier qu'une attaque de ce type est en cours dès qu'il perçoit une trame de dé-authentification avec son adresse MAC, sachant qu'il n'est pas l'émetteur de cette trame. Le client/récepteur, lui, est averti que cette attaque est en cours via la valeur du champ 'numéro de séquence' de la trame qui ne correspond pas à la véritable valeur et peut ainsi informer de ce type d'attaques aux nœuds voisins (typiquement ici le nœud point d'accès).

