Attaque DDoS Slowloris

L'attaque Slowloris tente de submerger un serveur ciblé en ouvrant et en maintenant de nombreuses connexions HTTP simultanées avec la cible.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir une attaque DDoS Slowloris
  • Expliquer comment fonctionne une attaque Slowloris
  • Comprendre plusieurs stratégies d'atténuation pour une attaque Slowloris

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

Copier le lien de l'article

Qu'est-ce qu'une attaque DDoS Slowloris ?

Slowloris est un programme d'attaque par déni de service qui permet à un cyberattaquant de submerger un serveur cible en ouvrant et en maintenant de nombreuses connexions HTTP simultanées entre l'attaquant et la cible.

Schéma d'attaque de Slowloris

Comment fonctionne une attaque Slowloris ?

Slowloris est une attaque au niveau de la couche application qui opère en utilisant des requêtes HTTP partielles. L'attaque fonctionne en ouvrant des connexions à un serveur web ciblé et en maintenant ces connexions ouvertes aussi longtemps que possible.

Slowloris n'est pas une catégorie d'attaque, mais plutôt un outil d'attaque spécifique conçu pour permettre à une seule machine d'arrêter un serveur sans utiliser une grande quantité de bande passante. Contrairement aux attaques DDoS basées sur la réflexion qui consomment de la bande passante telles que les attaques par amplification NTP, ce type d'attaque utilise une faible quantité de bande passante et vise plutôt à utiliser les ressources du serveur avec des requêtes qui semblent plus lentes que la normale, mais qui imitent cependant mieux le trafic normal. Elle appartient à la catégorie des attaques appelées « Low & Slow », c'est-à-dire de faible puissance et lentes. Le serveur cible ne disposera que d'un nombre limité de threads pour gérer les connexions simultanées. Chaque thread du serveur tentera de rester en vie en attendant la fin de la demande lente, qui ne se produit jamais. Lorsque le nombre maximal de connexions possibles du serveur a été dépassé, chaque connexion supplémentaire ne reçoit pas de réponse, ce qui entraîne un déni de service.

Une attaque Slowloris se déroule en 4 temps :

  1. L'attaquant ouvre d'abord plusieurs connexions avec le serveur cible en envoyant plusieurs en-têtes de requête HTTP partiels.
  2. La cible ouvre un thread pour chaque requête entrante, avec l'intention de fermer le thread une fois la connexion établie. Afin d'être efficace, si une connexion prend trop de temps, le serveur expirera la connexion excessivement longue, ce qui libère le thread pour la prochaine requête.
  3. Pour empêcher la cible d'expirer les connexions, l'attaquant envoie périodiquement des en-têtes de demande partiels à la cible afin de maintenir la requête en vie. En disant en quelque sorte : « Je suis toujours là ! Je suis juste lent, attendez-moi. »
  4. Le serveur ciblé n'est jamais en mesure de libérer l'une des connexions partielles ouvertes en attendant la fin de la demande. Une fois que tous les threads disponibles sont utilisés, le serveur n'est plus en mesure de répondre aux requêtes supplémentaires effectuées à partir du trafic normal, ce qui entraîne un déni de service.

Le principe essentiel de Slowloris est sa capacité à causer de gros problèmes avec une très faible consommation de bande passante.

Comment atténuer une attaque Slowloris ?

Pour les serveurs web vulnérables à Slowloris, il existe des moyens d'atténuer une partie de l'impact. Les options d'atténuation pour les serveurs vulnérables peuvent être divisées en 3 grandes catégories :

  1. Augmentation de la disponibilité du serveur - L'augmentation du nombre maximal de clients que le serveur autorise à tout moment élève le nombre de connexions que l'attaquant doit établir avant de pouvoir surcharger le serveur. De manière réaliste, un attaquant peut augmenter le nombre d'attaques pour dépasser la capacité du serveur, quelle que soit l'augmentation du nombre maximal de clients.
  2. Rate limiting sur les requêtes entrantes - La restriction de l'accès en fonction de certains facteurs d'utilisation aidera à atténuer une attaque Slowloris. Des techniques telles que la limitation du nombre maximum de connexions qu'une seule adresse IP est autorisée à faire, en limitant les vitesses de transfert lentes et le temps maximum qu'un client est autorisé à rester connecté, sont toutes les approches qui permettent de réduire l'efficacité des attaques lentes et de faible puissance.
  3. Protection basée sur le cloud - L'utilisation d'un service qui peut fonctionner comme proxy inverse , en protégeant le serveur d'origine.

Comment Cloudflare atténue-t-il une attaque Slowloris ?

Cloudflare place en tampon les requêtes entrantes avant de commencer à envoyer la moindre requête au serveur d'origine. Par conséquent, le trafic d'attaque « Low & Slow » comme les attaques Slowloris n'atteint jamais la cible prévue. En savoir plus sur la manière dont la protection DDoS Cloudflare arrête les attaques Slowloris.