• Aucun résultat trouvé

7.3 Paramétrage des modèles

7.4.1 Évaluation de la détection d’anomalies

7.4.3 Évaluation du diagnostic fréquentiel . . . 127 7.4.4 Évaluation du diagnostic spatial . . . 127

7.5 Injection d’attaques réalistes . . . 127

7.5.1 Attaques injectées . . . 128 7.5.2 Anomalies non prévues . . . 129

7.6 Résultats de l’évaluation . . . 129

7.6.1 Résultats de la détection d’anomalies . . . 129 7.6.2 Résultats du diagnostic temporel . . . 130 7.6.3 Résultats du diagnostic fréquentiel . . . 132 7.6.4 Résultats du diagnostic spatial . . . 133

7.7 Discussions . . . 134

7.7.1 Limites globales de l’approche . . . 135 7.7.2 Comparaison expérimentale des environnements étudiés . . . 136 7.7.3 Vie privée . . . 138 7.7.4 Amélioration du diagnostic spatial . . . 139

7.8 Conclusion . . . 140 7.9 Synthèse de la partie IV . . . 140

7.1 Introduction

Ce chapitre décrit les expérimentations réalisées pour évaluer le déploiement et

l’implémentation de notre solution dans un contexte professionnel. Tout d’abord,

nous présentons l’environnement expérimental mis en place pour évaluer notre

ap-proche. Ensuite, nous détaillons les différents paramétrages des modèles utilisés

pour réaliser les diagnostics. Le protocole expérimental et les moyens mis en oeuvre

pour évaluer ces mécanismes sont détaillés dans la section suivante, en insistant sur

l’injection d’attaques représentatives. Finalement, nous listons les résultats

d’éva-luations associées à chacun des éléments de diagnostic mis en oeuvre, en précisant

leurs limites et leur efficacité, avant de discuter ces résultats dans une dernière

section.

7.2 Environnement expérimental

Pour évaluer notre solution, nous mettons en place un environnement

expéri-mental professionnel réaliste, c’est-à-dire composé d’un grand nombre d’objets

hé-térogènes et de nombreux utilisateurs aux comportements distincts. Ensuite, nous

injectons des attaques dans l’environnement pour vérifier les capacités de détection

et de diagnostic de notre approche déployée.

7.2.1 Composition de l’environnement et déploiement de

l’ap-proche

L’environnement expérimental utilisé pour valider l’approche proposée est

illus-tré par la figure 7.1. Il correspond à une salle de travail qui accueille les étudiants

de Master durant leur période de stage. C’est une salle relativement occupée et

visitée toute l’année, notamment car elle est utilisée pour les pauses cafés. Celle-ci

a été équipée d’un grand nombre d’objets connectés représentatifs et pouvant être

achetés dans le commerce. La table 7.1 décrit l’ensemble des objets installés, ainsi

que leur rôle et la technologie qu’ils utilisent. Les comportements des utilisateurs

ne sont pas simulés, ils peuvent ainsi interagir avec les objets connectés ou venir

avec leurs propres objets, pour recréer les comportements BYOD. Cependant, pour

assurer des activités radios régulières, nous automatisons certaines actions sur tous

les objets positionnés (par exemple, la sonnette sonne aléatoirement deux fois par

jour). Pour réaliser ces tâches automatisées, nous instrumentons deux HackRF qui

rejouent des commandes auprès des différents objets.

Trois sondes sont déployées (numérotées 1, 2 et 3), chacune basée sur deux

composants, comme présenté dans la section 3.3 : un HackRF One comme

périphé-rique SDR et un Raspberry Pi 3B pour traiter lessweeps. Chaque Raspberry Pi est

connecté en Ethernet au serveur implémentant l’IDS. Pour des facilités de

dévelop-pement, nous avons décidé de stocker l’ensemble des spectrogrammes au sein de ce

serveur.

Nous monitorons trois bandes de fréquences distinctes : 400-500 MHz et

800-900 MHz, qui sont généralement employées au sein des objets domotiques et des

smart-phones, ainsi que 2.4-2.5 GHz, utilisées par un grand nombre de technologies

sans-fil (WiFi, Zigbee, etc.) [Al-Fuqaha 2015]. Chaque sonde est équipée d’une

an-tenne sensible à l’une de ces bandes : 400-500 MHz pour la sonde 1, 800-900 MHz

7.2. Environnement expérimental 123

Figure 7.1 – Environnement connecté

Table 7.1 – Objets connectés de la salle d’expérimentation

Nom Rôle Technologie Qté

D-Link Camera Vidéo-surveillance WiFi/2.4–2.5 GHz 1

Phones, Laptops Téléphonie et Internet WiFi/2.4–2.5 GHz 5+

Philips Hue Ampoule ZigBee/2.4–2.5 GHz 1

Beewi Smartbulb Ampoule BLE/2.4–2.5 GHz 1

Keyboard & mouse Périphériques sans-fil ESB/2.4–2.5 GHz 2

WiFi Access Points Point d’accès WiFi/2.4–2.5 GHz 2

Smart outlet Nityam Prise électrique 868 MHz 3

Bricelec doorbell Sonnette 433 MHz 1

HackRF One Émetteur automatique 433 MHz 1

HackRF One Émetteur automatique 868 MHz 1

Samsung Smart TV Télévision connectée 470–800 MHz/2.4–2.5 GHz 1

pour la sonde 2 et 2.4-2.5 GHz pour la sonde 3.

Nous établissons la résolution fréquentielle des sweeps (1/bw) à 10 mesures

par MHz, ce qui correspond à 3000 mesures pour l’ensemble des trois bandes de

100 MHz. Chaque sweep prend 37.5 ms pour scanner toutes les bandes, ce qui

cor-respond à une résolution temporelle 1/T de 27sweepspar seconde. Pour rappel, les

notations utilisées ici sont présentées dans la section 3.4. Contrairement à notre

im-plémentation pour les domiciles, chaque mesure est sauvegardée sur un octet, pour

limiter la taille des données enregistrées. Ainsi, 80 ko de données sont mesurées par

chaque sonde chaque seconde. Au total, plus de 2 Go sont collectés chaque jour.

7.2.2 Caractéristiques techniques des composants de l’approche

Dans notre expérimentation, l’IDS s’exécute sur un serveur équipé d’un Intel

Core i7-7700 cadencé à 4.2 GHz, 32 Go de RAM et d’une carte graphique Nvidia

GTX-1080-Ti. Cependant, nous ne pensons pas qu’il soit nécessaire d’avoir un

ser-veur aussi puissant. En effet, un ordinateur 30 fois plus lent serait suffisant pour

traiter les données venant des sondes en temps réel. Dans le cas de notre

expé-rimentation, les données sont traitées hors-ligne mais nous sommes confiants que

notre système pourrait fonctionner en ligne puisqu’il nous faut environ 20.407 s

pour traiter l’ensemble des spectrogrammes enregistrés, correspondant à 700,815 s

de mesure.

7.3 Paramétrage des modèles

7.3.1 Pré-traitement

Dans notre expérimentation, le niveau de bruit est situé à environ -65 dBm et les

sondes ne mesurent aucune puissance dépassant les 0 dBm, nous établissons donc

le seuil maximumB

u

et le seuil minimal B

l

à respectivement 0 dBm et -50 dBm.

7.3.2 Estimation de l’erreur de reconstruction

Nous découpons chaque spectrogramme en morceaux dont les dimensions sont

16×1000 :N = 16 étant la dimension temporelle (600 ms) et 1000 étant la dimension

fréquentielle (une des trois bandes monitorées), c’est-à-dire le nombre de mesures

par sweep. La dimension temporelle de 600 ms est un compromis : si celle-ci est

trop faible, l’auto-encodeur ne sera pas capable d’apprendre de longues activités

radios ; si elle est trop grande, le nombre de paramètres à apprendre pour le modèle

serait trop élevé et l’apprentissage nécessiterait trop de données. Concernant les

hyperparamètres de l’auto-encodeur, nous choisissons les valeurs suivantes :

1. les entrées, composées de 16×1000 attributs ;

2. une couche convolutive à une dimension avec 500 filtres et une fenêtre

tem-porelle de 5, utilisant la fonction d’activation ReLu ;

3. la couche du goulot d’étranglement, une couche dense avec 2000 attributs,

employant la fonction d’activation sigmoïde ;

4. une couche dense de sortie, avec 16×1000 sorties, utilisant la fonction

d’ac-tivation sigmoïde.

Nous utilisons la même architecture pour chaque bande, ainsi les résultats ne

sont pas affectés par le comportement spécifique de chaque bande. Ici, la taille

7.4. Protocole expérimental 125

optimale de la couche d’étranglement dépend du trafic sur la bande considérée. En

effet, les bandes avec peu de communications (par exemple 800-900 MHz) pourraient

employer une couche plus fine pour éviter le surapprentissage ; au contraire, les

bandes très utilisées (comme 2.4-2.5 GHz) pourraient nécessiter une couche plus

large pour apprendre correctement les comportements radios. Nous avons établi un

compromis en définissant 2000 attributs. Ce modèle est implémenté et appris grâce

à Keras [Chollet 2015] reposant sur Tensorflow.

Une recherche plus exhaustive des hyperparamètres améliorerait sans aucun

doute nos résultats, mais ces travaux ne rentrent pas dans le cadre de notre

pro-position qui se focalise sur la preuve de concept liée à une approche de diagnostic

indépendante de la spécification des protocoles.

Pour la phase d’apprentissage, nous établissons à 80% la superposition des

fe-nêtres glissantes consécutives pour maximiser la quantité de données disponibles.

Dans le cadre du jeu de test, celle-ci est de 20%.

7.3.3 Diagnostic temporel

Nous utilisons deux seuils d’erreurs τ : un pour les jours de la semaine entre

8 heures et 19 heures 30, et un pour le reste (week-end et nuits). Le jeu de test

comporte un jour férié. Cependant, cette information n’est pas fournie à l’IDS.

Nous estimons le seuil d’erreur τ à l’aide du 99

th

percentile du score des séries

temporelles du jeu d’apprentissage pour chaque bande et chaque sonde, et nous

estimonsT (le seuil d’erreur cumulatif) au 99.995

th

percentile des erreurs cumulées

à l’aide de la fonction d’erreur appliquée au jeu d’apprentissage, et ce pour chaque

sonde et chaque bande.

7.3.4 Diagnostic spatial

La calibration est effectuée en envoyant trois signaux à différentes puissances

(5 dBm, 20 dBm et 40 dBm) sur la fréquence centrale de chacune des bandes

(450 MHz, 850 MHz et 2.45 GHz) à 40 positions distinctes. Ces signaux sont ensuite

monitorés par les sondes positionnées dans l’environnement. Nous implémentons

l’algorithme des k plus proches voisins pour estimer la position d’une anomalie à

partir de ces données de calibration. Nous fixons k = 6 et utilisons une distance

euclidienne classique entre les SNR. La largeur de la bande autour de la fréquence

centrale est fixée àδ

f

= 0.2 MHz.

7.4 Protocole expérimental

Pour le jeu d’apprentissage, nous réalisons la collecte entre le 19 mars et le 27

mars 2019 (8 jours). Nous collectons deux jeux de tests. Le premier jeu, mesuré entre

le 28 mars et le 3 avril, ne contient qu’une seule position d’injection d’attaque, la

position F (visible sur la figure 7.2). Le second jeu, mesuré le 7, 8, 13 et 14 mai 2019,

contient quant à lui des attaques effectuées à plusieurs positions. Nous réalisons 4

Figure7.2 – Position des attaques dans l’environnement

évaluations distinctes sur ces jeux de données, pour vérifier la pertinence de la

détection, puis des différentes phases de diagnostic réalisées.

7.4.1 Évaluation de la détection d’anomalies

Pour évaluer les capacités de détection de notre solution, nous mesurons la

pro-portion d’attaques ayant une intersection avec les intervalles de détection estimés

par les sondes sur la même bande. Autrement dit, une attaque est considérée

dé-tectée si une alarme est levée durant son exécution.