Qu’est ce qu’une attaque DDoS ?

I. Présentation

Dans cet article, nous allons découvrir les attaques DDoS qui sont de plus en plus puissantes et qui ciblent régulièrement certaines entreprises, comme bien d'autres types d'attaques. Avant de parler des attaques DDoS en elle-même, il me semble indispensable de parler des attaques DoS, pour ensuite aborder la sujet des attaques DDoS.

C'est un sujet que j'évoque de temps en temps dans mes articles liés à l'actualité, notamment avec des titres comme "Europe : Akamai a bloqué une attaque DDoS record avec 659 millions de paquets par seconde", ou "DDoS HTTPS : Cloudflare a bloqué une attaque de 26 millions de requêtes par seconde".

II. Les attaques DoS (déni de service)

Tout d'abord, vous devez savoir que l'acronyme DoS signifie Denial of Service, soit en français "déni de service". L'objectif des attaques par déni de service est de rendre indisponible le service cible en le surchargeant jusqu'à ce qu'il tombe. En fait, on va chercher à envoyer énormément de requêtes à un serveur cible dans le but d'épuiser ses ressources, et puisqu'il ne parviendra plus à répondre, il va saturer et le service qu'il héberge ne répondra plus. Par exemple, la carte réseau d'une machine peut saturer à cause d'un trop grand nombre de requêtes reçues sur l'interface.

Dans certains cas, c'est l'exploitation d'une faille de sécurité ou d'un simple bug au sein d'une application ou d'un système qui peut permettre d'effectuer une attaque de type "déni de service". Ce qui signifie que l'on n'épuise pas les ressources de la machine cible, mais qu'on génère un plantage grâce à une requête spécifique : une seule requête peut suffire !

Dans le cadre d'une attaque DoS, c'est une machine source avec une seule connexion qui s'en prend à une machine cible, en se disant "je suis plus fort et plus puissant que toi, je vais te surcharger jusqu'à ce que tu sois à bout". On peut imaginer une machine avec une connexion réseau à 10 Gbit/s qui va s'attaquer à une machine avec une connexion réseau à 1 Gbit/s : le duel est déséquilibré.

Schéma attaque DoS

Assez rapidement, on voit que ce duel "1 VS 1" à ses limites et qu'il est très loin d'être suffisant lorsque l'on cherche à s'en prendre à d'importants sites ou services en ligne. Malgré tout, chaque système à ses limites. C'est là qu'intervient la méthode DDoS que nous allons découvrir dès à présent.

III. Les attaques DDoS (déni de service distribué)

A. Le principe d'une attaque DDoS

L'acronyme DDoS signifie Distributed Denial of Service, c'est-à-dire un déni de service distribué en français. Comme une attaque DoS, l'objectif d'une attaque DDoS est de saturer une machine cible jusqu'à la rendre indisponible et créer une interruption de service. Par exemple, une attaque DDoS à l'encontre d'un site Web va avoir pour objectif de le rendre indisponible.

Pour envoyer un nombre extrêmement important de requêtes à la machine cible afin de la saturer, les cybercriminels vont utiliser un ensemble de machines dans le cadre d'une attaque DDoS. C'est important de comprendre qu'une attaque DDoS est émise à partir de plusieurs machines à destination d'une même cible.

Pour bénéficier de ces nombreuses sources d'attaques afin d'avoir la puissance nécessaire pour faire tomber l'hôte cible, les cybercriminels vont s'appuyer sur un réseau d'ordinateurs infectés (botnet) constitués de plusieurs centaines voire milliers de machines. Ces machines infectées et intégrées au botnet peuvent être réparties partout dans le monde et elles sont pilotées par les cybercriminels : aussi bien des serveurs (un VPS dans le Cloud, par exemple), un ordinateur ou un objet connecté. Chacun de ces équipements permettra d'avoir une force de frappe plus importante et de déclencher une attaque DDoS surpuissante : c'est pour cette raison que l'on entend parler d'attaques DDoS où la cible reçoit plusieurs dizaines ou centaines de millions de paquets par seconde.

Schéma attaque DDoS

B. Quelles sont les cibles des attaques DDoS ?

Les attaques DDoS ciblent particulièrement les services disponibles sur Internet, car ils sont facilement atteignables. Ainsi, les sites Internet et les entreprises qui fournissent des services en ligne représentent la cible idéale pour une attaque DDoS. Ensuite, reste à identifier la motivation de cette attaque DDoS, car ce n'est généralement pas pour le plaisir. En effet, il peut y avoir une motivation religieuse, politique ou liée à de la concurrence entre plusieurs entreprises.

Il faut garder à l'esprit qu'il n'est pas nécessaire que votre entreprise ou votre site Web soit la cible directe d'une attaque par DDoS pour être impacté, car si c'est votre fournisseur de services qui est touché, vous pouvez l'être aussi. Par exemple, le fournisseur de services Cloud sur lequel vous vous appuyez pour héberger votre site Web.

C. Les différentes techniques d'attaques DDoS

Certains termes sont généralement associés aux attaques DDoS, notamment les mots "inondation" ou "saturation" (flood), "amplification" et "réflexion". En fait, les attaques DDoS peuvent être de différents types en fonction de la cible. Elles peuvent être basées sur le volume de requêtes (d'où le terme inondation), sur un protocole spécifique ou encore sur une faiblesse applicative.

Pour saturer une machine à partir d'une attaque DDoS émise par le réseau, on peut jouer sur le volume de paquets envoyés à la machine cible ainsi que le volume total de bande passante : tout dépend des caractéristiques de la cible. Par exemple, un pare-feu aura une bande passante limitée, mais il sera capable de traiter un volume de paquets par seconde qui sera très élevé. Lorsque l'on cible un site Web, on peut espérer saturer les serveurs Web au niveau du CPU et de la RAM, car certaines pages peuvent consommer énormément de ressources. On appelle cela une surcharge des ressources.

Voici quelques exemples de techniques d'attaques DDoS.

  • Inondation UDP ou UDP Flood

Puisque le protocole de transport UDP, contrairement au TCP, ne nécessite pas de connexion avec l'hôte distant pour commencer à envoyer des données, on peut envoyer des données sur une machine cible sur des ports aléatoires. Le système qui reçoit les paquets va chercher à les traiter et il renverra une erreur à l'expéditeur pour lui indiquer que le paquet ne peut pas être traité. Ainsi, si l'on envoie un très grand nombre de paquets de ce type à destination d'une machine, on peut provoquer une saturation des ressources.

  • Inondation Ping et Ping Flood

Un peu dans le même esprit, les attaques Ping Flood consistent à inonder la machine cible avec des paquets ICMP de type "Echo Request" modifiés. La machine qui reçoit cette quantité de ping très élevée va devoir répondre à ces différents ping car c'est le principe même, ce qui va créer un ralentissement voir un blocage de la machine, car elle n'arrivera pas à gérer ce flux important.

  • Amplification NTP

Les attaques par amplification s'appuient sur des protocoles spécifiques, car ce qui est important, c'est de prendre en compte le fonctionnement du protocole. Dans certains cas, comme avec le NTP qui fonctionne avec UDP, la taille des réponses générées par le protocole NTP est largement supérieure à la taille des requêtes (requête monlist dans le cas de NTP).

Il faut imaginer que l'attaquant, à partir de son réseau de machines, va solliciter des serveurs en envoyant de petites requêtes NTP. Ces requêtes seront modifiées, car l'adresse IP source ne sera pas celle de la machine de l'attaquant, mais celle de l'adresse IP cible, c'est-à-dire de l'hôte que l'on souhaite cibler avec l'attaque DDoS. Ainsi, quand les serveurs vont envoyer leurs réponses NTP (d'une taille beaucoup plus importante), c'est le serveur cible qui va les recevoir. Grâce à ce processus d'amplification, on augmente la volumétrie de données à destination de la machine cible, dans le but de mener à une saturation.

Ici, je prends l'exemple du NTP, mais c'est également le cas avec le DNS, par exemple. Comme le précise l'ANSSI dans son guide "Une entité peut être victime d'une attaque DDoS volumétrique exploitant un protocole bien qu’elle n’expose pas de service reposant sur ce même  protocole".

D. Se protéger contre les attaques DDoS

Pour une entreprise, l'indisponibilité d'un service causé par une attaque DDoS peut avoir des conséquences à plusieurs niveaux. Tout d'abord, il y aura des coûts associés aux interventions visant à stopper l'attaque, mais il y aura aussi une indisponibilité intégrale ou partielle sur les services touchés, ce qui peut engendrer une perte financière et une diminution de la productivité. De ce fait, on peut se poser une question légitime : comment se protéger contre les attaques DDoS ?

Pour lutter contre les attaques DDoS, il convient de mettre en place des systèmes de protection notamment pour bloquer les adresses IP malveillantes (un système comme CrowdSec peut vous aider), mais également pour bloquer les requêtes malveillantes. Cela passe aussi par du monitoring pour détecter un flux anormal, mais aussi la redondance et la répartition de charge entre plusieurs serveurs pour être plus résistant face à ces attaques. En complément, et notamment sur Linux, il convient de configurer le serveur pour adapter son comportement lorsqu'il reçoit un trop grand nombre de requêtes sur l'interface réseau.

Par ailleurs, si votre service en ligne s'appuie sur Cloudflare ou Akamai, par exemple, sachez que ces entreprises intègrent des protections DDoS pour protéger leurs clients d'une part, mais aussi pour maintenir opérationnelle leur infrastructure. Le français OVHcloud intègre également un système anti-DDoS à ses offres d'hébergement, dans le même but. En fait, elles permettent de bénéficier d'un filtrage réseau avancé et comme ces solutions reposent sur des infrastructures très importantes, elles sont capables de traiter une volumétrie de données très importante.

IV. Différence : DoS vs DDoS

Si vous avez lu l'intégralité de l'article, vous connaissez déjà la réponse ! En effet, une attaque DoS utilise une seule et unique connexion tandis qu'une attaque DDoS utilise de nombreuses sources différentes afin d'avoir une force de frappe beaucoup plus importante. Dans les deux cas, c'est un véritable rapport de force.

V. Conclusion

Suite à la lecture de cet article, vous en savez plus sur les attaques DoS et DDoS, deux notions à connaître quand on travaille dans l'informatique. Si vous souhaitez en savoir plus, je vous recommande la lecture de ce guide de l'ANSSI :

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

florian has 4109 posts and counting.See all posts by florian

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.