I. Concepts
1. Qu’est-ce qu’une attaque par déni de service (DoS) ?
Le déni de service (DoS) est une attaque contre un ordinateur ou un réseau qui réduit, restreint ou empêche l’accessibilité des ressources système à ses utilisateurs légitimes.
Lors d’une attaque DoS, les attaquants inondent le système victime, par des demandes de service ou par des trafics non légitimes, pour surcharger ses ressources. Ainsi l’attaque DoS entraîne précisément l’indisponibilité d’un service.
2. Qu’est-ce qu’une attaque par déni de service distribué (DDoS) ?
Une attaque par déni de service distribué (DDoS) implique une multitude de systèmes compromis attaquant une seule cible, provoquant ainsi un déni de service pour les utilisateurs du système ciblé.
Pour lancer une attaque DDoS, un attaquant utilise des botnets pour attaquer un seul système.
3. Impacts des attaques DoS
Les attaques par déni de service ont des conséquences néfastes sur les organisations victimes. L’impact de l’attaque DOS peut entraîner pour la structure concernée:
- une perte de valeur de l’entreprise : les utilisateurs des services fournis n’ont plus confiance,
- l’inactivité du réseau : les services sont inaccessibles,
- une perte financière : il peut y avoir une baisse du chiffre d’affaire,
- la fermeture de l’organisation.
4. Catégories de base des vecteurs d’attaque DoS / DDoS
Les catégories de base des vecteurs d’attaque DoS ou DDoS sont les suivantes :
- Attaques volumétriques: elles consomment la bande passante du réseau ou du service cible. Elle se mesure en bits par seconde (bps) par les attaques flood, les attaques d’amplification (udp, icmp, ping of death, smurf), etc.
- Attaques de protocole: elles consomment les tables d’état de connexion présentes dans les composants de l’infrastructure réseau tels que les équilibreurs de charge, les pare – feu et les serveurs d’applications. L’attaque est mesurée en paquets par seconde (pps).
Exemple : SYN, ACK, TCP, attaque de fragmentation, etc.
- Attaques de la couche d’application : elles consomment les ressources ou le service de l’application, les rendant ainsi indisponibles pour les autres utilisateurs légitimes. Elle est mesurée en requêtes par seconde (rps).
Exemple : Attaque HTTP GET / POST
Attaque SLOWLORIS.
II. Techniques d’attaques
1. Attaque d’inondation UDP
-> L’attaquant envoi des paquets UDP usurpés, avec un débit de paquets très élevé, à un hôte distant sur des ports aléatoires d’un serveur cible utilisant une large plage d’adresses IP.
-> L’inondation de paquets UDP obligera le serveur à vérifier à plusieurs reprises les applications non existantes au niveau des ports.
-> Les applications légitimes sont inaccessibles par le système et retournent un paquet de réponse d’erreur avec comme message «Destination inaccessible».
-> Cette attaque consommera les ressources du réseau et la bande passante disponible, épuisant le réseau jusqu’à ce qu’il se déconnecte.
2. Attaque d’Inondation ICMP
-> C’est un type d’attaque dans lequel les attaquants envoient un grand nombre de paquets de demande d’écho ICMP à une victime.
-> En effet les administrateurs réseau utilisent ICMP principalement pour les configurations IP, le dépannage et la messagerie d’erreur des paquets non livrables.
-> Ces paquets signaleront au système cible de répondre et la combinaison du trafic saturera la bande passante du réseau cible. Ce dernier sera surcharger et cessera de répondre aux requêtes TCP / IP légitimes.
-> Pour se protéger contre les attaques d’inondation ICMP, on peut définir une limite de seuil qui, lorsqu’elle est dépassée, appelle la fonction de protection contre les attaques d’inondation ICMP.
3. Ping de la mort
-> L’attaquant tente de planter, déstabiliser ou geler le système ou le service cible en envoyant des paquets de grande taille à l’aide d’une simple commande ping.
-> Si la taille du paquet dépasse la limite de taille prescrite par RFC791 IP (65535), le processus de réassemblage peut planter le système.
4. Attaque de SMURF
-> Dans cette attaque, l’attaquant usurpe l’adresse IP de la cible et envoie un flux maximal de paquets ICMP ECHO (ping) aux adresses de Broadcast c’est-à-dire vers un réseau de diffusion IP. Chaque ping comportera l’adresse usurpée de l’ordinateur cible.
-> Les hôtes du réseau de diffusion répondront avec des demandes d’écho ICMP à la machine victime, ce qui entraînera finalement la panne de la machine.
5. Attaque par inondation de requêtes SYN
-> L’attaquant envoie un grand nombre de requêtes SYN à la victime avec de fausses adresses IP.
-> « SYN Flooding » tire parti d’une faille dans la façon dont la plupart des hôtes implémentent la négociation TCP à trois.
-> Lorsque la victime reçoit une requête SYN, elle doit garder une trace de la connexion partiellement ouverte dans une « file d’attente d’écoute » pendant au moins 75 secondes.
-> Un hôte malveillant peut exploiter la petite taille de la file d’attente d’écoute en envoyant plusieurs requêtes SYN à un hôte, mais en ne répondant jamais au SYN / ACK.
-> La file d’attente d’écoute de la victime se remplit rapidement.
-> Le fait de maintenir chaque connexion incomplète pendant 75 secondes peut être utilisé comme une attaque déni de service.
6. Attaque de fragmentation
-> Ces attaques impliquent la transmission de paquets UDP ou TCP frauduleux qui sont plus grands que le MTU (l’unité de transmission maximale) du réseau (généralement ~ 1500 octets). Cette attaque détruira la capacité d’une victime à réassembler les paquets fragmentés.
-> Comme ces paquets sont faux et ne peuvent pas être réassemblés, les ressources du serveur cible sont rapidement consommées, ce qui entraîne une indisponibilité du serveur.
7. Attaques avec des requêtes HTTP GET ou POST
-> Une attaque HTTP flood utilise ce qui semble être des requêtes HTTP GET ou POST légitimes pour attaquer un serveur Web ou une application.
-> L’attaque HTTP GET sera effectuée en retardant l’envoi de l’en-tête HTTP pour maintenir la connexion HTTP et épuiser les ressources du serveur Web.
-> L’attaque HTTP POST peut être effectuée en envoyant un en-tête complet et un corps incomplet, ce qui oblige le serveur Web à attendre le reste du corps jusqu’à épuisement des ressources.
8. Attaque SLOWLORIS
-> Slowloris est une attaque DDoS de couche application qui utilise des requêtes HTTP partielles pour ouvrir des connexions entre un seul ordinateur et un serveur Web ciblé, puis en gardant ces connexions ouvertes aussi longtemps que possible, submergeant et ralentissant ainsi la cible.
-> En conséquence, le pool de connexions simultanées maximum du serveur cible sera rempli et les tentatives de connexion supplémentaires seront refusées.
9. Attaque multi-vectorielle
-> Dans une attaque multi-vectorielle, les attaquants combinent un ensemble de menaces telles que les attaques volumétriques, de protocole et d’application déployées à de nombreuses étapes, sur plusieurs points d’entrées (vecteurs d’attaque) pour infecter les ordinateurs et les réseaux, et ainsi atteindre la cible.
-> L’attaquant passera rapidement d’une forme d’attaque par déni de service distribuée.
-> Le plus souvent ces attaques sont utilisées pour dérouter le service informatique d’une entreprise pour lui faire dépenser toutes ses ressources et détourner son attention du mauvais côté.
10. Attaques entre pairs
-> En utilisant des clients pair-à-pair, les attaquants demandent aux clients de se déconnecter de leur réseau pair-à-pair et de se connecter au faux site Web de la victime.
-> Les attaquants exploitent les failles trouvées sur le réseau en utilisant le protocole DC ++ (Direct Connect), qui est utilisé pour partager tous les types de fichiers entre les clients de messagerie instantanée.
-> Grâce à cela, les attaquants lancent des attaques de déni de service massives et compromettent des sites Web.
11. Attaque DoS permanente
Parmi les attaques DoS permanentes, nous avons :
-> Le Phlashing : Le DoS permanent, également appelé phlashing, fait référence aux attaques qui causent des dommages irréversibles au matériel du système.
-> Le Sabotage : Contrairement aux autres attaques DoS, il sabote le matériel du système, obligeant la victime à remplacer ou réinstaller le matériel.
-> Le ‘bricking’ de système : Cette attaque est menée à l’aide d’une méthode connue sous le nom de « bricking a system ». En utilisant cette méthode, les attaquants envoient des mises à jour matérielles frauduleuses aux victimes.
12. Déni de service par réflexion distribuée (DRDoS)
-> Une attaque par déni de service réfléchie distribuée (DRDoS), également appelée attaque usurpée, implique l’utilisation de plusieurs machines intermédiaires et secondaires qui contribuent à l’attaque DDoS réelle contre la machine ou l’application cible.
-> L’attaquant lance cette attaque en envoyant des requêtes aux hôtes intermédiaires, ces requêtes sont ensuite redirigées vers des machines secondaires qui à leur tour reflètent le trafic d’attaque vers la cible.
-> Avantage : La cible principale semble être directement attaquée par la victime secondaire, et non par l’attaquant réel; Plusieurs serveurs victimes intermédiaires sont utilisés, ce qui entraîne une augmentation de la bande passante d’attaque.
III. BOTNETS
1. Définition
-> Les bots sont des applications logicielles qui exécutent des tâches automatisées sur Internet et effectuent des tâches répétitives simples, telles que l’exploration Web et l’indexation des moteurs de recherche.
-> Un botnet est un vaste réseau de systèmes compromis et peut être utilisé par un attaquant pour lancer des attaques par déni de service.
2. Méthodes d’analyse pour trouver des machines vulnérables
-> Analyse aléatoire : la machine infectée examine les adresses IP de manière aléatoire à partir de la plage d’adresses IP du réseau cible et vérifie la vulnérabilité.
-> Analyse de la liste de résultats : l’attaquant collecte d’abord la liste des machines potentiellement vulnérables, puis effectue une analyse pour trouver la machine vulnérable.
-> Analyse topologique : Il utilise les informations obtenues sur la machine infectée pour trouver de nouvelles machines vulnérables.
-> Analyse du sous-réseau local : la machine infectée recherche la nouvelle machine vulnérable dans son propre réseau local.
-> Analyse des permutations : Il utilise une liste de permutation pseudo-aléatoire d’adresses IP pour trouver de nouvelles machines vulnérables.
3. Comment se propage le code malveillant ?
Les attaquants utilisent trois techniques pour propager du code malveillant vers un système vulnérable nouvellement découvert:
-> Propagation de la source centrale : l’attaquant place une boîte à outils d’attaque sur la source centrale et une copie de celui-ci sera transférée vers le système vulnérable nouvellement découvert.
-> Propagation de back-chain : l’attaquant place la boîte à outils d’attaque sur son système lui – même et une copie de la boîte est transférée vers le système vulnérable nouvellement découvert.
-> Propagation autonome : L’hôte lui-même transfère la boîte à outils d’attaque vers le système cible, exactement au moment où sa vulnérabilité est découvert.
-> Liens publicitaires : Les pirates utilisent des liens publicitaires pour télécharger des botnets.
4. Utilisation d’appareils mobiles comme botnets pour lancer des attaques DDoS
-> Android est passivement vulnérable à divers logiciels malveillants tels que les chevaux de Troie, les bots (robots), les outils d’accès à distance (RAT), etc. provenant de magasins tiers.
-> Ces appareils Android non sécurisés sont la cible principale des attaquants pour agrandir leur botnet.
-> Une fois que l’attaquant vous piège avec une application, il peut utiliser votre appareil comme botnet pour lancer des attaques DDoS.
IV. Outils d’attaque DoS / DDoS
1. Quelques outils d’attaque DoS et DDoS
High Orbit Ion Cannon (HOIC) : HOIC effectue des attaques DDoS sur n’importe quelle adresse IP, avec un port sélectionné par l’utilisateur et un protocole sélectionné par l’utilisateur.
HTTP Unbearable Load King (HULK) : HULK est un outil DDoS de serveur Web. Il est spécifiquement utilisé pour générer des volumes de trafic sur un serveur Web.
DAVOSET : est un outil de ligne de commande pour mener des attaques DDoS sur les sites via des vulnérabilités d’abus de fonctionnalité et d’entités externes XML sur d’autres sites.
Autres outils: Tsunami, Blackhat Hacking Tools, etc.
2. Outil d’attaque DoS et DDoS pour mobile
Low Orbit Ion Cannon (LOIC) : La version Android du logiciel Low Orbit Ion Cannon (LOIC) est utilisée pour inonder les paquets qui permettent à l’attaquant d’effectuer une attaque DDoS sur l’organisation cible.
AnDOSiD : AnDOSid permet à l’attaquant de simuler une attaque DOS (une attaque post-flood http pour être exact) et une attaque DDoS sur un serveur Web à partir de téléphones mobiles.
DDoS
Autres outils: Packet Generator, PingTools Pro, etc.
V. Techniques de détection
Les techniques de détection sont basées sur l’identification de l’augmentation de trafic illégitime. Toutes les techniques de détection définissent une attaque comme un écart anormal et perceptible par rapport à un seuil de statistiques normales de trafic réseau.
1. Profilage d’activité
Une attaque est indiquée par:
- Une augmentation des niveaux d’activité parmi les clusters de flux réseau.
- Une augmentation du nombre total de clusters distincts (attaque DDoS)
Le profilage d’activité est basé sur le débit moyen des paquets pour un flux réseau, qui se compose de paquets consécutifs avec des champs de paquets similaires. En effet le profilage d’activité consiste à surveiller les informations d’en-tête d’un paquet réseau et à calculer le débit moyen des paquets pour un flux réseau afin de détecter l’augmentation du niveau d’activité.
2. Détection séquentielle des points de changement
Cette technique de détection suit les étapes suivantes :
- Isoler le trafic : les algorithmes de détection des points de changement isolent les modifications des statistiques de trafic réseau causées par des attaques.
- Filtrer le trafic : les algorithmes filtrent les données de trafic cible par adresse, port ou protocole et stockent le flux résultant sous forme de série chronologique.
- Identifier l’attaque : la technique de détection séquentielle des points de changement utilise l’algorithme de somme cumulative (Cusum) pour identifier et localiser les attaques DoS ; l’algorithme calcule les écarts entre la moyenne locale réelle et attendue dans la série chronologique du trafic.
- Identifier l’activité d’analyse : cette technique peut également être utilisée pour identifier les activités d’analyse typiques des vers réseau.
3. Analyse du signal basée sur les ondelettes
L’analyse en ondelettes décrit un signal d’entrée en termes de composantes spectrales. Les ondelettes fournissent une description simultanée du temps et de la fréquence. L’analyse de l’énergie de chaque fenêtre spectrale détermine la présence d’anomalies. L’analyse du signal détermine l’heure à laquelle certaines composantes de fréquence sont présentes et filtre les signaux d’entrée du trafic anormale comme le bruit de fond.
VI. Contre-mesures
1. Stratégies de contre-mesure DoS / DDoS
Absorber l’attaque : Utilisez une capacité supplémentaire pour absorber les attaques; cela nécessite une planification préalable et des ressources supplémentaires.
Identifier les services en dégradation : Identifiez les services critiques et arrêtez les services non critiques.
Arrêt des services : Arrêtez tous les services jusqu’à ce que l’attaque se soit calmée.
2. Contre-mesures d’attaque DoS / DDoS
- protéger les victimes secondaires
-> Surveiller régulièrement la sécurité pour rester protégé du logiciel agent DDoS.
-> Installer des logiciels antivirus et anti-chevaux de Troie et les tenir à jour.
-> Sensibiliser tous les internautes sur les enjeux et les techniques de prévention.
-> Désactiver les services inutiles, désinstaller les applications inutilisées, analyser tous les fichiers reçus de sources externes.
-> Configurer correctement et mettre à jour régulièrement les mécanismes de défense intégrés dans le matériel et les logiciels de base du système.
- Détecter et neutraliser les gestionnaires
Analyse du trafic réseau : analysez les protocoles de communication et les modèles de trafic entre les gestionnaires et les clients ou les gestionnaires et l’agent afin d’identifier les nœuds de réseau qui pourraient être infectés par les gestionnaires.
Neutraliser les gestionnaires de botnet : il y a généralement peu de gestionnaires DDoS déployés par rapport au nombre d’agents. La neutralisation de quelques gestionnaires peut éventuellement rendre plusieurs agents inutiles, déjouant ainsi les attaques DDoS.
Adresse source usurpée : il existe une probabilité décente que l’adresse source usurpée des paquets d’attaque DDoS ne représente pas une adresse source valide du sous-réseau défini.
- Prévenir des attaques potentielles
Filtrage de sortie : Il s’agit de scanner les en-têtes des paquets IP quittant un réseau, de s’assurer que le trafic non autorisé ou malveillant ne quitte jamais le réseau interne et de vérifier les spécifications nécessaires pour atteindre la cible.
Filtrage d’entrée : Il empêche l’usurpation d’adresse source, protège contre les attaques par inondation. Il permet à l’expéditeur d’être retracé jusqu’à sa véritable source.
Interception TCP : La configuration de TCP Intercept protégera les serveurs des attaques d’inondation TCP SYN et empêchera les attaques DoS en interceptant et en validant les demandes de connexion TCP.
Taux limite: C’est un taux limitant le trafic entrant ou sortant, il permet de réduire le trafic entrant à haut volume pouvant provoquer une attaque DDoS.
- Détourner les attaques
-> Les systèmes mis en place avec une sécurité limitée, également connus sous le nom de pots de miel (Honeypots), agissent comme une incitation pour un attaquant.
-> Les pots de miel servent à obtenir des informations sur les attaquants, les techniques d’attaque et les outils en stockant un enregistrement des activités du système.
->Utilisez une approche de défense en profondeur avec des IPS à différents points du réseau pour détourner le trafic DoS suspect vers plusieurs pots de miel.
Outils : KFSensor
- Atténuer les attaques
Équilibrage de charge :
-> Augmentez la bande passante sur les connexions critiques pour absorber le trafic supplémentaire généré par une attaque.
-> Répliquez les serveurs pour fournir une protection de sécurité supplémentaire.
-> Équilibrez la charge sur chaque serveur dans une architecture à serveurs multiples pour atténuer les attaques DDoS.
Limitation :
-> Configurez les routeurs pour qu’ils accèdent à un serveur avec une logique pour limiter les niveaux de trafic entrant qui sont sûrs pour le serveur.
-> La limitation permet d’éviter d’endommager les serveurs en contrôlant le trafic DoS.
-> Peut être étendu pour limiter le trafic d’attaque DDoS et autoriser le trafic utilisateur légitime pour de meilleurs résultats.
Suppression de requêtes :
-> Les serveurs supprimeront les paquets lorsque la charge augmente, cela induira un puzzle à résoudre pour démarrer la requête.
- Analyse Forensique post-attaque
L’analyse forensique intervient spécifiquement à la suite d’un incident. S’apparentant à un audit de sécurité, l’analyse forensique permet de reconstituer une attaque dans sa globalité, grâce à des preuves numériques, afin de rechercher les traces laissées par le pirate informatique.
-> Analyse des modèles de trafic d’attaque: les données sont analysées après l’attaque pour rechercher des caractéristiques spécifiques au sein du trafic attaquant. Cela peut aider les administrateurs réseau à développer de nouvelles techniques de filtrage pour empêcher le trafic d’attaque d’entrer ou de sortir des réseaux.
-> Packet Traceback: semblable à l’ingénierie inverse, aide à trouver la source d’attaque, à prendre les mesures nécessaires pour bloquer d’autres attaques.
-> Analyse du journal des événements: le journal des événements aide à identifier la source du trafic dos, à reconnaître le type d’attaque DDoS.
3. Techniques de défense contre les botnets
-> Filtrage RFC 3704 : il limite l’impact de DDoS en refusant le trafic avec des adresses falsifiées à travers un filtre chez le FAI.
-> Filtrage de la réputation IP source Cisco IPS : les services de réputation aident à déterminer si une adresse IP ou un service est une source de menace ou non, Cisco IPS met régulièrement à jour sa base de données avec les menaces connues telles que les botnets, les collecteurs de botnet, les malwares, etc. et aide à filtrer le trafic DoS.
-> Filtrage des trous noirs : Le trou noir fait référence aux nœuds de réseau où le trafic entrant est rejeté ou abandonné sans informer la source que les données n’ont pas atteint le destinataire prévu. Le filtrage des trous noirs fait référence à l’élimination des paquets au niveau du routage.
-> Offres de prévention DDoS du FAI ou du service DDoS : activez IP Source Guard (dans CISCO) ou des fonctionnalités similaires dans d’autres routeurs pour filtrer le trafic en fonction de la base de données de liaison de surveillance DHCP ou des liaisons de source IP qui empêchent un bot d’envoyer des paquets falsifiés.
4. Autres contre-mesures DDoS / DoS
Pour éviter les attaques DDoS / DoS, on peut suivre les instructions suivantes :
1) Utilisez des mécanismes de cryptage puissants tels que WPA2, AES 256, etc.
2) Désactivez les services inutilisés et non sécurisés.
3) Mettez à jour le noyau avec la dernière version
4) Effectuez la validation approfondie des entrées
5) Empêchez l’utilisation de fonctions inutiles telles que gets, strcpy, etc.
6) Empêchez les adresses de retour d’être écrasées
7) Configurez le pare-feu pour refuser l’accès au trafic ICMP externe
8) Implémentez des radios cognitives dans la couche physique pour gérer les attaques de brouillage.
9) Assurez-vous que le logiciel et les protocoles sont à jour.
10) Empêchez la transmission de paquets adressés frauduleux au niveau du FAI.
11) Bloquez tous les paquets entrants provenant des ports de service pour bloquer le trafic des serveurs de réflexion.
12) Sécurisez l’administration à distance et les tests de connectivité.
5. Protection DoS / DDoS au niveau du FAI
Ces mécanismes permettent au fournisseur d’accès Internet (FAI) de se protéger contre les attaques DoS/DDoS :
1) La plupart des FAI bloquent simplement toutes les requêtes lors d’une attaque DDoS, empêchant même le trafic légitime d’accéder au service.
2) Les FAI offrent dans le cloud une protection DDoS pour les liens Internet afin qu’ils ne soient pas saturés par l’attaque.
3) La protection DDoS dans le cloud redirige le trafic d’attaque vers le FAI pendant l’attaque et le renvoie.
4) Les administrateurs peuvent demander aux FAI de bloquer leur IP affectée et déplacer leur site vers une autre IP après avoir effectué la propagation DNS.
Appareils de protection DDoS : FORTIDDOS-1200B, CISCO GUARD XT 5650, A10 THUNDER TPS
Outils: Protection Incapsula DDoS, Anti DDoS Guardian, CloudFlare, DefensePro
VII. Test de pénétration DoS / DDoS
ÉTAPE 1: DÉFINIR UN OBJECTIF
-> Il s’agira d’établir un Plan pour le test de pénétration
ÉTAPE 2: TESTER DES CHARGES LOURDES SUR LE SERVEUR
-> Il faudra déterminer le seuil minimum pour les attaques DOS
ÉTAPE 3: VÉRIFICATION DES SYSTÈMES VULNÉRABLES DoS
-> Cela consiste à vérifier la capacité du système à faire face aux attaques DoS
ÉTAPE 4: EXÉCUTEZ UNE ATTAQUE SYN SUR LE SERVEUR
-> Les résultats des tests pénétration aideront les administrateurs à déterminer et à adopter des contrôles de sécurité du périmètre de réseau appropriés tels que l’équilibreur de charge, l’IDS, l’IPS, les pare-feu, etc.
ÉTAPE 5: EXÉCUTEZ DES ATTAQUES D’INONDATION DE PORT SUR LE SERVEUR
-> Il s’agit d’inonder le réseau cible de trafic afin de vérifier la stabilité du système.
ÉTAPE 6: LANCEZ UN EMAIL BOMBER SUR LES SERVEURS EMAIL
-> L’utilisation des outils Mail Bomber permettra d’envoyer un grand nombre d’e-mails à un serveur de messagerie cible.
ÉTAPE 7: INONDER LES FORMULAIRES DU SITE WEB ET LE LIVRE D’OR AVEC DE FAUSSES ENTRÉES
-> Cela augmente l’utilisation du processeur en maintenant toutes les demandes de connexion sur les ports sous blocus.
ÉTAPE 8: DOCUMENTER TOUTES LES RÉSULTATS.
-> Tous les résultats doivent être documentés.