🌐

Réseaux & Cybersécurité

Protocoles, sécurité et architectures réseau - USSI7C

🔗

1. Le Protocole IP (Internet Protocol)

Le protocole IP, qui opère à la couche internetwork (ou réseau) du modèle TCP/IP, est chargé de router les paquets, aussi appelés datagrammes, depuis une adresse IP source vers une adresse IP destination. Il est fondamental de comprendre ses caractéristiques principales, car elles expliquent pourquoi des protocoles comme TCP sont nécessaires à la couche supérieure.

🎯 Caractéristiques Fondamentales d'IP

Le protocole IP adopte un principe d'acheminement en "best effort" (acheminement au mieux) :

📊

Stateless (sans état)

C'est une notion très importante. Les routeurs (nœuds) ne conservent aucune information sur les échanges précédents. Chaque paquet est traité indépendamment des autres, ce qui simplifie grandement le routage mais reporte la gestion de la session aux couches supérieures.

🔄

Connectionless (sans connexion)

Avant d'envoyer un datagramme IP, l'émetteur n'a pas besoin d'établir une connexion préalable avec le destinataire. Cela contraste fortement avec TCP.

⚠️

Best Effort (acheminement au mieux)

IP fait de son mieux pour acheminer les datagrammes, mais sans aucune garantie. Les paquets peuvent être perdus ou altérés en cas de défaillance réseau (IP est dit unreliable ou non fiable). Un même paquet peut être acheminé plus d'une fois. IP se contente de rejeter un paquet erroné (détecté via le checksum de l'en-tête) sans entreprendre d'action corrective.

🔀

Unordered (non ordonné)

Les paquets peuvent arriver à destination dans le désordre (unordered).

💡 Point d'attention pour les questions pièges : La non-fiabilité et le désordre des paquets ne sont pas des "bugs" d'IP, mais des choix de conception. La complexité (fiabilité, ordonnancement) est volontairement laissée aux couches supérieures, comme la couche transport (TCP), si l'application en a besoin.
📋

2. En-tête IP et Champs Clés

Chaque paquet IP commence par un en-tête qui contient toutes les informations nécessaires à son acheminement. La structure de l'en-tête est une succession de mots de 32 bits.

🔍 Champs Clés de l'En-tête IP

  • IHL (Internet Header Length) : Indique la longueur de l'en-tête en mots de 32 bits (soit 4 octets). La longueur minimale et la plus courante est de 5 mots (20 octets). Ce champ est crucial car il permet de savoir où l'en-tête se termine et où les données (la charge utile) commencent.
  • Total Length : C'est la taille totale du datagramme (en-tête + données) en octets. Ce champ étant sur 16 bits, la taille maximale d'un datagramme IP est de 65 535 octets (2¹⁶ - 1).
  • TTL (Time to Live) : Limite la durée de vie d'un paquet. C'est un compteur (codé sur 8 bits) qui est décrémenté de 1 par chaque routeur traversé. Si le TTL atteint zéro, le paquet est détruit, ce qui évite les boucles de routage infinies.
  • Protocol Number : Identifie le protocole de la couche supérieure dont les données sont transportées dans le paquet. Par exemple, 6 pour TCP, 17 pour UDP, et 1 pour ICMP.
  • Header Checksum : Une somme de contrôle calculée uniquement sur l'en-tête IP pour détecter les erreurs. Point important : comme le TTL est modifié par chaque routeur, le checksum doit être recalculé à chaque saut.
  • Identification, Flags (DF, MF) et Fragment Offset : Ces trois champs sont essentiels pour la gestion de la fragmentation.
🚨 Sécurité : Le TTL prévient les boucles infinites. Le checksum ne couvre que l'en-tête, les données peuvent être corrompues sans détection au niveau IP.
🔧

3. MTU et Fragmentation IP

📏 Maximum Transmission Unit (MTU)

Ethernet MTU = 1500 octets
Wi-Fi (WLAN) MTU = 2304 octets

✂️ Fragmentation IP

La fragmentation est le processus par lequel un datagramme IP est décomposé en plusieurs morceaux (fragments), chacun étant suffisamment petit pour tenir dans une trame de la couche liaison.

Fonctionnement :

  1. Identification : Tous les fragments d'un même datagramme original partagent le même numéro dans le champ `identification` de l'en-tête IP. Cela permet au destinataire de savoir quels fragments vont ensemble.
  2. Fragment Offset : Ce champ indique la position (le décalage) du premier octet des données de ce fragment par rapport au début des données du datagramme original. L'unité de mesure est de 8 octets. Le premier fragment a un offset de 0.
  3. Flag MF (More Fragments) :
    • Si MF = 1, cela signifie que d'autres fragments suivent. Tous les fragments, sauf le dernier, ont ce flag à 1.
    • Si MF = 0, cela indique qu'il s'agit du dernier fragment (ou qu'il n'y a pas eu de fragmentation).
  4. Réassemblage : C'est l'hôte de destination final qui est responsable du réassemblage des fragments. Il utilise les champs `identification`, `fragment offset` et le flag `MF` pour reconstituer le datagramme original.
⚠️ Point d'attention pour les questions pièges : La fragmentation est coûteuse en termes de performance (chaque fragment a son propre en-tête IP, ce qui crée une surcharge) et augmente les risques de perte (si un seul fragment est perdu, tout le paquet original est perdu). C'est pourquoi le PMTUD est préférable.

Risques de sécurité :
  • Attaques par fragmentation (Fragment overlap attacks)
  • Déni de service par consommation de ressources
  • Contournement de firewalls

🔍 PMTUD (Path MTU Discovery)

Pour éviter les inconvénients de la fragmentation (surcharge, baisse de performance), un hôte peut utiliser le PMTUD. Le principe est le suivant :

  1. L'hôte émetteur envoie des paquets IP avec le flag DF (Don't Fragment) positionné à 1 dans l'en-tête.
  2. Si un routeur sur le chemin reçoit ce paquet et que celui-ci est plus grand que le MTU de l'interface de sortie, le routeur ne fragmente pas le paquet mais le supprime.
  3. Le routeur renvoie alors un message ICMP de type 3, code 4 ("Fragmentation Needed") à l'hôte source, en indiquant son propre MTU.
  4. L'hôte source réduit alors la taille de ses paquets et répète le processus jusqu'à ce que les paquets puissent traverser tout le chemin sans fragmentation.
🌍

4. Systèmes Autonomes et Peering

Internet est un "réseau de réseaux" composé de Systèmes Autonomes (AS).

🏢 AS (Autonomous System)

C'est un ensemble de routeurs et de réseaux IP sous le contrôle d'une seule entité administrative (par exemple, un opérateur comme Orange) qui partage une politique de routage commune. L'Internet est un immense réseau d'AS interconnectés.

🤝 Relations entre AS

Il existe deux types de relations principales qui définissent comment le trafic circule entre les AS.

💰

Client / Fournisseur (Transit)

L'AS client paie l'AS fournisseur pour que celui-ci achemine son trafic vers n'importe quelle autre destination sur Internet. Le fournisseur autorise le trafic de transit.

🤝

Peering (Pair à pair)

Deux AS (souvent de taille similaire) s'accordent pour échanger directement du trafic entre leurs clients respectifs, généralement sans frais. Important : un pair n'autorise pas le trafic de transit. Par exemple, si A et B sont en peering, B n'acheminera pas le trafic de A vers un autre fournisseur de B.

💡 Point d'attention pour les questions pièges : La distinction entre transit et peering est fondamentale pour comprendre les politiques de routage sur Internet. Un lien de peering ne sera pas utilisé comme un chemin de transit pour atteindre des destinations tierces.

🛡️ Implications de sécurité : Le routage BGP entre AS peut être vulnérable aux détournements de routes (BGP hijacking) et aux attaques man-in-the-middle.
🗺️

5. Routage par Vecteur de Distance

Le routage distance vector est un type d'algorithme utilisé par des protocoles de routage dynamique comme RIP (Routing Information Protocol).

📍 Principe de fonctionnement

  • Chaque routeur (nœud) ne connaît initialement que le coût pour atteindre ses voisins directs.
  • Périodiquement (toutes les 30 secondes pour RIP), chaque routeur partage son propre tableau de routage (son "vecteur de distances") avec ses voisins immédiats.
  • Lorsqu'un routeur reçoit le vecteur d'un voisin, il met à jour sa propre table de routage. L'algorithme de base est celui de Bellman-Ford : pour atteindre une destination Y, un routeur X calcule le coût minimal en passant par chacun de ses voisins. La formule est : dx(y) = min{c(x,voisin) + d_voisin(y)} pour tous les voisins de x.
  • Convergence : C'est le processus par lequel tous les routeurs du réseau obtiennent des informations de routage cohérentes et stables. Ce processus se propage "de proche en proche".
  • Métrique de RIP : La métrique (le "coût") est simplement le nombre de sauts (hops), c'est-à-dire le nombre de routeurs à traverser pour atteindre une destination. Le nombre maximal de sauts est de 15 ; une route à 16 sauts est considérée comme infinie (inaccessible).
⚠️ Inconvénient principal : La convergence peut être lente, et le protocole est sensible au problème de "comptage jusqu'à l'infini" en cas de défaillance d'un lien.

🚨 Vulnérabilités RIP :
  • Pas d'authentification des mises à jour
  • Sensible aux attaques par empoisonnement de route
  • Compte jusqu'à l'infini (loops)
  • Limite de 15 sauts maximum
🔒

6. Le Protocole TCP et Sécurité

🔄 Phases de la connexion

1. Établissement (3-way handshake)

Client
SYN (seq=x)
Serveur
SYN+ACK (seq=y, ack=x+1)
Client
ACK (ack=y+1)

3. Fermeture (4-way handshake)

La connexion est fermée dans chaque direction indépendamment. Un côté envoie un FIN, l'autre répond par un ACK, puis envoie son propre FIN, qui est à son tour acquitté.

TCP est un protocole de la couche transport qui fournit un service fiable, orienté connexion et en mode flot d'octets au-dessus du service non fiable d'IP.

🎯 Caractéristiques TCP

  • Fiable : Gestion des erreurs et retransmissions
  • Orienté connexion : Établissement préalable
  • Orienté flux : Stream d'octets continu
  • Contrôle de flux : Fenêtre coulissante
  • Contrôle de congestion : Évite la saturation réseau

🔢 Numéros de Séquence et Acquittement

Numéros de séquence (SEQ) et d'acquittement (ACK) : TCP numérote chaque octet envoyé dans un flux.

SEQ = Numéro du premier octet de données
ACK = Numéro du prochain octet attendu

⚙️ Mécanismes de fiabilité et de performance

🔄 Gestion des erreurs et retransmission

TCP gère la perte de segments, les segments erronés (via un checksum calculé sur l'en-tête, les données et un pseudo-en-tête IP) et les octets arrivant dans le désordre. Si un acquittement n'est pas reçu dans un certain délai, le segment est retransmis.

🌊 Contrôle de flux (Flow Control)

🚦 Contrôle de congestion (Congestion Control)

🚨 Attaques TCP :
  • SYN Flood : Saturation par connexions incomplètes
  • TCP Hijacking : Détournement de session
  • RST Attack : Fermeture forcée de connexions
  • Sequence Number Attacks : Prédiction des numéros de séquence
🛡️ Protections :
  • Randomisation des ISN (Initial Sequence Numbers)
  • SYN Cookies contre les SYN floods
  • Firewalls stateful
  • Chiffrement avec TLS/SSL
⚠️

7. Menaces Réseau Courantes

🎣

Hameçonnage (Phishing)

Emails malveillants incitant à cliquer sur des liens ou fournir des informations sensibles.

🔒

Rançongiciel (Ransomware)

Chiffrement des données et exfiltration pour faire pression (double extorsion).

💥

DDoS

Attaques par déni de service distribué pour perturber les services.

🕳️

Man-in-the-Middle

Interception et modification des communications réseau.

🛡️

8. Mesures de Protection Réseau (CIS)

🌐 CIS Control 09 : Protection Email & Navigateur

Protège contre 77% à 86% des sous-techniques d'attaque (IG1)

Mesures IG1 (Cyber Hygiène de Base) :

  • Navigateurs et clients non obsolètes : Mises à jour de sécurité critiques
  • Filtrage DNS : Blocage des domaines malveillants
🔍 Filtrage DNS :
  1. Interception des requêtes DNS de l'entreprise
  2. Comparaison avec liste noire de sites malveillants
  3. Blocage et affichage d'un message d'erreur si correspondance

🏗️ Architecture de Sécurité Réseau

Firewall
Filtrage de paquets
IDS/IPS
Détection d'intrusions
DNS Filtering
Blocage domaines
VPN
Chiffrement tunnel
📚

Points Clés à Retenir

✅ Essentiel pour l'examen :

  • Protocole IP : Caractéristiques (stateless, connectionless, unreliable, unordered)
  • En-tête IP : TTL, Protocol Number, Fragmentation
  • MTU : Ethernet (1500), Wi-Fi (2304), risques de fragmentation
  • TCP : 3-way handshake, SEQ/ACK, attaques SYN flood
  • Routage : RIP, vecteur de distance, vulnérabilités
  • Sécurité : CIS Control 09, filtrage DNS, protection navigateur
🧮 Formules importantes :
MTU Ethernet = 1500 octets
TTL max = 255 (8 bits)
Taille max datagramme IP = 65 535 octets (2¹⁶ - 1)
Fragment Offset en unités de 8 octets