270 likes | 362 Views
SE PREMUNIR CONTRE DES ATTAQUES { Partie 1 }. LA PREVENTION DES ATTAQUES La sécurité exige de parler des failles de sécurité pour s'en prémunir Ce cours n'est pas une liste de recettes pour attaquer des sites mais la description des principales attaques afin de mieux aider à les comprendre.
E N D
LA PREVENTION DES ATTAQUES • La sécurité exige de parler des failles de sécurité pour s'en prémunir • Ce cours n'est pas une liste de recettes pour attaquer des sites mais la description des principales attaques afin de mieux aider à les comprendre. • Classiquement, une attaque se fera selon un même schéma 1) Collecte d'information sur le site à attaquer • Ingénierie sociale • DNS • WHOIS 2) Repérage des lieux (attaques de reconnaissance) 3) Détermination des vulnérabilités (attaques de reconnaissance) 4a) Attaques en déni ou 4b) Attaques d'accès • collecte d'informations • repérage des lieux • détermination des vulnérabilités • effacement des traces
ATTAQUE DE RECONNAISSANCE Attaque ICMP • Type d'attaque : attaque de reconnaissance • Mécanismes : Balayage d'une classe d'adresse par • un script shell • un utilitaire (ex : hping) • Requêtes plus poussées • sur le masque de sous-réseau (type 17) • fournit des informations sur la topologie • Objectif : déterminer les hôtes actifs ou la topologie • Caractéristiques : • Valable pour des petits réseaux (classe C) • Détermine les machines actives et la topologie • Parades • Utilitaires de détection (scripts ou utilitaires du marché) • Sniffer • Blocage du trafic ICMP au niveau du firewall (mieux)
ATTAQUE DE RECONNAISSANCE Balayage de Port • Type d'attaque : attaque de reconnaissance • Succède à une reconnaissance ICMP ou concomitante à celle-ci • Mécanismes : • Balayage des ports TCP ou UDP des machines cibles • Scripts Perl (socks !) • Très nombreux utilitaires • Strobe (balayage TCP) • Udp_scan (balayage UDP) • Netcat (nc) • Network Mapper (nmap) • Objectifs • Détermination des ports en veille • Reconnaissance des équipements ou applications • Caractéristiques : • Handshake TCP (SYN, SYN/ACK,ACK) connexion complète • TCP SYN (SYN, RST/ACK) plus discret • TCP FIN ou NUL (RST pour port fermé) • Balayage UDP • Parades • Utilitaires de détection • Désactivation des services inutiles sur les serveurs • Blocage des ports au niveau du firewall (mieux)
ATTAQUE DE RECONNAISSANCE Reconnaissance des systèmes • Type d'attaque : attaque de reconnaissance • Succède à un balayage de port • Mécanismes : • Tests de la pile IP et comparaison avec des signatures d'implémentation • Utilitaires • Network Mapper (nmap) • Queso • Objectifs • Détermination des systèmes • Préalable à une attaque d'accès • Caractéristiques : • Handshake TCP (SYN, SYN/ACK,ACK) connexion complète • TCP SYN (SYN, RST/ACK) plus discret • TCP FIN ou NUL (RST pour port fermé) • Balayage UDP • Parades • Utilitaires de détection • Désactivation des services inutiles sur les serveurs • Patches à jour pour les serveurs ouverts à l'Internet (à minima) • Blocage des ports au niveau du firewall (Mieux !!!)
ATTAQUE DE RECONNAISSANCE Reconnaissance des systèmes (1/2) • Type d'attaque : attaque de reconnaissance • Succède à un balayage de port • Mécanisme : il s’agit de ce bon vieux telnet ! • Objectifs • Détermination du système • Préalable à une attaque d'accès • Caractéristiques : • Chaque système envoie une invite • Exemple • Parades • Blocage du port au niveau du firewall (LE TELNET NE DOIT JAMAIS ETRE OUVERT D'INTERNET) • Access list sur les routeurs de l'inter-réseau
ATTAQUE DE RECONNAISSANCE Reconnaissance des systèmes (2/2) • Type d'attaque : attaque de reconnaissance • Succède à un balayage de port • Mécanisme • protocole SMTP • protocole http • Identification du système logiciel fourni en réponse ! • Objectifs • Détermination du système • Préalable à une attaque d'accès • Caractéristiques : • Chaque système envoie une invite • Exemple • Parades : configuration des serveurs http ou de messagerie
ATTAQUE DE RECONNAISSANCE Attaque DNS (1) • Type d'attaque : Attaque de reconnaissance • Mécanisme : • Corruption de la zone cache ou data du serveur DNS attaqué • Objectifs • Paralysie du réseau ou des systèmes (trafic acheminé vers les réseaux inexistants) • Usurpation d'identité (ré acheminement du trafic) • Caractéristiques : • Exploitation de failles sur les implémentations • Parades • Restriction des requêtes pour certaines zones (allowquery) • Contrôle du transfert de zone (allow-transfert) • Usage de bind 8.2
ATTAQUE DE DENI DE SERVICE Saturation des ressources • Remarque : il est plus facile de paralyser l'accès à un réseau ou un système que d'obtenir cet accès. • Type d'attaque : Déni de service • Mécanisme : • Saturation de la bande passante • Saturation des ressources (ex : mail massif) • Objectif : paralysie du réseau ou des systèmes • Caractéristiques : • L'attaquant dispose de plus de bande passante • L'attaquant mobilise de la bande passante au travers de nombreux autres sites • Inondation d'un service par des requêtes valides et autorisées • Parades • Peu de bonnes parades en réalité • Surveillance du trafic • Surveillance de la consommation de ressource systèmes
ATTAQUE DE DENI DE SERVICE Attaque DNS (2) • Type d'attaque : Déni de service ou usurpation • Mécanisme : • Corruption de la zone cache ou data du serveur DNS attaqué • Objectifs • Paralysie du réseau ou des systèmes (trafic acheminé vers les réseaux inexistants) • Usurpation d'identité (ré acheminement du trafic) • Caractéristiques : • Exploitation de failles sur les implémentations • Exploitation de la récursivité • Parades • Patches à jour • Usage de bind 8.2 • Interdiction de la récursivité (recursion no)
ATTAQUE DE RECONNAISSANCE Synthèse sur la recherche d'information • A la base des attaques d'accès ou de déni de service • Recherche d'informations publiques • DNS avec dig ou nslookup, RIPE avec whois • Découverte du réseau • traceroute, ping, hping, firewalk, filterrules, netcat • Découverte des systèmes d'exploitation • nmap, queso • Découverte de services ouverts • strobe, nmap, udp-scan • Découverte des versions logicielles • telnet, netcat, smtp, http
ATTAQUE DE DENI DE SERVICE Attaque TCP-SYN • Type d'attaque : Déni de service • Mécanisme : • Etablissement de connexions pendantes ou semi-ouvertes (jamais acquittés) • Objectifs • Paralysie du système • Caractéristiques : • Exploitation du protocole TCP • Inondation de paquets TCP SYN • Mystification de l'adresse source • Parades • Pas de parade réellement satisfaisante • Limitation de la durée d'une connexion semi-ouverte (pas satisfaisant) • limitation du nombre de connexions et de connexions à demi ouverte (Cisco Pix) • Outil de détection
ATTAQUE DE DENI DE SERVICE Attaque SMURF • Type d'attaque : Déni de service • Mécanisme : • Envoi d'un ping sur une adresse de diffusion • Objectifs • Paralysie du système • Caractéristiques : • Exploitation du protocole IP • Envoi d'un ping sur l'adresse du réseau ou du broadcast • Mystification de l'adresse source • Parades • Blocage au niveau des systèmes • Par défaut pour certains (ex : AIX 4.3) • A activer sur d'autres • Blocage au niveau du firewall (mieux)
ATTAQUE DE DENI DE SERVICE Attaque fragmentation IP • Type d'attaque : Déni de service • Mécanisme : • Exploitation de vulnérabilité sur le ré assemblage de certaines implémentations TCP/IP • Objectifs : paralysie du système • Caractéristiques : • Exploitation de vulnérabilité • Programme teardrop (Le principe de l'attaque Teardrop consiste à insérer dans des paquets fragmentés des informations de décalage erronées. Ainsi, lors du réassemblage il existe des vides ou des recoupements (overlapping), pouvant provoquer une instabilité du système) • Programmes dérivés (newtear, syndrop) • Chevauchement des paquets • Parades • Patches systèmes • Dernière version système (Linux)
ATTAQUE DE DENI DE SERVICE Autres attaques (non exhaustif) • Attaque Land • Envoi d'un paquet avec @ip et port source, destinataire identiques => paralysie de certains systèmes • Parade : blocage au niveau du Firewall • Attaque SMTP • Envoi de mail en nombre • Spamming • Parade : relais de messagerie, règles anti-spam • Ping de la mort • Fragmentation d'un paquet ICMP tel que pour le dernier fragment : offset + taille > 65535 • Parade : blocage au niveau firewall • Attaques par débordement • Exploite des vulnérabilités connues des systèmes • Parade : mise à jour des patches systèmes • Utilité d'un CERT est ici grande !
ATTAQUE D'ACCES Attaque TCP • Type d'attaque : Attaque d'accès • Mécanisme : 1. L'attaquant initie une attaque de déni de service vers l'hôte de confiance Celui-ci est saturé est dans l'incapacité de répondre 2. L'attaquant initie une connexion vers le serveur (SYN) 3. Le serveur envoie un ACK SYN à l'hôte de confiance 4. L'attaquant attend un certain temps et s'assure que le serveur a bien envoyé le paquet ACK/SYN L'attaquant, ayant prédit le numéro de séquence, est capable d'envoyer un paquet ACK qui établie une connexion fictive ! • Caractéristiques • prédiction de numéro de séquence spoofing IP • Parade : blocage au niveau du firewall
ATTAQUE D'ACCES Attaque par débordement (système Unix) • Type d'attaque : Attaque d'accès • Mécanisme : • Consiste à obtenir un débordement de tampon afin d'exécuter du code en mode privilégié • Caractéristiques • Repose sur la connaissance de la programmation UNIX Consiste à envoyer au programme plus de données que l'espace mémoire alloué pour les recevoir. • Envoi dans les données de débordement d'un code adéquat • Sans doute les plus dangereuses • Parade : • Mise à jour des patches de sécurité • Cloisonnement des systèmes et des réseaux
ATTAQUE D'ACCES Attaque par force brute • Type d'attaque : Attaque d'accès • Mécanisme : • Consiste à essayer des mots de passe • Caractéristiques • Repose sur la facilité de mot de passe ou de mots de passe "usine" • Services attaquables • telnet • ftp • https (SSL) • LDAP • rlogin, rsh, etc….. • Parade : • Sensibilisation des utilisateurs • Gestion des comptes • Cloisonnement des systèmes
ATTAQUE D'ACCES Attaque par dictionnaire • Type d'attaque : Attaque d'accès • Mécanisme : consiste craquer des mots de passe • Caractéristiques • Repose sur la facilité du mot de passe • Repose sur l'obtention du fichier /etc/passwd ou des mots de passe cachés • Utilitaires (crack par exemple) • Parade : • Sensibilisation des utilisateurs • Gestion des comptes • Cloisonnement des systèmes
ATTAQUE D'ACCES Ingénierie sociale • Type d'attaque : Attaque d'accès • Mécanisme : • Consiste à demander à un utilisateur son mot de passe pour s'introduire sur un système • Caractéristiques • Facile à mettre en oeuvre • Repose sur la "crédulité" de l'utilisateur ou la force de conviction de l'attaquant • Très efficace • Parade : • Sensibilisation des utilisateurs • Gestion des comptes • Cloisonnement des systèmes
SECURISATION – PARADES GLOBALES • Un constat : pas de parades absolues ! • Mais deux types de points sensibles : • les accès • les systèmes ou les applications • Idée : sécurisation globale • Trois axes : • Sécurisation des accès • Accès distant • Accès internet (surtout !) • Sécurisation des systèmes et applications • Configuration stricte des OS • Mises à jours de patches • Adhésion à un CERT (Computer Emergency Response Team) • Outils de détection d'intrusion • Logs, audit • Outils pro-actifs • Attention : • Illusion de la sécurité (le plus néfaste) • Relâchement ou laxisme par rapport à la politique de sécurité
MISE EN ŒUVRE PRATIQUE DE LA SECURISATION DES ACCES • Les attaques peuvent venir : • De l'accès distant • De l'Internet (concerne la plupart des entreprises) • Un constat : • La plupart des attaques peuvent être bloquées par • Le firewall • Une bonne architecture conçue autour de celui- ci • La neutralisation des autres reposera • Sur la bonne configuration des systèmes • Sur la bonne configuration du DNS • La mise à jour de patches • La gestion efficace des comptes • Une très bonne organisation • Une priorité : mettre en œuvre une architecture Firewall adaptée • Les solutions • Netwall (BULL) • Checkpoint • Pix (CISCO) • Ipchains (Linux) interface graphique k-firewall, FCT
MISE EN ŒUVRE PRATIQUE DE LA SECURISATION DES ACCES • La mise en œuvre du Firewall doit être précédée • De la conception de l'architecture • Architecture simple • Architecture fortement cloisonnée avec DMZ • De la définition de la politique de sécurité • Règles générales sur les flux entre les différents réseaux • Règles particulières adaptées à certains flux • Règles générales pour la mise en oeuvre • La première chose à réaliser est de sécuriser le firewall lui-même ! • Assurer sa propre sécurité • Assurer une tolérance de panne • Désactiver les services inutiles • Surtout s'il s'agit d'une passerelle • Inutile de l'exposer à des brèches potentielles • Limiter strictement les accès telnet • Assurer l'authentification par un serveur dédié (si possible) • Règles concernant l'exploitation • Audit et analyse de logs obligatoires • Surveillance du fonctionnement
MISE EN ŒUVRE PRATIQUE DE LA SECURISATION DES ACCES • Quelques services • présentent des trous de sécurité connus sont donc dangereux • Cf le document de l'AUCERT "UNIX Computer Security Checklist“ • Liste de services: echo (7 TCP/UDP), systat (11 TCP), chargen (19 TCP/UDP), DNS (53 TCP), tftpd (69 UDP), finger (79 TCP), link (87 TCP), pop-3 (110 TCP), sunrpc (111 TCP/UDP), snmp (161 UDP), imap (143 et 220 TCP), rexec (512 TCP), rlogin (513 TCP), rsh (514 TCP), printer (515 TCP), uucp (540 TCP) • L'accès à ces ports doit • Etre interdit • Strictement réglementé • Ports spécifiques. • Exemple NFS (2049 TCP/UDP), X Windows(6000-6063 TCP). • bloquez l'accès externe à ces ports.
MISE EN ŒUVRE PRATIQUE DE LA SECURISATION DES ACCES • Exemple – architecture fortement cloisonnée • Synoptique • Description • L'infrastructure est composé de trois réseaux cloisonnés par un Firewall • Le réseau interne : à sécuriser fortement • Le réseau DMZ où SAS : • Le niveau 3 : interconnexion du firewall et du routeur frontal internet