- Introduction au modèle OSI
- Pourquoi le modèle OSI est-il important en cybersécurité ?
- Présentation des sept couches du modèle OSI
- Couche 1 : la couche physique
- Couche 2 : la couche liaison de données
- Couche 3 : la couche réseau
- Couche 4 : la couche transport
- Couche 5 : la couche session
- Couche 6 : la couche présentation
- Couche 7 : la couche application
- Encapsulation et désencapsulation des données
- Protocoles et équipements associés aux couches OSI
- Attaques réseau et travaux pratiques avec Wireshark
- À retenir !
Le modèle OSI (Open Systems Interconnection) est un modèle de référence qui permet de comprendre comment les données circulent entre deux ordinateurs à travers un réseau. Il décompose les communications informatiques en sept couches, chacune possédant un rôle particulier. En cybersécurité, cette organisation est essentielle pour comprendre les protocoles réseau, identifier les vulnérabilités, analyser les attaques et mettre en place des mécanismes de protection. Dans ce tutoriel, nous allons étudier progressivement les sept couches du modèle OSI, découvrir des exemples concrets et réaliser quelques manipulations sous Windows et Kali Linux.
1. Introduction au modèle OSI
Le modèle OSI, ou Open Systems Interconnection, est un modèle conceptuel de communication réseau développé dans le cadre des travaux de normalisation de l'ISO (Organisation internationale de normalisation). Il décrit les fonctions nécessaires pour permettre à deux systèmes informatiques de communiquer.
Avant la généralisation des standards de communication, les fabricants utilisaient différentes technologies qui n'étaient pas toujours compatibles entre elles. Le modèle OSI a contribué à établir un langage commun pour décrire et comprendre les communications réseau.
1.1. Définition du modèle OSI
Le modèle OSI représente les communications réseau sous la forme d'une architecture composée de sept couches fonctionnelles. Chaque couche remplit des tâches spécifiques et fournit des services à la couche située au-dessus.
Lorsqu'un ordinateur envoie des données, celles-ci traversent conceptuellement les couches du modèle, depuis la couche application jusqu'à la couche physique. À la réception, les opérations sont effectuées dans le sens inverse.
1.2. Objectifs du modèle OSI
- Standardisation : fournir un cadre commun pour décrire les communications réseau.
- Interopérabilité : faciliter la conception de systèmes capables de communiquer entre eux.
- Modularité : séparer les fonctions réseau en plusieurs couches.
- Maintenance : faciliter l'identification et la résolution des problèmes.
- Sécurité : permettre l'analyse des risques et des mécanismes de protection à différents niveaux.
1.3. Exemple concret
Supposons qu'un utilisateur ouvre son navigateur et saisisse l'adresse https://www.tresfacile.net. Plusieurs opérations interviennent dans la communication :
- Le navigateur prépare une requête HTTPS.
- Les données sont protégées par TLS.
- Une connexion de transport est utilisée pour échanger les informations.
- Les paquets IP sont acheminés vers le serveur.
- Les trames sont transmises sur les réseaux locaux traversés.
- Les informations circulent sous forme de signaux électriques, optiques ou radio.
- Le serveur reçoit les données, les traite et renvoie une réponse.
Le modèle OSI permet d'étudier séparément chacune de ces opérations, même si les protocoles réellement utilisés sur Internet ne correspondent pas toujours exactement à ses sept couches.
2. Pourquoi le modèle OSI est-il important en cybersécurité ?
En cybersécurité, le modèle OSI constitue un outil d'analyse permettant de localiser les problèmes de sécurité et de comprendre à quel niveau interviennent les attaques informatiques.
2.1. Identifier les vulnérabilités réseau
Chaque couche possède ses propres mécanismes de fonctionnement et peut présenter des vulnérabilités particulières. Par exemple, une attaque visant les adresses MAC ne concerne pas directement les mêmes fonctions qu'une attaque contre une application Web.
- Couche physique : coupure de câble, interception physique ou brouillage radio.
- Couche liaison : usurpation d'adresse MAC ou manipulation ARP.
- Couche réseau : usurpation d'adresse IP ou manipulation du routage.
- Couche transport : attaques SYN flood contre les mécanismes TCP.
- Couche session : détournement de session.
- Couche présentation : problèmes liés au traitement ou à la protection des données.
- Couche application : injections SQL, XSS et autres vulnérabilités applicatives.
Cette classification est pédagogique : une attaque réelle peut exploiter plusieurs couches simultanément.
2.2. Comprendre les outils de cybersécurité
Plusieurs outils couramment utilisés en sécurité informatique analysent des fonctions correspondant à différentes couches OSI :
- Wireshark : capture et analyse les paquets et les protocoles réseau.
- Nmap : permet notamment de découvrir des hôtes, d'analyser les ports et d'identifier des services.
- Burp Suite : analyse les communications et les vulnérabilités des applications Web.
- Metasploit : fournit un environnement permettant notamment de tester des vulnérabilités dans des laboratoires autorisés.
2.3. Appliquer une défense en profondeur
La défense en profondeur consiste à combiner plusieurs mesures de protection plutôt que de dépendre d'un seul mécanisme. Par exemple, une organisation peut utiliser des protections physiques, la segmentation réseau, des pare-feu, TLS, une authentification forte et des contrôles de sécurité applicatifs.
Le modèle OSI aide à comprendre comment ces protections peuvent se compléter.
3. Présentation des sept couches du modèle OSI
Le modèle OSI comprend sept couches numérotées de 1 à 7. La couche 1 correspond au niveau le plus proche du support physique, tandis que la couche 7 correspond aux services réseau utilisés par les applications.
| Numéro | Couche OSI | Fonction principale |
|---|---|---|
| 7 | Application | Services réseau destinés aux applications |
| 6 | Présentation | Représentation, encodage et transformation des données |
| 5 | Session | Organisation et gestion des dialogues |
| 4 | Transport | Communication de bout en bout |
| 3 | Réseau | Adressage logique et acheminement |
| 2 | Liaison de données | Transmission de trames sur une liaison |
| 1 | Physique | Transmission des bits sur le support |
3.1. Les couches hautes et les couches basses
On distingue souvent deux ensembles :
- Couches basses (1 à 4) : elles concernent principalement la transmission et l'acheminement des informations.
- Couches hautes (5 à 7) : elles concernent principalement la gestion des échanges et les services applicatifs.
Cette distinction est indicative. Dans les architectures réelles, les fonctions peuvent être réparties différemment.
3.2. Sens de circulation des données
Lors de l'envoi, les données sont traitées dans l'ordre suivant :
Application → Présentation → Session → Transport → Réseau → Liaison → Physique
Lors de la réception, les opérations sont réalisées dans l'ordre inverse :
Physique → Liaison → Réseau → Transport → Session → Présentation → Application
4. Couche 1 : la couche physique
La couche physique constitue le premier niveau du modèle OSI. Elle définit les caractéristiques nécessaires à la transmission des bits à travers un support de communication.
4.1. Rôle de la couche physique
La couche physique intervient notamment dans :
- La transmission des signaux électriques.
- La transmission des signaux optiques dans les fibres.
- La transmission des signaux radio.
- La définition des caractéristiques électriques et mécaniques des interfaces.
- La synchronisation des bits.
- Les débits physiques de transmission.
4.2. Équipements associés
- Câbles Ethernet : supports de transmission sur cuivre.
- Fibres optiques : supports de transmission utilisant la lumière.
- Répéteurs : équipements permettant de régénérer ou retransmettre un signal.
- Concentrateurs (hubs) : équipements historiques retransmettant les signaux vers plusieurs ports.
- Interfaces radio : composants permettant la transmission sans fil.
4.3. Risques de sécurité
Les risques physiques comprennent notamment le vol d'équipements, la déconnexion de câbles, l'interception de supports accessibles et le brouillage des communications radio.
Les mesures de protection comprennent le contrôle d'accès aux locaux, la sécurisation des baies réseau, la surveillance des équipements et la redondance des connexions critiques.
4.4. Exemple pratique
Lorsqu'un câble Ethernet est débranché, la communication peut être interrompue avant même que les protocoles IP ou TCP puissent transmettre des données. Ce type de problème concerne d'abord la couche physique.
5. Couche 2 : la couche liaison de données
La couche liaison de données organise la transmission des informations entre équipements reliés par une liaison ou appartenant à un même réseau local de niveau 2. Elle manipule des unités appelées trames.
5.1. Fonctions principales
- Encapsulation des données dans des trames.
- Utilisation d'adresses de liaison, comme les adresses MAC en Ethernet.
- Détection de certaines erreurs de transmission.
- Gestion de l'accès au support selon la technologie utilisée.
- Communication entre équipements d'un même domaine de liaison.
5.2. Adresse MAC
Une adresse MAC (Media Access Control) est un identifiant utilisé par certaines technologies de liaison, notamment Ethernet et Wi-Fi. Une adresse MAC Ethernet classique est composée de 48 bits et s'écrit généralement sous la forme de six groupes hexadécimaux.
Exemple : 00:1A:2B:3C:4D:5E
Les adresses MAC peuvent être attribuées par un fabricant, configurées localement ou randomisées dans certains contextes.
5.3. Le rôle du commutateur réseau
Un switch Ethernet apprend les adresses MAC observées sur ses ports et utilise une table de commutation pour transmettre les trames vers leur destination lorsque celle-ci est connue.
5.4. Exemple de commande sous Windows
La commande suivante permet d'afficher les interfaces réseau et leurs adresses physiques sous Windows. Elle est utile pour identifier les cartes réseau d'un ordinateur et vérifier leur configuration.
1 | ipconfig /all |
Output : exemple simplifié de sortie :
1 2 3 4 5 | Carte Ethernet : Adresse physique . . . . . . : 00-1A-2B-3C-4D-5E DHCP activé . . . . . . . . : Oui Adresse IPv4 . . . . . . . . : 192.168.1.10 Masque de sous-réseau . . . : 255.255.255.0 |
L'adresse physique correspond ici à l'adresse MAC de l'interface Ethernet. Les autres informations affichées concernent la configuration réseau de l'ordinateur.
5.5. Risques de sécurité
Parmi les risques associés aux réseaux locaux, on trouve l'usurpation d'adresse MAC, certaines attaques de saturation des tables MAC et l'ARP spoofing. ARP est un protocole utilisé pour associer des adresses IPv4 à des adresses de liaison sur un réseau local.
Des mécanismes comme la sécurité des ports, la segmentation VLAN et l'inspection ARP dynamique peuvent contribuer à réduire certains de ces risques.
6. Couche 3 : la couche réseau
La couche réseau permet d'acheminer des paquets entre des réseaux différents. Elle intervient principalement dans l'adressage logique et le routage.
6.1. Adresse IP
Une adresse IP identifie une interface réseau dans un contexte de communication IP. Les deux versions principales du protocole sont :
- IPv4 : adresses de 32 bits, comme 192.168.1.10.
- IPv6 : adresses de 128 bits, comme 2001:db8::10.
Les adresses appartenant au préfixe IPv6 2001:db8::/32 sont réservées à la documentation et aux exemples.
6.2. Rôle du routeur
Un routeur relie plusieurs réseaux IP et utilise une table de routage pour déterminer vers quelle interface ou quel prochain routeur transmettre un paquet.
Lorsqu'un ordinateur souhaite communiquer avec un serveur situé sur un autre réseau, il transmet généralement les paquets à sa passerelle par défaut.
6.3. Exemple de commande sous Windows
La commande suivante affiche la configuration IP des interfaces réseau sous Windows. Elle permet notamment d'identifier l'adresse IPv4, le masque et la passerelle par défaut.
1 | ipconfig |
Output : exemple de sortie :
1 2 3 4 | Carte Ethernet : Adresse IPv4 . . . . . . . . : 192.168.1.10 Masque de sous-réseau . . . : 255.255.255.0 Passerelle par défaut . . . : 192.168.1.1 |
Dans cet exemple, l'ordinateur possède l'adresse 192.168.1.10 et utilise 192.168.1.1 comme passerelle pour joindre les destinations extérieures à son réseau local, selon sa table de routage.
6.4. Risques de sécurité
Les risques comprennent notamment l'usurpation d'adresse IP, les manipulations de routage et certaines attaques par déni de service. Les protections peuvent reposer sur des règles de filtrage, une configuration de routage sécurisée et des contrôles d'accès réseau.
7. Couche 4 : la couche transport
La couche transport assure les communications de bout en bout entre les systèmes et leurs applications. Elle permet notamment de distinguer les communications grâce aux numéros de port.
7.1. Le protocole TCP
TCP (Transmission Control Protocol) est un protocole orienté connexion qui fournit un flux d'octets fiable et ordonné. Il utilise notamment des numéros de séquence, des accusés de réception et des retransmissions.
Une connexion TCP est généralement établie par un mécanisme appelé Three-Way Handshake :
- SYN : le client demande l'ouverture d'une connexion.
- SYN-ACK : le serveur répond à la demande.
- ACK : le client confirme l'établissement de la connexion.
7.2. Le protocole UDP
UDP (User Datagram Protocol) est un protocole sans établissement de connexion préalable. Il transmet des datagrammes sans garantir leur livraison, leur ordre ou leur retransmission.
Il est utilisé notamment pour certains échanges DNS, des applications multimédias et des protocoles qui gèrent eux-mêmes leurs mécanismes de fiabilité.
7.3. Différences entre TCP et UDP
| Caractéristique | TCP | UDP |
|---|---|---|
| Connexion préalable | Oui | Non |
| Livraison fiable | Oui, au niveau du protocole | Non garantie |
| Ordre des données | Garanti pour le flux | Non garanti |
| Retransmission | Oui | Non, pas nativement |
| Exemples | SSH, HTTP/1.1, HTTP/2 | DNS classique, DHCP, QUIC comme transport sous-jacent |
7.4. Notion de port réseau
Un port permet de distinguer plusieurs communications au sein d'un système. Les numéros de port TCP et UDP sont codés sur 16 bits, ce qui permet des valeurs comprises entre 0 et 65535.
Quelques ports courants :
- 21/TCP : canal de contrôle FTP.
- 22/TCP : SSH.
- 25/TCP : SMTP.
- 53/UDP et TCP : DNS classique.
- 80/TCP : HTTP classique.
- 443/TCP : HTTPS sur TCP.
- 443/UDP : souvent utilisé par HTTP/3 avec QUIC.
7.5. Exemple de commande
Sous Windows, la commande suivante affiche les connexions TCP actives et les ports TCP en écoute. Elle est utile pour repérer les services locaux et vérifier les connexions établies.
1 | netstat -an -p tcp |
Output : exemple de sortie simplifiée :
1 2 3 | Proto Adresse locale Adresse distante État TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 192.168.1.10:51000 93.184.215.14:443 ESTABLISHED |
Dans cet exemple fictif, un service écoute sur le port 135 et une connexion TCP est établie vers un serveur distant sur le port 443.
7.6. Risques de sécurité
Les risques comprennent les attaques SYN flood, l'exploitation de services vulnérables exposés sur des ports réseau et certaines manipulations des connexions TCP.
La réduction des services exposés, le filtrage réseau et la mise à jour des logiciels constituent des mesures de protection importantes.
8. Couche 5 : la couche session
La couche session est chargée, dans le modèle OSI, de l'organisation et de la gestion des dialogues entre applications communicantes.
8.1. Fonctions principales
- Établissement de sessions de communication.
- Gestion des dialogues entre applications.
- Coordination de certains échanges.
- Fermeture des sessions.
- Gestion de points de synchronisation dans certains mécanismes.
8.2. Exemple concret
Lorsqu'un utilisateur se connecte à une application Web, celle-ci peut créer une session applicative permettant de conserver son état d'authentification pendant plusieurs requêtes.
Cette session Web illustre la notion générale de maintien d'un dialogue, mais elle ne correspond pas nécessairement à une implémentation distincte de la couche 5 du modèle OSI. Dans les réseaux TCP/IP modernes, ces fonctions sont souvent intégrées directement aux applications.
8.3. Risques de sécurité
Le détournement de session consiste à exploiter une session existante pour obtenir un accès non autorisé. Dans une application Web, cela peut notamment impliquer le vol d'un identifiant de session.
Les protections comprennent l'utilisation de HTTPS, la sécurisation des cookies, la régénération des identifiants de session après authentification et l'expiration des sessions inactives.
9. Couche 6 : la couche présentation
La couche présentation concerne la représentation et la transformation des données échangées entre applications. Elle permet de s'assurer que les informations transmises peuvent être correctement interprétées par les systèmes communicants.
9.1. Encodage des données
L'encodage consiste à représenter les informations selon un format déterminé. Par exemple, UTF-8 permet de représenter des caractères Unicode dans une suite d'octets.
9.2. Compression des données
La compression permet de réduire la taille des informations transmises ou stockées. Les formats et mécanismes utilisés dépendent des applications.
9.3. Chiffrement des communications
Les fonctions de chiffrement sont souvent présentées dans les cours OSI comme relevant de la couche présentation. Dans les architectures Internet modernes, le protocole TLS assure notamment la confidentialité et l'intégrité des échanges, sans correspondre strictement à une couche OSI indépendante.
9.4. Exemple en Python : encodage UTF-8
Le programme suivant montre comment convertir une chaîne de caractères en une suite d'octets grâce à la méthode encode(). Cette opération permet de comprendre comment un texte peut être représenté sous une forme transmissible sur un réseau.
1 2 3 4 5 6 7 8 9 10 | # Texte à encoder message = "Bonjour" # Conversion du texte en octets UTF-8 donnees = message.encode("utf-8") # Affichage des données encodées print(donnees) # Décodage des octets texte = donnees.decode("utf-8") # Affichage du texte obtenu print(texte) |
Output :
1 2 | b'Bonjour' Bonjour |
La première ligne affiche les octets correspondant au texte. La seconde montre que ces octets peuvent être décodés pour retrouver la chaîne originale.
9.5. Risques de sécurité
Les risques peuvent concerner les erreurs de traitement des formats, les mécanismes de compression vulnérables, les mauvaises configurations cryptographiques et les problèmes de validation des données.
10. Couche 7 : la couche application
La couche application est le niveau du modèle OSI le plus proche des logiciels qui utilisent les services réseau. Elle définit les fonctions de communication nécessaires aux applications.
10.1. Principaux protocoles applicatifs
- HTTP : échange de ressources Web.
- HTTPS : HTTP protégé par TLS.
- DNS : résolution des noms de domaine.
- SMTP : transfert des courriers électroniques.
- IMAP : accès et gestion des courriers électroniques.
- FTP : transfert de fichiers.
- SSH : accès distant sécurisé.
- DHCP : configuration automatique des paramètres réseau.
10.2. Exemple : fonctionnement de HTTP
Lorsqu'un utilisateur visite un site Web, son navigateur envoie des requêtes HTTP ou HTTPS au serveur. Celui-ci répond avec les ressources demandées ou un message indiquant le résultat du traitement.
Une requête HTTP peut contenir une méthode, une cible, des en-têtes et éventuellement un corps.
10.3. Exemple en Python : une requête HTTP
Le programme suivant utilise le module standard urllib.request pour envoyer une requête HTTPS au site tresfacile.net. Il affiche le code de statut HTTP retourné par le serveur. Il nécessite une connexion Internet et peut produire un résultat différent selon la configuration du serveur.
1 2 3 4 5 6 7 8 | # Importation du module HTTP import urllib.request # Adresse du site à consulter url = "https://www.tresfacile.net" # Envoi de la requête HTTPS with urllib.request.urlopen(url, timeout=10) as reponse: # Affichage du code HTTP print("Code HTTP :", reponse.status) |
Output : exemple en cas de réponse réussie :
1 | Code HTTP : 200 |
Le code 200 signifie que la requête a été traitée avec succès. D'autres codes, comme 301, 403, 404 ou 500, correspondent à d'autres situations.
10.4. Risques de sécurité
Les applications réseau peuvent présenter des vulnérabilités telles que :
- Injection SQL : manipulation de requêtes vers une base de données.
- XSS : injection de contenu actif dans une page Web.
- Authentification défaillante : faiblesse des mécanismes de connexion.
- Contrôle d'accès insuffisant : accès non autorisé à des ressources.
- Mauvaise configuration : exposition involontaire de fonctionnalités ou d'informations.
Les protections reposent notamment sur la validation des entrées, les requêtes paramétrées, la gestion correcte des autorisations, les mises à jour et les tests de sécurité applicatifs.
11. Encapsulation et désencapsulation des données
L'encapsulation est un mécanisme fondamental des communications réseau. Lorsqu'une application envoie des informations, les protocoles des différentes couches ajoutent des informations de contrôle nécessaires à leur transmission.
11.1. Principe de l'encapsulation
Dans un exemple simplifié de communication utilisant TCP, IPv4 et Ethernet, les données traversent les étapes suivantes :
- L'application produit des données.
- TCP ajoute un en-tête de transport pour former un segment TCP.
- IPv4 ajoute un en-tête réseau pour former un paquet IP.
- Ethernet encapsule le paquet dans une trame.
- La couche physique transmet les bits correspondants.
On peut représenter cette opération de la manière suivante :
1 2 3 4 5 6 7 8 9 | Données applicatives ↓ [En-tête TCP | Données] ↓ [En-tête IP | Segment TCP] ↓ [En-tête Ethernet | Paquet IP | FCS] ↓ Transmission des bits |
Le FCS (Frame Check Sequence) est un champ utilisé dans les trames Ethernet pour détecter certaines erreurs de transmission.
11.2. Unités de données selon les couches
| Couche | Unité de données couramment utilisée |
|---|---|
| 7 à 5 | Données |
| 4 | Segment TCP ou datagramme UDP |
| 3 | Paquet IP |
| 2 | Trame |
| 1 | Bits et signaux physiques |
11.3. Désencapsulation
La désencapsulation correspond au traitement inverse. À la réception, chaque protocole examine les informations qui le concernent et transmet le contenu utile au protocole supérieur.
Par exemple, une interface Ethernet reçoit une trame, le traitement IP extrait le segment TCP, puis TCP fournit les données à l'application destinataire.
11.4. Exemple en Python : simulation pédagogique
Le programme suivant simule l'ajout successif d'informations de contrôle aux données. Il ne construit pas de véritables paquets réseau, mais permet de visualiser simplement le principe de l'encapsulation.
1 2 3 4 5 6 7 8 9 10 11 12 | # Données produites par une application donnees = "Bonjour" print("Application :", donnees) # Simulation de la couche transport segment = "[TCP]" + donnees print("Transport :", segment) # Simulation de la couche réseau paquet = "[IP]" + segment print("Réseau :", paquet) # Simulation de la couche liaison trame = "[ETH]" + paquet print("Liaison :", trame) |
Output :
1 2 3 4 | Application : Bonjour Transport : [TCP]Bonjour Réseau : [IP][TCP]Bonjour Liaison : [ETH][IP][TCP]Bonjour |
Chaque étape ajoute une indication représentant une information de protocole. Dans une véritable communication, les en-têtes sont constitués de champs binaires structurés.
12. Protocoles et équipements associés aux couches OSI
Le modèle OSI permet également de classer les principaux protocoles et équipements utilisés dans les réseaux. Cette classification est indicative, car certains protocoles et équipements interviennent à plusieurs niveaux.
12.1. Tableau récapitulatif
| Couche | Protocoles ou fonctions | Équipements ou outils |
|---|---|---|
| 7 - Application | HTTP, DNS, SMTP, FTP, SSH | Serveurs Web, DNS, proxys applicatifs |
| 6 - Présentation | Encodage, formats de données, chiffrement | Bibliothèques de sérialisation et cryptographiques |
| 5 - Session | Gestion des dialogues et sessions | Logiciels de gestion des sessions |
| 4 - Transport | TCP, UDP | Pare-feu de niveau transport, outils d'analyse |
| 3 - Réseau | IPv4, IPv6, ICMP | Routeurs, pare-feu réseau |
| 2 - Liaison | Ethernet, VLAN, ARP dans une classification pratique | Switches, ponts réseau |
| 1 - Physique | Signalisation électrique, optique et radio | Câbles, répéteurs, interfaces physiques |
Remarque : ARP se situe à l'interface entre les fonctions de liaison et d'adressage IPv4. TLS ne correspond pas strictement à une couche OSI unique. De même, certains switches, pare-feu et proxys possèdent des fonctionnalités couvrant plusieurs couches.
12.2. Exemple d'une communication entre deux réseaux
Supposons qu'un ordinateur A, possédant l'adresse 192.168.1.10, souhaite communiquer avec un ordinateur B, possédant l'adresse 192.168.2.20. Si les deux machines appartiennent à des sous-réseaux distincts, un routeur peut assurer leur communication.
Les adresses IP permettent d'identifier les interfaces source et destination, tandis que les adresses MAC sont utilisées pour transmettre les trames sur chaque liaison Ethernet. Lorsqu'un paquet traverse un routeur, l'encapsulation de liaison est généralement reconstruite pour le prochain réseau.
12.3. Importance pour un administrateur réseau
Un administrateur peut utiliser cette organisation pour diagnostiquer une panne : vérifier d'abord la connexion physique, puis le réseau local, la configuration IP, la connectivité de transport et enfin le service applicatif.
Cette démarche est souvent appelée diagnostic par couches.
13. Attaques réseau et travaux pratiques avec Wireshark
Dans cette section, nous allons relier les notions du modèle OSI à des situations de cybersécurité et découvrir comment observer les communications réseau à l'aide d'outils de diagnostic.
13.1. Classification pédagogique des attaques
| Couche | Exemple de menace | Protection possible |
|---|---|---|
| 1 | Coupure physique, brouillage | Protection des équipements et redondance |
| 2 | ARP spoofing, MAC spoofing | Segmentation, contrôles de liaison |
| 3 | IP spoofing, attaques de routage | Filtrage et sécurisation du routage |
| 4 | TCP SYN flood | Limitation des connexions, protections anti-DDoS |
| 5 | Détournement de session | Gestion sécurisée des sessions |
| 6 | Exploitation d'un traitement de données vulnérable | Validation des formats, bibliothèques à jour |
| 7 | Injection SQL, XSS | Validation, encodage et contrôles applicatifs |
13.2. Présentation de Wireshark
Wireshark est un analyseur de protocoles réseau qui permet de capturer et d'examiner les paquets circulant sur une interface réseau. Il constitue un outil pédagogique particulièrement adapté pour comprendre les couches OSI.
Wireshark affiche notamment :
- Les adresses MAC des trames Ethernet.
- Les adresses IP des paquets.
- Les ports TCP et UDP.
- Les indicateurs TCP, comme SYN et ACK.
- Les protocoles applicatifs reconnus.
- Les champs détaillés des en-têtes.
13.3. TP 1 : observer les paquets ICMP
Objectif : comprendre comment une communication réseau peut être observée à l'aide de Wireshark et de la commande ping.
Étape 1 : ouvrir Wireshark et sélectionner l'interface réseau utilisée pour la communication.
Étape 2 : démarrer la capture des paquets.
Étape 3 : sous Windows ou Kali Linux, exécuter la commande suivante pour envoyer des requêtes ICMP vers l'adresse de bouclage IPv4 de la machine :
1 | ping 127.0.0.1 |
Output : exemple simplifié de réponse :
1 | Réponse de 127.0.0.1 : octets=32 temps<1 ms TTL=128 |
Cette réponse correspond à un exemple Windows. Les informations affichées peuvent varier selon le système d'exploitation.
Attention : le trafic vers 127.0.0.1 utilise l'interface de bouclage. Pour l'observer dans Wireshark, il faut sélectionner l'interface de capture loopback appropriée. Sur Windows, sa disponibilité dépend notamment de l'installation et de la configuration de Npcap.
Étape 4 : saisir le filtre suivant dans Wireshark :
1 | icmp |
Output attendu : les lignes de capture peuvent afficher des paquets de type Echo Request et Echo Reply.
Interprétation : ICMP est utilisé notamment pour les messages de diagnostic et de contrôle du réseau IP. Dans le modèle OSI, il est généralement associé à la couche réseau.
13.4. TP 2 : observer une connexion TCP
Objectif : identifier les échanges TCP et comprendre le mécanisme Three-Way Handshake.
Ouvrir Wireshark, démarrer une capture sur l'interface active, puis visiter un site HTTPS depuis un navigateur. Pour faciliter l'observation d'une connexion TCP, utiliser un navigateur configuré pour HTTP/1.1 ou HTTP/2 sur TCP, plutôt que HTTP/3 sur QUIC.
Dans Wireshark, appliquer le filtre d'affichage suivant :
1 | tcp.port == 443 |
Output attendu : si une nouvelle connexion TCP vers le port 443 a été capturée, les paquets peuvent notamment afficher les indicateurs suivants :
1 2 3 | Client → Serveur : SYN Serveur → Client : SYN, ACK Client → Serveur : ACK |
Ces trois messages correspondent à l'établissement d'une connexion TCP. Les champs TCP peuvent être consultés dans le panneau de détails de Wireshark.
Si aucune nouvelle connexion n'apparaît, cela peut provenir d'une connexion déjà établie, de l'utilisation de QUIC ou d'un mauvais choix d'interface réseau.
13.5. TP 3 : afficher les adresses IP et MAC sous Kali Linux
Objectif : identifier les informations correspondant aux couches liaison et réseau d'une machine Kali Linux.
La commande suivante affiche les interfaces réseau, leurs adresses IP et leurs adresses MAC. Elle est particulièrement utile dans un laboratoire utilisant Kali Linux sous VirtualBox.
1 | ip addr show |
Output : exemple simplifié :
1 2 3 | 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> link/ether 08:00:27:12:34:56 inet 192.168.56.101/24 |
Dans cet exemple :
- eth0 : nom de l'interface réseau.
- 08:00:27:12:34:56 : adresse MAC de l'interface.
- 192.168.56.101 : adresse IPv4.
- /24 : longueur du préfixe réseau, correspondant au masque 255.255.255.0.
Dans VirtualBox, le nom réel de l'interface peut être différent, par exemple eth0 ou enp0s3, et l'adresse IP dépend du mode réseau configuré.
13.6. TP 4 : afficher la table de routage sous Kali Linux
Objectif : comprendre comment le système détermine le chemin à utiliser pour transmettre des paquets IP.
La commande suivante affiche les routes IPv4 connues du système Linux :
1 | ip -4 route |
Output : exemple d'une machine possédant une interface sur un réseau privé :
1 2 | default via 192.168.1.1 dev eth0 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10 |
La première ligne indique une route par défaut passant par la passerelle 192.168.1.1. La seconde indique que le réseau 192.168.1.0/24 est directement accessible par l'interface eth0.
Cette manipulation illustre le fonctionnement de la couche réseau du modèle OSI.
13.7. Précautions de sécurité
Les captures et les analyses réseau doivent être réalisées uniquement sur des interfaces et des environnements pour lesquels une autorisation a été obtenue. Dans un cadre pédagogique, il est recommandé d'utiliser un laboratoire isolé avec VirtualBox, Kali Linux et des machines virtuelles de test.
14. À retenir !
Le modèle OSI est une référence fondamentale pour comprendre les communications réseau. Il décompose les fonctions de communication en sept couches, depuis la transmission physique des bits jusqu'aux services réseau utilisés par les applications.
- Couche 1 - Physique : transmission des bits sur les supports.
- Couche 2 - Liaison : transmission des trames et adressage MAC.
- Couche 3 - Réseau : adressage IP et routage.
- Couche 4 - Transport : communication de bout en bout avec TCP ou UDP.
- Couche 5 - Session : organisation des dialogues.
- Couche 6 - Présentation : représentation et transformation des données.
- Couche 7 - Application : services réseau utilisés par les logiciels.
Il faut également retenir que le modèle OSI est avant tout un modèle conceptuel. Les communications Internet modernes reposent principalement sur l'architecture TCP/IP, dont les couches ne correspondent pas exactement aux sept couches OSI.
Pour progresser en cybersécurité, il est indispensable de savoir associer les principaux protocoles aux fonctions réseau, comprendre les mécanismes d'encapsulation, identifier les équipements utilisés et analyser les communications avec des outils comme Wireshark.
La maîtrise de ces notions prépare l'étude du modèle TCP/IP, de l'adressage IP, des ports réseau, des protocoles TCP et UDP, ainsi que des mécanismes de sécurité des réseaux informatiques.
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/




