la sécurité - les attaques philippe sèvre. attaques réseau externes elles sappuient sur les...
TRANSCRIPT
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 = NomIl suffit de saisir dans le mot de passe :Toto’ or 1 = 1Le test de validation du mot de passe est court-
circuitéOn peut utiliser UNIONCommandes 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