Aller au contenu principal

2. Background

Un diagramme simplifié du problème d'inondation TCP SYN est représenté ci-dessous :

                                                204.69.207.0/24
host <----- router <--- Internet <----- router <-- attacker

TCP/SYN
<---------------------------------------------
Source: 192.168.0.4/32
SYN/ACK
no route
TCP/SYN
<---------------------------------------------
Source: 10.0.0.13/32
SYN/ACK
no route
TCP/SYN
<---------------------------------------------
Source: 172.16.0.2/32
SYN/ACK
no route

[etc.]

Hypothèses :

  • Le « host » est la machine ciblée.

  • L'attaquant réside dans le préfixe « valide », 204.69.207.0/24.

  • L'attaquant lance l'attaque en utilisant des adresses source changeant aléatoirement ; dans cet exemple, les adresses source sont représentées comme provenant de [4], qui ne sont généralement pas présentes dans les tables de routage Internet globales, et donc, inaccessibles. Cependant, n'importe quel préfixe inaccessible pourrait être utilisé pour perpétrer cette méthode d'attaque.

Il convient également de mentionner un cas où l'adresse source est falsifiée pour sembler provenir d'un autre réseau légitime qui apparaît dans la ou les tables de routage globales. Par exemple, un attaquant utilisant une adresse réseau valide pourrait causer des ravages en faisant apparaître l'attaque comme provenant d'une organisation qui n'a pas, en fait, lancé l'attaque et était complètement innocente. Dans de tels cas, l'administrateur d'un système attaqué peut être enclin à filtrer tout le trafic provenant de la source d'attaque apparente. L'ajout d'un tel filtre entraînerait alors un déni de service aux systèmes finaux légitimes et non hostiles. Dans ce cas, l'administrateur du système attaqué devient involontairement un complice de l'attaquant.

Les choses se compliquent davantage : les attaques par inondation TCP SYN entraîneront l'envoi de paquets SYN-ACK à un ou plusieurs hôtes qui n'ont aucune implication dans l'attaque, mais qui deviennent des victimes secondaires. Cela permet à l'attaquant d'abuser de deux systèmes ou plus à la fois.

Des attaques similaires ont été tentées en utilisant l'inondation UDP et ICMP. La première attaque (inondation UDP) utilise des paquets falsifiés pour essayer de connecter le service UDP chargen au service UDP echo sur un autre site. Les administrateurs systèmes ne devraient JAMAIS permettre aux paquets UDP destinés aux ports de diagnostic système depuis l'extérieur de leur domaine administratif d'atteindre leurs systèmes. La dernière attaque (inondation ICMP) utilise une caractéristique insidieuse dans la mécanique de réplication de diffusion de sous-réseau IP. Cette attaque repose sur un routeur desservant un grand réseau de diffusion multi-accès pour encadrer une adresse de diffusion IP (telle qu'une destinée à 10.255.255.255) dans une trame de diffusion de couche 2 (pour ethernet, FF:FF:FF:FF:FF:FF). Le matériel NIC Ethernet (matériel de couche MAC, spécifiquement) n'écoutera qu'un nombre limité d'adresses en fonctionnement normal. La seule adresse MAC que tous les appareils partagent en commun en fonctionnement normal est la diffusion média, ou FF:FF:FF:FF:FF:FF. Dans ce cas, un appareil prendra le paquet et enverra une interruption pour traitement. Ainsi, une inondation de ces trames de diffusion consommera toutes les ressources disponibles sur un système final [9]. Il est peut-être prudent que les administrateurs systèmes envisagent de s'assurer que leurs routeurs de bordure n'autorisent pas le transfert de paquets de diffusion dirigée à travers leurs routeurs par défaut.

Lorsqu'une attaque TCP SYN est lancée en utilisant une adresse source inaccessible, l'hôte cible tente de réserver des ressources en attendant une réponse. L'attaquant change à plusieurs reprises l'adresse source factice sur chaque nouveau paquet envoyé, épuisant ainsi des ressources hôtes supplémentaires.

Alternativement, si l'attaquant utilise l'adresse hôte valide de quelqu'un d'autre comme adresse source, le système attaqué enverra un grand nombre de paquets SYN/ACK à ce qu'il croit être l'initiateur de la séquence d'établissement de connexion. De cette façon, l'attaquant endommage deux systèmes : le système cible de destination, ainsi que le système qui utilise réellement l'adresse usurpée dans le système de routage global.

Le résultat des deux méthodes d'attaque est une performance extrêmement dégradée, ou pire, un crash système.

En réponse à cette menace, la plupart des fournisseurs de systèmes d'exploitation ont modifié leur logiciel pour permettre aux serveurs ciblés de supporter des attaques avec des taux de tentatives de connexion très élevés. C'est une partie bienvenue et nécessaire de la solution au problème. Le filtrage d'entrée prendra du temps pour être implémenté de manière omniprésente et être pleinement efficace, mais les extensions aux systèmes d'exploitation peuvent être implémentées rapidement. Cette combinaison devrait s'avérer efficace contre l'usurpation d'adresse source. Voir [1] pour des informations sur les mises à jour logicielles des fournisseurs et plates-formes.