Vulnérabilités TCP/IP
Définition
La pile TCP/IP transporte la majorité du trafic Internet et des réseaux internes. Ses protocoles les plus utilisés, TCP, UDP, ARP, ICMP, DHCP et DNS, ont été conçus pour un Internet de confiance. Chacun expose des failles que les attaquants exploitent pour intercepter, détourner ou bloquer le trafic.
Détournement du handshake TCP
TCP établit une connexion en trois temps : SYN, SYN-ACK, ACK. Un attaquant peut envoyer des milliers de SYN sans répondre aux SYN-ACK. Le serveur garde des connexions à moitié ouvertes jusqu'à épuisement de sa mémoire. C'est une attaque par déni de service appelée SYN flood.
Exemple concret : un serveur web public reçoit 50 000 SYN en 10 secondes. Sa file de connexions se remplit, les clients légitimes obtiennent des timeouts. La commande netstat -n | grep SYN_RECV montre des centaines de connexions bloquées dans cet état.
Spoofing et MITM
Le spoofing consiste à falsifier l'adresse IP source d'un paquet. Comme IP ne vérifie pas l'identité de l'émetteur, un paquet peut prétendre venir de 192.168.1.10 alors qu'il vient d'ailleurs. L'attaque de l'homme du milieu (MITM) place l'attaquant entre deux interlocuteurs : il reçoit le trafic, le lit, puis le transmet. Le chiffrement HTTPS rend cette interception illisible, d'où son rôle central.
Attaques de la couche 2
ARP associe une adresse IP à une adresse MAC sur le réseau local. Un attaquant peut répondre à toutes les requêtes ARP avec sa propre MAC. Les paquets destinés au routeur passent alors par lui : c'est l'empoisonnement ARP. La commande arp -a affiche la table locale, où deux IP peuvent pointer vers la même MAC.
DHCP attribue les adresses IP automatiquement. Une attaque de famine DHCP (DHCP starvation) inonde le serveur de demandes avec des adresses MAC falsifiées. Le pool s'épuise et les nouveaux appareils n'obtiennent plus d'IP. Un serveur DHCP pirate peut ensuite distribuer de fausses passerelles.
DNS et HTTP
DNS traduit les noms de domaine en adresses IP. L'empoisonnement du cache DNS injecte une fausse réponse dans un résolveur. Les utilisateurs qui tapent banque.com arrivent sur un site pirate. HTTP transporte tout en clair, y compris les mots de passe. HTTPS chiffre la session sur le port 443 avec TLS. La différence se voit dans la barre d'adresse : cadenas pour HTTPS, avertissement pour HTTP.