20 août 2021

De l’amplification DDoS via TCP en 2021 ?

DDoS, DoS, DrDoS : comment cela fonctionne ? - NBS SYSTEM

De nos jours, de plus en plus d’attaques de type déni de service distribué font rage dans le monde, que ce soit contre des entreprises, des gouvernements ou de petites entités. Des solutions existent afin de contrer ce type d’attaque, mais celles-ci ne sont pas forcément mises en place et il est parfois difficile de se défendre contre des attaques de plus en plus intenses en bande passante (la plus grosse attaque visait les services de Google avec une puissance dépassant les 2,50 Tbps en 2020).

Une attaque par déni de service distribué (DDoS) est une tentative malveillante de perturber le trafic normal d’un serveur, d’un service ou d’un réseau cible en submergeant la victime ou son infrastructure environnante par un flot de trafic.

Les attaques DDoS atteignent leur efficacité en utilisant plusieurs systèmes informatiques compromis comme sources de trafic d’attaque. Les machines exploitées peuvent inclure des ordinateurs et d’autres ressources en réseau, telles que des dispositifs IoT par exemple. Ces derniers sont en général infectés par des logiciels malveillants, leur permettant d’être contrôlés à distance par un attaquant. Ces appareils individuels sont appelés bots (ou zombies), et un groupe de bots est appelé un botnet (réseau de zombie).

Récemment, des chercheurs ont trouvé une nouvelle façon pour les attaquants de lancer des attaques d’amplification par déni de service réfléchies via TCP en abusant des boîtiers réseau de médiation (sonde réseau, pare-feu, répartiteur de charge, etc.) et de l’infrastructure de censure. Les ordres de grandeur de ces attaques dépassent généralement celles des attaques existantes.

Notion d’amplification réfléchie

Les attaques par amplification réfléchie constituent un outil puissant dans l’arsenal d’un attaquant. Un attaquant usurpe la requête d’une victime vers un serveur ouvert (par exemple, un serveur DNS ouvert), entrainant la réponse du serveur vers la victime. Dans ce genre d’attaque, l’attaquant inscrit l’adresse IP de la victime comme IP source afin que cette dernière reçoive bien la réponse amplifiée du serveur.

Si la taille de la réponse est plus importante que la requête usurpée, cela signifie que le serveur amplifie effectivement la réponse reçue.

Figure 1 : Attaque par amplification réfléchie

Les attaques de déni de service par amplification sont généralement des attaques utilisant le protocole UDP, étant donné qu’aucune communication préalable n’est requise pour établir la connexion, à l’inverse du TCP (qui utilise le procédé de handshaking). En effet, l’UDP utilise un mode de transmission sans connexion.

Le handshaking (poignée de main) est efficace pour empêcher l’amplification pour les hôtes conformes à la norme TCP. Nonobstant, lors de travaux, des chercheurs ont découvert qu’un grand nombre de boîtier réseau de médiation ne sont pas conformes à la norme TCP et peuvent être utilisées de manière abusive pour réaliser des attaques. En particulier, de nombreux boîtier réseau de médiation répondent aux requêtes usurpées par des réponses très large en taille, même en l’absence de connexion ou de TCP handshake valide. De ce fait, il est rendu possible d’utiliser ces boîtiers afin de mener des attaques par amplification DoS :

Figure 2 : Armement des boitiers de médiation

Les chercheurs se sont donc demandé quelle était la meilleure façon pour un attaquant d’utiliser ces boîtiers, et quels types de facteurs d’amplification peuvent être obtenus ?

Découverte de l’amplification via boîtier réseau de médiation

Les chercheurs ont profité des faiblesses de mise en œuvre, et non de la conception du protocole TCP lui-même. Cela signifie qu’il n’était pas suffisant d’étudier le protocole TCP seul, il fallait étudier les implémentations TCP réelles des boîtiers réseau de médiation.

Ils ont ainsi développé un outil appelé « Geneva » dans le but d’étudier les boîtiers réseau de médiation. En utilisant Quack, un outil de CensoredPlanet, les chercheurs ont eu accès à 184 boîtiers réseau de médiation à étudier.

Geneva (Genetic Evasion) est un testeur à données aléatoires au niveau réseau, qui a ici été modifié afin de découvrir automatiquement de nouvelles façons d’échapper à la censure et trouver les défauts d’implémentations dans ces boitiers réseau.

5 séquences de paquets ont suscité des réponses amplifiées de la part des boîtes réseau de médiation. Chacune d’entre elles contient une requête HTTP GET bien formée pour un domaine qui est interdit par le boitier réseau de médiation :

• Paquet SYN (avec une requête de type « forbidden »)
• Paquet PSH
• Paquet PSH+ACK
• Paquet SYN, suivi d’un paquet PSH contenant la requête « forbidden »
• Paquet SYN, suivi d’un paquet PSH+ACK contenant la demande « forbidden ».

Figure 3 : Attaque par amplification TCP

Trouver des amplificateurs

L’ensemble des adresses IPv4 (de 0.0.0.0 à 255.255.255.255) internet a été scanné avec Zmap (un scanneur de réseau optimisé pour scanner Internet rapidement) afin de mesurer le nombre d’adresses IP permettant une amplification réfléchie. Pour ce faire, zmap a été modifié afin de construire cinq séquences de paquets identifiées par Geneva :

Figure 4 : Construction des requêtes/réponses de zmap

Les flèches épaisses indiquent l’amplification, les flèches rouges indiquent les paquets qui déclenchent l’amplification.

Résultats

L’étude des amplificateurs a révélé des machines permettant d’amplifier avec un facteur x100 000 000 une attaque :

Figure 5 : Résultat de l’amplification

Amplification infinie

Ici, nous allons étudier les moyens d’obtenir une amplification avec un facteur entre 1 000 000 et 100 000 000, comme présenter dans le graphe ci-dessus. Les chercheurs présentent le fait que ces énormes facteurs d’amplifications sont probablement sous-estimés. En effet, des amplificateurs qui, une fois déclenchés par une seule séquence de paquets de l’attaquant, envoient un flux sans fin de paquets à la victime. Dans les tests, certains de ces flux de paquets ont duré des jours, souvent à 100% de la bande passante.

Deux causes à cette amplification infinie ont été trouvées : les boucles de routage et les amplificateurs soutenus par les victimes.

Boucle de routage

Les boucles de routage se produisent entre deux adresses IP lorsque des paquets restent bloqués en traversant une boucle pendant leur acheminement d’une adresse IP à l’autre. Les boucles de routage qui contiennent des boîtiers réseau de médiation offrent un nouvel avantage aux attaquants : chaque fois que les paquets déclencheurs font le tour de la boucle de routage, ils redéclenchent le boîtier réseau de médiation:

Figure 6 : Boucle de routage

Les chercheurs ont trouvé un petit nombre de boucles de routage infinies dans des infrastructures de médiation (notamment en Chine et en Russie) et offraient une amplification infinie.

Amplification soutenue par les victimes

La deuxième cause trouvée par les chercheurs pour l’amplification infinie est : les boucles soutenues par la victime. Quand une victime reçoit un paquet TCP inattendu, la réponse correcte du client est de répondre avec un paquet RST. Un petit nombre de ces appareils de renvoient de larges pages Web de blocage lorsqu’ils traitent un paquet TCP supplémentaire de la victime – y compris le paquet RST (qui est la réponse d’un paquet TCP inattendu).

Cela crée une interaction de paquets « infinie » : l’attaquant envoie une seule page Web de blocage à une victime, qui provoque un RST de la victime, qui provoque une nouvelle page Web de l’amplificateur, qui provoque un RST de la victime, etc :

Figure 7 : Amplification soutenue par les victimes

Ce cas-ci est particulièrement dangereux pour deux raisons. Premièrement, le comportement par défaut maintient l’inertie de l’attaque. Deuxièmement, cette attaque amène la victime à submerger sa propre connexion (montante et descendante).

Dégâts de l’attaque

Quelle est la bande passante maximale qu’un attaquant peut obtenir via cette attaque ? Pour mesurer la capacité maximale d’un amplificateur donné, il faudrait saturer complètement le lien pour chaque réseau, ce qui pourrait avoir des conséquences négatives sur les utilisateurs. Ainsi, pour l’instant, la capacité réelle dont disposent les attaquants grâce à cette attaque est encore inconnue.

Défenses

Il est difficile de se défendre contre ce type attaque. Le flux de trafic entrant passe par le port TCP 80 (trafic HTTP normal) et les réponses sont généralement des réponses HTTP bien formées.

Comme les boîtier réseau de médiation usurpent l’adresse IP du trafic qu’elles génèrent, cela signifie que l’attaquant peut définir l’adresse IP source du trafic réfléchi comme étant n’importe quelle adresse IP derrière un boîtier réseau de médiation. Pour certains réseaux, il s’agit d’un petit nombre d’adresses IP, mais si un attaquant utilise l’infrastructure de l’Etat d’une nation, il peut faire en sorte que le trafic d’attaque provienne de n’importe quelle adresse IP de ce pays. Il est donc difficile pour une victime de supprimer le trafic provenant des adresses IP incriminées pendant une attaque.

Conclusion

Ici, une attaque par déni de service distribué (DDoS) avec un facteur d’amplification sans précédent (théoriquement infini) a été découverte, et qui est la première attaque par amplification réfléchie basée sur HTTP (TCP), donc difficile à défendre.

On voit ainsi en quoi les infrastructures de médiation constituent une menace plus importante pour l’Internet qu’on ne le pensait jusqu’à présent.

Il existe d’ailleurs d’autres attaques via ces infrastructures de médiation, qui permettent par exemple de bloquer arbitrairement des adresses IP.

Il est important de noter que même les déploiements de pare-feu et de systèmes de prévention des intrusions (IPS) dans les pays qui ne pratiquent pas la censure peuvent eux aussi être utilisés comme armes à l’aide de ces techniques, augmentant le risque de cette attaque.

À ce jour, cette attaque n’a pas été observée dans la nature, mais il se pourrait que des attaquants profitent rapidement de ce facteur d’amplification insoupçonné rapidement.

20 août 2021 CERT

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *