L’écosystème de l’Internet des Objets
Les évolutions technologiques de ces dernières années ont permis d’imaginer une nouvelle manière de mettre en communication non seulement les personnes, mais également les objets qu’ils utilisent. La première machine à mettre en œuvre cette idée est un distributeur de soda installé dans l’université de Carnegie Mellon (CMU) au sein du département d’informatique en 1982 . En l’interrogeant à distance via son adresse IP, il était possible de savoir s’il restait des canettes dans la machine. L’Internet des Objets (IdO) ou Internet of Things (IoT) était né, même si le terme devait apparaître plus tard, en 2002, dans un article publié dans le journal Forbes rédigé par Chana R. Schoenberger. Depuis, un grand nombre d’objets se sont dotés d’adresses pour communiquer et le terme IoT a été adopté par ces derniers sans définition exacte. Il s’agit en effet plus d’une idée que d’une réalité physique. Toutefois, cette idée s’est développée : connecter non seulement les gens, mais les objets à Internet. La motivation associée au tout connecté porte sur la quantité d’information valorisable permettant d’aboutir à une modélisation réaliste du monde à chaque instant. Cette modélisation combinée à l’analyse des données partagées par ces objets, amène au déclenchement automatique d’actions qui agissent sur le monde par le biais d’autres objets. Par exemple, un ensemble de capteurs supervisant l’état du trafic routier en temps réel commanderait le réveil d’un domicile pour adapter l’heure de l’alarme en fonction de l’affluence.
Souvent annoncé comme étant « la nouvelle révolution du Web » , ou « Web 3.0 », l’IoT a tout pour plaire. Cependant, si le concept d’origine est assurément intéressant, nous sommes aujourd’hui loin d’un écosystème aussi automatisé et unifié que celui imaginé initialement. Actuellement, la majorité des développements IoT consistent à ajouter des capacités de communication à un objet qui en est initialement dépourvu. Cet objet peut alors remonter des données à un serveur ou recevoir des commandes pour interagir avec l’environnement dans lequel il est installé. Cela ne lui permet pas pour l’instant d’être autonome et d’initier des communications avec d’autres objets, de son propre chef, afin de participer à un traitement plus complexe ou généralisé.
Nous voyons donc apparaître une multitude de petits environnements, que nous pourrions associer à des réseaux locaux d’objets plutôt qu’à un vrai Internet des Objets. La seule différence avec un réseau local traditionnel repose sur le fait qu’une grande majorité de ces objets stockent leurs données sur des serveurs dans le cloud et donc sur Internet. Ces serveurs proposent souvent un accès complet à ces informations, au détriment de leur protection. En outre, si le traitement et le stockage des données dans le cloud sont aujourd’hui pleinement exploités et fonctionnels, les technologies d’interconnexion et d’échanges entre objets sont encore beaucoup trop hétérogènes pour qu’une unification prochaine soit plausible. En effet, pour permettre à des centaines de milliers d’objets différents de communiquer, il faudrait qu’une norme complète s’impose, spécifiant notamment les protocoles de communications et la forme des données, voire même l’architecture matérielle de ces objets. Cependant, les tendances montrent plutôt l’inverse. Ce manque de normalisation dans ces moyens de communications rend difficile l’uniformisation des échanges et limite fortement l’intéractivité possible. Or, l’intérêt économique associé à la possibilité d’acquérir de l’information à partir des données récoltées par des centaines de milliers d’objets poussent les industriels à développer de nombreux objets connectés : selon l’Institut de l’Audiovisuel et des Télécommunications en Europe (IDATE) , le nombre de ces objets était estimé à 42 milliards en 2015. Tous les environnements intègrent en effet de plus en plus massivement ces différents objets pour répondre à des besoins spécifiques : les domiciles, les entreprises, les industries, les villes ou les espaces publics.
Environnements d’utilisation
L’intérêt principal de ces objets est de proposer des services avancés aux utilisateurs, par exemple en proposant d’automatiser les tâches redondantes pour leur faciliter la vie. Par ailleurs, cette automatisation est également intéressante dans des contextes plus industriels, dans lesquels des objets connectés peuvent par exemple tirer avantage d’informations échangées pour s’assurer du bon fonctionnement d’une chaîne d’usinage. Depuis l’apparition dans la littérature du terme IoT, les différents environnements dans lesquels sont installés des objets connectés se retrouvent nommés en fonction de leur contexte d’origine. Le préfixe smart est souvent utilisé pour mettre en opposition l’environnement classique, n’employant aucun objet connecté dans son fonctionnement, à celui composé d’un réseau d’objets remplissant des fonctions spécifiques dans ce contexte. La traduction de ce terme en français est « intelligent », appuyant l’idée que l’ajout de systèmes d’automatisation et de communications entre les objets rend l’environnement intelligent, donc plus en mesure de satisfaire les besoins des utilisateurs. Ainsi, les termes comme smart-home ou smart-factory apparaissent dans tous les articles, scientifiques ou journalistiques [Ahmed 2016], souvent traduits justement par domicile intelligent ou usine intelligente. Bien entendu, la notion d’intelligence avancée consiste à imaginer un environnement dans lequel l’ensemble des systèmes opérant en son sein travaillent en accord pour par exemple améliorer la consommation d’énergie. Ces objectifs dépassent largement l’aspect technologique, et prennent en compte également des dimensions sociales ou organisationnelles qui ne seront pas traitées ici, mais qui étaient déjà discutées dans un article de P. Amphoux en 1988 et 1990 sur la notion d’habitat intelligent [Amphoux 1988, Amphoux 1990]. Dans la suite de ce document, nous préférons le mot « connecté » à une traduction du mot « smart » plus descriptive de l’état de fait actuel et moins générale. Ainsi, les différents environnements seront plutôt traduits par exemple par domicile connecté ou usine connectée.
En nous basant sur les travaux effectués par A. Gani et al. [Ahmed 2016] sur la taxonomie des environnements connectés, nous identifions quatre espaces distincts dans lesquels les objets connectés se sont implantés pour y ajouter de la connectivité : 1) les villes connectées, 2) les bâtiments connectés, 3) les industries connectées et 4) les domiciles connectés. Chacun de ces différents environnements connectés possède ses propres spécificités, notamment vis-à-vis de l’utilisation et du fonctionnement des objets.
Villes connectées
Les villes connectées ont connu un élan de popularité dans la littérature au début des années 2000, en présentant l’intégration des Technologies de l’Information et des Communications (TIC) dans le contexte urbain. L’idée des smart cities est de doter une ville de ces technologies pour créer des espaces publics connectés notamment axés autour des citadins, mais également autour des différents éléments constitutifs de la ville, comme les espaces verts, les axes routiers ou les transports en commun. Déjà avant 2000, Singapour avait commencé à imaginer un plan, nommé IT2000, examinant la mise en place d’une « île connectée » [Choo 1997]. Notamment, l’objectif était de transformer les espaces publics, ainsi que les espaces professionnels et privés, en interconnectant les systèmes informatiques de l’île autour d’une infrastructure commune répondant aux besoins en terme de communications : téléphonie, Internet, multimédia, etc. Les exemples de projets ayant démarré autour de cet objectif dans le début des années 2000 ne manquent pas. Dans les faits, il s’agit d’utiliser des solutions intégrées, composées de capteurs collectant des informations sur le fonctionnement de tel ou tel domaine, pour ensuite interagir avec d’autres systèmes. Cependant, contrairement à des environnements plus restreints et contrôlés, comme les bâtiments que nous verrons dans la section suivante, l’interconnexion à l’échelle d’une ville est complexe à mettre en œuvre car elle mélange des contextes très différents parfois peu maîtrisés, comme par exemple les espaces privés .
|
Table des matières
Introduction
I Contexte et état de l’art
1 Problématique
1.1 L’écosystème de l’Internet des Objets
1.1.1 Environnements d’utilisation
1.1.2 Protocoles et communications
1.1.3 Caractéristiques des environnements et des objets
1.2 La sécurité dans l’Internet des Objets
1.2.1 Terminologie de la sécurité
1.2.2 Problématiques de sécurité liées aux objets connectés
1.2.3 Principales attaques visant les objets connectés
1.3 Solutions traditionnelles de sécurité réseau
1.3.1 Pare-feu
1.3.2 Réseau Privé Virtuel (VPN)
1.3.3 Système de Détection/Prévention d’Intrusion (IDS/IPS)
1.4 Objectifs de la thèse
2 État de l’art
2.1 Apprentissage automatique
2.1.1 Modèle et apprentissage
2.1.2 Différentes familles d’apprentissage
2.1.3 Compromis biais variance
2.1.4 Requêtes
2.2 Solutions de sécurité appliquées à l’IoT et limites
2.2.1 État de l’art des solutions de sécurité spécifiques
2.2.2 Récapitulatif des limites
2.3 La radio logicielle et les solutions existantes
2.3.1 Définition et fonctionnement de la SDR
2.3.2 Détection d’anomalies basée sur les communications radio
2.4 Conclusion
II Architecture de sécurité générique
3 Approche générique pour la détection d’anomalies dans les environnements connectés
3.1 Modèle de menaces et hypothèses
3.2 Vue d’ensemble de l’approche proposée
3.3 Sondes radio
3.3.1 Périphérique SDR
3.3.2 Contrôleur
3.4 Implémentation des sondes radio
3.4.1 Périphérique SDR
3.4.2 Contrôleur
3.5 Apprentissage du modèle des activités légitimes
3.5.1 Problématiques des données et choix du modèle
3.5.2 Auto-encodeur
3.6 IDS
3.6.1 Détection
3.6.2 Diagnostic
3.7 Conclusion
III Déploiement et évaluation pour les domiciles connectés
4 Contexte et spécificités d’implémentation
4.1 Introduction
4.2 Contexte des domiciles connectés
4.2.1 Caractéristiques considérées et moyens mis en œuvre
4.3 Implémentation et déploiement de l’approche pour des domiciles connectés
4.3.1 Implémentation de la phase d’apprentissage
4.3.2 Détection d’anomalies – IDS
4.4 Conclusion
5 Expérimentations & Résultats
5.1 Introduction
5.2 Environnement expérimental
5.2.1 Mise en place d’un environnement de test réaliste
5.2.2 Composition de l’environnement et comportements
5.3 Protocole expérimental
5.3.1 Installation de la solution
5.3.2 Collecte des données
5.3.3 Apprentissage du modèle
5.4 Évaluation
5.4.1 Protocole d’évaluation
5.4.2 Génération d’attaques
5.4.3 Injection d’attaques
5.4.4 Métriques d’évaluation
5.4.5 Résultats et discussions
5.4.6 Quantification du risque associée à la détection d’anomalies
5.5 Conclusion
5.6 Synthèse de la partie III
IV Adaptation à un environnement professionnel et modèles de diagnostic
Conclusion