Les DDoS utilisent une nouvelle méthode puissante pour lancer des attaques d'une ampleur inimaginable,
-
L’armement des boîtes intermédiaires pour l’amplification par réflexion TCP.
En août dernier, des chercheurs universitaires ont découvert une nouvelle méthode puissante pour mettre des sites hors ligne : une flotte de serveurs mal configurés, forts de plus de 100 000 unités, capables d’amplifier des flots de données indésirables à des tailles autrefois impensables. Dans de nombreux cas, ces attaques peuvent aboutir à une boucle de routage infinie qui provoque un déluge de trafic auto-perpétué. Aujourd’hui, le réseau de diffusion de contenu Akamai indique que des cybercriminels exploitent les serveurs pour cibler des sites dans les secteurs de la banque, des voyages, des jeux, des média.
Ces serveurs, appelés middleboxes, sont déployés par des États-nations tels que la Chine, la Russie pour censurer les contenus restreints et par de grandes entreprises pour bloquer les sites qui proposent du porno, des jeux d’argent et des téléchargements pirates. Les serveurs ne respectent pas les spécifications du protocole de contrôle de la transmission qui se fait en trois étapes.
En réalité, ces étapes limitent l’utilisation abusive de l’application basée sur TCP comme amplificateur, car la confirmation ACK doit provenir de la société de jeux ou d’une autre cible plutôt que d’un attaquant usurpant l’adresse IP de la cible. Mais étant donné la nécessité de gérer le routage asymétrique, dans lequel la boîte intermédiaire peut surveiller les paquets livrés par le client mais pas la destination finale qui est censurée ou bloquée, de nombreux serveurs de ce type abandonnent cette exigence par conception.
Les attaques par amplification réfléchie constituent un outil puissant dans l’arsenal d’un attaquant DoS. Un cybercriminel usurpe une requête d’une victime vers un serveur ouvert (par exemple, un résolveur DNS ouvert), et le serveur répond à la victime. Si la réponse est plus importante que la demande usurpée, le serveur amplifie effectivement la bande passante de l’attaquant dans l’attaque DoS.
La plupart des amplifications de déni de service seraient aujourd’hui basées sur le protocole UDP. La raison en est que le protocole TCP se fait en trois étapes qui compliquent les attaques par usurpation. Chaque connexion TCP commence par l’envoi d’un paquet SYN par le client, le serveur répond par un SYN+ACK et le client termine la poignée de main par un paquet ACK. Cette technique protège les applications TCP contre les amplificateurs, car si un attaquant envoie un paquet SYN avec une adresse IP source usurpée, le SYN+ACK sera envoyé à la victime et l’attaquant ne connaîtra jamais les informations critiques contenues dans le SYN+ACK nécessaires pour compléter l’étape à trois voies. Sans recevoir le SYN+ACK, l’attaquant ne peut pas faire de demandes valides au nom de la victime.
Depuis des dizaines d’années, les attaques par déni de service distribué (DDoS) sont utilisées pour inonder des sites avec plus de trafic ou de demandes de calcul que les sites ne peuvent en gérer, privant ainsi les utilisateurs légitimes de services. Pour maximiser les dégâts et économiser les ressources, les auteurs de DDoS augmentent souvent la puissance de feu de leurs attaques grâce à des vecteurs d’amplification.
L’amplification consiste à usurper l’adresse IP de la cible et à envoyer une quantité relativement faible de données à un serveur mal configuré, utilisé pour résoudre les noms de domaine, synchroniser les horloges des ordinateurs ou accélérer la mise en cache des bases de données. Comme les réponses envoyées automatiquement par les serveurs sont des dizaines, des centaines ou des milliers de fois plus importantes que la demande, elles submergent la cible usurpée.
Découverte de boîtes intermédiaires amplificatrices
L’objectif est d’arriver a une séquence de paquets qu’un attaquant peut envoyer pour tromper une middlebox afin qu’elle injecte une réponse sans passer par les trois étapes de l’échange TCP. Selon les chercheurs, cet objectif n’est pas conforme à TCP. « Nous profitons des faiblesses de l’implémentation, et non de la conception du protocole TCP lui-même. Cela signifie qu’il n’est pas suffisant d’étudier le protocole TCP seul - nous devons étudier les implémentations TCP réelles des boîtes intermédiaires. Cela représente un défi. »
« Il existe trop de types de boîtes intermédiaires dans le monde pour que nous puissions les acheter, et même si nous le pouvions, les boîtes intermédiaires qui alimentent l’infrastructure de censure des États-nations ne sont généralement pas à vendre ». Au lieu de cela, les chercheurs ont utilisé l’outil Geneva pour étudier les middlebox de censure dans la nature.
Pour trouver les middleboxes à étudier, ils ont utilisé les données publiques publiées par l’outil Quack de CensoredPlanet. Quack est un scanner qui trouve les adresses IP avec une middlebox de censure sur leur chemin. Ces données ont été utilisées pour identifier 184 exemples de middleboxes situées dans le monde entier qui ont effectué une censure HTTP en injectant des pages de blocage. Geneva (Genetic Evasion) est un algorithme génétique conçu par les chercheurs pour découvrir automatiquement de nouveaux moyens d’échapper à la censure, mais Geneva est avant tout un fuzzer réseau au niveau des paquets.
Les chercheurs disent avoir trouvé 5 séquences de paquets qui ont suscité des réponses amplifiées de la part des boîtes intermédiaires. Chacune d’entre elles contiendrait une requête HTTP GET bien formée pour un domaine qui est interdit par la middlebox :
- paquet SYN (avec une requête interdite) ;
- Paquet PSH ;
- Paquet PSH+ACK ;
- paquet SYN, suivi d’un paquet PSH contenant la demande interdite ;
- Paquet SYN, suivi d’un paquet PSH+ACK contenant la requête interdite.
« Nous avons également trouvé 5 autres modifications qui augmentent encore l’amplification pour une petite fraction des middleboxes ; un attaquant pourrait les utiliser pour des middleboxes spécifiques », ont-ils déclaré. Pour obtenir une réponse de ces boîtes intermédiaires, les chercheurs utilisent un domaine qui est censuré ou interdit par chaque boîte intermédiaire, mais la plupart des boîtes intermédiaires de censure utilisent différentes listes de blocage, ce qui rend difficile de trouver un domaine qui suscitera des pages de blocage de la part de tous. L’ensemble de données Quack a été analysé pour trouver les 5 domaines qui ont suscité des réponses de la part du plus grand nombre de middleboxes, qui, par coïncidence, couvrent cinq domaines différents :
- élément de liste(pornographie) youporn.com ;
- élément de liste(jeux d’argent) roxypalace.com ;
- (réseaux sociaux) plus.google.com ;
- (partage de fichiers) bittorrent.com ;
- (santé/éducation sexuelle) survive.org.uk.
Trouver des amplificateurs
Pour mesurer le nombre d’adresses IP permettant une amplification réfléchie, l’ensemble de l’Internet IPv4 a été balayé. Pour ce faire, ils ont modifié l’analyseur zmap pour construire les cinq séquences de paquets identifiées par Geneva. « Nous avons scanné l’ensemble de l’Internet IPv4 35 fois au total (5 séquences de paquets × 7 domaines de test). Nous avons mesuré les réponses que nous avons reçues en retour pour calculer le facteur d’amplification que nous avons obtenu de chaque adresse IP », déclarent les chercheurs.
Notons que ZMap est un scanner de réseau rapide à paquet unique conçu pour les enquêtes sur les réseaux Internet. Les chercheurs ont d’abord modifié ZMap pour ajouter un nouveau module de sonde (le module forbidden_scan défini dans src/probe_modules/module_forbidden_scan.c), puis ils ont créé un second fork pour ajouter la possibilité de créer deux paquets distincts pour chaque sonde (cela permet d’envoyer un paquet SYN personnalisé, suivi d’un second paquet personnalisé contenant une requête HTTP GET bien formée).
Le sous-module zmap dans ce dépôt est destiné aux analyses de paquets uniques (les analyses SYN, PSH ou PSH+ACK de notre article) et zmap_multiple_probes (pour les analyses SYN ; PSH ou SYN ; PSH+ACK de notre article). Plusieurs options sont compilées dans le module, y compris l’en-tête Host : inclus dans la charge utile. Pour modifier l’une des options, le fichier module_forbidden_scan.c situé dans src/probe_modules doit être édité et ZMap recompilé pour l’utiliser.
Résultats
Types d’attaques trouvés. Les flèches épaisses indiquent l’amplification ; les flèches rouges indiquent les paquets qui déclenchent l’amplification.
- Réflexion TCP normale, dans laquelle l’attaquant envoie un seul paquet SYN pour susciter des SYN+ACKs ;
- Réflexion middlebox, dans laquelle l’attaquant envoie une séquence de paquets pour déclencher une page de blocage ou une réponse de censure ;
- Réflexion combinée de la destination et de la boîte intermédiaire, dans laquelle l’attaquant peut obtenir une réponse à la fois de la boîte intermédiaire et de la destination finale ;
- Réflexion par boucle de routage, dans laquelle les paquets déclencheurs sont piégés dans une boucle de routage ;
- La réflexion soutenue par la victime, dans laquelle la réponse par défaut de la victime déclenche des paquets supplémentaires de la middlebox ou de la destination.
Nous constatons que l’amplification infinie est causée par les boucles de routage qui ne décrémentent pas les TTL et la réflexion soutenue par la victime. Rappelons que des faiblesses dans l’implémentation de TCP dans les boîtes intermédiaires sont recherchées, et non dans le protocole TCP lui-même. En outre, chaque boîte intermédiaire a ses propres politiques d’injection et ses propres pages de blocage : cela signifie qu’il n’existe pas de facteur d’amplification unique pour cette attaque, puisque chaque boîte intermédiaire déclenchée sera différente.
Au lieu de cela, la distribution des tailles de réponse peut être examinée pour voir la quantité d’amplification disponible pour les attaquants. Voici, ci-dessous, un graphique du facteur d’amplification maximal que les chercheurs ont reçu pour chaque adresse IP sur l’ensemble des 35 analyses, trié par facteur d’amplification sur l’axe des abscisses. Sur l’axe des y, on découvre le facteur d’amplification que l’adresse IP fournit. Sur ce graphique, on observe un large éventail de facteurs d’amplification de plus de 100.000.000 à moins de 1.
Amplification infinie
Ensuite, les chercheurs ont examiné les adresses IP situées en tête du graphique ci-dessus, où des facteurs d’amplification compris entre 1 000 000 et 100 000 000 sont observés. Ces adresses IP sont « des méga-amplificateurs », offrant des facteurs d’amplification énormes. En fait, selon ces chercheurs, ces facteurs d’amplification sont probablement sous-estimés ; ces chiffres correspondent au moment où l’analyse a cessé de collecter des données, et non au moment où l’adresse IP a cessé d’envoyer des données.
C’est ici que des facteurs d’amplification techniquement infinis sont trouvés. Le facteur d’amplification est calculé par le nombre d’octets reçus par un amplificateur divisé par le nombre d’octets envoyés. Des amplificateurs qui, une fois déclenchés par une seule séquence de paquets du cybercriminel, envoient un flux infini de paquets à la victime. Dans les tests, certains de ces flux de paquets ont duré des jours, souvent à la pleine largeur de bande que le lien de l’amplificateur pouvait fournir. Deux causes à cette amplification infinie ont été trouvées : les boucles de routage et les amplificateurs soutenus par la victime.
Boucles de routage
Les boucles de routage se produisent entre deux adresses IP lorsque des paquets restent bloqués en traversant une boucle lors de leur acheminement d’une adresse IP à l’autre. Les boucles de routage qui contiennent des boîtes intermédiaires de censure offrent un nouvel avantage aux cybercriminels : chaque fois que les paquets déclencheurs font le tour de la boucle de routage, ils déclenchent de nouveaux la boîte intermédiaire de censure.
Le nombre de sauts pour un paquet dans un réseau est généralement régulé par le champ TTL (ou time-to-live) des paquets IP : chaque fois qu’un paquet passe d’un routeur à l’autre, sa valeur TTL est décrémentée. Si le TTL atteint 0, le paquet est abandonné. La valeur TTL maximale est de 255 : cela signifie qu’un cybercriminel qui peut envoyer une séquence de déclenchement dans une boucle de routage amplificatrice obtient gratuitement une amplification supplémentaire de ~250×.
Encore plus dangereuses que les boucles de routage normales sont les boucles de routage infinies. Les boucles de routage infinies se produisent lorsqu’il existe un chemin de routage circulaire qui ne décrémente pas la valeur TTL, ce qui fait que les paquets tournent autour de la boucle pour toujours (ou jusqu’à ce qu’une chute de paquet aléatoire se produise). Un petit nombre de boucles de routage infinies qui traversaient l’infrastructure de censure a été trouvé (notamment en Chine et en Russie) et qui offraient une amplification infinie.
Amplificateurs soutenus par la victime
La deuxième cause trouvée pour l’amplification infinie était les boucles soutenues par la victime. Lorsqu’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 d’amplificateurs qui renvoient leurs pages de bloc lorsqu’ils traitent un paquet supplémentaire de la victime a été decouvert y compris le RST. Cela crée une tempête de paquets infinie : le cybercriminel élicite une seule page de bloc à une victime, qui provoque un RST de la victime, une nouvelle page de bloc de l’amplificateur et un RST de la victime, etc.
Le cas de la victime soutenue est particulièrement dangereux pour deux raisons. Premièrement, le comportement par défaut de la victime maintient l’attaque sur elle-même. Deuxièmement, cette attaque amène la victime à inonder sa propre liaison montante tout en inondant la liaison descendante.
« Les attaques TCP volumétriques nécessitaient auparavant qu’un attaquant ait accès à beaucoup de machines et à beaucoup de bande passante, un domaine normalement réservé aux machines très musclées avec des connexions à large bande passante et des capacités d’usurpation de source ou des botnets. En effet, jusqu’à présent, il n’existait pas d’attaque d’amplification significative pour le protocole TCP ; une petite quantité d’amplification était possible, mais elle était considérée comme presque négligeable, ou à tout le moins inférieure et inefficace par rapport aux alternatives UDP.
« Si vous vouliez coupler une inondation SYN avec une attaque volumétrique, vous deviez pousser un rapport 1:1 de la bande passante vers la victime, généralement sous la forme de paquets SYN rembourrés. Avec l’arrivée de l’amplification par les boîtes intermédiaires, cette conception ancienne des attaques TCP n’est plus vraie. Aujourd’hui, un attaquant n’a besoin que d’un 1/75e (dans certains cas) de la quantité de bande passante d’un point de vue volumétrique, et en raison des bizarreries de certaines implémentations de middlebox, les attaquants obtiennent gratuitement une inondation de SYN, ACK ou PSH+ACK », écrivent les chercheurs d’Akamai.
Malheureusement, il n’y a rien que les utilisateurs finaux puissent faire pour bloquer l’amplification DDoS présentée. Les opérateurs de boîtes intermédiaires doivent reconfigurer leurs machines, ce qui est peu probable dans de nombreux cas. Dans le cas contraire, les responsables en sécurité réseau doivent modifier la façon dont ils filtrent et répondent aux paquets.
Geneva est un nouvel algorithme génétique expérimental qui échappe à la censure en manipulant le flux de paquets à une extrémité de la connexion pour confondre le censeur. Geneva est composé de deux éléments : son algorithme génétique et son moteur de stratégie. Le moteur de stratégie exécute une stratégie d’évasion de la censure donnée sur le trafic réseau actif ; l’algorithme génétique est le composant d’apprentissage qui développe de nouvelles stratégies (en utilisant le moteur) contre un censeur donné.
Source : Geneva, securite.developpez.com
-