La sécurité - Les attaques Philippe Sèvre
Attaques réseau externes Elles s’appuient sur les vulnérabilités liées aux protocoles ou à leurs implémentations elles sont très nombreuses et peuvent s'appliquer aux différents niveaux OSI
Rappel sur la connexion TCP Envoi d’un SYN réception d’un SYN-ACK envoi d’un ACK Ces mécanismes sont souvent utilisés pour les attaques par saturation (DOS)
IP Spoofing Usurpation d’adresse IP pour cacher la source de l’attaque principe : on se forge ses propres paquets IP dans lesquels l’adresse source est faussée. on utilise avec des outils spéciaux (hping2, nemesis) attaque aveugle : l’attaquant n’a aucun retour Solution : ne pas se fier à l'adresse IP pour identifier une machine => utiliser des procédés cryptographiques (SSL, SSH, …) avec des certificats
TCP Session Hikacking on usurpe une connexion TCP en forgeant des N° de sessions adaptés au contexte (simulation de la pile TCP/IP)
ARP Spoofing usurpation ARP avec des paquets forgés => attaque classique MIM (Man in the Midle) on se fait passer pour une autre machine avec des paquets ARP gratuits
Man in the middle Homme du Milieu Un tiers se fait passer pour chacun des deux autres interlocuteurs Pratiques à mettre en oeuvre (complexe) ARP Spoofing Empoisonnement DNS Écoute Déni de service
Firewalking Utilise le TTL (décrémenté par chaque routeur) Si TTL = 0 : envoi message ICMP TTL Exceeded Permet de déterminer le nombre et l’adresse des routeurs On envoie des paquets test avec TTL = Nbre routeurs + 1
DNS Spoofing il suffit de se faire passer pour le vrai serveur DNS et de fournir les information « adaptées” Il est également possible de reconfigurer la couche réseau du client au moyen d'un malware
DNS poisonning DNS cache Poisonning on empoisonne le cache DNS du client (phishing ou hameçonage) Remède : utilisation de DNSSEC (DNS avec certificats) encore peu utilisé
Attaques applicatives ce sont des attaques concernant la couche 7: protocole HTTP protocole SMTP, POP3/IMAP protocole SMB/CIFS protocole FTP protocole NFS DNS
Les Dénis de Service (DOS) Dénis de service applicatifs : ils visent à mettre hors de service la couche 7: envoi de requêtes induisant une charge système très élevée => blocage de la mchine
Dénis de service réseaux – 1 Syn Flooding : on laisse sur la machine cible un grand nombre de connexion en attente (Flag Syn à 1) sans répondre au Syn-Ack renvoyé par la machine cible => saturation des ressources UDP Flooding : exploite le mode non connecté d’UDP . Création d’un UDP Paquet Storm => congestion du réseau - UDP est prioritaire / TCP => plus de BP pour TCP
Dénis de service réseaux - 2 Smurfing : utilise ICMP: ping à une adresse de broadcast => tout le monde répond. On usurpe l’adresse source en mettant celle de la cible qui va recevoir les paquets ICMP de tout le réseau => tout le réseau recoit le déni de service Packet Fragment : utilisent des faiblesses dans la mise en oeuvre de la fragmentation/défragmentation des paquets Tiny Fragments RFC 791 : un routeur doit pouvoir laisser des paquets de 68 octets sans les fragmenter davantage principe de l’attaque : fragmenter sur 2 paquets une demande de connexion TCP 2e paquet : demande de connexion TCP (SYN :1 et ACK : 0) les routeurs appliquent les même règles aux différents fragments d’un paquet : le 1er passe : le second également
Fragment Overlapping RFC 791 : si 2 fragments (IP) se superposent, le 2éme écrase le premier cf prec : la demande de connexion est dans le 2eme paquet => la connexion s’établit malgré le filtre
Dénis de service distribués (DDOS) On utilise l'effet de levier produit apr plusieurs (+de 100 ou 1000) sources pilotées par des BOT (serveurs IRC) très difficiles à contrer (répartition de charge, intervention chez l'opérateur rélécom)
Les attaques Web Interprétation des URL Mauvais contrôle de données utilisateur Injection de code SQL Attaque sur les identifiants de session Cross site Scripting Autres attaques
Exemple http://www.mondomaine.fr/chemin/fichier.ext ?param1=val1¶m2=val2 Utilisation de../../.. Pour remonter dans l’arborescence Utilisation d’Unicode pour IIS Autres attaques
Parades Utiliser des partitions séparées Enlever le composants non nécessaires Désactiver le browsing Supprimer les filtres et interpréteurs inutiles Appliquer des permissions d’accès fichier Désactiver HTTP si possible (cf HTTPS) Utiliser le filtrage d’URL (mod_rewrite d’Apache) Installer un reverse proxy (cf Apache ou Squid) Installer un IDS dans la DMZ pour détecter les attaques classiques
Injection de code SQL Select * from table where champ_nom = Nom Il suffit de saisir dans le mot de passe : Toto’ or 1 = 1 Le test de validation du mot de passe est court- circuité On peut utiliser UNION Commandes SQL server : 999; exec sp_addlogin ‘monuser’ Xp_cmdshell « NET USER /ADD …»’
Attaque sur les identifiants de session On peut générer automatiquement des identifiants de cookie pour « voler » la session d’un autre utilisateur
Filtrage applicatif Proxy reverse : il répond aux requêtes des clients et transmet au serveur Web après avoir fait les controles