Comment arrêter une attaque DDoS : le guide ultime
Les attaques DDoS sont de plus en plus courantes et plus menaçantes que jamais. Le nombre d’attaques DDoS massives dépassant 100 Go/s a augmenté de 776 % au premier trimestre 2020 seulement.
La pandémie mondiale de COVID-19 a contraint davantage de personnes à travailler à distance via Internet, ce qui a augmenté la surface d’attaque potentielle pour les attaques DDoS. Mais en fin de compte, nous ne pouvons plus sous-estimer les attaques DDoS, car elles ne sont plus l’apanage des grandes entreprises et des sites web à fort trafic.
Qu’est-ce qu’une attaque DDoS ?
Une attaque DoS (Denial of Service, ou déni de service) est un type d’attaque en cybersécurité qui vise à perturber le trafic d’un service, d’une application, d’un serveur ou d’un réseau cible. Elle consiste généralement à submerger la cible ou son infrastructure de requêtes et de trafic massifs, jusqu’à saturation.
Une attaque DDoS (Distributed Denial of Service) est une version amplifiée de l’attaque DoS classique, dans laquelle l’attaque est lancée depuis plusieurs appareils ou ordinateurs.
Une attaque DDoS est généralement menée à l’aide d’un botnet, un groupe d’appareils ou de systèmes informatiques infectés par un malware et désormais contrôlés par des cybercriminels. Ces dispositifs compromis peuvent être des ordinateurs ou des smartphones, mais de nos jours, les objets connectés (IoT)peuvent aussi être utilisés pour lancer des attaques DDoS.
Une attaque DDoS peut affecter différents aspects d’un réseau ou d’un système, et chacun peut avoir un impact différent, comme nous le verrons ci-dessous.
Impacts potentiels d’une attaque DDoS par couches OSI
Modèle OSI : aperçu
Le modèle OSI (Open System Interconnection) est un modèle protocolaire standardisé développé par l’ISO (Organisation internationale de normalisation). Il s’agit d’un modèle conceptuel qui standardise les fonctions de communication d’un système informatique ou réseau, et qui comporte sept « couches » distinctes :
- Couche 1 : couche physique
L’aspect matériel, responsable de la transmission et de la réception des données brutes entre les composants physiques et le support de transmission. En gros, cette couche contrôle la connexion physique entre les dispositifs.
- Couche 2 : couche de liaison de données
Cette couche contrôle la transmission de données de nœud à nœud et garantit un transfert sans erreur via la couche physique.
- Couche 3 : couche réseau
Elle gère la transmission de données entre deux hôtes situés sur des réseaux différents. Elle est responsable du routage (détermination du chemin optimal entre la source et la destination) et de l’adressage logique (schéma d’adressage pour identifier les dispositifs).
- Couche 4 : couche transport
Elle assure littéralement la connexion (le transport des données) entre la couche 3 et la couche 5. Les données de la couche transport sont appelées segments, car elles sont segmentées avant d’être réassemblées afin de garantir une transmission de bout en bout. La couche transport vérifie également si la transmission des données a réussi et retransmet les données si une erreur est détectée.
- Couche 5 : couche session
La fonction principale de cette couche est de maintenir les sessions et les connexions fiables. Elle est également responsable de l’authentification de la synchronisation afin de garantir la sécurité.
- Couche 6 : couche présentation
Aussi appelée couche de traduction, elle convertit les données (par exemple de EBCDIC en ASCII), effectue le chiffrement/déchiffrement et la compression pour une présentation fiable des données complètes.
- Couche 7 : couche application
Tout en haut du modèle OSI, cette couche facilite les interactions entre l’utilisateur final et l’application qui utilise les fonctionnalités du réseau. Elle gère également le fonctionnement de l’application via les ressources réseau, et affiche les messages d’erreur à l’utilisateur si nécessaire.
Au sommet du modèle OSI, cette couche gère les interactions entre l’utilisateur final et l’application. Elle contrôle aussi le fonctionnement de l’application sur le réseau et fournit des messages d’erreur aux utilisateurs si nécessaire.
On peut illustrer les couches OSI par l’envoi d’une lettre dans une enveloppe fermée :
- le contenu de la lettre représente les données brutes (couches 5, 6 et 7) ;
- la lettre est placée dans une enveloppe normalisée conformément à la norme de transmission (couche 4) ;
- pour bien l’envoyer, on définit l’adresse et l’identité du destinataire (couche 3) ;
- on remet la lettre à un facteur (couche 2), qui la remettra à un destinataire physique (couche 1).
Différents types d’attaques DDoS pour différentes couches OSI
Les cybercriminels peuvent lancer différents types d’attaques DDoS (nous en verrons plus ci-dessous) visant des couches OSI distinctes, avec des impacts et méthodes d’atténuation spécifiques.
- Couche 1 : physique
La couche 1 n’est pas une cible pour les attaques DDoS, mais elle peut faire l’objet de manipulations physiques, d’obstructions, voire de destructions. Cela entraînera une défaillance des actifs physiques, qui pourra à son tour produire un effet similaire à celui des attaques DDoS : empêcher l’application de fournir ses services aux utilisateurs.
Atténuation : auditer, suivre et protéger les actifs physiques.
- Couche 2 : liaison de données
Le MAC flooding est un type d’attaque DDoS conçu pour submerger le commutateur réseau de paquets de données. Ce type d’attaque DDoS perturbe le flux habituel de transmission des données entre l’expéditeur et le destinataire, ce qui provoque une explosion du flux de données sur tous les ports, perturbant ainsi l’ensemble du réseau.
Atténuation : utiliser des commutateurs réseau avancés qui peuvent être configurés pour limiter le nombre d’adresses MAC pouvant être apprises sur les ports réseau. Une autre option consiste à authentifier les adresses MAC découvertes par rapport à un serveur AAA (Authentification, Autorisation et Comptabilité) afin de filtrer les tentatives de MAC flooding éventuelles.
- Couche 3 : réseau
L’inondation ICMP est un type très courant d’attaque DDoS qui cible la couche 3 du modèle OSI.
Ce type d’attaque utilise le protocole ICMP (Internet Control Message Protocol) pour surcharger la bande passante du réseau. L’attaque peut également entraîner une charge supplémentaire sur le pare-feu, ouvrant ainsi la porte à d’autres types d’attaques (y compris des attaques non DDoS).
Atténuation : la limitation du débit du trafic ICMP est la méthode d’atténuation la plus courante et la plus efficace.
- Couche 4 : Transport
Il existe deux attaques DDoS courantes ciblant la couche de transport : la Smurf attack et le SYN flood.
La Smurf attack utilise le malware DDoS.Smurf et est assez similaire à une attaque d’inondation ICMP, mais avec une amplification beaucoup plus importante. L’attaque SYN flood (ou TCP SYN flood), quant à elle, envoie une série rapide de requêtes de connexion sans finalisation, ce qui désorganise le système cible.
Atténuation : pour contrer les attaques de couche 4, les fournisseurs d’accès à internet (FAI) peuvent avoir recours au blackholing, c’est-à-dire au blocage de tout le trafic entrant vers un site touché. Cette méthode permet de protéger les autres clients du FAI contre les effets de l’attaque.
- Couche 5 : session
Les attaquants peuvent lancer des attaques DDoS sur mesure visant les logiciels exécutés sur le commutateur réseau. Cela peut empêcher les administrateurs système d’accéder aux fonctions de gestion et rendre tout le logiciel indisponible.
Atténuation : dépend du commutateur et du logiciel utilisé. Assurez-vous que le logiciel et le micrologiciel du commutateur sont à jour avec le dernier correctif de sécurité.
- Couche 6 : présentation
Des attaquants peuvent exploiter des requêtes SSL mal formées pour cibler cette couche. L’analyse des paquets chiffrés SSL est très gourmande en ressources, et les attaquants s’en servent pour injecter des attaques HTTP dans le trafic chiffré. Des requêtes SSL mal formées peuvent faire planter ou redémarrer automatiquement les systèmes affectés.
Atténuation : il est possible de déchiffrer le trafic SSL via une plateforme de distribution applicative (ADP), l’inspecter, puis le rechiffrer et le renvoyer vers la source. Cela garantit que les données non chiffrées ne sont accessibles que dans des environnements sécurisés.
- Couche 7 : application
Au sommet du modèle OSI, les attaques DDoS de couche 7 consistent à abuser de requêtes GET de PDF, HTTP GET ou HTTP POST pour saturer les ressources applicatives. Cela empêche l’application de répondre aux utilisateurs légitimes.
Atténuation : une solution avancée de gestion des bots et un logiciel de protection DDoS de couche 7 sont nécessaires pour surveiller les applications et détecter les tentatives d’attaque le plus tôt possible. Une fois détectées, elles peuvent être bloquées et retracées à leur origine. Bien que les attaques de couche 7 soient difficiles à identifier, il est souvent plus facile de remonter jusqu’à leur source que pour d’autres types d’attaques DDoS.
Bien qu’il existe sept couches dans le modèle OSI, les attaques DDoS visent plus fréquemment les couches 3, 4 et 7, en raison de leur facilité d’exécution et de leur fort potentiel de nuisance.
Attaques DDoS de couche 3 et couche 4
Aussi appelées attaques DDoS volumétriques, ces attaques misent sur un volume massif de requêtes (ou « floods »). Elles impliquent notamment des inondations SYN, ICMP ou UDP.
Le principe est de submerger les couches réseau et transport, ce qui ralentit les performances du serveur, consomme la bande passante et empêche les utilisateurs légitimes d’accéder au site ou à l’application.
Attaques DDoS de couche 7
Les attaques de couche 7 ciblent spécifiquement des éléments précis de l’infrastructure applicative.
Elles ressemblent au trafic utilisateur légitime, ce qui les rend particulièrement difficiles à détecter et à bloquer. Les attaquants sophistiqués peuvent également utiliser des bots capables de randomiser ou de modifier à plusieurs reprises leurs signatures, ce qui complique encore davantage leur détection.
Comme évoqué précédemment, la surveillance avancée et les solutions de détection sont essentielles pour identifier les attaques potentielles de couche 7.
Types de trafic DDoS courants
De nombreux types d’attaques DDoS exploitent les en-têtes HTTP pour être lancées.
Les « headers » HTTP sont des champs qui décrivent les ressources demandées par le client : URL de site web, image JPEG, formulaires, etc. Ils indiquent également des informations sur le navigateur web et le système d’exploitation (OS) utilisé par le client (via l’en-tête USER AGENT).
Outre USER AGENT, d’autres en-têtes HTTP courants incluent GET, POST, LANGUAGE et ACCEPT. Lors d’attaques DDoS, les attaquants peuvent exploiter ces headers pour submerger le serveur web, tout en les modifiant pour masquer leur identité. Ils peuvent aussi les manipuler afin de tromper un proxy de cache, empêchant ainsi la mise en cache des informations et rendant leur traçabilité plus complexe.
Voici quelques types de trafic DDoS courants basés sur les en-têtes HTTP :
- HTTP POST Request : cet en-tête envoie des données à traiter par le serveur, ce qui peut provoquer sa confusion et le saturer. Par exemple, une requête POST peut extraire des données depuis une base de formulaire, les encoder puis les renvoyer au serveur, ce qui le surcharge.
- HTTP POST Flood : les attaquants envoient un volume massif de requêtes POST, empêchant le serveur de répondre à toutes. Cela entraîne une consommation élevée des ressources système, pouvant ralentir ou faire planter le serveur.
- HTTPS POST Request : similaire à la précédente, cette version chiffrée d’une requête POST rend l’inspection et la détection plus complexes.
- HTTPS POST Flood : variante de l’attaque POST flood, mais envoyée via un canal SSL (HTTPS). Le chiffrement SSL impose une déchiffrement préalable, ce qui rend l’analyse plus coûteuse en ressources.
- HTTP GET Request : un en-tête demandant des ressources spécifiques (image, page HTML, etc.) au serveur pour qu’elles soient affichées par le navigateur du client.
- HTTP GET Flood : attaque DDoS de couche 7 (Application) consistant à envoyer un volume massif de requêtes GET, submergeant le serveur au point qu’il ne peut plus répondre aux utilisateurs légitimes.
- HTTPS GET Request : techniquement, il s’agit d’une requête HTTP GET envoyée via une session SSL. Le trafic doit être déchiffré avant de pouvoir être inspecté.
- HTTPS GET Flood : une attaque de type HTTP GET Flood envoyée via un chiffrement SSL. Comme pour les autres attaques basées sur HTTPS, il est nécessaire de déchiffrer la requête avant de pouvoir l’atténuer.
- ICMP Flood : ICMP signifie Internet Control Message Protocol, un protocole utilisé principalement pour les messages d’erreur et rarement pour échanger des données entre systèmes. Lors d’une attaque ICMP flood, l’attaquant cible la couche 3 de l’OSI avec un volume massif de messages ICMP pour saturer la bande passante du serveur, empêchant ainsi les utilisateurs légitimes d’y accéder.
- UDP Flood : une technique courante utilisée pour attaquer des serveurs disposant d’une grande bande passante. Aucune connexion n’est requise, et il est relativement facile de générer des messages UDP (protocole 17) à l’aide de différents langages de programmation. Le lancement d’un UDP flood est donc facile et peu coûteux.
- MAC Flood : type d’attaque DDoS de couche 2 relativement rare, dans laquelle l’attaquant envoie plusieurs trames Ethernet falsifiées avec différentes adresses MAC. Les commutateurs réseau sont conçus pour traiter les adresses MAC séparément, de sorte qu’ils réservent certaines ressources pour chaque requête. Dans le MAC flossing, toute la mémoire d’un commutateur réseau est utilisée, ce qui le submerge et le rend inopérant. Dans certains cas, une attaque par MAC flooding peut complètement désactiver les routeurs, perturbant ainsi l’ensemble du réseau sous le routeur.
Comment identifier une attaque DDoS
Comme nous l’avons vu, il existe différents types d’attaques DDoS, avec des symptômes et des impacts variés. Ainsi, l’identification et la neutralisation de ces attaques dépendent de la technique utilisée et d’autres facteurs.
Le symptôme le plus évident d’une attaque DDoS est le ralentissement soudain, voire le plantage total, d’un site web, d’une application ou d’un service en ligne. Cependant, ces problèmes peuvent aussi être causés par d’autres facteurs : pic de trafic légitime, défaillance matérielle, etc.
Il est donc recommandé d’utiliser un outil d’analyse du trafic (par exemple, le filtrage de bots dans Google Analytics) pour détecter les signes suivants :
- un pic soudain de trafic provenant de clients partageant des caractéristiques communes (version de navigateur, pays d’origine, type d’appareil, comportement similaire) ;
- un pic de requêtes soudain, sans précédent ni explication, vers un point d’entrée précis (par exemple une seule page du site) ;
- un volume massif de trafic provenant d’une seule adresse IP (ou plage d’adresses IP) ;
- des schémas inhabituels de trafic : pics réguliers toutes les 10 minutes, pics à heures fixes, etc.
Il est crucial de comprendre que lorsqu’une attaque DDoS devient identifiable, les dommages sont déjà en cours. L’identification reste néanmoins essentielle pour en limiter les effets au maximum.
C’est pourquoi il est plus judicieux de prévenir les attaques DDoS plutôt que d’attendre qu’elles soient détectées, comme nous le verrons dans la prochaine section.
Comment prévenir et arrêter une attaque DDoS ?
Si vous n’hébergez pas vous-même votre service web ou votre application, il est essentiel de choisir un fournisseur d’accès internet (FAI) ou un hébergeur qui applique les bonnes pratiques de sécurité et dispose d’un plan de réponse aux attaques DDoS.
Faire héberger votre site ou application dans un centre d’hébergement sécurisé présente de nombreux avantages par rapport à l’auto-hébergement. Les centres de données disposent généralement d’une bande passante bien plus élevée et d’une infrastructure matérielle plus puissante que celle dont dispose votre entreprise (sauf si vous êtes une très grande organisation).
De plus, un bon fournisseur d’accès ou d’hébergement dispose de personnel expérimenté dans la gestion des attaques DDoS. Si vous constatez des symptômes d’une attaque, vous pouvez simplement les contacter pour obtenir de l’aide. Selon l’intensité de l’attaque, ils pourraient même l’avoir détectée et bloquée avant vous.
Vous pouvez également mettre en place certaines mesures techniques pour atténuer partiellement les effets d’une attaque DDoS, en particulier si elle est détectée précocement. La mise en place de solutions dédiées de protection DDoS peut réduire considérablement votre vulnérabilité en filtrant le trafic malveillant et en absorbant les volumes d’attaque avant qu’ils n’atteignent vos serveurs.
Vous pouvez :
- limiter plus agressivement la durée des connexions semi-ouvertes lorsque cela est possible ;
- rejeter les paquets malformés ou usurpés dès que possible ;
- limiter le débit du routeur pour empêcher les attaques DDoS volumétriques ;
- définir des seuils plus bas pour les attaques SYN, ICMP et UDP flood ;
- mettre en place un système de détection de botnet pour identifier toute attaque de botnet dès que possible.
Augmentez votre bande passante
L’un des aspects essentiels de la protection et de la prévention de vos services web contre les attaques DDoS consiste à disposer d’une bande passante plus importante.
En disposant de plus de bande passante (que celle dont vous êtes susceptible d’avoir besoin), vous pouvez faire face aux pics imprévus dus aux tentatives de DDoS et gagner du temps pour prendre les mesures d’atténuation nécessaires.
Élaborez un plan de réponse aux attaques DDoS
Comme mentionné précédemment, une fois l’attaque DDoS identifiée, il est souvent déjà trop tard.
C’est pourquoi la meilleure façon de stopper une attaque DDoS est de créer un plan de réponse détaillé qui liste de manière exhaustive les étapes à suivre dès qu’une attaque est détectée.
Ce plan doit comprendre :
- qui contacter (fournisseur d’accès Internet, service d’atténuation DDoS, etc.),
- quelles actions doivent être entreprises par chaque membre des équipes IT et sécurité,
- s’il faut en informer vos clients, fournisseurs et partenaires tiers, et selon quelles modalités précises.
Les attaques DDoS peuvent durer longtemps, il est donc essentiel que le plan de réponse précise également comment gérer les communications internes et externes pendant toute la durée de l’incident.
Conclusion
Les attaques DDoS peuvent être très difficiles à détecter et à arrêter, et leurs conséquences peuvent être dévastatrices.
Il est essentiel pour toute entreprise disposant d’une présence en ligne de comprendre les différents types d’attaques DDoS, leurs impacts potentiels, et surtout comment y faire face.
Il est essentiel d’élaborer un plan d’intervention DDoS et d’investir dans l’infrastructure de sécurité nécessaire, telle qu’un logiciel de protection contre les bots, un fournisseur d’accès disposant d’une bande passante suffisante, etc.