276 views
 owned this note
# DoS: Denial of Service Philippe Owezarski (LAAS, CNRS) — owe@laas.fr DoS → Déni provoqué à partir d’un unique nœud DDoS → Déni provoqué à partir de plusieurs nœud ![](https://notes.ar-lacroix.fr/uploads/bf83dcd3-fea5-491c-a279-1b54d2c77c28.png =500x) :::danger Attention les heures sont décallées sur l'image (ça commence à 10h) ::: Il y a moins de traffic la nuit que le jour mais on voit que les opérations de maintenance se déroule la nuit sur un équipement proche du nœud qu'on étudie (minuit - 1H). Le coeur du réseau est aux Etats-Unis, l'ordre de grandeur de l'update d'un réseau au niveau du continent nord-américain est de la dizaine de minutes. TCP a un mécanisme de contrôle de congestion donc il est plus utilisé que l'UDP (pas plus de 10% dans un bon réseau). Inversion entre la courbe TCP et UDP, quand TCP monte, UDP descend et inversement : UDP sert surtout au récréatif : streaming, jeu vidéo, VoIP donc plus en soirée. ![](https://notes.ar-lacroix.fr/uploads/8d5bd3e7-29e8-4930-889a-0b84c6d3b4e7.png) Les paquets UDP ont l'air plus petits que les paquets TCP. Timer TCP : Au départ, il est fixé à 3 secondes puis il monte à 10 secondes et s'il y a une perte on monte à 30 secondes voir une minute --> on perd beaucoup de temps. Streaming résout un problème car les communications sont stables, on a une source principale de traffics. ### Attaques - exploitation de vulnérabilité/faiblesse dans une architecture/un protocole - dégradation de la performance du réseau ou des serveurs - altérant la topologie (élimitation de nœuds) Beaucoup de petits paquets à 20h. Potentiellement un (D)DoS. Fait en sorte que ça ne se voit pas sur la courbe de débit (celle généralement enregistré) mais augmente la charge de travail des équipements. **Attaque en local** possible : envoi en broadcast, saturation des tables CAM. La détection de l'origine de l'attaque sera difficile. 🛡️ Pour contrer les **attaques locales** : limiter le trafic en broadcast sur les commutateurs, faire une recherche en dichotomie dans le réseau pour trouver d'où vient le problème. **Attaque distantes** possible : - DoS : on peut bloquer la source si elle est unique - DDoS : L’attaquant contrôle un botnet (réseau d’ordinateurs corrompus). Les bots vont tous attaquer en même temps la même cible. - ‼️ Très difficile à bloquer sans couper tout le trafic extérieur :::info Les pirates sont protégés derrière les NATs. 🏴‍☠️ ::: **Attaque couche physique** - Brouilleurs de signaux, générateurs de bruits, ... **Attaque DHCP/ARP** - Attaque DHCP (prendre toutes les ressources avant les autres) mais ne bloquent pas les machines déjà connectées ou ayant une aresse réservée 🛡️ Addresses en dur ou surveiller de très proche **Attaque ICMP** - DoS de flooding - *Smurf* : DDoS avec une ICMP echo request avec spoofing d'addresses - pb : il y a tellement de messages ICMP (5000 par jour environ pour une entité) qu'au final on ne regarde pas s'il y a un problème et on attend d'avoir un réseau plus lent Attaque *Fraggle* : comme *Smurf* mais en UDP 🛡️ Filtrage, énumération des réseaux mal configurés **Attaques IP** *Ping Of Death* : ping fragmenté trop grand qui fait un buffer overflow une fois reconstruit. *TearDrop* : variante avec des fragments se chevauchant 🛡️ Il fautdésactiver la fragmentation sur les machines et faire de la segmentation :::success **Fingerprinting**: envoyer des packets pour choper des infos là où les trucs devraient pas répondre. ::: **Attaques TCP RST** Essayer de deviner un numéro de séquence valide et envoyer un TCP RST 🛡️ Randomisation des ports, il faut guess le numéro de séquence. **Attaque TCP Syn flood** Syn flood : on envoi des syn mais on envoi pas le ack. Alors le récepteur alloue des ressources inutilement, la connexion n'est pas ouverte. Le listen définit combien de connexion en attendante (SYN), on peut faire. Si on en envoi pleins, l'équipement est vite saturé. 🛡️ Pour contrer le **syn flooding** : - Serveur frontal - réduction du timeout... - Syn Cookies : plus besoin de stocker toutes les infos, plus besoin d'enregistrer les infos de connexions ouvertes **avant le ACK final** **Attaque DNS** - **DNS Amplificaiton**: Envoyer des requêtes DNS à des résolveurs en mettant l'adresse source de la victime (60 octets pour une requête, 512 octets (potentiellement x8 vu qu'on peut mettre 8 addresses) pour la réponse $\rightarrow$ ça fait x8) 🛡️ DNSSEC, on va *~~crypter~~* **Attaques génériques** - coup déséquilibrés **sur le calcul** : client chiffre, serveur *~~décrypte~~* déchiffre (x10) - coup déséquilibrés **sur la bande passante** : - demander des gros fichiers PDF par exemple (pour être exploité pour faire tomber un serveur) **Attaques topologie de réseau** - Éclipse : - empêcher à des sous-reaux de discuter entre eux - corruption des liens entre les ss-réseaux. **Attaques BGP** - saturation des routeurs jusqu'à éclipser AS ou empoisonnement des tables de routage en innodant d'annonces BGP 🛡️ Peu d'attaques dans la réalite car si un attaquant attaque BGP, il ne pourra lui même plus communiqué. (Les versions sécurisés ne sont pas mises à place car pas optimisé) ### Contre-mesures par couches - 80% des solutions font moins bien qu’un processus aléatoire (ça date). - Internet est très mal conçu pour contrer les dénis de service. - Vive l’amérique 🇺🇸🔫 - MSLP - IS-IS / OSPF - listen(N) N: nombre de temps où l’on reçoit 256. Objectif dépasser cette mémoire listen. - Cliché du prof dont la mère est chef d’une asso camping-car. 🛻 - I.A applied to cybersecurity : - classification - clusters - Traitement de signal / base de loi Gamma ## Les botnets 🤖 *le prof est un vendu* Tout le monde est méchant et espionne tout le monde Bot = Zombie = ordinateur contrôlé sans que l'utilisateur le sache utilisé pour : - le DDoS - envoyer du Spam - récupérer de la money :money_with_wings: **Exemples de botnets** - Srizbi : - commerce de spam ($\approx$ 60% du spam du monde meme s'il y avait pas quelques trucs confidentiels lae soit 60 millard de spams par jour) - infection par phishing/site malveillant. - Mariposa : - 13 M de machines infectées dans 190 pays - Storm : - 1 à 50 M de machines - Plus puissant que le plus gros supercalculateur - Communication en P2P - protocole d'organisation > *“Ne clique pas sur les pj moman”*