SlideShare une entreprise Scribd logo
1  sur  72
Table des matières :
Chapitre 1 : Concepts fondamentaux sur l’internet des objets-------------------------3
INTRODUCTION :.......................................................................................................................... 4
1.1 DEFINITION DE L’INTERNET DES OBJETS (IDO) : .................................................................... 4
1.2. HISTORIQUE DE L’IOT : ........................................................................................................ 5
1.3 PRINCIPES DES IOT : .............................................................................................................. 7
1.2.3 Architecture de l’Internet des objets :------------------------------------------------------ 7
1.2.3.1 Architecture et Standardisation :------------------------------------------------------- 8
1.2.4 Domaines d’application de l’Internet des objets :---------------------------------------- 8
1.2.5 Fonctionnement de l’IdO :------------------------------------------------------------------10
1.2.5.1 Etapes de mise en place d’un IdO :---------------------------------------------------10
1.2.5.2 Composantes de l’IoT :-----------------------------------------------------------------11
1.2.5.3 Technologies de l’IOT : ----------------------------------------------------------------12
1.2.5.4 Protocoles de fonctionnement de L’IOT : -------------------------------------------13
1.2.5.5 LA COMMUNICATION : ------------------------------------------------------------15
Table des figures :
Figure 1 : Internet des objets...................................................................................................... 5
Figure 2 : Evolution des réseaux informatiques vers l'IdO ........................................................ 6
Figure 3 : Le développement de l’Internet des objets vu par Cisco en 2011 ............................. 6
Figure 4 : Futur de l’IoT........................................................... Error! Bookmark not defined.
Figure 5 : Domaines d’applications de l’IOT........................................................................... 10
Figure 6 : Les différentes technologies de communication...................................................... 13
Chapitre 1 : Concepts fondamentaux sur l’internet des objets
Introduction :
L'IdO est une technologie en pleine expansion qui permet à des objets de communiquer entre
eux via internet pour offrir des services plus avancés et des expériences utilisateur plus
personnalisées. Cependant, l'utilisation de l'IdO comporte des risques pour la sécurité, car ces
objets sont souvent vulnérables aux attaques malveillantes, ce qui peut compromettre la vie
privée et la sécurité des utilisateurs. Dans ce premier chapitre nous introduisons les principaux
concepts de base de l’IdO, notamment sa définition, réseau et caractéristiques, les problèmes
informatiques et les attaques. Ensuite, nous présentons les systèmes de détection d'intrusion,
leur définition, architecture, classification...etc., et nous terminons par le problème et la
solution proposée.
1.1 Définition de l’internet des objets (IdO) :
L’internet des objets (IdO) est un réseau intelligent qui connecte tous les objets à l’internet
dans le but d’échanger des informations selon des protocoles convenus [1]. Ainsi, n’importe
qui peut accéder à n’importe quoi, à tout moment et de n’importe où [2]. Dans le réseau Ido,
les choses ou les objets sont connectés sans fil avec de minuscules capteurs intelligents. Les
dispositifs IdO peuvent interagir entre eux sans intervention humaine [3]. L’IdO utilise des
schémas d’adressage uniques pour interagir avec d’autres objets ou choses et coopérer avec
les objets pour créer de nouvelles applications ou de nouveaux services. L’Ido introduit
diverses applications telles que les maisons intelligentes, les villes intelligentes, la
surveillance de la santé, l’environnement intelligent et l’eau intelligente [4]. Avec le
développement des applications IdO soulève de nombreuses questions. Parmi les nombreuses
autres questions, celle de la sécurité de l’IdO ne peut être ignorée. Les dispositifs IdO sont
accessibles de n’importe où via un réseau non fiable comme l’internet. Les réseaux IdO ne
sont donc pas protégés contre un large éventail d’attaques malveillantes.
Si les problèmes de sécurité ne sont pas résolus, les informations confidentielles peuvent être
divulguées à tout moment. Le problème de la sécurité doit donc être résolu.
Figure 1 : Internet des objets
1.2. Historique de l’IoT :
Le concept de l’internet des objets apparaît pour la première fois en 1995 dans le livre du
fondateur de Microsoft, Bill Gates, « The Road Ahead». Il y mentionne alors ce nouveau
concept, sans toutefois attirer l’attention du public puisque le développement d’Internet est
alors trop limité [5].
Comme pour de nombreux nouveaux concepts, c’est au (MIT) et plus particulièrement au
groupe Auto-ID Center qu’est attribuée l’origine de l’IoT. Pour Cisco Internet Business
Solutions Group (IBSG), l’IoT correspond simplement au moment où il y a eu plus « de
choses ou d’objets » connectés à Internet que de personnes.
Figure 2 : Evolution des réseaux informatiques vers l'IdO
En 2003, la population mondiale s’élevait à environ 6,3 milliards d’individus et 500 millions
d’appareils étaient connectés à Internet. Le résultat de la division du nombre d’appareils par la
population mondiale (0,08) montre qu’il y avait moins d’un appareil connecté par personne
[6]. Selon la définition de Cisco IBSG, l’IoT n’existait pas encore en 2003 car le nombre
d’objets connectés était relativement faible. En outre, les appareils les plus répandus
actuellement, et notamment les Smartphones, faisaient tout juste leur apparition sur le marché
[6]. En raison de l’explosion des Smartphones et des tablettes, le nombre d’appareils
connectés à Internet a atteint 12,5 milliards en 2010, alors que la population mondiale était de
6,8 milliards. C’est ainsi que le nombre d’appareils connectés par personne est devenu
supérieur à 1 (1,84 pour être exact) pour la première fois de l’histoire [6].
Figure 3 : Le développement de l’Internet des objets vu par Cisco en 2011
En ce qui concerne l’avenir, Cisco IBSG estime que 50 milliards d’appareils seront connectés
à Internet d’ici à 2020. Il est important de noter que ces estimations ne tiennent pas compte
des progrès rapides d’Internet ni des avancées technologiques, mais reposent uniquement sur
les faits avérés à l’heure actuelle [6].
1.3 Principes des IoT :
L'IoT se compose de plusieurs éléments complémentaires, dont chacun a ses propres
caractéristiques. Il permet l'utilisation d'un système d'identification électronique appareils
mobiles standard et sans fil, identifiés directement et sans ambiguïté objets physiques et
capacité à récupérer, stocker, transmettre et traiter sans interruption données connexes. L'IoT
est une combinaison d'innovations et de solutions technologiques récentes existant. Chaque
objet est équipé d'une identification électronique unique capable de lire et transporter des
données par des protocoles dans le réseau Internet. Cependant, il faut définir la nature d'un
objet, sa fonction, sa localisation dans l'espace, son histoire pour créer un lien entre physique
et virtuel, les dispositifs technologiques doivent modéliser donc l'environnement réel et
rendez-le virtuel.
1.2.3 Architecture de l’Internet des objets :
Figure 4 : Futur de l’IoT
L'un des défis majeurs dans le domaine technologique pour faciliter l'adoption des systèmes
IoT est de concevoir une architecture de référence qui puisse soutenir à la fois les
fonctionnalités actuelles et les extensions à venir. À l'heure actuelle, il n'existe pas de modèle
d'architecture de référence universel, et élaborer une telle architecture se révèle être une tâche
complexe malgré les multiples tentatives de normalisation.
1.2.3.1 Architecture et Standardisation :
Les racines de l’IdO remontent aux technologies M2M (machine `a machine) pour le contrôle
des processus `à distance. L’IdO qui est aujourd’hui un mélange de plusieurs technologies
telles que la RFID, NFC, les capteurs et actionneurs sans fil, le M2M, l’ultrage bande ou
3/4G, IPv6, 6lowPAN, et RPL nécessite la définition d’une archit3cture et des standards afin
de faciliter son d´développement dans le futur. L’ETSI propose une architecture découpée en
trois domaines distincts, le domaine du réseau d’objets, le domaine du réseau cœur d’accès et
le domaine des applications M2M et applications clientes [5].
 Le domaine du réseau d’objets :
Dans ce domaine, nous trouvons les différentes technologies d’interconnexion des
objets M2M, RFID, Bluetooth, et des passerelles vers les réseaux cœur de transport [6]
 Le domaine du réseau cœur d’accès :
Dans ce domaine, nous trouverons les différentes technologies de réseaux de transport
et d’accès comme xDSL, WIMAX, WLAN, 3G/4G, etc. [7].
 Le domaine des applications M2M et applications clientes :
Ce domaine est composé de plateformes M2M, les Middlewares et API des
applications M2M, processus métiers exploitant l‟IdO, etc.[7].
1.2.4 Domaines d’application de l’Internet des objets :
Les objets connectés ont envahi notre quotidien sans même que nous y prêtions attention. De
la télé intelligente à la voiture connectée, nos loisirs, nos d´emplacements sont facilités par
ces nouveaux outils qui augmentent grandement notre confort. L’utilisation de l’IOT
permettra le développement de plusieurs applications intelligentes qui toucheront
essentiellement ceux qu’on citera dans ce qui suit, nous citrons brièvement des exemples
d’applications de l’IOT:
 La domotique :
C'est un ensemble de technologies qui permettent à la maison d'être intelligente, de
penser par elle-même, et de contrôler divers équipements depuis la même interface
(téléphone, panneau) grâce à l'Internet des objets. [8]
Elle vise à rendre la vie quotidienne plus pratique, confortable, efficace et sécurisée en
permettant la gestion à distance et l'automatisation des équipements domestiques grâce
à des dispositifs connectés à Internet.
 Le transport :
L'Internet des objets (IoT) a le potentiel de sauver des vies, est largement exploité
dans le domaine du transport pour des applications telles que la gestion du trafic, le
stationnement intelligent, la navigation, la sécurité routière, les véhicules autonomes et
la gestion de flotte, entre autres. L'objectif principal est de permettre aux véhicules de
communiquer de manière autonome entre eux ou avec des stations de surveillance,
dans le but d'éviter les accidents, de réduire la congestion routière et de sauver des
vies, tout en favorisant une mobilité plus intelligente, sûre et efficiente.
 La santé :
En santé, l'IoT surveillera les signes fournir des cliniques aux patients en créant des
réseaux personnels et des capteurs médicaux surveiller les constantes biologiques
telles que la température corporelle, Tension artérielle et activité respiratoire [9].
L'Internet des objets (IoT) a révolutionné le domaine de la santé en offrant de
nouvelles opportunités pour la surveillance, le diagnostic et le traitement des patients.
Les dispositifs médicaux connectés, tels que les montres intelligentes, les capteurs de
glucose et les tensiomètres, permettent aux professionnels de la santé de collecter des
données en temps réel sur l'état de santé des patients, améliorant ainsi la gestion des
maladies chroniques.
 L’agriculture :
Dans ce domaine, des réseaux de capteurs interconnectés l’Internet des objets peut être utilisé
pour surveiller l'environnement des cultures.[10]
L'IdO est utilisé dans l'agriculture pour la surveillance et la gestion des cultures,
l'irrigation intelligente, la gestion des ressources agricoles, la prédiction des conditions
météorologiques, etc. Il permet une agriculture plus efficace, durable et basée sur des
données.
 L’industrie :
Dans le domaine de l’IoT industriel permettra un suivi complet des produits, En
encadrant de la chaîne de production à la chaîne logistique de distribution conditions
de fourniture, lutte contre la contrefaçon, la fraude et la criminalité économie
transfrontalière.
 Villes intelligentes (Smart City) :
Le terme villes intelligentes est utilisé pour désigner l'écosystème cyber [10]. Grâce à des services
avancés, il est en effet peut optimiser l'utilisation de l'infrastructure physique de la ville
(réseau routes, réseaux électriques, etc.), améliorant ainsi la qualité de vie des personnes
citoyen.
Figure 5 : Domaines d’applications de l’IOT
1.2.5 Fonctionnement de l’IdO :
1.2.5.1 Etapes de mise en place d’un IdO :
Les objets connectés (OC) jouent un rôle central dans l'Internet des objets (IdO). Cependant,
pour que l'IdO fonctionne de manière optimale, il est essentiel de connecter tous ces objets, de
les amener à échanger des données et à interagir harmonieusement dans un environnement
unifié. La mise en place de l'IdO implique plusieurs étapes clés :
1. L’identification : Avant de débuter, comprenez les raisons et objectifs spécifiques de
l'adoption de l'IoT, tels que l'amélioration de l'efficacité ou la collecte de données.
Pour l'identification, attribuez des adresses IP (IPv4 ou IPv6) à chaque élément
connecté, facilitant ainsi leur reconnaissance.
2. Installation des capteurs : Ensuite, des capteurs sont installés pour permettre aux
dispositifs de se rapprocher du monde réel en collectant des données à partir de leur
environnement.
3. Connexion des objets entre eux : Une connexion est établie entre tous les objets afin
de faciliter l'échange d'informations entre eux. Cela peut se faire via divers protocoles
de communication tels que SigFox, LoRa, NFC et Bluetooth.
4. Intégration : Les objets sont intégrés pour que les données puissent être transmises
efficacement d'une couche à une autre. Des middlewares sont souvent utilisés pour
cette intégration.
5. La connexion à un réseau : Relier les objets et leurs données au monde informatique
via un réseau internet par exemple en utilisant (HTTP, REST, CoAP, MQTT). [11].
1.2.5.2 Composantes de l’IoT :
l'IoT repose sur cinq composants essentiels qui collaborent pour créer un réseau
interconnecté d'objets intelligents. L’objet connecté a pour fonction de collecter des
données de capteurs, de traiter ces données et de les communiquer à l’aide de d’une
fonction de connectivité et de recevoir des instructions pour exécuter une action.
Généralement ces fonctions de l’objet connecté nécessitent une source d'énergie, surtout
quand les données sont prétraitées directement dans l’objet. [12]
 Capteurs :
Les capteurs sont des dispositifs permettant de transformer une grandeur
physique observée (température, luminosité, mouvement etc…) en une grandeur
digitale utilisable par des logiciels. Il existe une très grande variété de capteurs de tous
types, les objets connectés ont souvent la fonction de captation de ces grandeurs physiques
sur leurs lieux d’utilisation.[12]
 Réseaux de capteurs :
Un réseau de capteurs dans l'IoT est un ensemble coordonné de capteurs connectés qui
travaillent ensemble pour collecter et transmettre des données, permettant ainsi la
surveillance, l'analyse et la prise de décision basée sur les informations collectées. Afin de
satisfaire les besoins de communication entre eux, les capteurs sont équipés de dispositifs sans fil
pour l’émission et la réception de données. Cela ne suffit cependant pas à rendre un ensemble de
capteurs accessibles ou du moins de manière interopérable, transparente et simplifiée pour
cela, les capteurs doivent aussi s’organiser ce qui caractérise un réseau de capteurs, c’est
que ses éléments sont de très petits appareils, dotes de capacités de transmission sans fil.
[11]
 Énergie :
La durée de vie des dispositifs IoT peut être limitée par leur source d'énergie, qu'il s'agisse
de batteries ou d'autres sources. L'optimisation de la consommation d'énergie est
essentielle pour prolonger leur utilisation.
 Les actionneurs :
Les actionneurs sont des dispositifs qui transforment une donnée digitale en phénomène
physique pour créer une action, ils sont en quelque sorte l’inverse du capteur. Exemple
d’actionneurs : Afficheurs, Alarmes, Caméras, Haut-parleurs, Interrupteurs, Lampes, Moteurs,
Pompes, Serrures, Vannes, Ventilateur, Vérins. [12].
 Connectivité :
La connectivité de l’objet est assurée par une petite antenne Radio Fréquence qui va permettre
la communication de l’objet vers un ou plusieurs réseaux (qui sont détaillés dans la section
« réseaux IoT »). Les objets pourront d’une part remonter des informations telles que leur
identité, leur état, une alerte ou les données de capteurs, et d’autre part recevoir des
informations telles que des commandes d’action et des données [12]. Ainsi les dispositifs IoT
utilisent différents protocoles de communication pour transmettre les données. Cela peut
inclure des réseaux sans fil tels que Wi-Fi et Bluetooth, ainsi que des réseaux basse
consommation comme Zigbee et LoRaWAN.
1.2.5.3 Technologies de l’IOT :
L'IoT (Internet des objets) est la technologie qui rend possible la connectivité des objets
intelligents via Internet. Pour son bon fonctionnement, elle repose sur une multitude de
systèmes technologiques. L'IoT englobe différentes solutions techniques, telles que la RFID,
le protocole TCP/IP et les technologies mobiles, entre autres. Ces technologies permettent
l'identification des objets, la collecte, le stockage, le traitement et le transfert de données.
Elles opèrent non seulement dans les environnements physiques, mais également dans la
liaison entre le monde réel et les espaces virtuels.
En effet, bien qu’il existe plusieurs technologies utilisées dans le fonctionnement de l’iot,
nous mettons l’accent seulement sur quelques-unes citées ci-dessous :
 RFID : est une technologie sans fil qui est utilisée pour l’identification des objets, elle
englobe toutes les technologies qui utilisent des ondes radio pour identifier
automatiquement des objets ou des personnes. C’est une technologie qui permet de
mémoriser et de récupérer des informations à distance grâce à une étiquette qui émet
des ondes radio. Il s’agit d’une méthode utilisée pour transférer les données des
étiquettes à des objets, ou pour identifier ces objets à distance. L’étiquette contient des
informations stockées électroniquement être lues à distance [8],[13].
 WSN : C'est un réseau coopératif, chaque nœud du réseau a un ensemble de
caractéristiques telles que : puissance de traitement, différents types de mémoire,
Émetteurs-récepteurs RF et alimentations, ainsi que divers capteurs et
actionneurs.[14]. Comme son nom l’indique, le WSN constitue un réseau de capteurs
sans fil qui peut être une technologie n´nécessaire au fonctionnement de l’IoT.
 M2M : C'est la technologie de l'information, combinée à la communication des objets
intelligents pour leur donner la possibilité d'interagir sans intervention avec le système
d'information d'un organisme ou d'une entreprise [15].
Figure 6 : Les différentes technologies de communication
1.2.5.4 Protocoles de fonctionnement de L’IOT :
De nombreuses normes IoT ont été développées par des groupes tels que le W3C, l'IETF,
EPCglobal, IEEE et l'ETSI pour faciliter la communication entre les systèmes IoT, simplifiant
ainsi la tâche des développeurs et des fournisseurs de services. L'IoT vise à connecter tous les
systèmes entre eux à l'aide de protocoles communs, avec une importance particulière accordée
à la standardisation de la communication Machine-to-Machine (M2M).
Au niveau de la couche de liaison, le standard IEEE 802.15.4 est plus adapté que l’Ethernet
aux environnements industriels difficiles.
 Au niveau réseau, le standard 6loWPan a réussi a adapter le protocole IPV6 aux
communication sans fil entre nœud a très faible consommation.
 Au niveau routage, l’IETF a publié en 2011 le standard RPL. - Au niveau de la couche
application le protocole CoAP qui tente d’adapter http, beaucoup trop gourmand aux
contraintes des communications entre nœuds à faible consommation [16].
 MQTT Message Queue Telemetry Transport : Un protocole de messagerie léger et
très répandu pour la communication entre dispositifs IoT. Il est efficace en termes de
bande passante et convient à de nombreuses applications IoT.
Il représente un protocole De messagerie idéal pour les communications IOT et M2M.
Il vise à connecter des périphériques et des réseaux intégrés aux applications et au
middleware. MQTT Utilise le modèle de publication souscription pour offrir une
flexibilité de transition et une simplicité d’implémentation. Il convient aux
périphériques à ressources limitées qui utilisent des liens peu fiables ou à faible bande
passante. MQTT est construit en haut du protocole TCP.[6]
 CoAP ( Constrained Application Protocol ) : CoAP est un protocole de couche
application spécialement conçu pour les applications IoT. Il repose sur les
fonctionnalités de HTTP, mais il est intrinsèquement associé à UDP plutôt qu'à TCP,
ce qui le rend plus adapté aux exigences de l'IoT, notamment la faible consommation
d'énergie et la gestion de connexions instables. De plus, CoAP adapte certaines
caractéristiques de HTTP pour répondre aux besoins spécifiques de l'IoT, tout en étant
basé sur l'architecture REST, qui simplifie l'échange de données entre clients et
serveurs par le biais de HTTP.
CoAP vise à permettre à de minuscules appareils à faible puissance, le calcul et Les
capacités de communication à utiliser les interactions RESTful. Avec CoAP, Les
interactions entre services web de l’Internet des PC et de l’Internet des Objets
Deviennent bien plus simples à réaliser, une passerelle applicative assez légère
Correspondance entre les commandes REST et CoAP se charge de l’adaptation d’un
monde à l’autre [6].
 XMPP (Protocole de messagerie et de présence extensible) : XMPP Est une Norme
de messagerie instantanée IETF (IM) qui est utilisé pour les conversations
Multipartis, les appels vocaux et vidéo et la télé présence. Il permet aux utilisateurs
De communiquer entre eux en envoyant des messages instantanés sur Internet quel
Que soit le système d’exploitation qu’ils utilisent. XMPP permet aux applications De
messagerie instantanée d’accéder à l’authentification, au contrôle d’accès, à la
Mesure de la confidentialité, au cryptage hop-by-hop et à la compatibilité avec
D’autres protocoles. Beaucoup de fonctionnalité XMPP en font un des protocoles
Préfères par la plupart des applications de messageries instantanées et pertinentes
Dans le cadre de l’IOT. Il fonctionne sur une variété de plateformes basées sur
Internet de manière décentralisé. XMPP est sécurisé et permet d’ajouter de Nouvelles
applications au-dessus des protocoles de base [6].
 AMQP Message avancé Protocole de mise en file d’attente : Il s'agit d'un protocole
de couche application ouvert, standardisé pour l'IoT, adapté aux environnements
orientés vers les messages. Son fonctionnement implique l'utilisation d'un protocole
de transport sécurisé tel que TCP pour l'échange de messages. Ce protocole assure
une communication fiable grâce à des mécanismes garantissant la livraison des
messages. Il repose sur une architecture basée sur les files d'échanges et les files
d'attente, permettant une interopérabilité entre les implémentations AMQP.
Les messages peuvent ˆêtre stock ´es dans les files d’attente, puis envoyés au
récepteur par la suite. AMQP prend également en charge le modèle de
communication publier/souscrire [6].
1.2.5.5 LA COMMUNICATION :
o 3G/4G : Respectivement, la troisième et quatrième génération du réseau de
téléphonie mobile qui introduit du très haut débit pouvant aller, en théorie, jusqu'à
150 Mbit/s.
o Wifi : Le Wi-Fi, abréviation de "Wireless Fidelity", est un protocole de
communication sans fil standardisé par le groupe IEEE 802.11. Fonctionnant à des
fréquences de 2,4 ou 5 GHz, il permet la connexion haute débit entre équipements
informatiques et appareils mobiles. En raison de sa large couverture dans les
bâtiments et de sa capacité à répondre à diverses exigences de connectivité, comme
la portée, la vitesse de transfert de données, l'efficacité énergétique et le coût des
périphériques, le Wi-Fi est souvent un choix privilégié pour les objets connectés.
o Ethernet : Ethernet est une technologie classique qui permet la connexion de
réseaux locaux câblés. Elle définit un protocole de couche de liaison de données
dans la pile TCP/IP, permettant aux dispositifs réseau de formater et de transmettre
des paquets de données pour une communication efficace sur le même segment de
réseau local ou de campus. Dans le contexte de l'IoT, Ethernet est utilisé pour
connecter des dispositifs IoT fixes via un câblage physique dédié.
o Zigbee : (Depuis le livre : ZigBee Network Protocols and Applications) : ZigBee
est un standard pour la communication de données entre des périphériques basse
consommation normalement associés aux tâches de lecture de capteurs dans divers
scénarios, notamment la domotique, les maisons intelligentes et les appareils
industriels, et même la surveillance de la santé humaine [17].
o Bluetooth : Le Bluetooth est une technologie sans fil qui permet à des appareils
électroniques d’échanger des données à courte distance. Appliquée à la téléphonie
mobile, le Bluetooth a eu des répercussions pratiques importantes. Du fait de sa
disponibilité généralisée dans les smartphones, le Bluetooth a joué un rôle central
dans la révolution de l'IoT - en particulier pour la communication sans fil à courte
portée dans les appareils dans lesquels la vie de la batterie est essentielle. [17]
o
o
o
1.1 La sécurité dans l’internet des objets :
1.1.1 Définition :
La sécurité informatique est l‘ensemble des moyens matériels et logiciels mis en
œuvre pour minimiser la vulnérabilité d‘un système contre des menaces accidentelles
ou intentionnelles, permettant ainsi au système de fonctionner normalement et
d‘assurer la disponibilité des services attendus. Elle consiste, aussi, à s‘assurer que
celui qui modifie ou consulte les données du système en a l‘autorisation et qu‘il peut le
faire car le service sollicité est disponible.[18]
Sécuriser les données, c'est garantir :[18]
a) L'authentification :
L’authentification est une fonctionnalité importante et critique dans le contexte
de l’IoT pour permettre une communication sécurisée entre les périphériques.
En effet, un service d’authentification fournit la preuve que l’identité d’un
Objet ou le sujet a l’identité qu’elle prétend avoir.[19]
b) La confidentialité :
La confidentialité garantit que seules les personnes autorisées peuvent accéder
à l'information, préservant ainsi la confidentialité des données échangées entre
l'émetteur et le destinataire. Le chiffrement des données est la méthode
essentielle pour atteindre cet objectif.
c) L’intégrité :
L'intégrité des données vise à assurer que les informations demeurent
inchangées et non altérées, prévenant ainsi toute modification ou altération non
autorisée. Son objectif est de garantir que les données ne sont ni
accidentellement ni intentionnellement altérées ou détruites de manière non
autorisée.
d) Disponibilité :
L'objectif de la disponibilité est de garantir que les ressources du système
informatique sont accessibles conformément aux normes de performance, assurant
des temps d'attente et de service raisonnables.
e) Non-répudiation :
Non-répudiation permet de garantir qu’une transaction ne peut être niée et qu’un
message a bien été envoyé par un émetteur et reçu par un destinataire aucun des
deux ne pourra nier l’envoi ou la réception du message.[17]
1.1.2 Problématiques de sécurité liées aux objets connectés :
1.1.2.1 Vulnérabilités et menaces de sécurité dans l’IoT :
A cause de la forte intégration de l’IOT, les objets du quotidien deviennent des
risques potentiels d’attaque sur la sécurité, l’ubiquité de L’IoT amplifiera les
menaces classiques de la sécurité qui pèsent sur les données et les réseaux, de plus
l’apparition de nouvelles menaces qui toucheront directement à l’intégrité des
objets eux-mêmes, les infrastructures et processus et la privacy des personnes. [20]
 Menaces sur les données et les réseaux :
Le manque de surveillance et de protection physique des objets connectés peut
entraîner des attaques potentielles telles que le vol, la corruption ou la
contrefaçon de ces dispositifs, visant à récupérer des données sensibles ou à
perturber les réseaux. De plus, les transmissions sans fil sont vulnérables aux
attaques d'écoute passive et de déni de service. Les solutions de cryptographie
actuelles ne sont souvent pas adaptées aux contraintes de ressources des objets
connectés, ce qui nécessite l'adaptation ou la création de nouvelles approches
pour garantir la sécurité de ces dispositifs et de leurs réseaux.
 Menaces sur la vie privée :
De nombreux objets seront intégrés, portés ou même bien installés dans les lieux
privés des personnes, ces objets présentent une potentielle menace pour la vie
privée ( privacy ) de leurs utilisateurs. En effet, ces appareils électrique non
seulement sont traçables, mais peuvent filmer, écouter ou même enregistrer leurs
rythmes cardiaque ou respiratoire ainsi que la température du corps ou sa
cinématique dans le but d’un malicieux.[20]
 Menaces sur le système et les Objets physiques :
Des dispositifs malveillants qui se connectent à un réseau ou sont intégrés dans
un système complexe ont le potentiel de provoquer des dysfonctionnements,
des attaques par déni de service, ou d'autres formes d'atteinte à l'intégrité des
données et des informations sensibles du système. Plus grave encore, ils
pourraient prendre le contrôle du système et causer des dommages significatifs.
1.1.2.2 Attaques dans l’IoT :
L'Internet des objets (IoT) présente une vulnérabilité significative à diverses
attaques. Parmi celles-ci, on retrouve des attaques visant les schémas
d'authentification à distance, telles que les attaques par dictionnaire, l'homme du
milieu, la récupération de texte en clair, la perte de carte à puce, la modification de
données, le déni de service (DoS), la divulgation de clé de session, et l'usurpation
d'identité, entre autres. Ces attaques peuvent perturber l'accès légitime à un
système dans un but précis.
1.1.2.2.1 Classification des attaques visant les objets connectés:
La classification des attaques visant l'Internet des objets (IoT) inclut
généralement deux catégories principales : les attaques passives, telles que
l'espionnage et l'interception de données, et les attaques actives, comme les
tentatives de perturbation du fonctionnement des dispositifs IoT ou de prise de
contrôle non autorisée.
A. Attaques passives :
Les attaques passives consistent à écouter et à surveiller les transmissions sur
un canal. Le but de l’attaquant est d’intercepter les informations transmises. Il
y a deux types d’attaques passives : La lecture du message et l’analyse du
trafic.
 Lecture du message : Les données sont envoyées en claire (conversation
téléphoniques, emails, fichier, etc.).Ces données peuvent contenir des
informations sensibles ou confidentielles pour empêcher la lecture des
messages, on peut utiliser le cryptage.[17]
 Analyse du trafic : Si les messages sont illisibles, l’adversaire ne peut pas les
lire mais peut analyser le trafic, l’adversaire peut déterminer l’emplacement et
l’identité des hôtes de la communication et peut observer la fréquence et la
longueur des messages échangés. Ces informations peuvent être utiles à deviner
la nature de la communication qui se déroule.[17]
B. Attaques actives :
Cela inclut la modification ou la destruction de ressources système de manière
non autorisée. Ce type d'attaque est plus dangereux modification que le
premier et peut causer des dommages (usurpation d'identité, , déni de service,
etc.).
 Usurpation de l’adresse IP (IP spoofing) : c’est lorsqu’une entité
malveillante réussit à se faire passer pour une autre, obtenant ainsi les
droits d’accès et les avantages de la victime.[21]
 Rejeu (Replay) : c’est quand un utilisateur malicieux copie et renvoie
un ou plusieurs message(s) déjà transmis afin d’exploiter les
vulnérabilités du système.[21]
 Modification des messages : Cette attaque implique la modification du
contenu du message original, ou que les messages sont retardés ou
réordonnés pour produire un effet non autorisé.
 Le dénis de service ou DOS (Denial Of Service): Ce type d'attaque est
une tentative de rendre une machine ou une ressource réseau
indisponible pour les utilisateurs auxquels elle est destinée. En raison
de capacités mémoire insuffisantes et de ressources de calcul limitées,
la majorité des périphériques dans l'IoT sont vulnérables aux attaques
d’environnement.[22]
 Man in the middle : Le concept de Man-in-the-Middle (MITM)
désigne une attaque menée par un pirate informatique qui cherche à
interrompre et intercepter une communication entre deux systèmes
distincts. Ce type d’attaque peut être dangereux, car le pirate
informatique intercepte discrètement les messages entre deux parties
pour les retransmettre, alors qu’elles pensent communiquer directement
entre elles.[22]
1.1.3 Technique et mécanismes de sécurisation :
Le concept de sécurité englobe divers aspects essentiels. Tout d'abord, il englobe la
prestation de services fondamentaux tels que la confidentialité, l'authentification,
l'intégrité, l'autorisation, la non-répudiation et la disponibilité. Ces services de sécurité
sont souvent implémentés en utilisant différentes techniques cryptographiques, comme
les algorithmes de chiffrement, les fonctions de hachage, et les algorithmes de
signature. La gestion des clés cryptographiques est cruciale pour soutenir ces
mécanismes. Cependant, la sécurité ne se limite pas seulement à la fourniture de ces
services, elle doit également considérer leur intégration dans le système global et leur
mise en œuvre efficace dans l'ensemble des fonctionnalités de sécurité.
a) La cryptographie : La cryptographie est sans doute la technique la plus utilisée
dans le cadre des réseaux filaires et des réseaux sans fil traditionnels disposant
d’une capacité de calcul et de mémoire conséquente. Les solutions de
cryptographie sont réputées comme des solutions sures qui répondent à l’ensemble
des problèmes liés à la sécurité des données. Les spécificités des réseaux de
capteurs, à savoir une faible puissance de calcul et une mémoire limitée à laquelle
se rajoute la problématique de préservation de l’énergie, sont des freins
considérables `a l’utilisation des systèmes cryptographiques courants réputés surs
(SSL, RSA, etc.).[23]
b) La signature : Procédé d’identification du signataire d’un document électronique,
basé sur l’utilisation d’un algorithme de chiffrement, qui permet de vérifier
l’intégrité du document et d’en assurer la non-répudiation. Le système de signature
peut signer un nombre illimité de messages et la taille de la signature augmente
logarithmiquement en fonction du nombre de messages signés. La taille de la
signature dans un système typique peut varier de quelques centaines d’octets à
quelques kilo-octets, et la génération d’une signature peut nécessiter quelques
centaines à quelques milliers de calculs de la fonction de cryptage classique sous-
jacente.[23]
c) La fonction de hachage ou le partitionnement des données : Comme son nom
l’indique le but est de découper l’information en plusieurs parties. Si un capteur cherche à
envoyer une information, celui-ci va la découper en plusieurs paquets de taille fixe.
Chaque paquet sera ensuite envoyé sur des chemins différents, c’est à dire qu’ils ne
passeront pas par la même route et donc pas par les mêmes nœuds. Ces paquets seront
finalement reçus par la base, qui pourra ensuite les rassembler pour pouvoir reproduire
l’information. Ce mécanisme oblige un attaquant à récupérer l’ensemble des paquets s’il
veut pouvoir lire l’information. Il doit aussi être capable d’écouter l’ensemble du réseau,
pour récupérer les différents paquets qui circulent sur des chemins différents. [24]
Un exemple de cette solution est représentée par la figure 4, où un capteur A divise
un message en 3 paquets qui vont suivre respectivement 3 chemins différents.
Figure4 : Exemple de partitionnement
d) Génération de clés d’authentification dynamique : A chaque période ou
génération, la base envoie une nouvelle clé à l’ensemble du réseau. Cette clé sert
de certificat à chacun des nœuds, pour prouver son appartenance au réseau. Si un
nœud non identifié tente de rentrer dans le réseau de capteurs sans fil et qu’il ne
possède pas cette clé de génération, il ne pourra être accepté en son sein. Un autre
intérêt de cette technique est qu’elle permet de limiter les attaques de substitution
d’un capteur et de sa reprogrammation pour être réinjecté dans le réseau.[24]
Un exemple est donné par la figure 5, où quatre capteurs A, B, C, D font partie
d’un réseau de capteurs qui communiquent par clés symétriques par paire de
nœuds. A l’étape I, les capteurs ont pour clé de génération 5. A l’étape II, le nœud
A est subtilisé par un attaquant, et pendant son absence sur le réseau, la base
transmet une nouvelle clé de génération 7.
Figure5 : Détection de nœud malicieux par clé de génération
e) L’indice de confiance et la réputation :
Dans ce type de réseau tout comme dans les réseaux de capteurs sans fil, vu le
nombre de nœuds déployés, il est difficile de savoir, quel nœud peut être un nœud
malicieux. Pour le détecter et conserver l’intégrité du réseau, chaque nœud du
réseau va surveiller ses nœuds voisins et leurs actions au cours du temps. En
fonction des actions réalisées par ses nœuds voisins, un nœud va augmenter une
note de l’indice de confiance de ces nœuds, basée sur sa réputation. Si un nœud ne
répond jamais à une requête, son indice de confiance va diminuer, de la même
manière que si ce nœud retransmet toujours correctement l’information qu’on lui a
demandé de transmettre, son indice de confiance va augmenter.[24]
Ce mécanisme est représenté par la figure 6, où un nœud A doit transmettre une
information à un nœud D. Au lieu de passer par le chemin le plus court qui passe
par X, qui est un nœud avec un indice de confiance faible de 3 (sur une note de
10), et donc est potentiellement un nœud à risque, le nœud A va transmettre
l’information par les nœuds B et C qui avec des indices de confiance de 8 et 9
proposent le chemin le plus sûr.
Figure 6 : Choix de routage par réputation
f) Le contrôle d’accès : La gestion des autorisations et des privilèges d'accès est
essentielle pour garantir que seules les personnes ou les entités autorisées peuvent
accéder aux systèmes d'information de l'IdO.
g) La Détection d’intrusion : Identifiez une activité anormale ou suspecte sur le moniteur
réseau. Ne pas détecter les accès incorrects mais autorisés par les utilisateurs légitimes. Le
problème c'est comment minimiser les taux de faux positifs et de faux négatifs.
1.2 Système de détection d’intrusion :
1.2.1 Définition :
Avant de définir un système de détection d’intrusion, il est commode de définir la
notion d’intrusion : Une intrusion est définie comme étant un accès non autorisé,
autrement dit est un ensemble d'actions d'internes ou externes du réseau qui violent
des aspects de sécurité d'une ressource de réseau ou de système. Un système de
détection d’intrusion est un système qui essaie de détecter et alerter une tentative
d’intrusion système ou réseau. Il est défini aussi comme étant un ensemble d'actions
qui découvrent, analysent et rapportent des activités non autorisées et préjudiciables.
Le but des IDS est de détecter des violations de confidentialité et d'intégrité, et la
disponibilité réduite des ressources. Un IDS surveille le réseau et améliore l'activité de
l'utilisateur pour détecter l’intrusion. [25].*
1.2.2 L’Architecture de base des IDS:
Nous décrivons dans cette section les trois composants qui constituent classiquement
un système de détection d‘intrusion. La Figure ci-dessous illustre les interactions entre
ces trois composants [26] voir figure7.
 Capteur : charge de collecter et filtrer les informations brutes envoyées par la
source de données. Le résultat de ce traitement sera un message formaté,
appelé évènement, après il fait le transfert des évènements à l’analyseur.
 · Analyseur : il est responsable de l’analyser des évènements générés par le
capteur. Et en cas de détection d’une activité indésirable il le signale à
l’administrateur de sécurité. Dans cette architecture, le capteur et l’analyseur
forment ensemble une sonde.
 Manager : Le manager collecte les alertes produites par le capteur, les met en
forme et les présente à l‘opérateur (ou la personne responsable de la sécurité).
Eventuellement, le manager est chargé de la réaction à adopter qui peut être :
o Isolement de l‘attaque, qui a pour but de limiter les effets de l‘attaque
o . Suppression d‘attaque, qui tente d‘arrêter l‘attaque.
o Recouvrement, qui est l‘étape de restauration du système dans un état
sain.
o Diagnostic, qui est la phase d‘identification du problème.
Figure 7 : Architecture de base d’un IDS.[26]
1.2.3 Les types des IDS :
Il existe plusieurs types d'IDS disponibles aujourd'hui, car ils sont jouent un rôle
important dans la capacité de survie du système d’information et préservent sa sécurité
des attaques. Un IDS peut être classé comme :
1.2.3.1 IDS réseau :
L‘IDS réseau (Network IDS ou NIDS) est situé sur un réseau isolé et ne voit
qu‘une copie du trafic, c'est-à-dire des paquets qui circulent sur le réseau. Et en
cas, de détection d‘une menace, le NIDS peut lever des alertes et ordonner les
actions pour le blocage d‘un flux. En termes d‘architecture, le NIDS est situé sur
un réseau isolé et analyse une copie du trafic du réseau à surveiller, entre ses
points d‘entrées et les terminaux du réseau. A noter qu‘il est entièrement passif et
n‘est pas capable de dialoguer avec le réseau surveillé. [27]
1.2.3.2 IDS hôte :
Il y a ensuite les IDS hôte (Host IDS ou HIDS) ou IDS système. Les HIDS (Host
Intrusion Détection System), surveillent l‘état de la sécurité des hôtes selon
différents critères :
 Activité de la machine (comme par exemple le nombre et listes de processus, le
nombre d‘utilisateurs, ressources consommées, etc.).
 Le second critère de surveillance est l‘Activité de l‘utilisateur sur la machine :
horaires et durée des connexions, commandes utilisées, programmes activés, etc.
 Et évidemment le HIDS analyse toute activité potentielle liée à l‘activité d‘un
ver, d‘un virus ou cheval de Troie. En termes d‘architecture, les HIDS sont,
généralement, placés sur des machines sensibles, susceptibles de subir des attaques
et possédantes des données sensibles pour l‘entreprise. Les serveurs web et
applicatifs, peuvent notamment être protèges par un HIDS. [27]
1.2.3.3 IDS hybride :
Les IDS hybrides sont, généralement, utilisés dans un environnement décentralisé,
ils permettent de réunir les informations de diverses sondes placées sur le réseau,
et agissent comme NIDS et/ou HIDS suivant leurs emplacements. Leur appellation
« hybride » provient du fait qu'ils sont capables de réunir aussi bien des
informations provenant d'un système HIDS qu'un NIDS. [27]
1.2.4 Classification des systèmes de détections d’intrusion :
La classification adoptée selon différents critères qui ne sont pas forcément
mutuellement exclusifs n'est pas, elle présente tour à tour et au même niveau les
catégories caractérisant chaque IDS, et utilise les critères suivants (figure 8). [28]
Figure 8 : Taxonomie des systèmes de détection d'intrusions.
• La méthode de détection utilisée (principe).
• Le comportement après détection
• La source des données à analyser.
• La fréquence de l'analyse.
1.2.4.1 Les méthodes d’analyses des systèmes de détections d’intrusion (principe) :
Dans le contexte de la détection d'intrusion, deux techniques principales sont
couramment utilisées par les systèmes de détection des intrusions (IDS). La
première méthode, appelée détection par comportement, repose sur l'analyse des
caractéristiques du comportement normal des systèmes surveillés par le système de
détection d'intrusion. La deuxième méthode, connue sous le nom de détection par
signature, utilise des informations sur les attaques connues pour identifier des
modèles correspondants.
a) Détection par signature (scénario) :
Elle repose sur un ensemble de descriptions d'attaques, également appelées
signatures d'attaque, dans lesquelles ces signatures sont stockés dans la base de
données, il faut que le système de détection d’intrusion contient les informations
sur les vulnérabilités et cherche toute tentative de les exploiter. Dans cette
approche l'IDS reçois un paquet de trafic réseau ensuite, il le compare à des
modèles d'attaque pour détecter s'il est un paquet offensif ou non. [26]
b) Détection par comportement :
Il consiste à créer des modèles du comportement normal d'un système
exploitation, les utilisateurs, les applications ou le réseau, également
appelées des profils. Le profil est basé sur des métriques telles que le taux
de trafic, le nombre de paquets pour chaque protocole, etc. Le profil est
défini par l'administrateur ou est appris par le jeu de données lors de la
phase d'apprentissage du développement d'IDS. Dans cette approche, afin
de détecter des modèles d'activité anormaux, les modèles de profil
prédéfinis sont comparés à ceux réellement utilisés. Les motifs détectés
seront considérés comme des intrusions. [26]
1.4.4.2. Comportement après détection :
Nous pouvons également faire une distinction entre les IDS en se basant sur le type de
réaction lorsqu'une attaque est détectée :
a) Passive :
Généralement, la plupart des systèmes de détection d'intrusions n'apportent qu'une
réponse passive à l'intrusion ; c‘est à dire lorsqu'une attaque est détectée, ils
génèrent une alarme et notifient l'administrateur système par e-mail, message dans
une console, voire même par beeper ou SMS. C'est alors l‘opérateur qui devra
prendre les mesures qui s'imposent.
b) Active:
Des systèmes de détection d'intrusions peuvent, en plus de la notification à
l'opérateur, prendre automatiquement des mesures pour stopper l'attaque en cours.
Par exemple, ils peuvent couper les connexions suspectes ou même, pour une
attaque externe, reconfigurer le pare-feu pour qu'il refuse tout ce qui vient du site
incriminé. Toutefois, il apparait que ce type de fonctionnalité automatique est
potentiellement dangereux car il peut mener à des dénis de service provoqués par
l'IDS.[29]
1.2.4.2 Source des données à analyser :
Les données analysées conduisent à la classification des systèmes de détection
d'intrusion en deux principales catégories : les systèmes de détection d'intrusions
réseau et les systèmes de détection d'intrusions hôtes :
 Les systèmes de détection d'intrusions réseau, relevant de la première
catégorie d'IDS, s'attèlent à filtrer le trafic réseau. Ils sont généralement
déployés à des emplacements stratégiques au sein du réseau, tels que la
zone démilitarisée, un segment du réseau contenant des serveurs internes,
ou juste avant et/ou après un pare-feu.
 Les systèmes de détection d'intrusions hôtes, appartenant à la deuxième
catégorie d'IDS, se consacrent à l'analyse des données de journaux de
sécurité générées par les systèmes d'exploitation et les applications en
cours d'exécution sur les machines. Ces IDS sont installés directement sur
les hôtes du réseau.
1.2.4.3 Fréquence de l'analyse :
Une autre caractéristique des systèmes de détection d'intrusions est leur fréquence
d'utilisation, dans ce cas nous distinguons deux (2) types :
 IDS online (continue): Ce sont des IDS qui font leur analyse des fichiers
d'audit ou des paquets réseau de manière continue ou en permanence afin
de détecter une attaque au moment de sa production, c‘est une détection en
temps réel. Ce type d‘IDS consomme un taux élevé de ressources systèmes
car il faut analyser à la volée tout ce qui se passe sur le système et ce qu‘il
le rend non préférable en cas de ressources précieuses telle que les serveurs
de messagerie par exemple. [28]
 IDS offline (périodique): Ce type d‘IDS fait l‘analyse dans des durées
périodiques afin de détecter des traces d‘attaques au but de modéliser des
signatures d‘attaques pour la base du système, l‘avantage de ce type est
qu‘il ne consomme pas beaucoup de ressources système. Cela peut être
suffisant dans des contextes peu sensibles (nous ferons alors une analyse
journalière, par exemple). L‘inconvénient majeur de ce type est sa
détection tardive des attaques ce qui risque de provoquer des dégâts
dangereux. [28]
1.2.5 Efficacité des IDS :
L‘efficacité d‘un système de détection d‘intrusions est déterminée par les mesures
suivantes :
 Exactitude : Le système de détection d‘intrusions n‘est pas exact s‘il
considère les actions légitimes des utilisateurs comme atypiques ou intrusives
(faux positif).
 Performance : Effectuer une détection en temps réel.
 Tolérance aux pannes : Un système de détection d‘intrusions doit être
résistant aux attaques.
 Rapidité : Un système de détection d‘intrusions doit exécuter et propager son
analyse d‘une manière prompte pour permettre une réaction rapide dans le cas
d‘existence d‘une attaque pour permettre à l‘agent de sécurité de réagir.
 Complétude : La complétude est la capacité d‘un système de détection
d‘intrusion de détecter toutes les attaques.
1.2.6 Limites des IDS :
La plupart des systèmes de détection d'intrusion existants souffrent au moins des deux
problèmes suivants :
 Premièrement, les informations utilisées par le système de détection
d'intrusions sont issues de l'audit des chemins ou des paquets réseau.
Cependant, ces données parcourent un itinéraire complexe depuis leur origine
jusqu'à l'IDS, les rendant vulnérables à la manipulation ou à la destruction par
des attaquants.
 Deuxièmement, le système de détection d'intrusion utilise constamment des
ressources système supplémentaires et il surveille même s'il n'y a pas
d'intrusion, car les composants du système de détection d'intrusion doivent
fonctionner en permanence.
 Troisièmement, parce que les composants d'un système de détection d'intrusion
sont implémentés en tant que programmes séparés, ils sont vulnérables à la
corruption. C'est un problème de fiabilité.
1.2.7 Problématique :
La surveillance des activités et la détection des anomalies deviennent de plus en plus
complexes en raison de la taille et de la complexité croissante des réseaux. Bien que
les systèmes de détection d'intrusions (IDS) aient connu des succès notables en
matière de sécurité réseau, ils présentent également des lacunes telles qu'un taux élevé
de fausses alertes, des délais de détection relativement longs, et une incapacité à
détecter les nouvelles attaques, en plus de la complexité de la gestion de grandes
quantités de données.
1.2.8 Solution proposée :
La solution proposée pour aborder cette problématique consiste à mettre en œuvre des
techniques avancées de machine learning et d'apprentissage automatique
spécifiquement adaptées aux systèmes IoT. Cela implique la collecte de données
pertinentes et la création de modèles de détection d'intrusions intelligents capables de
s'adapter aux variations des données et de réduire le taux de fausses alertes. De plus, il
est nécessaire d'explorer des approches de détection en temps réel pour réduire les
délais de détection. L'utilisation de l'apprentissage en continu et de l'analyse
comportementale peut contribuer à détecter de nouvelles attaques.
1.3 Conclusion :
Dans ce chapitre, nous avons abordé différentes notions concernant l’internet des
objets, est celui de la sécurité, les systèmes de détection d’intrusions(IDS), vu que
c’est notre objectif dans ce mémoire, nous avons détaillé sur leur principe de
fonctionnement et les différentes approches pour la détection d’intrusions, et
finalement on a donné les inconvénients de ce système de détection et la solution
propose. Dans le chapitre qui suit nous présenterons les différentes techniques de
l‘apprentissage automatique ou Machine Learning.
CHAPITRE 2 :
L’apprentissage
automatique
1.1 Introduction :
L'Intelligence Artificielle (IA) englobe un domaine étendu qui cherche à
reproduire le comportement humain, permettant ainsi aux machines d'exceller
dans une variété de tâches telles que la résolution de problèmes, la gestion des
connaissances, la reconnaissance vocale, et bien d'autres. Cette discipline a
connu un bond en avant grâce aux avancées des techniques d'apprentissage
automatique, ouvrant de nouvelles perspectives pour l'IA. Dans ce chapitre,
nous avons présenté machine Learning et ses types et les grandes familles
d'algorithmes pour chaque type. En débutant en détail les concepts
fondamentaux du machine learning, tels que la classification, la régression, et
les méthodes supervisées et non supervisées, qui sont cruciaux pour résoudre
une variété de problèmes de prédiction et de classification. Ensuite, nous
abordons des techniques avancées telles que les réseaux de neurones profonds,
les machines à support de vecteurs (SVM), et les arbres de décision, qui
permettent de relever des défis plus complexes et d'obtenir des résultats plus
précis dans divers domaines.
1.2 Définition:
Arthur Samuel, un pionnier dans le domaine de l’intelligence artificielle et des
jeux vidéo, a inventé le terme "apprentissage automatique". Il a défini
l’apprentissage automatique comme "un domaine d’étude qui donne aux
ordinateurs la capacité d’apprendre sans être explicitement programmés".
L’apprentissage automatique ou machine learning (ML) désigne la capacité
d’un système à acquérir et à intégrer des connaissances par le biais
d’observations à grande échelle, ainsi qu’à s’améliorer et à s’étendre en
apprenant de nouvelles connaissances plutôt qu’en étant programmé avec ces
connaissances
L’objectif visé est de rendre la machine ou l’ordinateur capable d’apporter des
solutions à des problèmes compliqués, par le traitement d’une quantité abusif
d’informations. Cela offre ainsi une possibilité d’analyser et de mettre en
évidence les corrélations qui existent entre deux ou plusieurs situations
données, et de prédire leurs différentes implications. [31]
Figure 9 : Machine Learning.
1.3 Les différents types d’apprentissage :
Il existe plusieurs types de système d’apprentissage et cela varie en fonction du
type de problème que l’on se pose. Il est alors utile de les classer en différentes
catégories. Les systèmes de machine learning peuvent-être classés en fonction
de l’importance et de la nature de la supervision qu’ils requièrent durant la
phase d’entrainement. On distingue alors quatre grandes catégories:
l’apprentissage supervisé, l’apprentissage non supervisé, l’apprentissage semi-
supervisé et l’apprentissage avec renforcement.
1.3.1 Apprentissage supervisé :
La majorité des apprentissages automatiques utilisent un apprentissage
supervisé (supervised Learning). L’apprentissage supervisé consiste à des
variables d’entrée (x) et une variable de sortie (Y). C’est un algorithme qui
apprend une fonction de cartographie de l’entrée à la sortie Y = f (X). [32]
Figure 10: L’apprentissage Supervisé
Dans l'apprentissage supervisé, l'ordinateur est fourni avec des
exemples d'entrées qui sont étiquetés avec les sorties souhaitées. Le but
de cette méthode est que l'algorithme puisse «apprendre» en comparant
sa sortie réelle avec les sorties «enseignées» pour trouver des erreurs et
modifier le modèle en conséquence. L'apprentissage supervisé utilise
donc des modèles pour prédire les valeurs d'étiquettes sur des données
non étiquetées supplémentaires. [33]
1.3.2 L’apprentissage non supervisé :
L’apprentissage non supervisé consiste à ne disposer que de données
d’entrée (X) et pas de variables de sortie correspondantes. L’objectif de
l’apprentissage non supervisé est de modéliser la structure ou la
distribution sous-jacente des données afin d’en apprendre d’avantage
sur les données. On appelle apprentissage non supervisé car,
contrairement à l’apprentissage supervisé ci-dessus, il n’y a pas de
réponse correcte ni d’enseignant. Les algorithmes sont laissés à leurs
propres mécanismes pour découvrir et présenter la structure
intéressante des données. L’apprentissage non supervisé comprend
deux catégories d’algorithmes : Algorithmes de regroupement et
d’association. [32]
Figure 11 : L’apprentissage Non Supervisé
Dans l'apprentissage non supervisé, les données sont non étiquetées, de sorte que
l'algorithme d'apprentissage trouve tout seul des points communs parmi ses données
d'entrée. Les données non étiquetées étant plus abondantes que les données étiquetées,
les méthodes d'apprentissage automatique qui facilitent l'apprentissage non supervisé
sont particulièrement utiles. L'objectif de l'apprentissage non supervisé peut être aussi
simple que de découvrir des modèles cachés dans un ensemble de données, mais il
peut aussi avoir un objectif d'apprentissage des caractéristiques, qui permet à la
machine intelligente de découvrir automatiquement les représentations nécessaires
pour classer les données brutes. [33]
1.3.3 L’apprentissage semi-supervisé :
L’apprentissage semi-supervisé vise à résoudre les problèmes avec
relativement peu de données étiquetées et une grande quantité de
données non étiquetées. L’apprentissage semi-supervisé réduit
également le temps d’étiquetage de grande quantité de données par
rapport à un apprentissage supervisé. Il a été démontré que l'utilisation
de données non-étiquetées, en combinaison avec des données
étiquetées, permet d'améliorer significativement la qualité de
l'apprentissage. Ce type d’apprentissage a pour objectif de classer
certaines des données non étiquetées à l'aide de l'ensemble
d'informations étiquetées. [34]
1.3.4 L’apprentissage par renforcement :
L’apprentissage par renforcement est très différent des types d’apprentissage vus
jusqu’ici. Il consiste à apprendre, à partir d’expériences successives, ce qu’il convient
de faire de façon à trouver la meilleure solution. Le système d’apprentissage, que l’on
appelle ici « agent », interagit avec l’environnement, en sélectionnant et accomplissant
des actions afin de trouver la solution optimale et obtenir en retour des récompenses.
L’agent essaie plusieurs solutions, on parle d’« exploration », observe la réaction de
l’environnement et adapte son comportement, c’est-à-dire les variables pour trouver la
meilleure stratégie. Pour ce type d’apprentissage, les données d’entrainement
proviennent directement de l’environnement. [34]
Figure12 : L’apprentissage par renforcement
1.4 Différence entre classification et régression :
Il existe une distinction significative entre les problèmes de classification et de
régression. La classification implique de prédire une catégorie ou une étiquette,
tandis que la régression vise à prédire une valeur numérique. Avant d'explorer
ces deux concepts en détail, il est pertinent de se familiariser avec le concept
d'approximation de fonction.
1.4.1 Approximation de fonction :
Le terme « modélisation prédictive » (en anglais : Predictive
Modelling) désigne un ensemble de méthodes qui permettent
d’analyser et d’interpréter des données définies afin d’effectuer une
prédiction sur de futurs données. La modélisation prédictive peut être
décrite comme un problème mathématique consistant à approximer une
fonction de mappage f entre les variables prédictives en entrée X et la
variable à prédire Y. C'est ce qu'on appelle un problème
d'approximation de fonction. En règle générale, toutes les tâches
d'approximation de fonctions peuvent être divisées en tâches de
classification et en tâches de régression. [35]
1.4.2 Classification :
La classification est le processus qui consiste à trouver ou à découvrir
un modèle ou une fonction qui aide à séparer les données en plusieurs
classes catégorielles, c’est-à-dire en valeurs discrètes. Dans la
classification, les données sont classées sous différentes étiquettes en
fonction de certains paramètres donnés en entrée, puis les étiquettes
sont prédites pour les données. Le processus de classification traite les
problèmes dans lesquels les données peuvent être divisées en étiquettes
discrètes binaires ou multiples. [35]
1.4.3 Régression :
La régression est un processus consistant à trouver un modèle ou une
fonction permettant de distinguer les données en valeurs réelles
continues au lieu d’utiliser des classes ou des valeurs discrètes. La
régression peut également identifier le mouvement de distribution en
fonction des données historiques. En d’autres termes, la régression sert
à trouver la relation d’une variable par rapport à une ou plusieurs
autres, dans le but d’estimer une valeur (numérique) de sortie à partir
des valeurs d’un ensemble de caractéristiques en entrée. Par exemple,
estimer le prix d’une maison en se basant sur sa surface, nombre des
étages, son emplacement · · · etc. [35]
1.5 Algorithmes utilisés en machine learning :
A) Algorithme de régression :
C’est un processus de recherche d'un modèle ou d'une fonction permettant de
distinguer les données en valeurs réelles continues au lieu d'utiliser des classes
ou des valeurs discrètes. Il peut également identifier le mouvement de
distribution en fonction des données historiques. Parce qu'un modèle prédictif
de régression prédit une quantité, la compétence du modèle doit donc être
signalée comme une erreur dans ces prédictions, il existe 2 types de cet
algorithme :
1. Régression Linéaire :
La régression linéaire est un algorithme d’apprentissage automatique basé sur
l’apprentissage supervisé. Il effectue une tâche de régression. La régression
modélise une valeur de prédiction cible basée sur des variables indépendantes.
Elle est principalement utilisée pour découvrir la relation entre les variables et
les prévisions. Les différents modèles de régression diffèrent en fonction du
type de relation entre les variables dépendantes et indépendantes qu’ils
considèrent, et du nombre de variables indépendantes utilisées. La régression
linéaire a pour but de prédire la valeur d’une variable dépendante (y) en
fonction d’une variable indépendante donnée (x). Ainsi, cette technique de
régression trouve une relation linéaire entre x (entrées) et y (sortie). D’où le
nom de régression linéaire. [37]
2. Régression logistique :
L'algorithme de régression logistique est destiné aux tâches de classification. Nous
utilisons la régression logistique lorsque l'attribut immature est mentionné, et qu'il
existe un ou plusieurs attributs autonomes. Il est similaire à différentes régressions
linéaires. L'objectif de la régression logistique est de trouver le meilleur modèle
approprié pour décrire les relations au sein de la caractéristique dichotomique d'intérêt
et d'un ensemble d'attributs autonomes. Il existe différents types de régressions
logistiques, telles que la régression logistique binaire, multiple, ordonnée, mixte et
conditionnelle. Dans la régression logistique binaire ou binomiale, deux résultats
possibles sont zéro ou un. Si un résultat de la variable dépendante est un résultat
remarquable, alors ce résultat est généralement codé comme « un » et l'autre résultat
noté « zéro ». La régression logistique binomiale utilisera les variables indépendantes
pour prédire les probabilités. La régression logistique multinomiale ou la logistique
multinomiale peut gérer plus de deux variables dépendantes pour représenter une
dépendance catégorielle multiple. La régression logistique ordonnée gère les variables
dépendantes ordinales. [37]
).
B) Algorithme de Classification :
La classification automatique est le processus qui permet d’analyser et
d’organiser un ensemble de données, selon leurs caractéristiques, dans
des classes de similarité. Elle se base principalement sur des
représentations classiques de données dont les limites de traitement
sont connues et, qui dans la plupart du temps, demande un temps de
calcul énorme.
1. k-plus proche voisin (KNN) :
K-Nearest Neighbors (KNN), ou le k-plus proche voisin, est un
algorithme simple d'apprentissage automatique supervisé qui peut
être utilisé pour résoudre des problèmes de classification et de
régression.
Souvent abrégé en k-NN, le k est un entier positif, typiquement
petit. Dans la classification ou la régression, l'entrée consistera en
les k exemples d'entraînement les plus proches dans un espace. [40]
L'algorithme KNN est l'un des plus simples de tous les algorithmes
d'apprentissage automatique. Il est un type d'apprentissage basé sur
l'apprentissage paresseux (lazy Learning). En d'autres termes, il n'y
a pas de phase d'entraînement explicite ou très minime. Cela
signifie que la phase d'entraînement est assez rapide. La méthode
KNN suppose que les données se trouvent dans un espace de
caractéristiques. Cela signifie que les points de données sont dans
un espace métrique. Les données peuvent être des scalaires ou
même des vecteurs multidimensionnels. La méthode des k plus
proches voisins est utilisée pour la classification et la régression.
Dans les deux cas, l'entrée se compose des k données
d’entraînement les plus proches dans l'espace de caractéristiques.
[40]
2. Algorithme les machines à support de vecteurs (SVM) :est un
apprentissage automatique très puissant et polyvalent modèle,
capable d'effectuer la classification linéaire ou non linéaire, la
régression, et même détection des valeurs aberrantes. C'est l'un des
modèles les plus populaires de l’apprentissage automatique «
Machine Learning », et n'importe qui intéressés par cette approche
devraient l'avoir dans leur boîte à outils. Les SVM sont
particulièrement bien adapté à la classification d'ensembles de
données complexes mais de petite ou moyenne taille. L’algorithme
SVM consiste à chercher à la fois l’hyperplan optimal ainsi que de
minimiser les erreurs de classification. [41]
3. Algorithme arbre de décision :
L'arbre de décision est l'une des méthodes souvent utilisées pour la
classification et la prédiction. Un arbre est formé, où chaque nœud
de branche représente un choix entre un certain nombre
d'alternatives et chaque nœud de feuille représente une décision.
Les règles basées sur les données sont représentées par la structure
séquentielle des arbres de décision et elles partitionnent les données
de manière itérative. Elle se compose d'un nœud racine, le nœud
supérieur de l'arbre comprenant toutes les données, d'un nœud de
division, un nœud qui divise les données entre les alternatives et
d'un nœud terminal (ou feuille), un nœud où le résultat ou la
décision finale est disponible. [42]
4. L’algorithme de Naïve Bayes :
Un classificateur Naive Bayes est basé sur la logique probabiliste
qui utilise des algorithmes basés sur le théorème de Bayes. Le
théorème de Bayes est une technique mathématique probabiliste qui
permet de calculer les probabilités conditionnelles d’un événement.
Naive Bayes est une technique de classification basée sur le
théorème de Bayes avec une hypothèse d’indépendance entre les
prédicteurs. Il s’agit de l’un des algorithmes d’apprentissage
automatique les plus simples et les plus efficaces, capable de faire
des prédictions rapides sur la base de la probabilité des données. Il
est essentiellement utilisé pour la classification de textes et de
questions comportant de nombreuses classes. [43]
C) Clustering:
Le clusering est basé sur la théorie de la similitude, c’est-à-dire le
regroupement de données hautement similaires dans les mêmes
clusters et le regroupement de données moins similaires dans
différents clusters. Différent de la classification, le clustering est un
type d’apprentissage non supervisé, Par conséquent, les exigences
relatives aux ensembles de données sont relativement faibles.
Cependant, lors de l’utilisation d’algorithmes de clustering pour
détecter des attaques, il est nécessaire de référencer des
informations externes. [44]
1. K-means (K-moyen) :
L’algorithme K-Means est un algorithme de clustering, qui
regroupe l’ensemble de données non étiquetées en différents
clusters. Ici, K définit le nombre de clusters qui doivent être
créés dans le processus, comme si K = 2, il y aura deux clusters,
et pour K=3, il y aura trois clusters, et ainsi de suite. Il nous
permet de regrouper les données en différents groupes et
constitue un moyen pratique de découvrir les catégories de
groupes dans l’ensemble de données non étiquetées sans avoir
besoin d’entraînement. Il s’agit d’un algorithme basé sur les
centroïdes, où chaque groupe est associé à un centroïde.
L’objectif principal de cet algorithme est de minimiser la
somme des distances entre le point de données et les clusters
correspondants. L’algorithme prend l’ensemble de données non
étiquetées comme entrée, divise l’ensemble de données en un
nombre k de clusters, et répète le processus jusqu’à ce qu’il ne
trouve pas les meilleurs clusters. La valeur de k doit être
prédéterminée dans cet algorithme. [45]
D) Réduction de dimensions :
1. PCA (Analyse des composants principaux) :
Est un algorithme d'apprentissage automatique non supervision qui
tente de réduire la dimensionnalité (nombre de fonctions) au sein d'un
ensemble de données tout en conservant autant d'informations que
possible. L’algorithme PCA consiste à transformer des variables liées
entre elles, vers de nouvelles variables séparées les uns des autres. Ces
nouvelles variables sont nommées les composantes principales, elles
permettent au praticien de réduire le nombre de variables et de rendre
l'information moins redondante.
1.6 Réseaux de neurones artificiels :
Le terme réseau de neurones ou Artificial Neural Networks
(ANNs) est une référence à la neurobiologie. Originalement, ce
concept est inspiré du fonctionnement des neurones du cerveau
humain, apprend essentiellement de l’expérience. Le
fonctionnement exact du cerveau humain est encore un mystère,
mais certains aspects sont connus. En particulier l’élément
fondamental du cerveau est un type spécifique de cellule incapable
de se régénérer. Ces cellules nous fournissent la capacité de nous
rappeler, de penser et de réagir en basant sur des expériences
antérieures.[46]
ANNs se composent d'un certain nombre de nœuds de traitement
interconnectés appelés neurones. Les neurones sont généralement
organisés en une séquence de couches, comprenant une couche
d'entrée, une seule ou un ensemble de couches intermédiaires et
une couche de sortie. La couche d'entrée reçoit les données d'entrée
du réseau mais n'effectue aucun calcul. La couche de sortie donne
la réponse du réseau à l'entrée spécifiée. Les couches
intermédiaires, également appelées couches cachées, sont
généralement connectées aux couches d'entrée et de sortie. Chaque
neurone des couches cachées et de sortie reçoit les signaux de tous
les neurones d'une couche au-dessus, puis effectue une sommation
pondérée et une fonction de transfert des entrées. [47]
Les réseaux de neurones artificiels sont des modèles
d'apprentissage supervisé, généralement adoptés pour les
problèmes de régression et de classification. Il existe de nombreux
algorithmes de réseaux neuronaux différents, notamment les
réseaux de backpropagation, les réseaux de Hopfield, les réseaux
de Kohonen (également appelés cartes auto-organisées) et les
réseaux de théorie de la résonance adaptative. Cependant, le plus
courant est l'algorithme de rétropropagation, également connu sous
le nom de perceptron multicouche. Le réseau de rétropropagation
comporte plusieurs neurones disposés en couches. L'architecture la
plus couramment utilisée est le réseau à trois couches illustré à la
Figure 13. [48]
Figure 13: Exemple simple d’un réseau de neurones artificiel.
Le développement de modèles de réseaux de neurones se fait en deux
étapes : apprentissage et test. Pendant l'entraînement, vous montrez au
réseau de neurones un ensemble d'exemples de l'ensemble
d'entraînement. Chaque exemple a des valeurs des variables
indépendantes ainsi que des variables de réponse. Pendant la
formation, vous montrez les exemples plusieurs fois au réseau de
neurones. A chaque itération, le réseau prédit la réponse. Dans la
phase de propagation vers l'avant de l'apprentissage, chaque nœud
des couches cachées et de sortie calcule une somme pondérée de
ses entrées, puis utilise cette somme pour calculer sa sortie via une
fonction d'activation. La sortie de chaque neurone du réseau de
neurones utilise généralement la fonction d'activation sigmoïde
suivante :
Il existe cependant d'autres fonctions d'activation qui peuvent être
utilisées dans les réseaux de neurones, telles que la gaussienne, la
tangente hyperbolique, le seuil linéaire et même une simple
fonction linéaire. Supposons qu'il y a M nœuds d'entrée. Les poids
de connexion entre les nœuds d'entrée et la première couche cachée
sont notés w1. À chaque nœud caché, la somme pondérée est
donnée par :
Lorsque la somme pondérée est calculée, la fonction d'activation
sigmoïde est calculée comme suit :
Une fois le niveau d'activation du nœud de sortie calculé, l'étape de
propagation vers l'arrière commence. Dans cette phase,
l'algorithme calcule l'erreur de sa prédiction en fonction de la
valeur de réponse réelle. En utilisant la méthode de descente de
gradient, il ajuste les poids de toutes les connexions
proportionnellement à l'erreur. Les poids sont ajustés de manière à
réduire l'erreur la prochaine fois. Après plusieurs itérations, le
réseau de neurones converge vers une solution. Pendant les tests,
vous utilisez simplement le modèle entraîné pour noter les
enregistrements. Pour chaque enregistrement, le réseau de
neurones prédit la valeur de la réponse pour un ensemble donné de
variables d'entrée. Le taux d'apprentissage détermine le taux de
convergence vers une solution. Si le taux d'apprentissage est trop
faible, l'algorithme aura besoin de plus d'itérations d'apprentissage
(et donc de plus de temps) pour converger vers le minimum. En
revanche, si le taux d'apprentissage est trop élevé, l'algorithme
rebondit et peut ne jamais trouver le minimum local. Par
conséquent, le réseau de neurones sera un mauvais prédicteur. Un
autre paramètre important est le nombre de nœuds cachés. La
précision du réseau de neurones peut augmenter avec le nombre de
nœuds cachés. Cependant, cela augmente le temps de traitement et
peut conduire à un sur-ajustement. En général, l'augmentation du
nombre de nœuds cachés ou de couches cachées peut facilement
conduire à un sur-paramétrage, ce qui augmentera le risque de sur-
ajustement. Une règle empirique consiste à commencer par le
nombre de nœuds cachés égal à peu près à la racine carrée du
nombre de nœuds d'entrée. Une autre règle générale est que le
nombre de neurones dans la couche cachée doit être compris entre
la taille de la couche d'entrée et la taille de la couche de sortie. Par
exemple :
(Nombre de nœuds d'entrée + nombre de nœuds de sortie) × 2/3.
Ces règles empiriques ne sont que des points de départ, destinés à
éviter le sur-ajustement; le nombre optimal ne peut être trouvé que
par l'expérimentation et la validation des performances sur les
données de test. [49]
 Le perceptron multicouche :
Multi Layer Perceptron (MLP), ou perceptron multicouches
est un classificateur de type réseaux de neurones qui est
organisé en plusieurs couches, chaque couche étant formée
d’un ou plusieurs neurones formels. Utilisé dans un cas
d’apprentissage supervisé, il utilise l’algorithme de retro
propagation de gradient. [48]
Figure 14 : Fonctionnement d’un neurone artificiel.
La figure juste au-dessus représente le fonctionnement d’un
neurone formel. C’est un composant calculatoire qui fait la somme
pondérée des signaux reçus en entrée, puis on leur applique une
fonction d’activation afin d’obtenir Y. Voici les caractéristiques du
modèle :
• Il comporte une seule couche d’entrée et une seule couche de
sortie.
• Il peut comporter une ou plusieurs couches cachées. • Chaque
neurone est relié uniquement à tous les neurones de la couche
suivante. • Chaque lien de la couche i vers la couche suivante j sert
à propager l’activation ai de i jusqu’à j et qui possède un poids wij
qui détermine l’intensité du signal de la connexion. Chaque unité
de la couche j calcul la somme pondéré de ses entrées :[48]
Puis leur applique une fonction d’activation :
Figure 15 : Structure d'un PMC composé de deux couches cachées.
L’algorithme d’apprentissage consiste à présenter au réseau des entrées et on lui demande de
modifier sa pondération de façon à retrouver la sortie correspondante. D’abord on propage
vers l’avant les entrées jusqu’à obtenir une sortie calculée par le réseau puis on compare cette
sortie avec la sortie désirée, enfin on modifie les poids de telle sorte qu’à la prochaine
itération l’erreur commise entre les sortie réelles et les sortie désirées soit minimisée. On
répète ce processus jusqu’à ce qu’on obtienne une erreur de sortie négligeable. Il a la Capacité
de découvrir les dépendances par lui-même, il est résistance aux bruits par contre c’est un
modèle boite noire qui n’explique pas ses décisions. [50]
1.7 Deep Learning ou l’apprentissage profond :
L’apprentissage profond est une branche de l’apprentissage automatique qui est entièrement
basée sur les réseaux neuronaux artificiels. Comme les réseaux neuronaux vont imiter le
cerveau humain, l’apprentissage profond est également une sorte d’imitation du cerveau
humain. Dans l’apprentissage profond, nous n’avons pas besoin de tout programmer
explicitement. Le concept d’apprentissage profond n’est pas nouveau. Il existe depuis
quelques années maintenant. Il fait l’objet d’un engouement aujourd’hui parce qu’auparavant,
nous ne disposions pas d’une aussi grande puissance de traitement ni de beaucoup de données.
Au cours des 20 dernières années, la puissance de traitement a augmenté de manière
exponentielle, et l’apprentissage profond et l’apprentissage automatique ont fait leur
apparition. Une définition formelle de l’apprentissage profond est la suivante : neurones. Le
cerveau humain compte environ 100 milliards de neurones, et chaque neurone est connecté à
des milliers de ses voisins. La question est de savoir comment recréer ces neurones dans un
ordinateur. Nous créons donc une structure artificielle appelée réseau neuronal artificiel où
nous avons des nœuds ou des neurones. Nous avons certains neurones pour la valeur d’entrée
et d’autres pour la valeur de sortie et entre les deux, il peut y avoir beaucoup de neurones
interconnectés dans la couche cachée. [51]
Figure 16:intelligence Artificielle
1.8 Domaines d’application de l’apprentissage automatique :
L'apprentissage automatique (Machine Learning) est une discipline de l'informatique qui a de
nombreuses applications dans divers domaines. Voici quelques-uns des domaines
d'application de l'apprentissage automatique :
 Médecine et soins de santé :
L'apprentissage automatique est utilisé pour aider les médecins à diagnostiquer des
maladies et à interpréter des images médicales.
 Industrie de la finance :
L’apprentissage automatique gagne en popularité dans le secteur financier. Les banques
utilisent principalement le ML pour trouver des modèles dans les données mais aussi pour
prévenir la fraude.
 Organisation gouvernementale :
Le gouvernement utilise le ML pour gérer la sécurité publique et les services publics.
Prenons l’exemple de la Chine avec la reconnaissance faciale massive. Le
gouvernement utilise l’intelligence artificielle pour empêcher le jaywalker.
 Transport et logistique :
L'apprentissage automatique joue un rôle essentiel dans l'optimisation des
déplacements en permettant la planification efficace des itinéraires de livraison et de
transport. De plus, il apporte des avantages significatifs dans la gestion de la chaîne
d'approvisionnement en prédisant la demande de manière précise et en optimisant la
gestion des stocks, contribuant ainsi à une efficacité accrue dans la gestion logistique
et l'approvisionnement.
 Automatisation :
L’apprentissage automatique, qui fonctionne de manière entièrement autonome dans
n’importe quel domaine sans aucune intervention humaine. Par exemple, des robots
exécutant les étapes essentielles du processus dans les usines de fabrication.
 Sécurité :
L'apprentissage automatique joue un rôle essentiel dans le domaine de la sécurité en
détectant les activités suspectes dans le domaine de la sécurité informatique, tout en
contribuant également à la prévision des zones à haut risque de criminalité, ce qui
renforce la capacité à anticiper et à répondre aux menaces et aux problèmes liés à la
sécurité.
1.9 Conclusion :
Ce chapitre dédié au machine learning a permis une exploration approfondie des
principes fondamentaux de cette discipline en constante évolution. Des concepts de
base tels que la classification, la régression, et les méthodes d'apprentissage supervisé
et non supervisé ont été étudiés, de même que des techniques avancées comme les
réseaux de neurones profonds, les SVM et les arbres de décision. Forts de cette
compréhension approfondie, nous sommes désormais prêts à appliquer ces
connaissances pour résoudre des problèmes concrets et à poursuivre notre voyage dans
l'univers infini de possibilités offert par la machine learning. Le chapitre suivant nous
plongera d’avantage dans le domaine de la détection d'intrusion des systèmes IoT via
machine learning, où nous appliquerons ces concepts pour répondre à des défis
spécifiques et passionnant.
Chapitre 4 :
Évaluation des performances
4.1Introduction :
Ce chapitre se concentre sur l’exploration de la base de données NSL-KDD, largement
utilisée dans la détection d’intrusions. Nous examinons l’efficacité de plusieurs algorithmes
de machine learning tels que l’arbre de décision, le Random forest, l’XG Boost, le Naive
Bayes.... et un algorithme d’apprentissage profond le modèle de Réseau de neurones
convolutionnel (CNN) dans ce domaine. Chaque algorithme est présenté en détail, avec une
évaluation de ses performances et une analyse des résultats obtenus sur la base de données
NSL-KDD. L’objectif est d’évaluer la pertinence et la fiabilité de ces algorithmes pour la
détection d’intrusions.
4.2 Présentation de la base NSL-KDD
4.2.1 Historique :
La base NSL-KDD (Network Security Layer-Knowledge Discovery in Databases) a été fondé
sur l’ensemble de données KDD99, Cette dernière est une base de données qui contient des
connexions TCP/IP extraites de l’ensemble de données d’évaluation des systèmes de détection
d’intrusions. KDD99 été réalisées en 1998 par l’agence de L’armé américain DARPA
(Défense Advanced Research Project Agency) et AFRL (Laboratoire de recherche de l'armée
de l'air), ensuite MIT Lincoln Labs8 a collecté et distribué les ensembles de données pour
l’évaluation du système de détection d'intrusions de réseau informatique. La base NSL-KDD
est un ensemble de données qui représente une version réduite de l'originale KDD 99, proposé
en 2010 par les chercheurs dans le domaine de détection d’intrusions réseaux afin de résoudre
certains problèmes qui ont apparu dans la base KDD 99. NSL-KDD considérée comme un
ensemble de données de référence pour aider les chercheurs à comparer les différentes
méthodes de détection d'intrusions.
FIGURE 4.1 : Evolution du dataset
4.2.2 Description de la Base NSL-KDD :
Bien qu’il soit assez vieux et non une représentation parfaite des réseaux réels existants, il est
en continu un indice qui est utilisé pour comparer les systèmes de détection d’intrusions dans
les recherches communes. Dans la littérature la plus récente, tous les chercheurs utilisent le
NSL-KDD comme ensemble de données de référence [32].
La base de données NSL-KDD contient des enregistrements de connexion TCP/IP (125973
pour l’apprentissage et 22544 pour le test), dont chaque enregistrement est constitué de 41
attributs caractérisant la connexion, et un attribut indiquant la nature de connexion s’il s’agit
d’une attaque ou non. Les quatre catégories d’attaques existantes dans cette base sont :
— Dénis de Services
— Probing
— User to Root
— Remote to User
Le tableau suivant montre l’ensemble des attaques peuvent être inclut dans chaque type :
TABLE 4.1 – Regroupement des attaques dans la base NSL_KDD
4.2.3 Avantages de NSL-KDD :
L'ensemble de données NSL-KDD présente les avantages suivants par rapport à l'ensemble de
données KDD d'origine (KDD 99. [32]:
 Il n'inclut pas les enregistrements redondants dans la rame, de sorte que les classificateurs
ne seront pas biaisés vers des enregistrements plus fréquents.
 Il n'y a pas d'enregistrements en double dans les ensembles de tests proposés; par
conséquent, les performances des apprenants ne sont pas biaisées par les méthodes qui ont de
meilleurs taux de détection sur les enregistrements fréquents.
 Le nombre d'enregistrements sélectionnés dans chaque groupe de niveaux de difficulté est
inversement proportionnel au pourcentage d'enregistrements dans l'ensemble de données
KDD d'origine. En conséquence, les taux de classification des différentes méthodes
d'apprentissage automatique varient dans une plage plus large, ce qui rend plus efficace une
évaluation précise des différentes techniques d'apprentissage.
 Le nombre d'enregistrements dans le train et les ensembles de test est raisonnable, ce
qui rend abordable l'exécution des expériences sur l'ensemble complet sans avoir
besoin de sélectionner au hasard une petite partie. Par conséquent, les résultats
d'évaluation des différents travaux de recherche seront cohérents et comparables.
4.2.4 Contenu de la base de données NSL_KDD :
L’ensemble de données NSL-KDD contient une variété d’attributs, qui peuvent être
utiles pour mesurer les attaques. Le jeu de données NSL-KDD a un certain nombre
d’instance non identiques entre le fichier KDD-test et KDD-train (jeu de donnes de
formation).
TABLE 4.2 – Contenu de la base NSL-KD
NSL-KDD contient 41 attributs plus un attribut classe, ces attributs sont présents dans
le tableau (annexe) accompagnés de leurs descriptions.
4.2.5 Attributs de la base NSL-KDD :
Les 41 attributs de la base NSL-KDD et leurs types de données. Ces attributs peuvent être
classés en trois groupes :
 Les attributs de base : ces attributs décrivent les informations de base d’une connexion,
telles que la durée, les hôtes source et destination, port et flag.
 Les attributs du trafic : ces attributs sont basés sur des statistiques, tels que le nombre de
connexions vers la même machine.
 Les caractéristiques du contenu : ces attributs sont construits à partir de la charge utile
(Data) des paquets du trafic tels que nombre d’échec de connexion et le nombre d’accès aux
fichiers de contrôle.
4.3 Processus de génération du modèle de classification :
Dans ce travail, où on souhaite élaborer un modèle de détection d’intrusions puissant capable
de classifier les connexions TCP/IP en deux catégories : normale ou attaque, on doit passer
par les étapes principales que tout modèle de classification doit les suivre. Ces étapes sont
résumées dans trois phases principales : le prétraitement, l’apprentissage et enfin la phase de
test. On doit passer par les étapes principales que tout modèle de classification doit les suivre :
4.3.1 Les Outils de Développement :
1) Google Colab :
Est un produit de Google Research. Colab permet à quiconque d'écrire et
d'exécuter du code Python arbitraire via le navigateur, et est particulièrement
bien adapté à l'apprentissage automatique, à l'analyse de données et à
l'éducation. Cet outil nous permet de développer en un clin d'œil des
applications de Machine Learning en Python. Pour commencer, tout ce que
nous devons faire est d'avoir un compte Gmail.
Figure 4.2: Logo de google colab
2) Python :
Est un langage de programmation interprété multiplateforme. il favoris Programmation
impérative structurée et orientée objet. C'est une langue libre Haut niveau. Il nécessite
relativement peu de connaissances opérationnelles Utilisation de l'ordinateur. C'est
relativement facile à apprendre. Plus facile tenir en main. Enfin, il est largement utilisé et de
plus en plus utilisé en bio-informatique en machine Learning, big data et science des données,
en analytique Les données.
Figure 4.3:Logo de langage python
4.3.2 Collecte des données :
 Les bibliothèques python utilisées :
La première étape pour concevoir ce système est d’importer toutes les bibliothèques python
nécessaires comme suit :
FIGURE 4.4 – Importation des bibliothèques
Outre sa flexibilité et sa facilité, Python dispose d’une grande diversité de bibliothèques qui
contiennent des modules facilitant différentes tâches, telles que les calculs mathématiques, la
génération de graphiques, etc. Pour notre travail, les bibliothèques nécessaires sont :
 NumPy : c’est une bibliothèque de calcul scientifique qui fournit des outils pour
travailler avec des Tableaux multidimensionnels et effectuer des opérations de calcul
matriciel efficaces.
 Scikit-learn : c’est une bibliothèque pratique et puissante pour l’apprentissage
automatique. Elle est également bien documentée et offre une grande variété
d’exemples et de tutoriels pour aider les utilisateurs à apprendre à l’utiliser.
 Pandas :
Pandas est une excellente bibliothèque pour importer vos tableaux Excel (etautres
formats) dans Python dans le but de tirer des statistiques et de charger votre Dataset
dans Sklearn.
 Matplotlib :Matplotlib est la bibliothèque qui permet de visualiser nos Datasets, nos
fonctions, nos résultats sous forme de graphes, courbes et nuages de points.
 Seaborn : elle est construite sur Matplotlib, une bibliothèque populaire de
visualisation de données, mais elle offre des fonctionnalités supplémentaires qui
facilitent la création de graphiques attrayants et informatifs.
 TensorFlow et Keras : ce sont deux bibliothèques populaires pour le développement
de modèles d’apprentissage automatique et profond en Python.
4..4 Prétraitement :
Le rôle de cette étape est de préparer les données pour qu’elles soient directement
exploitables par les différents modules de traitement (apprentissage, validation et
classification). Le jeu de données de traitement sont trop volumineux et consomment
du temps, et les attributs de l’ensemble de données NSL-KDD sont un mélange
d’attribues continus, discrets et symboliques avec l’intervalle des valeurs très variés
pour cela le prétraitement est nécessaire .il est constitué de plusieurs étapes qui
s’exécutent successivement.
4.4.1 La phase d’acquisition des données :
 Attribuer les noms des colonnes selon la description de dataset :
Comme première étape du prétraitement, l’ensemble de données utilisées
n’a pas les noms ou l’indication de chaque attribut, donc nous avons ajouté
ces colonnes afin de nous aider à mieux détecter et de classer les types
d’intrusion indiqué par le modèle. Voici un extrait du code pour les
colonnes ajoutés à l’ensemble de données(Figure.4.5). Après nous avons
ajouté les colonnes à l’ensemble de données(Figure4.6).
Figure 4.5:Attribuer les noms des colonnes
 Importation des données :
Pour cette étape, nous avons utilisé la base de données NSL-KDD disponible
sur kaggle [32] qu’est une plateforme web organisant des compétitions en
science des données appartenant à Google. Dans cette version on a deux de
fichiers (.csv) simples à lire :
Figure 4.6 : Ajouter les colonnes à l’ensemble de données
4.4.2 Analyse exploratoire de données :
Le tableau de données() du dataset NSL-KDD se compose de trois types d'attributs :
numériques, nominaux et binaires, représentant respectivement des valeurs
quantitatives, des catégories sans ordre spécifique, et des valeurs booléennes. Ces
attributs fournissent des informations diverses sur les connexions réseau, en faisant
une ressource précieuse pour l'analyse de la sécurité informatique.
Le tableau contient des données relatives aux protocoles, services, flags, et d'autres
métriques cruciales pour évaluer la sécurité des connexions réseau.
1) Train :
Le tableau ci-dessous représente les données d’entraînement qui contiennent 22 544
lignes et 41 colonnes :
Figure 4.7 : Échantillon de données des connexions réseau
Ce tableau représente un échantillon de données liées à des connexions réseau. Chaque
ligne du tableau correspond à une connexion réseau unique, et chaque colonne
représente une caractéristique spécifique de cette connexion.
Figure 4.8 : Échantillon de données des connexions réseau avec colonne 'intrusion_flag
Ce tableau conserve les mêmes caractéristiques que le DataFrame initial, telles que la durée
de la connexion, le type de protocole, le service, les octets source et destination, etc.
Cependant, une nouvelle colonne appelée 'intrusion_flag' a été ajoutée pour distinguer les
connexions en deux catégories : intrusions et activités normales.
Cette colonne 'intrusion_flag' est essentielle dans le contexte de notre recherche, car elle
servira de variable cible pour les futurs modèles de détection d'intrusions. Les connexions
associées à des intrusions sont codées avec la valeur 1, tandis que les connexions
correspondant à des activités normales sont codées avec la valeur 0. Cette distinction
permettra de former et d'évaluer les modèles de détection d'intrusions en utilisant des
techniques d'apprentissage automatique.
Figure 4.9 : Répartition des types d'intrusions par catégorie
Les listes dos_intrusion, probe_intrusion, u2r_intrusion, et r2l_intrusion contiennent les
noms des types d'intrusions classifiés en quatre catégories différentes : Denial of Service
(DoS), Probe, User-to-Root (U2R), et Remote-to-Local (R2L).
Chaque liste regroupe les noms d'intrusions associés à la catégorie correspondante.
La liste intrusion_labels est créée pour stocker les étiquettes de classification, où "Normal"
correspond aux connexions normales, "DoS" aux attaques de type Denial of Service, "Probe"
aux sondages ou explorations, "U2R" aux tentatives d'élévation de privilèges, et "R2L" aux
tentatives d'accès à distance.
Figure 4.10 : Encodage de l’attribut intrusion_map
Une nouvelle colonne nommée "intrusion_map" a été ajoutée au DataFrame, servant à
encoder les types d'intrusions en valeurs numériques.
Les connexions normales sont représentées par la valeur 0, tandis que les intrusions sont
codées avec des valeurs correspondant à leurs catégories spécifiques : 1 pour les intrusions de
type DoS, 2 pour les Probe, 3 pour les U2R, et 4 pour les R2L.
Cette transformation simplifie le traitement des intrusions, une étape cruciale pour
l'application d'algorithmes d'apprentissage automatique qui requièrent des données
numériques plutôt que des chaînes de texte. En résumé, cette opération de prétraitement des
données est essentielle pour optimiser la préparation des données en vue de l'apprentissage et
de l'évaluation des modèles de détection d'intrusions.
Figure 4.11 : Répartition des valeurs de 'flag' pour les connexions normales
NV-chapitre-3 (2).doc
NV-chapitre-3 (2).doc
NV-chapitre-3 (2).doc
NV-chapitre-3 (2).doc
NV-chapitre-3 (2).doc
NV-chapitre-3 (2).doc
NV-chapitre-3 (2).doc
NV-chapitre-3 (2).doc
NV-chapitre-3 (2).doc
NV-chapitre-3 (2).doc
NV-chapitre-3 (2).doc

Contenu connexe

Similaire à NV-chapitre-3 (2).doc

les objets connectées.pptx
les objets connectées.pptxles objets connectées.pptx
les objets connectées.pptxAdelGhamki2
 
Club SI & digital les objets connectés 20150227 v1.1
Club SI & digital les objets connectés 20150227 v1.1Club SI & digital les objets connectés 20150227 v1.1
Club SI & digital les objets connectés 20150227 v1.1Hubert Herberstein
 
ashrae_montreal_oct2018.pdf
ashrae_montreal_oct2018.pdfashrae_montreal_oct2018.pdf
ashrae_montreal_oct2018.pdfatfp1
 
Inria | Livre blanc Internet des objets (novembre 2021)
Inria | Livre blanc Internet des objets (novembre 2021)Inria | Livre blanc Internet des objets (novembre 2021)
Inria | Livre blanc Internet des objets (novembre 2021)Inria
 
Econocom - Livre Blanc IoT
Econocom - Livre Blanc IoTEconocom - Livre Blanc IoT
Econocom - Livre Blanc IoTJean-Luc Lemire
 
Demain, l'Internet des objets
Demain, l'Internet des objets Demain, l'Internet des objets
Demain, l'Internet des objets France Stratégie
 
Note d'analyse - Demain, l'Internet des objets
Note d'analyse - Demain, l'Internet des objets Note d'analyse - Demain, l'Internet des objets
Note d'analyse - Demain, l'Internet des objets polenumerique33
 
Iot juin 2017
Iot juin 2017Iot juin 2017
Iot juin 2017SinGuy
 
Séminaire IoT EISTI du 14 avril 2016 avec Open Wide / Smile
Séminaire IoT EISTI du 14 avril 2016 avec Open Wide / SmileSéminaire IoT EISTI du 14 avril 2016 avec Open Wide / Smile
Séminaire IoT EISTI du 14 avril 2016 avec Open Wide / SmileSmile I.T is open
 
Introduction du séminaire IoT EISTI du 14 avril 2016
Introduction du séminaire IoT EISTI du 14 avril 2016Introduction du séminaire IoT EISTI du 14 avril 2016
Introduction du séminaire IoT EISTI du 14 avril 2016Christophe BRUNSCHWEILER
 
L'Internet des Objets : Les priorités des entreprises Françaises
L'Internet des Objets : Les priorités des entreprises FrançaisesL'Internet des Objets : Les priorités des entreprises Françaises
L'Internet des Objets : Les priorités des entreprises FrançaisesJean-Marc Hui Bon Hoa
 
Dodi_Mbuta_L’internet des objets
Dodi_Mbuta_L’internet des objetsDodi_Mbuta_L’internet des objets
Dodi_Mbuta_L’internet des objetsDaniella Mbuta
 
Internet des objets : choses vues
Internet des objets : choses vuesInternet des objets : choses vues
Internet des objets : choses vuesGeraldineBal
 
Compte-rendu conférence "Green Economy : Objets Connectés et Opportunités cré...
Compte-rendu conférence "Green Economy : Objets Connectés et Opportunités cré...Compte-rendu conférence "Green Economy : Objets Connectés et Opportunités cré...
Compte-rendu conférence "Green Economy : Objets Connectés et Opportunités cré...IE-Club
 

Similaire à NV-chapitre-3 (2).doc (20)

Sécurité de l'IoT
Sécurité de l'IoTSécurité de l'IoT
Sécurité de l'IoT
 
Internet Of Things Security
Internet Of Things SecurityInternet Of Things Security
Internet Of Things Security
 
les objets connectées.pptx
les objets connectées.pptxles objets connectées.pptx
les objets connectées.pptx
 
InternetdesObjets
InternetdesObjetsInternetdesObjets
InternetdesObjets
 
Club SI & digital les objets connectés 20150227 v1.1
Club SI & digital les objets connectés 20150227 v1.1Club SI & digital les objets connectés 20150227 v1.1
Club SI & digital les objets connectés 20150227 v1.1
 
ashrae_montreal_oct2018.pdf
ashrae_montreal_oct2018.pdfashrae_montreal_oct2018.pdf
ashrae_montreal_oct2018.pdf
 
Inria | Livre blanc Internet des objets (novembre 2021)
Inria | Livre blanc Internet des objets (novembre 2021)Inria | Livre blanc Internet des objets (novembre 2021)
Inria | Livre blanc Internet des objets (novembre 2021)
 
Internet Of Things
Internet Of Things Internet Of Things
Internet Of Things
 
Econocom - Livre Blanc IoT
Econocom - Livre Blanc IoTEconocom - Livre Blanc IoT
Econocom - Livre Blanc IoT
 
Demain, l'Internet des objets
Demain, l'Internet des objets Demain, l'Internet des objets
Demain, l'Internet des objets
 
Note d'analyse - Demain, l'Internet des objets
Note d'analyse - Demain, l'Internet des objets Note d'analyse - Demain, l'Internet des objets
Note d'analyse - Demain, l'Internet des objets
 
Iot juin 2017
Iot juin 2017Iot juin 2017
Iot juin 2017
 
Internet et ia
Internet et ia Internet et ia
Internet et ia
 
Séminaire IoT EISTI du 14 avril 2016 avec Open Wide / Smile
Séminaire IoT EISTI du 14 avril 2016 avec Open Wide / SmileSéminaire IoT EISTI du 14 avril 2016 avec Open Wide / Smile
Séminaire IoT EISTI du 14 avril 2016 avec Open Wide / Smile
 
Introduction du séminaire IoT EISTI du 14 avril 2016
Introduction du séminaire IoT EISTI du 14 avril 2016Introduction du séminaire IoT EISTI du 14 avril 2016
Introduction du séminaire IoT EISTI du 14 avril 2016
 
Mrnc n7 2019
Mrnc n7 2019Mrnc n7 2019
Mrnc n7 2019
 
L'Internet des Objets : Les priorités des entreprises Françaises
L'Internet des Objets : Les priorités des entreprises FrançaisesL'Internet des Objets : Les priorités des entreprises Françaises
L'Internet des Objets : Les priorités des entreprises Françaises
 
Dodi_Mbuta_L’internet des objets
Dodi_Mbuta_L’internet des objetsDodi_Mbuta_L’internet des objets
Dodi_Mbuta_L’internet des objets
 
Internet des objets : choses vues
Internet des objets : choses vuesInternet des objets : choses vues
Internet des objets : choses vues
 
Compte-rendu conférence "Green Economy : Objets Connectés et Opportunités cré...
Compte-rendu conférence "Green Economy : Objets Connectés et Opportunités cré...Compte-rendu conférence "Green Economy : Objets Connectés et Opportunités cré...
Compte-rendu conférence "Green Economy : Objets Connectés et Opportunités cré...
 

NV-chapitre-3 (2).doc

  • 1. Table des matières : Chapitre 1 : Concepts fondamentaux sur l’internet des objets-------------------------3 INTRODUCTION :.......................................................................................................................... 4 1.1 DEFINITION DE L’INTERNET DES OBJETS (IDO) : .................................................................... 4 1.2. HISTORIQUE DE L’IOT : ........................................................................................................ 5 1.3 PRINCIPES DES IOT : .............................................................................................................. 7 1.2.3 Architecture de l’Internet des objets :------------------------------------------------------ 7 1.2.3.1 Architecture et Standardisation :------------------------------------------------------- 8 1.2.4 Domaines d’application de l’Internet des objets :---------------------------------------- 8 1.2.5 Fonctionnement de l’IdO :------------------------------------------------------------------10 1.2.5.1 Etapes de mise en place d’un IdO :---------------------------------------------------10 1.2.5.2 Composantes de l’IoT :-----------------------------------------------------------------11 1.2.5.3 Technologies de l’IOT : ----------------------------------------------------------------12 1.2.5.4 Protocoles de fonctionnement de L’IOT : -------------------------------------------13 1.2.5.5 LA COMMUNICATION : ------------------------------------------------------------15
  • 2. Table des figures : Figure 1 : Internet des objets...................................................................................................... 5 Figure 2 : Evolution des réseaux informatiques vers l'IdO ........................................................ 6 Figure 3 : Le développement de l’Internet des objets vu par Cisco en 2011 ............................. 6 Figure 4 : Futur de l’IoT........................................................... Error! Bookmark not defined. Figure 5 : Domaines d’applications de l’IOT........................................................................... 10 Figure 6 : Les différentes technologies de communication...................................................... 13
  • 3. Chapitre 1 : Concepts fondamentaux sur l’internet des objets
  • 4. Introduction : L'IdO est une technologie en pleine expansion qui permet à des objets de communiquer entre eux via internet pour offrir des services plus avancés et des expériences utilisateur plus personnalisées. Cependant, l'utilisation de l'IdO comporte des risques pour la sécurité, car ces objets sont souvent vulnérables aux attaques malveillantes, ce qui peut compromettre la vie privée et la sécurité des utilisateurs. Dans ce premier chapitre nous introduisons les principaux concepts de base de l’IdO, notamment sa définition, réseau et caractéristiques, les problèmes informatiques et les attaques. Ensuite, nous présentons les systèmes de détection d'intrusion, leur définition, architecture, classification...etc., et nous terminons par le problème et la solution proposée. 1.1 Définition de l’internet des objets (IdO) : L’internet des objets (IdO) est un réseau intelligent qui connecte tous les objets à l’internet dans le but d’échanger des informations selon des protocoles convenus [1]. Ainsi, n’importe qui peut accéder à n’importe quoi, à tout moment et de n’importe où [2]. Dans le réseau Ido, les choses ou les objets sont connectés sans fil avec de minuscules capteurs intelligents. Les dispositifs IdO peuvent interagir entre eux sans intervention humaine [3]. L’IdO utilise des schémas d’adressage uniques pour interagir avec d’autres objets ou choses et coopérer avec les objets pour créer de nouvelles applications ou de nouveaux services. L’Ido introduit diverses applications telles que les maisons intelligentes, les villes intelligentes, la surveillance de la santé, l’environnement intelligent et l’eau intelligente [4]. Avec le développement des applications IdO soulève de nombreuses questions. Parmi les nombreuses autres questions, celle de la sécurité de l’IdO ne peut être ignorée. Les dispositifs IdO sont accessibles de n’importe où via un réseau non fiable comme l’internet. Les réseaux IdO ne sont donc pas protégés contre un large éventail d’attaques malveillantes. Si les problèmes de sécurité ne sont pas résolus, les informations confidentielles peuvent être divulguées à tout moment. Le problème de la sécurité doit donc être résolu.
  • 5. Figure 1 : Internet des objets 1.2. Historique de l’IoT : Le concept de l’internet des objets apparaît pour la première fois en 1995 dans le livre du fondateur de Microsoft, Bill Gates, « The Road Ahead». Il y mentionne alors ce nouveau concept, sans toutefois attirer l’attention du public puisque le développement d’Internet est alors trop limité [5]. Comme pour de nombreux nouveaux concepts, c’est au (MIT) et plus particulièrement au groupe Auto-ID Center qu’est attribuée l’origine de l’IoT. Pour Cisco Internet Business Solutions Group (IBSG), l’IoT correspond simplement au moment où il y a eu plus « de choses ou d’objets » connectés à Internet que de personnes.
  • 6. Figure 2 : Evolution des réseaux informatiques vers l'IdO En 2003, la population mondiale s’élevait à environ 6,3 milliards d’individus et 500 millions d’appareils étaient connectés à Internet. Le résultat de la division du nombre d’appareils par la population mondiale (0,08) montre qu’il y avait moins d’un appareil connecté par personne [6]. Selon la définition de Cisco IBSG, l’IoT n’existait pas encore en 2003 car le nombre d’objets connectés était relativement faible. En outre, les appareils les plus répandus actuellement, et notamment les Smartphones, faisaient tout juste leur apparition sur le marché [6]. En raison de l’explosion des Smartphones et des tablettes, le nombre d’appareils connectés à Internet a atteint 12,5 milliards en 2010, alors que la population mondiale était de 6,8 milliards. C’est ainsi que le nombre d’appareils connectés par personne est devenu supérieur à 1 (1,84 pour être exact) pour la première fois de l’histoire [6]. Figure 3 : Le développement de l’Internet des objets vu par Cisco en 2011
  • 7. En ce qui concerne l’avenir, Cisco IBSG estime que 50 milliards d’appareils seront connectés à Internet d’ici à 2020. Il est important de noter que ces estimations ne tiennent pas compte des progrès rapides d’Internet ni des avancées technologiques, mais reposent uniquement sur les faits avérés à l’heure actuelle [6]. 1.3 Principes des IoT : L'IoT se compose de plusieurs éléments complémentaires, dont chacun a ses propres caractéristiques. Il permet l'utilisation d'un système d'identification électronique appareils mobiles standard et sans fil, identifiés directement et sans ambiguïté objets physiques et capacité à récupérer, stocker, transmettre et traiter sans interruption données connexes. L'IoT est une combinaison d'innovations et de solutions technologiques récentes existant. Chaque objet est équipé d'une identification électronique unique capable de lire et transporter des données par des protocoles dans le réseau Internet. Cependant, il faut définir la nature d'un objet, sa fonction, sa localisation dans l'espace, son histoire pour créer un lien entre physique et virtuel, les dispositifs technologiques doivent modéliser donc l'environnement réel et rendez-le virtuel. 1.2.3 Architecture de l’Internet des objets : Figure 4 : Futur de l’IoT
  • 8. L'un des défis majeurs dans le domaine technologique pour faciliter l'adoption des systèmes IoT est de concevoir une architecture de référence qui puisse soutenir à la fois les fonctionnalités actuelles et les extensions à venir. À l'heure actuelle, il n'existe pas de modèle d'architecture de référence universel, et élaborer une telle architecture se révèle être une tâche complexe malgré les multiples tentatives de normalisation. 1.2.3.1 Architecture et Standardisation : Les racines de l’IdO remontent aux technologies M2M (machine `a machine) pour le contrôle des processus `à distance. L’IdO qui est aujourd’hui un mélange de plusieurs technologies telles que la RFID, NFC, les capteurs et actionneurs sans fil, le M2M, l’ultrage bande ou 3/4G, IPv6, 6lowPAN, et RPL nécessite la définition d’une archit3cture et des standards afin de faciliter son d´développement dans le futur. L’ETSI propose une architecture découpée en trois domaines distincts, le domaine du réseau d’objets, le domaine du réseau cœur d’accès et le domaine des applications M2M et applications clientes [5].  Le domaine du réseau d’objets : Dans ce domaine, nous trouvons les différentes technologies d’interconnexion des objets M2M, RFID, Bluetooth, et des passerelles vers les réseaux cœur de transport [6]  Le domaine du réseau cœur d’accès : Dans ce domaine, nous trouverons les différentes technologies de réseaux de transport et d’accès comme xDSL, WIMAX, WLAN, 3G/4G, etc. [7].  Le domaine des applications M2M et applications clientes : Ce domaine est composé de plateformes M2M, les Middlewares et API des applications M2M, processus métiers exploitant l‟IdO, etc.[7]. 1.2.4 Domaines d’application de l’Internet des objets : Les objets connectés ont envahi notre quotidien sans même que nous y prêtions attention. De la télé intelligente à la voiture connectée, nos loisirs, nos d´emplacements sont facilités par ces nouveaux outils qui augmentent grandement notre confort. L’utilisation de l’IOT permettra le développement de plusieurs applications intelligentes qui toucheront essentiellement ceux qu’on citera dans ce qui suit, nous citrons brièvement des exemples d’applications de l’IOT:  La domotique :
  • 9. C'est un ensemble de technologies qui permettent à la maison d'être intelligente, de penser par elle-même, et de contrôler divers équipements depuis la même interface (téléphone, panneau) grâce à l'Internet des objets. [8] Elle vise à rendre la vie quotidienne plus pratique, confortable, efficace et sécurisée en permettant la gestion à distance et l'automatisation des équipements domestiques grâce à des dispositifs connectés à Internet.  Le transport : L'Internet des objets (IoT) a le potentiel de sauver des vies, est largement exploité dans le domaine du transport pour des applications telles que la gestion du trafic, le stationnement intelligent, la navigation, la sécurité routière, les véhicules autonomes et la gestion de flotte, entre autres. L'objectif principal est de permettre aux véhicules de communiquer de manière autonome entre eux ou avec des stations de surveillance, dans le but d'éviter les accidents, de réduire la congestion routière et de sauver des vies, tout en favorisant une mobilité plus intelligente, sûre et efficiente.  La santé : En santé, l'IoT surveillera les signes fournir des cliniques aux patients en créant des réseaux personnels et des capteurs médicaux surveiller les constantes biologiques telles que la température corporelle, Tension artérielle et activité respiratoire [9]. L'Internet des objets (IoT) a révolutionné le domaine de la santé en offrant de nouvelles opportunités pour la surveillance, le diagnostic et le traitement des patients. Les dispositifs médicaux connectés, tels que les montres intelligentes, les capteurs de glucose et les tensiomètres, permettent aux professionnels de la santé de collecter des données en temps réel sur l'état de santé des patients, améliorant ainsi la gestion des maladies chroniques.  L’agriculture : Dans ce domaine, des réseaux de capteurs interconnectés l’Internet des objets peut être utilisé pour surveiller l'environnement des cultures.[10] L'IdO est utilisé dans l'agriculture pour la surveillance et la gestion des cultures, l'irrigation intelligente, la gestion des ressources agricoles, la prédiction des conditions météorologiques, etc. Il permet une agriculture plus efficace, durable et basée sur des données.  L’industrie :
  • 10. Dans le domaine de l’IoT industriel permettra un suivi complet des produits, En encadrant de la chaîne de production à la chaîne logistique de distribution conditions de fourniture, lutte contre la contrefaçon, la fraude et la criminalité économie transfrontalière.  Villes intelligentes (Smart City) : Le terme villes intelligentes est utilisé pour désigner l'écosystème cyber [10]. Grâce à des services avancés, il est en effet peut optimiser l'utilisation de l'infrastructure physique de la ville (réseau routes, réseaux électriques, etc.), améliorant ainsi la qualité de vie des personnes citoyen. Figure 5 : Domaines d’applications de l’IOT 1.2.5 Fonctionnement de l’IdO : 1.2.5.1 Etapes de mise en place d’un IdO : Les objets connectés (OC) jouent un rôle central dans l'Internet des objets (IdO). Cependant, pour que l'IdO fonctionne de manière optimale, il est essentiel de connecter tous ces objets, de les amener à échanger des données et à interagir harmonieusement dans un environnement unifié. La mise en place de l'IdO implique plusieurs étapes clés : 1. L’identification : Avant de débuter, comprenez les raisons et objectifs spécifiques de l'adoption de l'IoT, tels que l'amélioration de l'efficacité ou la collecte de données.
  • 11. Pour l'identification, attribuez des adresses IP (IPv4 ou IPv6) à chaque élément connecté, facilitant ainsi leur reconnaissance. 2. Installation des capteurs : Ensuite, des capteurs sont installés pour permettre aux dispositifs de se rapprocher du monde réel en collectant des données à partir de leur environnement. 3. Connexion des objets entre eux : Une connexion est établie entre tous les objets afin de faciliter l'échange d'informations entre eux. Cela peut se faire via divers protocoles de communication tels que SigFox, LoRa, NFC et Bluetooth. 4. Intégration : Les objets sont intégrés pour que les données puissent être transmises efficacement d'une couche à une autre. Des middlewares sont souvent utilisés pour cette intégration. 5. La connexion à un réseau : Relier les objets et leurs données au monde informatique via un réseau internet par exemple en utilisant (HTTP, REST, CoAP, MQTT). [11]. 1.2.5.2 Composantes de l’IoT : l'IoT repose sur cinq composants essentiels qui collaborent pour créer un réseau interconnecté d'objets intelligents. L’objet connecté a pour fonction de collecter des données de capteurs, de traiter ces données et de les communiquer à l’aide de d’une fonction de connectivité et de recevoir des instructions pour exécuter une action. Généralement ces fonctions de l’objet connecté nécessitent une source d'énergie, surtout quand les données sont prétraitées directement dans l’objet. [12]  Capteurs : Les capteurs sont des dispositifs permettant de transformer une grandeur physique observée (température, luminosité, mouvement etc…) en une grandeur digitale utilisable par des logiciels. Il existe une très grande variété de capteurs de tous types, les objets connectés ont souvent la fonction de captation de ces grandeurs physiques sur leurs lieux d’utilisation.[12]  Réseaux de capteurs : Un réseau de capteurs dans l'IoT est un ensemble coordonné de capteurs connectés qui travaillent ensemble pour collecter et transmettre des données, permettant ainsi la surveillance, l'analyse et la prise de décision basée sur les informations collectées. Afin de satisfaire les besoins de communication entre eux, les capteurs sont équipés de dispositifs sans fil pour l’émission et la réception de données. Cela ne suffit cependant pas à rendre un ensemble de
  • 12. capteurs accessibles ou du moins de manière interopérable, transparente et simplifiée pour cela, les capteurs doivent aussi s’organiser ce qui caractérise un réseau de capteurs, c’est que ses éléments sont de très petits appareils, dotes de capacités de transmission sans fil. [11]  Énergie : La durée de vie des dispositifs IoT peut être limitée par leur source d'énergie, qu'il s'agisse de batteries ou d'autres sources. L'optimisation de la consommation d'énergie est essentielle pour prolonger leur utilisation.  Les actionneurs : Les actionneurs sont des dispositifs qui transforment une donnée digitale en phénomène physique pour créer une action, ils sont en quelque sorte l’inverse du capteur. Exemple d’actionneurs : Afficheurs, Alarmes, Caméras, Haut-parleurs, Interrupteurs, Lampes, Moteurs, Pompes, Serrures, Vannes, Ventilateur, Vérins. [12].  Connectivité : La connectivité de l’objet est assurée par une petite antenne Radio Fréquence qui va permettre la communication de l’objet vers un ou plusieurs réseaux (qui sont détaillés dans la section « réseaux IoT »). Les objets pourront d’une part remonter des informations telles que leur identité, leur état, une alerte ou les données de capteurs, et d’autre part recevoir des informations telles que des commandes d’action et des données [12]. Ainsi les dispositifs IoT utilisent différents protocoles de communication pour transmettre les données. Cela peut inclure des réseaux sans fil tels que Wi-Fi et Bluetooth, ainsi que des réseaux basse consommation comme Zigbee et LoRaWAN. 1.2.5.3 Technologies de l’IOT : L'IoT (Internet des objets) est la technologie qui rend possible la connectivité des objets intelligents via Internet. Pour son bon fonctionnement, elle repose sur une multitude de systèmes technologiques. L'IoT englobe différentes solutions techniques, telles que la RFID, le protocole TCP/IP et les technologies mobiles, entre autres. Ces technologies permettent l'identification des objets, la collecte, le stockage, le traitement et le transfert de données. Elles opèrent non seulement dans les environnements physiques, mais également dans la liaison entre le monde réel et les espaces virtuels. En effet, bien qu’il existe plusieurs technologies utilisées dans le fonctionnement de l’iot, nous mettons l’accent seulement sur quelques-unes citées ci-dessous :
  • 13.  RFID : est une technologie sans fil qui est utilisée pour l’identification des objets, elle englobe toutes les technologies qui utilisent des ondes radio pour identifier automatiquement des objets ou des personnes. C’est une technologie qui permet de mémoriser et de récupérer des informations à distance grâce à une étiquette qui émet des ondes radio. Il s’agit d’une méthode utilisée pour transférer les données des étiquettes à des objets, ou pour identifier ces objets à distance. L’étiquette contient des informations stockées électroniquement être lues à distance [8],[13].  WSN : C'est un réseau coopératif, chaque nœud du réseau a un ensemble de caractéristiques telles que : puissance de traitement, différents types de mémoire, Émetteurs-récepteurs RF et alimentations, ainsi que divers capteurs et actionneurs.[14]. Comme son nom l’indique, le WSN constitue un réseau de capteurs sans fil qui peut être une technologie n´nécessaire au fonctionnement de l’IoT.  M2M : C'est la technologie de l'information, combinée à la communication des objets intelligents pour leur donner la possibilité d'interagir sans intervention avec le système d'information d'un organisme ou d'une entreprise [15]. Figure 6 : Les différentes technologies de communication 1.2.5.4 Protocoles de fonctionnement de L’IOT : De nombreuses normes IoT ont été développées par des groupes tels que le W3C, l'IETF, EPCglobal, IEEE et l'ETSI pour faciliter la communication entre les systèmes IoT, simplifiant ainsi la tâche des développeurs et des fournisseurs de services. L'IoT vise à connecter tous les
  • 14. systèmes entre eux à l'aide de protocoles communs, avec une importance particulière accordée à la standardisation de la communication Machine-to-Machine (M2M). Au niveau de la couche de liaison, le standard IEEE 802.15.4 est plus adapté que l’Ethernet aux environnements industriels difficiles.  Au niveau réseau, le standard 6loWPan a réussi a adapter le protocole IPV6 aux communication sans fil entre nœud a très faible consommation.  Au niveau routage, l’IETF a publié en 2011 le standard RPL. - Au niveau de la couche application le protocole CoAP qui tente d’adapter http, beaucoup trop gourmand aux contraintes des communications entre nœuds à faible consommation [16].  MQTT Message Queue Telemetry Transport : Un protocole de messagerie léger et très répandu pour la communication entre dispositifs IoT. Il est efficace en termes de bande passante et convient à de nombreuses applications IoT. Il représente un protocole De messagerie idéal pour les communications IOT et M2M. Il vise à connecter des périphériques et des réseaux intégrés aux applications et au middleware. MQTT Utilise le modèle de publication souscription pour offrir une flexibilité de transition et une simplicité d’implémentation. Il convient aux périphériques à ressources limitées qui utilisent des liens peu fiables ou à faible bande passante. MQTT est construit en haut du protocole TCP.[6]  CoAP ( Constrained Application Protocol ) : CoAP est un protocole de couche application spécialement conçu pour les applications IoT. Il repose sur les fonctionnalités de HTTP, mais il est intrinsèquement associé à UDP plutôt qu'à TCP, ce qui le rend plus adapté aux exigences de l'IoT, notamment la faible consommation d'énergie et la gestion de connexions instables. De plus, CoAP adapte certaines caractéristiques de HTTP pour répondre aux besoins spécifiques de l'IoT, tout en étant basé sur l'architecture REST, qui simplifie l'échange de données entre clients et serveurs par le biais de HTTP. CoAP vise à permettre à de minuscules appareils à faible puissance, le calcul et Les capacités de communication à utiliser les interactions RESTful. Avec CoAP, Les interactions entre services web de l’Internet des PC et de l’Internet des Objets Deviennent bien plus simples à réaliser, une passerelle applicative assez légère Correspondance entre les commandes REST et CoAP se charge de l’adaptation d’un monde à l’autre [6].
  • 15.  XMPP (Protocole de messagerie et de présence extensible) : XMPP Est une Norme de messagerie instantanée IETF (IM) qui est utilisé pour les conversations Multipartis, les appels vocaux et vidéo et la télé présence. Il permet aux utilisateurs De communiquer entre eux en envoyant des messages instantanés sur Internet quel Que soit le système d’exploitation qu’ils utilisent. XMPP permet aux applications De messagerie instantanée d’accéder à l’authentification, au contrôle d’accès, à la Mesure de la confidentialité, au cryptage hop-by-hop et à la compatibilité avec D’autres protocoles. Beaucoup de fonctionnalité XMPP en font un des protocoles Préfères par la plupart des applications de messageries instantanées et pertinentes Dans le cadre de l’IOT. Il fonctionne sur une variété de plateformes basées sur Internet de manière décentralisé. XMPP est sécurisé et permet d’ajouter de Nouvelles applications au-dessus des protocoles de base [6].  AMQP Message avancé Protocole de mise en file d’attente : Il s'agit d'un protocole de couche application ouvert, standardisé pour l'IoT, adapté aux environnements orientés vers les messages. Son fonctionnement implique l'utilisation d'un protocole de transport sécurisé tel que TCP pour l'échange de messages. Ce protocole assure une communication fiable grâce à des mécanismes garantissant la livraison des messages. Il repose sur une architecture basée sur les files d'échanges et les files d'attente, permettant une interopérabilité entre les implémentations AMQP. Les messages peuvent ˆêtre stock ´es dans les files d’attente, puis envoyés au récepteur par la suite. AMQP prend également en charge le modèle de communication publier/souscrire [6]. 1.2.5.5 LA COMMUNICATION : o 3G/4G : Respectivement, la troisième et quatrième génération du réseau de téléphonie mobile qui introduit du très haut débit pouvant aller, en théorie, jusqu'à 150 Mbit/s. o Wifi : Le Wi-Fi, abréviation de "Wireless Fidelity", est un protocole de communication sans fil standardisé par le groupe IEEE 802.11. Fonctionnant à des fréquences de 2,4 ou 5 GHz, il permet la connexion haute débit entre équipements informatiques et appareils mobiles. En raison de sa large couverture dans les bâtiments et de sa capacité à répondre à diverses exigences de connectivité, comme la portée, la vitesse de transfert de données, l'efficacité énergétique et le coût des périphériques, le Wi-Fi est souvent un choix privilégié pour les objets connectés.
  • 16. o Ethernet : Ethernet est une technologie classique qui permet la connexion de réseaux locaux câblés. Elle définit un protocole de couche de liaison de données dans la pile TCP/IP, permettant aux dispositifs réseau de formater et de transmettre des paquets de données pour une communication efficace sur le même segment de réseau local ou de campus. Dans le contexte de l'IoT, Ethernet est utilisé pour connecter des dispositifs IoT fixes via un câblage physique dédié. o Zigbee : (Depuis le livre : ZigBee Network Protocols and Applications) : ZigBee est un standard pour la communication de données entre des périphériques basse consommation normalement associés aux tâches de lecture de capteurs dans divers scénarios, notamment la domotique, les maisons intelligentes et les appareils industriels, et même la surveillance de la santé humaine [17]. o Bluetooth : Le Bluetooth est une technologie sans fil qui permet à des appareils électroniques d’échanger des données à courte distance. Appliquée à la téléphonie mobile, le Bluetooth a eu des répercussions pratiques importantes. Du fait de sa disponibilité généralisée dans les smartphones, le Bluetooth a joué un rôle central dans la révolution de l'IoT - en particulier pour la communication sans fil à courte portée dans les appareils dans lesquels la vie de la batterie est essentielle. [17] o
  • 17. o
  • 18. o 1.1 La sécurité dans l’internet des objets : 1.1.1 Définition : La sécurité informatique est l‘ensemble des moyens matériels et logiciels mis en œuvre pour minimiser la vulnérabilité d‘un système contre des menaces accidentelles ou intentionnelles, permettant ainsi au système de fonctionner normalement et d‘assurer la disponibilité des services attendus. Elle consiste, aussi, à s‘assurer que celui qui modifie ou consulte les données du système en a l‘autorisation et qu‘il peut le faire car le service sollicité est disponible.[18] Sécuriser les données, c'est garantir :[18] a) L'authentification : L’authentification est une fonctionnalité importante et critique dans le contexte de l’IoT pour permettre une communication sécurisée entre les périphériques. En effet, un service d’authentification fournit la preuve que l’identité d’un Objet ou le sujet a l’identité qu’elle prétend avoir.[19] b) La confidentialité : La confidentialité garantit que seules les personnes autorisées peuvent accéder à l'information, préservant ainsi la confidentialité des données échangées entre l'émetteur et le destinataire. Le chiffrement des données est la méthode essentielle pour atteindre cet objectif. c) L’intégrité : L'intégrité des données vise à assurer que les informations demeurent inchangées et non altérées, prévenant ainsi toute modification ou altération non
  • 19. autorisée. Son objectif est de garantir que les données ne sont ni accidentellement ni intentionnellement altérées ou détruites de manière non autorisée. d) Disponibilité : L'objectif de la disponibilité est de garantir que les ressources du système informatique sont accessibles conformément aux normes de performance, assurant des temps d'attente et de service raisonnables. e) Non-répudiation : Non-répudiation permet de garantir qu’une transaction ne peut être niée et qu’un message a bien été envoyé par un émetteur et reçu par un destinataire aucun des deux ne pourra nier l’envoi ou la réception du message.[17] 1.1.2 Problématiques de sécurité liées aux objets connectés : 1.1.2.1 Vulnérabilités et menaces de sécurité dans l’IoT : A cause de la forte intégration de l’IOT, les objets du quotidien deviennent des risques potentiels d’attaque sur la sécurité, l’ubiquité de L’IoT amplifiera les menaces classiques de la sécurité qui pèsent sur les données et les réseaux, de plus l’apparition de nouvelles menaces qui toucheront directement à l’intégrité des objets eux-mêmes, les infrastructures et processus et la privacy des personnes. [20]  Menaces sur les données et les réseaux : Le manque de surveillance et de protection physique des objets connectés peut entraîner des attaques potentielles telles que le vol, la corruption ou la contrefaçon de ces dispositifs, visant à récupérer des données sensibles ou à perturber les réseaux. De plus, les transmissions sans fil sont vulnérables aux attaques d'écoute passive et de déni de service. Les solutions de cryptographie actuelles ne sont souvent pas adaptées aux contraintes de ressources des objets connectés, ce qui nécessite l'adaptation ou la création de nouvelles approches pour garantir la sécurité de ces dispositifs et de leurs réseaux.  Menaces sur la vie privée : De nombreux objets seront intégrés, portés ou même bien installés dans les lieux privés des personnes, ces objets présentent une potentielle menace pour la vie privée ( privacy ) de leurs utilisateurs. En effet, ces appareils électrique non seulement sont traçables, mais peuvent filmer, écouter ou même enregistrer leurs
  • 20. rythmes cardiaque ou respiratoire ainsi que la température du corps ou sa cinématique dans le but d’un malicieux.[20]  Menaces sur le système et les Objets physiques : Des dispositifs malveillants qui se connectent à un réseau ou sont intégrés dans un système complexe ont le potentiel de provoquer des dysfonctionnements, des attaques par déni de service, ou d'autres formes d'atteinte à l'intégrité des données et des informations sensibles du système. Plus grave encore, ils pourraient prendre le contrôle du système et causer des dommages significatifs. 1.1.2.2 Attaques dans l’IoT : L'Internet des objets (IoT) présente une vulnérabilité significative à diverses attaques. Parmi celles-ci, on retrouve des attaques visant les schémas d'authentification à distance, telles que les attaques par dictionnaire, l'homme du milieu, la récupération de texte en clair, la perte de carte à puce, la modification de données, le déni de service (DoS), la divulgation de clé de session, et l'usurpation d'identité, entre autres. Ces attaques peuvent perturber l'accès légitime à un système dans un but précis. 1.1.2.2.1 Classification des attaques visant les objets connectés: La classification des attaques visant l'Internet des objets (IoT) inclut généralement deux catégories principales : les attaques passives, telles que l'espionnage et l'interception de données, et les attaques actives, comme les tentatives de perturbation du fonctionnement des dispositifs IoT ou de prise de contrôle non autorisée. A. Attaques passives : Les attaques passives consistent à écouter et à surveiller les transmissions sur un canal. Le but de l’attaquant est d’intercepter les informations transmises. Il y a deux types d’attaques passives : La lecture du message et l’analyse du trafic.  Lecture du message : Les données sont envoyées en claire (conversation téléphoniques, emails, fichier, etc.).Ces données peuvent contenir des informations sensibles ou confidentielles pour empêcher la lecture des messages, on peut utiliser le cryptage.[17]  Analyse du trafic : Si les messages sont illisibles, l’adversaire ne peut pas les lire mais peut analyser le trafic, l’adversaire peut déterminer l’emplacement et l’identité des hôtes de la communication et peut observer la fréquence et la
  • 21. longueur des messages échangés. Ces informations peuvent être utiles à deviner la nature de la communication qui se déroule.[17] B. Attaques actives : Cela inclut la modification ou la destruction de ressources système de manière non autorisée. Ce type d'attaque est plus dangereux modification que le premier et peut causer des dommages (usurpation d'identité, , déni de service, etc.).  Usurpation de l’adresse IP (IP spoofing) : c’est lorsqu’une entité malveillante réussit à se faire passer pour une autre, obtenant ainsi les droits d’accès et les avantages de la victime.[21]  Rejeu (Replay) : c’est quand un utilisateur malicieux copie et renvoie un ou plusieurs message(s) déjà transmis afin d’exploiter les vulnérabilités du système.[21]  Modification des messages : Cette attaque implique la modification du contenu du message original, ou que les messages sont retardés ou réordonnés pour produire un effet non autorisé.  Le dénis de service ou DOS (Denial Of Service): Ce type d'attaque est une tentative de rendre une machine ou une ressource réseau indisponible pour les utilisateurs auxquels elle est destinée. En raison de capacités mémoire insuffisantes et de ressources de calcul limitées, la majorité des périphériques dans l'IoT sont vulnérables aux attaques d’environnement.[22]  Man in the middle : Le concept de Man-in-the-Middle (MITM) désigne une attaque menée par un pirate informatique qui cherche à interrompre et intercepter une communication entre deux systèmes distincts. Ce type d’attaque peut être dangereux, car le pirate informatique intercepte discrètement les messages entre deux parties pour les retransmettre, alors qu’elles pensent communiquer directement entre elles.[22] 1.1.3 Technique et mécanismes de sécurisation : Le concept de sécurité englobe divers aspects essentiels. Tout d'abord, il englobe la prestation de services fondamentaux tels que la confidentialité, l'authentification, l'intégrité, l'autorisation, la non-répudiation et la disponibilité. Ces services de sécurité
  • 22. sont souvent implémentés en utilisant différentes techniques cryptographiques, comme les algorithmes de chiffrement, les fonctions de hachage, et les algorithmes de signature. La gestion des clés cryptographiques est cruciale pour soutenir ces mécanismes. Cependant, la sécurité ne se limite pas seulement à la fourniture de ces services, elle doit également considérer leur intégration dans le système global et leur mise en œuvre efficace dans l'ensemble des fonctionnalités de sécurité. a) La cryptographie : La cryptographie est sans doute la technique la plus utilisée dans le cadre des réseaux filaires et des réseaux sans fil traditionnels disposant d’une capacité de calcul et de mémoire conséquente. Les solutions de cryptographie sont réputées comme des solutions sures qui répondent à l’ensemble des problèmes liés à la sécurité des données. Les spécificités des réseaux de capteurs, à savoir une faible puissance de calcul et une mémoire limitée à laquelle se rajoute la problématique de préservation de l’énergie, sont des freins considérables `a l’utilisation des systèmes cryptographiques courants réputés surs (SSL, RSA, etc.).[23] b) La signature : Procédé d’identification du signataire d’un document électronique, basé sur l’utilisation d’un algorithme de chiffrement, qui permet de vérifier l’intégrité du document et d’en assurer la non-répudiation. Le système de signature peut signer un nombre illimité de messages et la taille de la signature augmente logarithmiquement en fonction du nombre de messages signés. La taille de la signature dans un système typique peut varier de quelques centaines d’octets à quelques kilo-octets, et la génération d’une signature peut nécessiter quelques centaines à quelques milliers de calculs de la fonction de cryptage classique sous- jacente.[23] c) La fonction de hachage ou le partitionnement des données : Comme son nom l’indique le but est de découper l’information en plusieurs parties. Si un capteur cherche à envoyer une information, celui-ci va la découper en plusieurs paquets de taille fixe. Chaque paquet sera ensuite envoyé sur des chemins différents, c’est à dire qu’ils ne passeront pas par la même route et donc pas par les mêmes nœuds. Ces paquets seront finalement reçus par la base, qui pourra ensuite les rassembler pour pouvoir reproduire l’information. Ce mécanisme oblige un attaquant à récupérer l’ensemble des paquets s’il veut pouvoir lire l’information. Il doit aussi être capable d’écouter l’ensemble du réseau, pour récupérer les différents paquets qui circulent sur des chemins différents. [24]
  • 23. Un exemple de cette solution est représentée par la figure 4, où un capteur A divise un message en 3 paquets qui vont suivre respectivement 3 chemins différents. Figure4 : Exemple de partitionnement d) Génération de clés d’authentification dynamique : A chaque période ou génération, la base envoie une nouvelle clé à l’ensemble du réseau. Cette clé sert de certificat à chacun des nœuds, pour prouver son appartenance au réseau. Si un nœud non identifié tente de rentrer dans le réseau de capteurs sans fil et qu’il ne possède pas cette clé de génération, il ne pourra être accepté en son sein. Un autre intérêt de cette technique est qu’elle permet de limiter les attaques de substitution d’un capteur et de sa reprogrammation pour être réinjecté dans le réseau.[24] Un exemple est donné par la figure 5, où quatre capteurs A, B, C, D font partie d’un réseau de capteurs qui communiquent par clés symétriques par paire de nœuds. A l’étape I, les capteurs ont pour clé de génération 5. A l’étape II, le nœud A est subtilisé par un attaquant, et pendant son absence sur le réseau, la base transmet une nouvelle clé de génération 7.
  • 24. Figure5 : Détection de nœud malicieux par clé de génération e) L’indice de confiance et la réputation : Dans ce type de réseau tout comme dans les réseaux de capteurs sans fil, vu le nombre de nœuds déployés, il est difficile de savoir, quel nœud peut être un nœud malicieux. Pour le détecter et conserver l’intégrité du réseau, chaque nœud du réseau va surveiller ses nœuds voisins et leurs actions au cours du temps. En fonction des actions réalisées par ses nœuds voisins, un nœud va augmenter une note de l’indice de confiance de ces nœuds, basée sur sa réputation. Si un nœud ne répond jamais à une requête, son indice de confiance va diminuer, de la même manière que si ce nœud retransmet toujours correctement l’information qu’on lui a demandé de transmettre, son indice de confiance va augmenter.[24] Ce mécanisme est représenté par la figure 6, où un nœud A doit transmettre une information à un nœud D. Au lieu de passer par le chemin le plus court qui passe par X, qui est un nœud avec un indice de confiance faible de 3 (sur une note de 10), et donc est potentiellement un nœud à risque, le nœud A va transmettre l’information par les nœuds B et C qui avec des indices de confiance de 8 et 9 proposent le chemin le plus sûr. Figure 6 : Choix de routage par réputation
  • 25. f) Le contrôle d’accès : La gestion des autorisations et des privilèges d'accès est essentielle pour garantir que seules les personnes ou les entités autorisées peuvent accéder aux systèmes d'information de l'IdO. g) La Détection d’intrusion : Identifiez une activité anormale ou suspecte sur le moniteur réseau. Ne pas détecter les accès incorrects mais autorisés par les utilisateurs légitimes. Le problème c'est comment minimiser les taux de faux positifs et de faux négatifs. 1.2 Système de détection d’intrusion : 1.2.1 Définition : Avant de définir un système de détection d’intrusion, il est commode de définir la notion d’intrusion : Une intrusion est définie comme étant un accès non autorisé, autrement dit est un ensemble d'actions d'internes ou externes du réseau qui violent des aspects de sécurité d'une ressource de réseau ou de système. Un système de détection d’intrusion est un système qui essaie de détecter et alerter une tentative d’intrusion système ou réseau. Il est défini aussi comme étant un ensemble d'actions qui découvrent, analysent et rapportent des activités non autorisées et préjudiciables. Le but des IDS est de détecter des violations de confidentialité et d'intégrité, et la disponibilité réduite des ressources. Un IDS surveille le réseau et améliore l'activité de l'utilisateur pour détecter l’intrusion. [25].* 1.2.2 L’Architecture de base des IDS: Nous décrivons dans cette section les trois composants qui constituent classiquement un système de détection d‘intrusion. La Figure ci-dessous illustre les interactions entre ces trois composants [26] voir figure7.  Capteur : charge de collecter et filtrer les informations brutes envoyées par la source de données. Le résultat de ce traitement sera un message formaté, appelé évènement, après il fait le transfert des évènements à l’analyseur.  · Analyseur : il est responsable de l’analyser des évènements générés par le capteur. Et en cas de détection d’une activité indésirable il le signale à l’administrateur de sécurité. Dans cette architecture, le capteur et l’analyseur forment ensemble une sonde.  Manager : Le manager collecte les alertes produites par le capteur, les met en forme et les présente à l‘opérateur (ou la personne responsable de la sécurité). Eventuellement, le manager est chargé de la réaction à adopter qui peut être : o Isolement de l‘attaque, qui a pour but de limiter les effets de l‘attaque
  • 26. o . Suppression d‘attaque, qui tente d‘arrêter l‘attaque. o Recouvrement, qui est l‘étape de restauration du système dans un état sain. o Diagnostic, qui est la phase d‘identification du problème. Figure 7 : Architecture de base d’un IDS.[26] 1.2.3 Les types des IDS : Il existe plusieurs types d'IDS disponibles aujourd'hui, car ils sont jouent un rôle important dans la capacité de survie du système d’information et préservent sa sécurité des attaques. Un IDS peut être classé comme : 1.2.3.1 IDS réseau : L‘IDS réseau (Network IDS ou NIDS) est situé sur un réseau isolé et ne voit qu‘une copie du trafic, c'est-à-dire des paquets qui circulent sur le réseau. Et en cas, de détection d‘une menace, le NIDS peut lever des alertes et ordonner les actions pour le blocage d‘un flux. En termes d‘architecture, le NIDS est situé sur un réseau isolé et analyse une copie du trafic du réseau à surveiller, entre ses points d‘entrées et les terminaux du réseau. A noter qu‘il est entièrement passif et n‘est pas capable de dialoguer avec le réseau surveillé. [27] 1.2.3.2 IDS hôte : Il y a ensuite les IDS hôte (Host IDS ou HIDS) ou IDS système. Les HIDS (Host Intrusion Détection System), surveillent l‘état de la sécurité des hôtes selon différents critères :
  • 27.  Activité de la machine (comme par exemple le nombre et listes de processus, le nombre d‘utilisateurs, ressources consommées, etc.).  Le second critère de surveillance est l‘Activité de l‘utilisateur sur la machine : horaires et durée des connexions, commandes utilisées, programmes activés, etc.  Et évidemment le HIDS analyse toute activité potentielle liée à l‘activité d‘un ver, d‘un virus ou cheval de Troie. En termes d‘architecture, les HIDS sont, généralement, placés sur des machines sensibles, susceptibles de subir des attaques et possédantes des données sensibles pour l‘entreprise. Les serveurs web et applicatifs, peuvent notamment être protèges par un HIDS. [27] 1.2.3.3 IDS hybride : Les IDS hybrides sont, généralement, utilisés dans un environnement décentralisé, ils permettent de réunir les informations de diverses sondes placées sur le réseau, et agissent comme NIDS et/ou HIDS suivant leurs emplacements. Leur appellation « hybride » provient du fait qu'ils sont capables de réunir aussi bien des informations provenant d'un système HIDS qu'un NIDS. [27] 1.2.4 Classification des systèmes de détections d’intrusion : La classification adoptée selon différents critères qui ne sont pas forcément mutuellement exclusifs n'est pas, elle présente tour à tour et au même niveau les catégories caractérisant chaque IDS, et utilise les critères suivants (figure 8). [28] Figure 8 : Taxonomie des systèmes de détection d'intrusions. • La méthode de détection utilisée (principe). • Le comportement après détection • La source des données à analyser.
  • 28. • La fréquence de l'analyse. 1.2.4.1 Les méthodes d’analyses des systèmes de détections d’intrusion (principe) : Dans le contexte de la détection d'intrusion, deux techniques principales sont couramment utilisées par les systèmes de détection des intrusions (IDS). La première méthode, appelée détection par comportement, repose sur l'analyse des caractéristiques du comportement normal des systèmes surveillés par le système de détection d'intrusion. La deuxième méthode, connue sous le nom de détection par signature, utilise des informations sur les attaques connues pour identifier des modèles correspondants. a) Détection par signature (scénario) : Elle repose sur un ensemble de descriptions d'attaques, également appelées signatures d'attaque, dans lesquelles ces signatures sont stockés dans la base de données, il faut que le système de détection d’intrusion contient les informations sur les vulnérabilités et cherche toute tentative de les exploiter. Dans cette approche l'IDS reçois un paquet de trafic réseau ensuite, il le compare à des modèles d'attaque pour détecter s'il est un paquet offensif ou non. [26] b) Détection par comportement : Il consiste à créer des modèles du comportement normal d'un système exploitation, les utilisateurs, les applications ou le réseau, également appelées des profils. Le profil est basé sur des métriques telles que le taux de trafic, le nombre de paquets pour chaque protocole, etc. Le profil est défini par l'administrateur ou est appris par le jeu de données lors de la phase d'apprentissage du développement d'IDS. Dans cette approche, afin de détecter des modèles d'activité anormaux, les modèles de profil prédéfinis sont comparés à ceux réellement utilisés. Les motifs détectés seront considérés comme des intrusions. [26] 1.4.4.2. Comportement après détection : Nous pouvons également faire une distinction entre les IDS en se basant sur le type de réaction lorsqu'une attaque est détectée : a) Passive : Généralement, la plupart des systèmes de détection d'intrusions n'apportent qu'une réponse passive à l'intrusion ; c‘est à dire lorsqu'une attaque est détectée, ils génèrent une alarme et notifient l'administrateur système par e-mail, message dans
  • 29. une console, voire même par beeper ou SMS. C'est alors l‘opérateur qui devra prendre les mesures qui s'imposent. b) Active: Des systèmes de détection d'intrusions peuvent, en plus de la notification à l'opérateur, prendre automatiquement des mesures pour stopper l'attaque en cours. Par exemple, ils peuvent couper les connexions suspectes ou même, pour une attaque externe, reconfigurer le pare-feu pour qu'il refuse tout ce qui vient du site incriminé. Toutefois, il apparait que ce type de fonctionnalité automatique est potentiellement dangereux car il peut mener à des dénis de service provoqués par l'IDS.[29] 1.2.4.2 Source des données à analyser : Les données analysées conduisent à la classification des systèmes de détection d'intrusion en deux principales catégories : les systèmes de détection d'intrusions réseau et les systèmes de détection d'intrusions hôtes :  Les systèmes de détection d'intrusions réseau, relevant de la première catégorie d'IDS, s'attèlent à filtrer le trafic réseau. Ils sont généralement déployés à des emplacements stratégiques au sein du réseau, tels que la zone démilitarisée, un segment du réseau contenant des serveurs internes, ou juste avant et/ou après un pare-feu.  Les systèmes de détection d'intrusions hôtes, appartenant à la deuxième catégorie d'IDS, se consacrent à l'analyse des données de journaux de sécurité générées par les systèmes d'exploitation et les applications en cours d'exécution sur les machines. Ces IDS sont installés directement sur les hôtes du réseau. 1.2.4.3 Fréquence de l'analyse : Une autre caractéristique des systèmes de détection d'intrusions est leur fréquence d'utilisation, dans ce cas nous distinguons deux (2) types :  IDS online (continue): Ce sont des IDS qui font leur analyse des fichiers d'audit ou des paquets réseau de manière continue ou en permanence afin de détecter une attaque au moment de sa production, c‘est une détection en temps réel. Ce type d‘IDS consomme un taux élevé de ressources systèmes car il faut analyser à la volée tout ce qui se passe sur le système et ce qu‘il
  • 30. le rend non préférable en cas de ressources précieuses telle que les serveurs de messagerie par exemple. [28]  IDS offline (périodique): Ce type d‘IDS fait l‘analyse dans des durées périodiques afin de détecter des traces d‘attaques au but de modéliser des signatures d‘attaques pour la base du système, l‘avantage de ce type est qu‘il ne consomme pas beaucoup de ressources système. Cela peut être suffisant dans des contextes peu sensibles (nous ferons alors une analyse journalière, par exemple). L‘inconvénient majeur de ce type est sa détection tardive des attaques ce qui risque de provoquer des dégâts dangereux. [28] 1.2.5 Efficacité des IDS : L‘efficacité d‘un système de détection d‘intrusions est déterminée par les mesures suivantes :  Exactitude : Le système de détection d‘intrusions n‘est pas exact s‘il considère les actions légitimes des utilisateurs comme atypiques ou intrusives (faux positif).  Performance : Effectuer une détection en temps réel.  Tolérance aux pannes : Un système de détection d‘intrusions doit être résistant aux attaques.  Rapidité : Un système de détection d‘intrusions doit exécuter et propager son analyse d‘une manière prompte pour permettre une réaction rapide dans le cas d‘existence d‘une attaque pour permettre à l‘agent de sécurité de réagir.  Complétude : La complétude est la capacité d‘un système de détection d‘intrusion de détecter toutes les attaques. 1.2.6 Limites des IDS : La plupart des systèmes de détection d'intrusion existants souffrent au moins des deux problèmes suivants :  Premièrement, les informations utilisées par le système de détection d'intrusions sont issues de l'audit des chemins ou des paquets réseau. Cependant, ces données parcourent un itinéraire complexe depuis leur origine jusqu'à l'IDS, les rendant vulnérables à la manipulation ou à la destruction par des attaquants.
  • 31.  Deuxièmement, le système de détection d'intrusion utilise constamment des ressources système supplémentaires et il surveille même s'il n'y a pas d'intrusion, car les composants du système de détection d'intrusion doivent fonctionner en permanence.  Troisièmement, parce que les composants d'un système de détection d'intrusion sont implémentés en tant que programmes séparés, ils sont vulnérables à la corruption. C'est un problème de fiabilité. 1.2.7 Problématique : La surveillance des activités et la détection des anomalies deviennent de plus en plus complexes en raison de la taille et de la complexité croissante des réseaux. Bien que les systèmes de détection d'intrusions (IDS) aient connu des succès notables en matière de sécurité réseau, ils présentent également des lacunes telles qu'un taux élevé de fausses alertes, des délais de détection relativement longs, et une incapacité à détecter les nouvelles attaques, en plus de la complexité de la gestion de grandes quantités de données. 1.2.8 Solution proposée : La solution proposée pour aborder cette problématique consiste à mettre en œuvre des techniques avancées de machine learning et d'apprentissage automatique spécifiquement adaptées aux systèmes IoT. Cela implique la collecte de données pertinentes et la création de modèles de détection d'intrusions intelligents capables de s'adapter aux variations des données et de réduire le taux de fausses alertes. De plus, il est nécessaire d'explorer des approches de détection en temps réel pour réduire les délais de détection. L'utilisation de l'apprentissage en continu et de l'analyse comportementale peut contribuer à détecter de nouvelles attaques.
  • 32. 1.3 Conclusion : Dans ce chapitre, nous avons abordé différentes notions concernant l’internet des objets, est celui de la sécurité, les systèmes de détection d’intrusions(IDS), vu que c’est notre objectif dans ce mémoire, nous avons détaillé sur leur principe de fonctionnement et les différentes approches pour la détection d’intrusions, et finalement on a donné les inconvénients de ce système de détection et la solution propose. Dans le chapitre qui suit nous présenterons les différentes techniques de l‘apprentissage automatique ou Machine Learning.
  • 34. 1.1 Introduction : L'Intelligence Artificielle (IA) englobe un domaine étendu qui cherche à reproduire le comportement humain, permettant ainsi aux machines d'exceller dans une variété de tâches telles que la résolution de problèmes, la gestion des connaissances, la reconnaissance vocale, et bien d'autres. Cette discipline a connu un bond en avant grâce aux avancées des techniques d'apprentissage automatique, ouvrant de nouvelles perspectives pour l'IA. Dans ce chapitre, nous avons présenté machine Learning et ses types et les grandes familles d'algorithmes pour chaque type. En débutant en détail les concepts fondamentaux du machine learning, tels que la classification, la régression, et les méthodes supervisées et non supervisées, qui sont cruciaux pour résoudre une variété de problèmes de prédiction et de classification. Ensuite, nous abordons des techniques avancées telles que les réseaux de neurones profonds, les machines à support de vecteurs (SVM), et les arbres de décision, qui permettent de relever des défis plus complexes et d'obtenir des résultats plus précis dans divers domaines. 1.2 Définition: Arthur Samuel, un pionnier dans le domaine de l’intelligence artificielle et des jeux vidéo, a inventé le terme "apprentissage automatique". Il a défini l’apprentissage automatique comme "un domaine d’étude qui donne aux ordinateurs la capacité d’apprendre sans être explicitement programmés". L’apprentissage automatique ou machine learning (ML) désigne la capacité d’un système à acquérir et à intégrer des connaissances par le biais d’observations à grande échelle, ainsi qu’à s’améliorer et à s’étendre en apprenant de nouvelles connaissances plutôt qu’en étant programmé avec ces connaissances L’objectif visé est de rendre la machine ou l’ordinateur capable d’apporter des solutions à des problèmes compliqués, par le traitement d’une quantité abusif d’informations. Cela offre ainsi une possibilité d’analyser et de mettre en
  • 35. évidence les corrélations qui existent entre deux ou plusieurs situations données, et de prédire leurs différentes implications. [31] Figure 9 : Machine Learning. 1.3 Les différents types d’apprentissage : Il existe plusieurs types de système d’apprentissage et cela varie en fonction du type de problème que l’on se pose. Il est alors utile de les classer en différentes catégories. Les systèmes de machine learning peuvent-être classés en fonction de l’importance et de la nature de la supervision qu’ils requièrent durant la phase d’entrainement. On distingue alors quatre grandes catégories: l’apprentissage supervisé, l’apprentissage non supervisé, l’apprentissage semi- supervisé et l’apprentissage avec renforcement. 1.3.1 Apprentissage supervisé : La majorité des apprentissages automatiques utilisent un apprentissage supervisé (supervised Learning). L’apprentissage supervisé consiste à des variables d’entrée (x) et une variable de sortie (Y). C’est un algorithme qui apprend une fonction de cartographie de l’entrée à la sortie Y = f (X). [32] Figure 10: L’apprentissage Supervisé
  • 36. Dans l'apprentissage supervisé, l'ordinateur est fourni avec des exemples d'entrées qui sont étiquetés avec les sorties souhaitées. Le but de cette méthode est que l'algorithme puisse «apprendre» en comparant sa sortie réelle avec les sorties «enseignées» pour trouver des erreurs et modifier le modèle en conséquence. L'apprentissage supervisé utilise donc des modèles pour prédire les valeurs d'étiquettes sur des données non étiquetées supplémentaires. [33] 1.3.2 L’apprentissage non supervisé : L’apprentissage non supervisé consiste à ne disposer que de données d’entrée (X) et pas de variables de sortie correspondantes. L’objectif de l’apprentissage non supervisé est de modéliser la structure ou la distribution sous-jacente des données afin d’en apprendre d’avantage sur les données. On appelle apprentissage non supervisé car, contrairement à l’apprentissage supervisé ci-dessus, il n’y a pas de réponse correcte ni d’enseignant. Les algorithmes sont laissés à leurs propres mécanismes pour découvrir et présenter la structure intéressante des données. L’apprentissage non supervisé comprend deux catégories d’algorithmes : Algorithmes de regroupement et d’association. [32] Figure 11 : L’apprentissage Non Supervisé Dans l'apprentissage non supervisé, les données sont non étiquetées, de sorte que l'algorithme d'apprentissage trouve tout seul des points communs parmi ses données
  • 37. d'entrée. Les données non étiquetées étant plus abondantes que les données étiquetées, les méthodes d'apprentissage automatique qui facilitent l'apprentissage non supervisé sont particulièrement utiles. L'objectif de l'apprentissage non supervisé peut être aussi simple que de découvrir des modèles cachés dans un ensemble de données, mais il peut aussi avoir un objectif d'apprentissage des caractéristiques, qui permet à la machine intelligente de découvrir automatiquement les représentations nécessaires pour classer les données brutes. [33] 1.3.3 L’apprentissage semi-supervisé : L’apprentissage semi-supervisé vise à résoudre les problèmes avec relativement peu de données étiquetées et une grande quantité de données non étiquetées. L’apprentissage semi-supervisé réduit également le temps d’étiquetage de grande quantité de données par rapport à un apprentissage supervisé. Il a été démontré que l'utilisation de données non-étiquetées, en combinaison avec des données étiquetées, permet d'améliorer significativement la qualité de l'apprentissage. Ce type d’apprentissage a pour objectif de classer certaines des données non étiquetées à l'aide de l'ensemble d'informations étiquetées. [34] 1.3.4 L’apprentissage par renforcement : L’apprentissage par renforcement est très différent des types d’apprentissage vus jusqu’ici. Il consiste à apprendre, à partir d’expériences successives, ce qu’il convient de faire de façon à trouver la meilleure solution. Le système d’apprentissage, que l’on appelle ici « agent », interagit avec l’environnement, en sélectionnant et accomplissant des actions afin de trouver la solution optimale et obtenir en retour des récompenses. L’agent essaie plusieurs solutions, on parle d’« exploration », observe la réaction de l’environnement et adapte son comportement, c’est-à-dire les variables pour trouver la meilleure stratégie. Pour ce type d’apprentissage, les données d’entrainement proviennent directement de l’environnement. [34]
  • 38. Figure12 : L’apprentissage par renforcement 1.4 Différence entre classification et régression : Il existe une distinction significative entre les problèmes de classification et de régression. La classification implique de prédire une catégorie ou une étiquette, tandis que la régression vise à prédire une valeur numérique. Avant d'explorer ces deux concepts en détail, il est pertinent de se familiariser avec le concept d'approximation de fonction. 1.4.1 Approximation de fonction : Le terme « modélisation prédictive » (en anglais : Predictive Modelling) désigne un ensemble de méthodes qui permettent d’analyser et d’interpréter des données définies afin d’effectuer une prédiction sur de futurs données. La modélisation prédictive peut être décrite comme un problème mathématique consistant à approximer une fonction de mappage f entre les variables prédictives en entrée X et la variable à prédire Y. C'est ce qu'on appelle un problème d'approximation de fonction. En règle générale, toutes les tâches d'approximation de fonctions peuvent être divisées en tâches de classification et en tâches de régression. [35] 1.4.2 Classification : La classification est le processus qui consiste à trouver ou à découvrir un modèle ou une fonction qui aide à séparer les données en plusieurs classes catégorielles, c’est-à-dire en valeurs discrètes. Dans la classification, les données sont classées sous différentes étiquettes en
  • 39. fonction de certains paramètres donnés en entrée, puis les étiquettes sont prédites pour les données. Le processus de classification traite les problèmes dans lesquels les données peuvent être divisées en étiquettes discrètes binaires ou multiples. [35] 1.4.3 Régression : La régression est un processus consistant à trouver un modèle ou une fonction permettant de distinguer les données en valeurs réelles continues au lieu d’utiliser des classes ou des valeurs discrètes. La régression peut également identifier le mouvement de distribution en fonction des données historiques. En d’autres termes, la régression sert à trouver la relation d’une variable par rapport à une ou plusieurs autres, dans le but d’estimer une valeur (numérique) de sortie à partir des valeurs d’un ensemble de caractéristiques en entrée. Par exemple, estimer le prix d’une maison en se basant sur sa surface, nombre des étages, son emplacement · · · etc. [35] 1.5 Algorithmes utilisés en machine learning : A) Algorithme de régression : C’est un processus de recherche d'un modèle ou d'une fonction permettant de distinguer les données en valeurs réelles continues au lieu d'utiliser des classes ou des valeurs discrètes. Il peut également identifier le mouvement de distribution en fonction des données historiques. Parce qu'un modèle prédictif de régression prédit une quantité, la compétence du modèle doit donc être signalée comme une erreur dans ces prédictions, il existe 2 types de cet algorithme : 1. Régression Linéaire : La régression linéaire est un algorithme d’apprentissage automatique basé sur l’apprentissage supervisé. Il effectue une tâche de régression. La régression modélise une valeur de prédiction cible basée sur des variables indépendantes. Elle est principalement utilisée pour découvrir la relation entre les variables et les prévisions. Les différents modèles de régression diffèrent en fonction du type de relation entre les variables dépendantes et indépendantes qu’ils considèrent, et du nombre de variables indépendantes utilisées. La régression linéaire a pour but de prédire la valeur d’une variable dépendante (y) en
  • 40. fonction d’une variable indépendante donnée (x). Ainsi, cette technique de régression trouve une relation linéaire entre x (entrées) et y (sortie). D’où le nom de régression linéaire. [37] 2. Régression logistique : L'algorithme de régression logistique est destiné aux tâches de classification. Nous utilisons la régression logistique lorsque l'attribut immature est mentionné, et qu'il existe un ou plusieurs attributs autonomes. Il est similaire à différentes régressions linéaires. L'objectif de la régression logistique est de trouver le meilleur modèle approprié pour décrire les relations au sein de la caractéristique dichotomique d'intérêt et d'un ensemble d'attributs autonomes. Il existe différents types de régressions logistiques, telles que la régression logistique binaire, multiple, ordonnée, mixte et conditionnelle. Dans la régression logistique binaire ou binomiale, deux résultats possibles sont zéro ou un. Si un résultat de la variable dépendante est un résultat remarquable, alors ce résultat est généralement codé comme « un » et l'autre résultat noté « zéro ». La régression logistique binomiale utilisera les variables indépendantes pour prédire les probabilités. La régression logistique multinomiale ou la logistique multinomiale peut gérer plus de deux variables dépendantes pour représenter une dépendance catégorielle multiple. La régression logistique ordonnée gère les variables dépendantes ordinales. [37] ). B) Algorithme de Classification : La classification automatique est le processus qui permet d’analyser et d’organiser un ensemble de données, selon leurs caractéristiques, dans des classes de similarité. Elle se base principalement sur des représentations classiques de données dont les limites de traitement sont connues et, qui dans la plupart du temps, demande un temps de calcul énorme. 1. k-plus proche voisin (KNN) : K-Nearest Neighbors (KNN), ou le k-plus proche voisin, est un algorithme simple d'apprentissage automatique supervisé qui peut être utilisé pour résoudre des problèmes de classification et de régression.
  • 41. Souvent abrégé en k-NN, le k est un entier positif, typiquement petit. Dans la classification ou la régression, l'entrée consistera en les k exemples d'entraînement les plus proches dans un espace. [40] L'algorithme KNN est l'un des plus simples de tous les algorithmes d'apprentissage automatique. Il est un type d'apprentissage basé sur l'apprentissage paresseux (lazy Learning). En d'autres termes, il n'y a pas de phase d'entraînement explicite ou très minime. Cela signifie que la phase d'entraînement est assez rapide. La méthode KNN suppose que les données se trouvent dans un espace de caractéristiques. Cela signifie que les points de données sont dans un espace métrique. Les données peuvent être des scalaires ou même des vecteurs multidimensionnels. La méthode des k plus proches voisins est utilisée pour la classification et la régression. Dans les deux cas, l'entrée se compose des k données d’entraînement les plus proches dans l'espace de caractéristiques. [40] 2. Algorithme les machines à support de vecteurs (SVM) :est un apprentissage automatique très puissant et polyvalent modèle, capable d'effectuer la classification linéaire ou non linéaire, la régression, et même détection des valeurs aberrantes. C'est l'un des modèles les plus populaires de l’apprentissage automatique « Machine Learning », et n'importe qui intéressés par cette approche devraient l'avoir dans leur boîte à outils. Les SVM sont particulièrement bien adapté à la classification d'ensembles de données complexes mais de petite ou moyenne taille. L’algorithme SVM consiste à chercher à la fois l’hyperplan optimal ainsi que de minimiser les erreurs de classification. [41] 3. Algorithme arbre de décision : L'arbre de décision est l'une des méthodes souvent utilisées pour la classification et la prédiction. Un arbre est formé, où chaque nœud de branche représente un choix entre un certain nombre d'alternatives et chaque nœud de feuille représente une décision. Les règles basées sur les données sont représentées par la structure séquentielle des arbres de décision et elles partitionnent les données
  • 42. de manière itérative. Elle se compose d'un nœud racine, le nœud supérieur de l'arbre comprenant toutes les données, d'un nœud de division, un nœud qui divise les données entre les alternatives et d'un nœud terminal (ou feuille), un nœud où le résultat ou la décision finale est disponible. [42] 4. L’algorithme de Naïve Bayes : Un classificateur Naive Bayes est basé sur la logique probabiliste qui utilise des algorithmes basés sur le théorème de Bayes. Le théorème de Bayes est une technique mathématique probabiliste qui permet de calculer les probabilités conditionnelles d’un événement. Naive Bayes est une technique de classification basée sur le théorème de Bayes avec une hypothèse d’indépendance entre les prédicteurs. Il s’agit de l’un des algorithmes d’apprentissage automatique les plus simples et les plus efficaces, capable de faire des prédictions rapides sur la base de la probabilité des données. Il est essentiellement utilisé pour la classification de textes et de questions comportant de nombreuses classes. [43] C) Clustering: Le clusering est basé sur la théorie de la similitude, c’est-à-dire le regroupement de données hautement similaires dans les mêmes clusters et le regroupement de données moins similaires dans différents clusters. Différent de la classification, le clustering est un type d’apprentissage non supervisé, Par conséquent, les exigences relatives aux ensembles de données sont relativement faibles. Cependant, lors de l’utilisation d’algorithmes de clustering pour détecter des attaques, il est nécessaire de référencer des informations externes. [44] 1. K-means (K-moyen) : L’algorithme K-Means est un algorithme de clustering, qui regroupe l’ensemble de données non étiquetées en différents clusters. Ici, K définit le nombre de clusters qui doivent être créés dans le processus, comme si K = 2, il y aura deux clusters, et pour K=3, il y aura trois clusters, et ainsi de suite. Il nous permet de regrouper les données en différents groupes et
  • 43. constitue un moyen pratique de découvrir les catégories de groupes dans l’ensemble de données non étiquetées sans avoir besoin d’entraînement. Il s’agit d’un algorithme basé sur les centroïdes, où chaque groupe est associé à un centroïde. L’objectif principal de cet algorithme est de minimiser la somme des distances entre le point de données et les clusters correspondants. L’algorithme prend l’ensemble de données non étiquetées comme entrée, divise l’ensemble de données en un nombre k de clusters, et répète le processus jusqu’à ce qu’il ne trouve pas les meilleurs clusters. La valeur de k doit être prédéterminée dans cet algorithme. [45] D) Réduction de dimensions : 1. PCA (Analyse des composants principaux) : Est un algorithme d'apprentissage automatique non supervision qui tente de réduire la dimensionnalité (nombre de fonctions) au sein d'un ensemble de données tout en conservant autant d'informations que possible. L’algorithme PCA consiste à transformer des variables liées entre elles, vers de nouvelles variables séparées les uns des autres. Ces nouvelles variables sont nommées les composantes principales, elles permettent au praticien de réduire le nombre de variables et de rendre l'information moins redondante. 1.6 Réseaux de neurones artificiels : Le terme réseau de neurones ou Artificial Neural Networks (ANNs) est une référence à la neurobiologie. Originalement, ce concept est inspiré du fonctionnement des neurones du cerveau humain, apprend essentiellement de l’expérience. Le fonctionnement exact du cerveau humain est encore un mystère, mais certains aspects sont connus. En particulier l’élément fondamental du cerveau est un type spécifique de cellule incapable de se régénérer. Ces cellules nous fournissent la capacité de nous rappeler, de penser et de réagir en basant sur des expériences antérieures.[46]
  • 44. ANNs se composent d'un certain nombre de nœuds de traitement interconnectés appelés neurones. Les neurones sont généralement organisés en une séquence de couches, comprenant une couche d'entrée, une seule ou un ensemble de couches intermédiaires et une couche de sortie. La couche d'entrée reçoit les données d'entrée du réseau mais n'effectue aucun calcul. La couche de sortie donne la réponse du réseau à l'entrée spécifiée. Les couches intermédiaires, également appelées couches cachées, sont généralement connectées aux couches d'entrée et de sortie. Chaque neurone des couches cachées et de sortie reçoit les signaux de tous les neurones d'une couche au-dessus, puis effectue une sommation pondérée et une fonction de transfert des entrées. [47] Les réseaux de neurones artificiels sont des modèles d'apprentissage supervisé, généralement adoptés pour les problèmes de régression et de classification. Il existe de nombreux algorithmes de réseaux neuronaux différents, notamment les réseaux de backpropagation, les réseaux de Hopfield, les réseaux de Kohonen (également appelés cartes auto-organisées) et les réseaux de théorie de la résonance adaptative. Cependant, le plus courant est l'algorithme de rétropropagation, également connu sous le nom de perceptron multicouche. Le réseau de rétropropagation comporte plusieurs neurones disposés en couches. L'architecture la plus couramment utilisée est le réseau à trois couches illustré à la Figure 13. [48] Figure 13: Exemple simple d’un réseau de neurones artificiel.
  • 45. Le développement de modèles de réseaux de neurones se fait en deux étapes : apprentissage et test. Pendant l'entraînement, vous montrez au réseau de neurones un ensemble d'exemples de l'ensemble d'entraînement. Chaque exemple a des valeurs des variables indépendantes ainsi que des variables de réponse. Pendant la formation, vous montrez les exemples plusieurs fois au réseau de neurones. A chaque itération, le réseau prédit la réponse. Dans la phase de propagation vers l'avant de l'apprentissage, chaque nœud des couches cachées et de sortie calcule une somme pondérée de ses entrées, puis utilise cette somme pour calculer sa sortie via une fonction d'activation. La sortie de chaque neurone du réseau de neurones utilise généralement la fonction d'activation sigmoïde suivante : Il existe cependant d'autres fonctions d'activation qui peuvent être utilisées dans les réseaux de neurones, telles que la gaussienne, la tangente hyperbolique, le seuil linéaire et même une simple fonction linéaire. Supposons qu'il y a M nœuds d'entrée. Les poids de connexion entre les nœuds d'entrée et la première couche cachée sont notés w1. À chaque nœud caché, la somme pondérée est donnée par : Lorsque la somme pondérée est calculée, la fonction d'activation sigmoïde est calculée comme suit : Une fois le niveau d'activation du nœud de sortie calculé, l'étape de propagation vers l'arrière commence. Dans cette phase, l'algorithme calcule l'erreur de sa prédiction en fonction de la
  • 46. valeur de réponse réelle. En utilisant la méthode de descente de gradient, il ajuste les poids de toutes les connexions proportionnellement à l'erreur. Les poids sont ajustés de manière à réduire l'erreur la prochaine fois. Après plusieurs itérations, le réseau de neurones converge vers une solution. Pendant les tests, vous utilisez simplement le modèle entraîné pour noter les enregistrements. Pour chaque enregistrement, le réseau de neurones prédit la valeur de la réponse pour un ensemble donné de variables d'entrée. Le taux d'apprentissage détermine le taux de convergence vers une solution. Si le taux d'apprentissage est trop faible, l'algorithme aura besoin de plus d'itérations d'apprentissage (et donc de plus de temps) pour converger vers le minimum. En revanche, si le taux d'apprentissage est trop élevé, l'algorithme rebondit et peut ne jamais trouver le minimum local. Par conséquent, le réseau de neurones sera un mauvais prédicteur. Un autre paramètre important est le nombre de nœuds cachés. La précision du réseau de neurones peut augmenter avec le nombre de nœuds cachés. Cependant, cela augmente le temps de traitement et peut conduire à un sur-ajustement. En général, l'augmentation du nombre de nœuds cachés ou de couches cachées peut facilement conduire à un sur-paramétrage, ce qui augmentera le risque de sur- ajustement. Une règle empirique consiste à commencer par le nombre de nœuds cachés égal à peu près à la racine carrée du nombre de nœuds d'entrée. Une autre règle générale est que le nombre de neurones dans la couche cachée doit être compris entre la taille de la couche d'entrée et la taille de la couche de sortie. Par exemple : (Nombre de nœuds d'entrée + nombre de nœuds de sortie) × 2/3. Ces règles empiriques ne sont que des points de départ, destinés à éviter le sur-ajustement; le nombre optimal ne peut être trouvé que par l'expérimentation et la validation des performances sur les données de test. [49]  Le perceptron multicouche :
  • 47. Multi Layer Perceptron (MLP), ou perceptron multicouches est un classificateur de type réseaux de neurones qui est organisé en plusieurs couches, chaque couche étant formée d’un ou plusieurs neurones formels. Utilisé dans un cas d’apprentissage supervisé, il utilise l’algorithme de retro propagation de gradient. [48] Figure 14 : Fonctionnement d’un neurone artificiel. La figure juste au-dessus représente le fonctionnement d’un neurone formel. C’est un composant calculatoire qui fait la somme pondérée des signaux reçus en entrée, puis on leur applique une fonction d’activation afin d’obtenir Y. Voici les caractéristiques du modèle : • Il comporte une seule couche d’entrée et une seule couche de sortie. • Il peut comporter une ou plusieurs couches cachées. • Chaque neurone est relié uniquement à tous les neurones de la couche suivante. • Chaque lien de la couche i vers la couche suivante j sert à propager l’activation ai de i jusqu’à j et qui possède un poids wij qui détermine l’intensité du signal de la connexion. Chaque unité de la couche j calcul la somme pondéré de ses entrées :[48] Puis leur applique une fonction d’activation :
  • 48. Figure 15 : Structure d'un PMC composé de deux couches cachées. L’algorithme d’apprentissage consiste à présenter au réseau des entrées et on lui demande de modifier sa pondération de façon à retrouver la sortie correspondante. D’abord on propage vers l’avant les entrées jusqu’à obtenir une sortie calculée par le réseau puis on compare cette sortie avec la sortie désirée, enfin on modifie les poids de telle sorte qu’à la prochaine itération l’erreur commise entre les sortie réelles et les sortie désirées soit minimisée. On répète ce processus jusqu’à ce qu’on obtienne une erreur de sortie négligeable. Il a la Capacité de découvrir les dépendances par lui-même, il est résistance aux bruits par contre c’est un modèle boite noire qui n’explique pas ses décisions. [50] 1.7 Deep Learning ou l’apprentissage profond : L’apprentissage profond est une branche de l’apprentissage automatique qui est entièrement basée sur les réseaux neuronaux artificiels. Comme les réseaux neuronaux vont imiter le cerveau humain, l’apprentissage profond est également une sorte d’imitation du cerveau humain. Dans l’apprentissage profond, nous n’avons pas besoin de tout programmer explicitement. Le concept d’apprentissage profond n’est pas nouveau. Il existe depuis quelques années maintenant. Il fait l’objet d’un engouement aujourd’hui parce qu’auparavant, nous ne disposions pas d’une aussi grande puissance de traitement ni de beaucoup de données. Au cours des 20 dernières années, la puissance de traitement a augmenté de manière exponentielle, et l’apprentissage profond et l’apprentissage automatique ont fait leur apparition. Une définition formelle de l’apprentissage profond est la suivante : neurones. Le cerveau humain compte environ 100 milliards de neurones, et chaque neurone est connecté à des milliers de ses voisins. La question est de savoir comment recréer ces neurones dans un ordinateur. Nous créons donc une structure artificielle appelée réseau neuronal artificiel où nous avons des nœuds ou des neurones. Nous avons certains neurones pour la valeur d’entrée
  • 49. et d’autres pour la valeur de sortie et entre les deux, il peut y avoir beaucoup de neurones interconnectés dans la couche cachée. [51] Figure 16:intelligence Artificielle 1.8 Domaines d’application de l’apprentissage automatique : L'apprentissage automatique (Machine Learning) est une discipline de l'informatique qui a de nombreuses applications dans divers domaines. Voici quelques-uns des domaines d'application de l'apprentissage automatique :  Médecine et soins de santé : L'apprentissage automatique est utilisé pour aider les médecins à diagnostiquer des maladies et à interpréter des images médicales.  Industrie de la finance : L’apprentissage automatique gagne en popularité dans le secteur financier. Les banques utilisent principalement le ML pour trouver des modèles dans les données mais aussi pour prévenir la fraude.  Organisation gouvernementale : Le gouvernement utilise le ML pour gérer la sécurité publique et les services publics. Prenons l’exemple de la Chine avec la reconnaissance faciale massive. Le gouvernement utilise l’intelligence artificielle pour empêcher le jaywalker.  Transport et logistique : L'apprentissage automatique joue un rôle essentiel dans l'optimisation des déplacements en permettant la planification efficace des itinéraires de livraison et de transport. De plus, il apporte des avantages significatifs dans la gestion de la chaîne d'approvisionnement en prédisant la demande de manière précise et en optimisant la gestion des stocks, contribuant ainsi à une efficacité accrue dans la gestion logistique et l'approvisionnement.
  • 50.  Automatisation : L’apprentissage automatique, qui fonctionne de manière entièrement autonome dans n’importe quel domaine sans aucune intervention humaine. Par exemple, des robots exécutant les étapes essentielles du processus dans les usines de fabrication.  Sécurité : L'apprentissage automatique joue un rôle essentiel dans le domaine de la sécurité en détectant les activités suspectes dans le domaine de la sécurité informatique, tout en contribuant également à la prévision des zones à haut risque de criminalité, ce qui renforce la capacité à anticiper et à répondre aux menaces et aux problèmes liés à la sécurité. 1.9 Conclusion : Ce chapitre dédié au machine learning a permis une exploration approfondie des principes fondamentaux de cette discipline en constante évolution. Des concepts de base tels que la classification, la régression, et les méthodes d'apprentissage supervisé et non supervisé ont été étudiés, de même que des techniques avancées comme les réseaux de neurones profonds, les SVM et les arbres de décision. Forts de cette compréhension approfondie, nous sommes désormais prêts à appliquer ces connaissances pour résoudre des problèmes concrets et à poursuivre notre voyage dans l'univers infini de possibilités offert par la machine learning. Le chapitre suivant nous plongera d’avantage dans le domaine de la détection d'intrusion des systèmes IoT via machine learning, où nous appliquerons ces concepts pour répondre à des défis spécifiques et passionnant.
  • 51. Chapitre 4 : Évaluation des performances
  • 52. 4.1Introduction : Ce chapitre se concentre sur l’exploration de la base de données NSL-KDD, largement utilisée dans la détection d’intrusions. Nous examinons l’efficacité de plusieurs algorithmes de machine learning tels que l’arbre de décision, le Random forest, l’XG Boost, le Naive Bayes.... et un algorithme d’apprentissage profond le modèle de Réseau de neurones convolutionnel (CNN) dans ce domaine. Chaque algorithme est présenté en détail, avec une évaluation de ses performances et une analyse des résultats obtenus sur la base de données NSL-KDD. L’objectif est d’évaluer la pertinence et la fiabilité de ces algorithmes pour la détection d’intrusions. 4.2 Présentation de la base NSL-KDD 4.2.1 Historique : La base NSL-KDD (Network Security Layer-Knowledge Discovery in Databases) a été fondé sur l’ensemble de données KDD99, Cette dernière est une base de données qui contient des connexions TCP/IP extraites de l’ensemble de données d’évaluation des systèmes de détection d’intrusions. KDD99 été réalisées en 1998 par l’agence de L’armé américain DARPA (Défense Advanced Research Project Agency) et AFRL (Laboratoire de recherche de l'armée de l'air), ensuite MIT Lincoln Labs8 a collecté et distribué les ensembles de données pour l’évaluation du système de détection d'intrusions de réseau informatique. La base NSL-KDD est un ensemble de données qui représente une version réduite de l'originale KDD 99, proposé en 2010 par les chercheurs dans le domaine de détection d’intrusions réseaux afin de résoudre certains problèmes qui ont apparu dans la base KDD 99. NSL-KDD considérée comme un ensemble de données de référence pour aider les chercheurs à comparer les différentes méthodes de détection d'intrusions. FIGURE 4.1 : Evolution du dataset 4.2.2 Description de la Base NSL-KDD :
  • 53. Bien qu’il soit assez vieux et non une représentation parfaite des réseaux réels existants, il est en continu un indice qui est utilisé pour comparer les systèmes de détection d’intrusions dans les recherches communes. Dans la littérature la plus récente, tous les chercheurs utilisent le NSL-KDD comme ensemble de données de référence [32]. La base de données NSL-KDD contient des enregistrements de connexion TCP/IP (125973 pour l’apprentissage et 22544 pour le test), dont chaque enregistrement est constitué de 41 attributs caractérisant la connexion, et un attribut indiquant la nature de connexion s’il s’agit d’une attaque ou non. Les quatre catégories d’attaques existantes dans cette base sont : — Dénis de Services — Probing — User to Root — Remote to User Le tableau suivant montre l’ensemble des attaques peuvent être inclut dans chaque type : TABLE 4.1 – Regroupement des attaques dans la base NSL_KDD 4.2.3 Avantages de NSL-KDD : L'ensemble de données NSL-KDD présente les avantages suivants par rapport à l'ensemble de données KDD d'origine (KDD 99. [32]:  Il n'inclut pas les enregistrements redondants dans la rame, de sorte que les classificateurs ne seront pas biaisés vers des enregistrements plus fréquents.  Il n'y a pas d'enregistrements en double dans les ensembles de tests proposés; par conséquent, les performances des apprenants ne sont pas biaisées par les méthodes qui ont de meilleurs taux de détection sur les enregistrements fréquents.
  • 54.  Le nombre d'enregistrements sélectionnés dans chaque groupe de niveaux de difficulté est inversement proportionnel au pourcentage d'enregistrements dans l'ensemble de données KDD d'origine. En conséquence, les taux de classification des différentes méthodes d'apprentissage automatique varient dans une plage plus large, ce qui rend plus efficace une évaluation précise des différentes techniques d'apprentissage.  Le nombre d'enregistrements dans le train et les ensembles de test est raisonnable, ce qui rend abordable l'exécution des expériences sur l'ensemble complet sans avoir besoin de sélectionner au hasard une petite partie. Par conséquent, les résultats d'évaluation des différents travaux de recherche seront cohérents et comparables. 4.2.4 Contenu de la base de données NSL_KDD : L’ensemble de données NSL-KDD contient une variété d’attributs, qui peuvent être utiles pour mesurer les attaques. Le jeu de données NSL-KDD a un certain nombre d’instance non identiques entre le fichier KDD-test et KDD-train (jeu de donnes de formation). TABLE 4.2 – Contenu de la base NSL-KD NSL-KDD contient 41 attributs plus un attribut classe, ces attributs sont présents dans le tableau (annexe) accompagnés de leurs descriptions. 4.2.5 Attributs de la base NSL-KDD : Les 41 attributs de la base NSL-KDD et leurs types de données. Ces attributs peuvent être classés en trois groupes :  Les attributs de base : ces attributs décrivent les informations de base d’une connexion, telles que la durée, les hôtes source et destination, port et flag.  Les attributs du trafic : ces attributs sont basés sur des statistiques, tels que le nombre de connexions vers la même machine.  Les caractéristiques du contenu : ces attributs sont construits à partir de la charge utile (Data) des paquets du trafic tels que nombre d’échec de connexion et le nombre d’accès aux fichiers de contrôle. 4.3 Processus de génération du modèle de classification :
  • 55. Dans ce travail, où on souhaite élaborer un modèle de détection d’intrusions puissant capable de classifier les connexions TCP/IP en deux catégories : normale ou attaque, on doit passer par les étapes principales que tout modèle de classification doit les suivre. Ces étapes sont résumées dans trois phases principales : le prétraitement, l’apprentissage et enfin la phase de test. On doit passer par les étapes principales que tout modèle de classification doit les suivre : 4.3.1 Les Outils de Développement : 1) Google Colab :
  • 56. Est un produit de Google Research. Colab permet à quiconque d'écrire et d'exécuter du code Python arbitraire via le navigateur, et est particulièrement bien adapté à l'apprentissage automatique, à l'analyse de données et à l'éducation. Cet outil nous permet de développer en un clin d'œil des applications de Machine Learning en Python. Pour commencer, tout ce que nous devons faire est d'avoir un compte Gmail. Figure 4.2: Logo de google colab 2) Python : Est un langage de programmation interprété multiplateforme. il favoris Programmation impérative structurée et orientée objet. C'est une langue libre Haut niveau. Il nécessite relativement peu de connaissances opérationnelles Utilisation de l'ordinateur. C'est relativement facile à apprendre. Plus facile tenir en main. Enfin, il est largement utilisé et de plus en plus utilisé en bio-informatique en machine Learning, big data et science des données, en analytique Les données. Figure 4.3:Logo de langage python 4.3.2 Collecte des données :  Les bibliothèques python utilisées :
  • 57. La première étape pour concevoir ce système est d’importer toutes les bibliothèques python nécessaires comme suit : FIGURE 4.4 – Importation des bibliothèques Outre sa flexibilité et sa facilité, Python dispose d’une grande diversité de bibliothèques qui contiennent des modules facilitant différentes tâches, telles que les calculs mathématiques, la génération de graphiques, etc. Pour notre travail, les bibliothèques nécessaires sont :  NumPy : c’est une bibliothèque de calcul scientifique qui fournit des outils pour travailler avec des Tableaux multidimensionnels et effectuer des opérations de calcul matriciel efficaces.  Scikit-learn : c’est une bibliothèque pratique et puissante pour l’apprentissage automatique. Elle est également bien documentée et offre une grande variété d’exemples et de tutoriels pour aider les utilisateurs à apprendre à l’utiliser.  Pandas : Pandas est une excellente bibliothèque pour importer vos tableaux Excel (etautres formats) dans Python dans le but de tirer des statistiques et de charger votre Dataset dans Sklearn.  Matplotlib :Matplotlib est la bibliothèque qui permet de visualiser nos Datasets, nos fonctions, nos résultats sous forme de graphes, courbes et nuages de points.
  • 58.  Seaborn : elle est construite sur Matplotlib, une bibliothèque populaire de visualisation de données, mais elle offre des fonctionnalités supplémentaires qui facilitent la création de graphiques attrayants et informatifs.  TensorFlow et Keras : ce sont deux bibliothèques populaires pour le développement de modèles d’apprentissage automatique et profond en Python. 4..4 Prétraitement : Le rôle de cette étape est de préparer les données pour qu’elles soient directement exploitables par les différents modules de traitement (apprentissage, validation et classification). Le jeu de données de traitement sont trop volumineux et consomment du temps, et les attributs de l’ensemble de données NSL-KDD sont un mélange d’attribues continus, discrets et symboliques avec l’intervalle des valeurs très variés pour cela le prétraitement est nécessaire .il est constitué de plusieurs étapes qui s’exécutent successivement. 4.4.1 La phase d’acquisition des données :  Attribuer les noms des colonnes selon la description de dataset : Comme première étape du prétraitement, l’ensemble de données utilisées n’a pas les noms ou l’indication de chaque attribut, donc nous avons ajouté ces colonnes afin de nous aider à mieux détecter et de classer les types d’intrusion indiqué par le modèle. Voici un extrait du code pour les colonnes ajoutés à l’ensemble de données(Figure.4.5). Après nous avons ajouté les colonnes à l’ensemble de données(Figure4.6). Figure 4.5:Attribuer les noms des colonnes  Importation des données :
  • 59. Pour cette étape, nous avons utilisé la base de données NSL-KDD disponible sur kaggle [32] qu’est une plateforme web organisant des compétitions en science des données appartenant à Google. Dans cette version on a deux de fichiers (.csv) simples à lire : Figure 4.6 : Ajouter les colonnes à l’ensemble de données 4.4.2 Analyse exploratoire de données : Le tableau de données() du dataset NSL-KDD se compose de trois types d'attributs : numériques, nominaux et binaires, représentant respectivement des valeurs quantitatives, des catégories sans ordre spécifique, et des valeurs booléennes. Ces attributs fournissent des informations diverses sur les connexions réseau, en faisant une ressource précieuse pour l'analyse de la sécurité informatique. Le tableau contient des données relatives aux protocoles, services, flags, et d'autres métriques cruciales pour évaluer la sécurité des connexions réseau. 1) Train : Le tableau ci-dessous représente les données d’entraînement qui contiennent 22 544 lignes et 41 colonnes : Figure 4.7 : Échantillon de données des connexions réseau
  • 60. Ce tableau représente un échantillon de données liées à des connexions réseau. Chaque ligne du tableau correspond à une connexion réseau unique, et chaque colonne représente une caractéristique spécifique de cette connexion. Figure 4.8 : Échantillon de données des connexions réseau avec colonne 'intrusion_flag Ce tableau conserve les mêmes caractéristiques que le DataFrame initial, telles que la durée de la connexion, le type de protocole, le service, les octets source et destination, etc. Cependant, une nouvelle colonne appelée 'intrusion_flag' a été ajoutée pour distinguer les connexions en deux catégories : intrusions et activités normales. Cette colonne 'intrusion_flag' est essentielle dans le contexte de notre recherche, car elle servira de variable cible pour les futurs modèles de détection d'intrusions. Les connexions associées à des intrusions sont codées avec la valeur 1, tandis que les connexions correspondant à des activités normales sont codées avec la valeur 0. Cette distinction permettra de former et d'évaluer les modèles de détection d'intrusions en utilisant des techniques d'apprentissage automatique. Figure 4.9 : Répartition des types d'intrusions par catégorie Les listes dos_intrusion, probe_intrusion, u2r_intrusion, et r2l_intrusion contiennent les noms des types d'intrusions classifiés en quatre catégories différentes : Denial of Service (DoS), Probe, User-to-Root (U2R), et Remote-to-Local (R2L). Chaque liste regroupe les noms d'intrusions associés à la catégorie correspondante. La liste intrusion_labels est créée pour stocker les étiquettes de classification, où "Normal" correspond aux connexions normales, "DoS" aux attaques de type Denial of Service, "Probe"
  • 61. aux sondages ou explorations, "U2R" aux tentatives d'élévation de privilèges, et "R2L" aux tentatives d'accès à distance. Figure 4.10 : Encodage de l’attribut intrusion_map Une nouvelle colonne nommée "intrusion_map" a été ajoutée au DataFrame, servant à encoder les types d'intrusions en valeurs numériques. Les connexions normales sont représentées par la valeur 0, tandis que les intrusions sont codées avec des valeurs correspondant à leurs catégories spécifiques : 1 pour les intrusions de type DoS, 2 pour les Probe, 3 pour les U2R, et 4 pour les R2L. Cette transformation simplifie le traitement des intrusions, une étape cruciale pour l'application d'algorithmes d'apprentissage automatique qui requièrent des données numériques plutôt que des chaînes de texte. En résumé, cette opération de prétraitement des données est essentielle pour optimiser la préparation des données en vue de l'apprentissage et de l'évaluation des modèles de détection d'intrusions. Figure 4.11 : Répartition des valeurs de 'flag' pour les connexions normales