Sécurité des systèmes d`information
Transcription
Sécurité des systèmes d`information
Sécurité des systèmes d'information Sécurité des réseaux ENSIIE – 18 avril 2014 Julien Raeis <julien [at] mingbai.org> Plan de cours 1. Réseau ? 2. Rappels sur TCP/IP 3. Éléments matériels 4. Découverte d'informations 5. Quelques faiblesses... 6. Conclusion Réseau ? Réseau ? ● ● Objectifs d'un réseau ● Livrer de l'information ● Connecter différents noeuds ● Transporter d'autres protocoles ● Permettre l'accès à des données à distance Notion de « service » réseau ● Authentification ● Contrôle d'accès ● Éxécution de code/commandes ● etc... Sécurité ? ● Les quatre composantes : ● ● Disponibilité Intégrité Confidentialité Traçabilité Risques et enjeux ● Interception ● Falsification ● Disponibilité ● Traçabilité Le réseau dans l'audit ● Moyen de transport pour se connecter aux « cibles » ● ● ● Par Internet, VPN, en LAN... Vecteur de « fuite » d'information ● Topologie, filtrage ● Services disponibles ● Diversité de l'environnement et des systèmes Support d'attaques ● Interception de trafic ● Détournement de trafic ● Injection de trafic Quelques rappels... légaux ● Plusieurs articles de loi punissent les atteintes aux systèmes informatiques dans la loi française ● ● ● Droit pénal : jusqu'à l'emprisonnement (5 ans) et 75.000 € d'amende Droit civil : préjudice commercial, perte d'exploitation, matériel, image de marque... Il faut l'accord explicite du propriétaire d'un système avant toute action ! Quelques rappels... légaux ● ● Notion de STAD (Systèmes de Traitement Automatisés des Données) Article 323-1 : intrusion ● ● Article 323-2 : déni de service ● ● « entraver ou fausser le fonctionnement » Article 323-3 : altération ● « accéder ou se maintenir frauduleusement dans tout ou partie d'un STAD » « introduire frauduleusement des données dans un STAD ou de supprimer ou modifier frauduleusement » Quelques rappels... légaux ● Article 323-3-1 : les outils de piratage ● ● ● « Le fait, sans motif légitime ... ... d'importer, de détenir, d'offrir, de céder ou de mettre à disposition... ... un équipement, un instrument, un programme informatique ou toute donnée conçus ou spécialement adaptés pour commettre une ou plusieurs des infractions prévues par les articles 323-1 à 323-3 » ● Article 323-4 : groupement ● Article 323-7 : tentative Vie privée et intellectuelle ● Code pénal sur la vie privée ● ● ● Article 226-15 : secret des correspondances : ouverture, retard, suppression, détournement... avec intention frauduleuse Code de la propriété intellectuelle ● ● ● Articles 226-1 et suivants : vie privée (dossiers informatiques personnels), appareils d'écoute, secret professionnel ... 335-3-1 et autres : Mesure Technique de Protection (loi « DADVSI ») « altérer la protection d'une œuvre par un décodage, un décryptage ou toute autre intervention personnelle » « pas applicables aux actes réalisés à des fins de sécurité informatique » (mais déclaré non constitutionnel) Rappels sur TCP/IP Modèles OSI et TCP/IP TCP / IP (1979) OSI (1981) Application Application Présentation Session Transport Transport HTTP, SMTP, IRC, SSH MIME, ASN.1, SMB TCP, SIP TCP, UDP, PPTP Réseau Réseau IP, ICMP, IGMP, ARP Liaison Liaison de données Ethernet, Token Ring, Physique Physique 100BaseTX, RS232 TCP/IP : vocabulaire ● Vocabulaire précis : ● Train de bits ● Trame ethernet ● Paquet/datagramme IP ● ● Connexion/segment TCP Pseudo-session/datagramme UDP Requêtes HTTP, SNMP, DNS, etc. Sessions SMTP, IMAP, POP3, SMB, etc. Mécanismes de sécurité S/MIME PGP SSH SSL/TLS IPsec Boîtier chiffrant IP – Internet Protocol ● IP (Internet Protocol),RFC 791 (1981) ● Buts : ● Routage/ transport de bout-en-bout de l'information ● Aucun contrôle garanti, aucune connexion ● Aucune garantie d'acheminement ● Deux versions : IPv4 et IPv6 ● Notion d'adresse IP (32 ou 128 bits) ● Route d'un paquet IP déterminée par le réseau En-tête IP ● Champs intéressants ● Protocole encapsulé ● Adresses IP source et destination Version IHL TOS (Type de Service) Longueur totale Flags Identification (IP ID) TTL Protocole Offset Somme de contrôle Adresse IP source Adresse IP destination Options Bourrage Données Routage ● Routage : acheminement de paquets à travers un réseau de routeurs ou d'équipements actifs de niveau 3 ● ● Effectué saut par saut, à chaque routeur Route déterminée pour chaque paquet et peut donc différer ou être asymétrique Faiblesses d'IP ● Aucun mécanisme de sécurité de base ● Quelques vulnérabilités... ● Ecoute (sniffing) ● Modification de paquets ● Usurpation d'adresses (IP spoofing) ● « Man-in-the-Middle » ● IP flooding IPsec ● Mécanismes de sécurités définis sur IP ● Pour IPv6 à l'origine, mais rétro-appliqué à IPv4 ● Date de novembre 1998 ● Suite de protocoles : AH / ESP ● Apporte : – – – – Intégrité / authentification (« authenticité ») Anti-rejeu Confidentialité Compression IP : champ TTL ● TTL (Time-to-live) ● Durée de vie d'un datagramme IP – – ● Compteur décrémenté à chaque saut Paquet détruit quand TTL arrive à 0 But : éviter les boucles lors d'un problème de routage Le TTL arrive à zéro : le paquet IP est supprimé et une erreur est générée TTL = 1 TTL = 5 TTL = 4 ICMP TTL Exceededintransit IP : champ ID ● Identifiant unique d'un datagramme IP ● ● Nécessaire pour la fragmentation Utilité ici : ● ● Évaluer la charge d'une machine si les champs ID sont incrémentaux (le champ est incrémenté de X à chaque paquet reçu) Obtenir des informations sur l'architecture en place – répartition de charge # hping -S -p 80 www.francetelecom.com HPING www.francetelecom.com (eth1 217.167.29.246): S set, 40 headers len=46 ip=217.167.29.246 flags=SA DF seq=0 ttl=52 id=26435 win=24656 len=46 ip=217.167.29.246 flags=SA DF seq=1 ttl=52 id=53343 win=24656 len=46 ip=217.167.29.246 flags=SA DF seq=2 ttl=52 id=26436 win=24656 len=46 ip=217.167.29.246 flags=SA DF seq=3 ttl=52 id=26437 win=24656 len=46 ip=217.167.29.246 flags=SA DF seq=4 ttl=52 id=46043 win=24656 len=46 ip=217.167.29.246 flags=SA DF seq=5 ttl=52 id=26438 win=24656 --- www.francetelecom.com hping statistic --6 packets tramitted, 6 packets received, 0% packet loss round-trip min/avg/max = 47.5/49.1/53.0 ms + 0 data rtt=53.0 rtt=50.4 rtt=48.3 rtt=47.5 rtt=47.9 rtt=47.6 bytes ms ms ms ms ms ms IP : champ ID ● Répartition des champs ID pour http://www.ssi.gouv.fr/ IP : champ ID ● Répartition des champs ID pour http://www.sun.com/ IP : options ● ● Généralement inutilisées / filtrées par les piles TCP/IP et/ou les pare-feu Option source routing ● ● Loose source routing : spécification de 1 à 8 passerelle(s) intermédiaire(s) entre émetteur et destinataire Strict source routing : spécification du chemin exact (1 à 8 passerelle(s)) entre émetteur et destinataire ➔ ● Option record route : chaque passerelle inscrit son adresse IP dans le paquet ➔ Possibilité (théorique) d'attendre des adresses en RFC 1918 derrières des passerelles Possibilité de traceroute sur IP (avec limitation à 8 sauts) ARP ● Address Resolution Protocol, RFC 826, 1981 ● ● Met en relation les couches 2 et 3 du modèle OSI Obtention des adresses physiques d'une carte ● MAC pour Ethernet # tcpdump -n -v -i eth0 arp Tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 15:21:08.828884 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.0.90 tell 192.168.0.1, length 46 15:21:08.828901 ARP, Ethernet (len 6), IPv4 (len 4), Reply 192.168.0.90 is-at 00:21:9b:6e:54:db, length 28 ICMP ● Internet Control Message Protocol, RFC 792, 1981 ● ● Contrôle et gestion d'erreur IP ● ● Couche 3 modèle OSI Deux catégories de messages : diagnostic et erreur Utilisé par ping par exemple (echo request/reply) Type Code Somme de contrôle Données variables (selon le type et le code) Exemple de message ICMP ● Exemple : ICMP Port Unreachable Type Somme de contrôle Code inutilisé entête IP + min. 8 premiers octets des données du datagramme IP d’origine ↳port 53/UDP fermé TCP ● Transmission Control Protocol, RFC 791, 1981 ● ● ● ● Couches 4 du modèle OSI Notion de port Objectif : fournir un service de transfert de données fiable entre deux applications Protocole orienté connexion ● Contrôle d'erreur, de flux, de congestion ● Numéros de séquences pour chaque segment TCP ● Drapeaux (états) TCP : en-tête Port source Port destination Numéro de séquence Numéro d’acquittement HL Réservé Flags Fenêtre Somme de contrôle TCP Pointeur d’urgence Options Bourrage Données U A P R S F R C S S Y I G K H T N N Drapeaux TCP ● Drapeaux ● SYN : établir une connexion ● ACK : acquitter un segment TCP ● RST : détruire une session ● FIN : fin d'une session ● PSH : données à transmettre aux couches supérieures Exemple de connexion TCP ● |Time |4,832 | |4,834 | |4,834 | |11,911 | |11,917 | |12,241 | |12,243 | |12,387 | |12,387 | |12,387 | |12,387 | |12,390 | | 192.0.2.42 | 192.0.2.1 | SYN | |(60864) ------------------> | SYN, ACK | |(60864) <-----------------| ACK | |(60864) ------------------> | PSH, ACK - Len: 36 |(60864) ------------------> | ACK | |(60864) <-----------------| PSH, ACK - Len: 1 |(60864) ------------------> | ACK | |(60864) <-----------------| PSH, ACK - Len: 404 |(60864) <-----------------| ACK | |(60864) ------------------> | FIN, ACK | |(60864) <-----------------| FIN, ACK | |(60864) ------------------> | ACK | |(60864) <------------------ (3128) (3128) (3128) (3128) (3128) (3128) (3128) (3128) (3128) (3128) (3128) (3128) | |Seq | |Seq | |Seq | |Seq | |Seq | |Seq | |Seq | |Seq | |Seq | |Seq | |Seq | |Seq | établissement de connexion TCP = 1469137698 Ack = 0 = 512683169 Ack = 1469137699 = 1469137699 Ack = 512683170 = 1469137699 Ack = 512683170 = 512683170 Ack = 1469137735 = 1469137735 Ack = 512683170 = 512683170 Ack = 1469137736 = 512683170 Ack = 1469137736 = 1469137736 Ack = 512683574 = 512683574 Ack = 1469137736 = 1469137736 Ack = 512683575 = 512683575 Ack = 1469137737 terminaison de connexion TCP Numéros de séquence TCP ● Génération de numéros de séquence initiaux (ISN) pseudo-aléatoires ● ● But : rendre difficile la prédiction des numéros de séquence pour ne pas pouvoir s'insérer dans une connexion TCP (cf. TCP hijacking attack) Sous Windows 98 : Option TCP timestamp ● Option TCP qui permet de connaître le temps depuis lequel une machine cible est allumée ● ● Permet aussi de compter les machines derrière de la répartition de charge Attention : en fait peut être remis à 0, dépend de l'implémentation Exemples de ports et services TCP ● Ports « bien connus » assignés par l'IANA ● HTTP : 80 ● HTTPS : 443 ● SMTP : 25 ● Telnet : 23 ● SSH : 22 UDP ● UDP (User Datagram Protocol), RFC 768 (1980) ● ● ● Couche 4 du modèle OSI Notion de ports (comme TCP) Objectif : délivrer le plus simplement possible des données à une application ● Pas de connexion ni de session ni de signalisation ● Pas d'acquittement de messages ● Avantage : rapidité UDP ● Format minimaliste ● Simple « surcouche » à IP ● Gestion des erreurs par ICMP Port source Port destination Longueur totale Somme de contrôle Données ● Protocole particulièrement sensible à la falsification d'adresse IP source et au déni de service ! – Il faut sécuriser au niveau applicatif ! Exemple de ports et services UDP ● Protocoles d'infrastructure : DNS (53) ● Voix sur IP, diffusion multimédia ● Administration, supervision : SNMP (161), syslog (514) ● De découverte : NetBIOS (137) ● De configuration : DHCP (69) Éléments matériels Le matériel ● ● Nombreux types d'équipements réseau : ● Commutateurs (switches) ● Concentrateurs (hubs) ● Routeurs ● Pare-feu ● Reverse-proxy Du côté architecture, tout sera vu (revu ?) lors du cours de Guillaume Valadon Concentrateur (HUB) ● Simple équipement « répéteur » de signal ● Les trames sont dont renvoyées à tous les ports... Commutateur (switch) ● Équipement « intelligent » ● ● Envoie à tout le monde la première fois qu'une adresse MAC apparaît comme destination Ensuite garde une table des correspondances MAC/port pour juste envoyer vers le bon port VLAN ● ● ● Norme 802.1q Marquage par un identifiant de 1 à 4094 des trames Ethernet (couche 2) Objectif : créer des réseaux virtuels en utilisant les mêmes ressources physiques ● ● Généralement par port de switch (mode « access » ou « untagged ») Peut se faire par marquage des paquets (VLAN « tagging » ou mode « trunk ») et peut servir au transport de plusieurs VLAN : VLAN trunking Découverte d'informations Découverte d'informations ● Ce qui nous intéresse ● Le plan d'adressage ● Les services disponibles Et donc le filtrage appliqué Les versions des systèmes d'exploitation et services – ● ● Comment ? ● ● Écoute du réseau (méthode passive) Envoi de paquets pour forcer des réponses (méthode active) Écoute réseau ● Écoute passive ● Pas besoin d'avoir d'adresse IP : mode promiscuous ● Paquets en broadcast/multicast ● Outils : tcpdump/wireshark/etherape ● Mais aussi outils spécialisés pour extraire des données de captures : – – – ● Écoute « active » ● Identifiants et mots de passe URL Contenu d'e-mails... On prend une adresse propre... ou on l'usurpe ! (cf. Plus loin) Capture Wireshark Prise d'empreinte passive ● Les paquets IP et leur contenu peuvent en dire long... ● ● p0f : outil de prise d'empreinte en fonction des données des paquets IP (ISN, TTL, etc.) Diffusion NetBIOS (service Browser) – – – Divulgation du nom de la machine De son adresse IP Parfois de l'infrastructure Microsoft... Découverte active : génération de paquets ● IP : génération du datagramme IP en espace utilisateur pour contourner la pile IP du noyau ● Pour TCP/UDP, rien de plus simple : telnet ou netcat ● Outils : ● perl avec IO::Socket ● en C avec libnet ● hping, scapy... Scapy ● Outil de forge de paquets en python ● Dispose de fonctions avancées type traceroute : $ sudo scapy >>> traceroute('86.65.182.120') ; Begin emission : ******************.*********Finished to send 30 packets. Received 29 packets, got 28 answers, remaining 2 packets 86.65.182.120:tcp80 2 192.168.3.2 11 3 65.184.126.246 11 […] 18 86.65.182.120 SA […] (<Traceroute: TCP:13 UDP:0 ICMP:15 Other:0>, <Unanswered: TCP:2 UDP:0 ICMP:0 Other:0>) Cartographie du réseau ● Découvrir l'architecture qui nous entoure ● Un bon moyen : traceroute ● ● Permet : ● ● Outils : tracert, traceroute, tcptraceroute... Découverte de redirection de ports, IP internes des équipements de routage... Contournement d'équipements de filtrage pour la découverte Balayage de ports ● ● Objectif : ● Découvrir les machines d'un réseau donné... ● … et les services réseau fournis Envoi de paquets spécifiques à des adresses IP ● ● ● Analyse des paquets retour au niveau IP et/ou TCP/UDP Permet de déterminer l'état d'un port L'outil par excellence : nmap hping (exemples) ● SYN sur port 80/tcp ● Réponse : SYN/ACK → Port ouvert (réponse du service) # hping3 -p 80 -S www.iiens.net HPING www.iiens.net (eth0 193.54.225.83): S set, 40 headers + 0 data bytes len=46 ip=193.54.225.83 ttl=49 DF id=0 sport=80 flags=SA seq=0 win=5840 rtt=5.2 len=46 ip=193.54.225.83 ttl=49 DF id=0 sport=80 flags=SA seq=1 win=5840 rtt=7.5 len=46 ip=193.54.225.83 ttl=49 DF id=0 sport=80 flags=SA seq=2 win=5840 rtt=6.7 len=46 ip=193.54.225.83 ttl=49 DF id=0 sport=80 flags=SA seq=3 win=5840 rtt=5.2 ● SYN sur port 31337/tcp ● Réponse : RST/ACK → Port fermé (sans service) # hping3 -p 31337 -S www.iiens.net HPING www.iiens.net (eth0 193.54.225.83): S set, 40 headers len=46 ip=193.54.225.83 ttl=49 DF id=0 sport=31337 flags=RA len=46 ip=193.54.225.83 ttl=49 DF id=0 sport=31337 flags=RA len=46 ip=193.54.225.83 ttl=49 DF id=0 sport=31337 flags=RA len=46 ip=193.54.225.83 ttl=49 DF id=0 sport=31337 flags=RA + 0 data bytes seq=0 win=0 rtt=6.1 seq=1 win=0 rtt=5.0 seq=2 win=0 rtt=6.0 seq=3 win=0 rtt=7.2 ms ms ms ms ms ms ms ms nmap ● Outil devenu véritable boîte à outils ● Choix du type de scan (UDP, TCP, ARP...) ● Ports à scanner ● Découverte des services ● Prise d'empreinte ● Scan de vulnérabilités... ● Scriptable en LUA (cf. plus loin) ● http://nmap.org/ Comment ça marche ? ● Comment déterminer si un port est ouvert ? ● ● ● open : port accessible et ouvert (SYN-ACK) closed : port accessible et fermé (réponse cohérente type RST, ou un ICMP Port Unreachable) filtered : non accessible et fermé – Généralement absence de réponse ou ICMP Destination unreachable ● unfiltered : port accessible (donc open ou closed) ● open|filtered : on ne sait pas (souvent le cas UDP) nmap par l'exemple $ sudo nmap -sS -F 192.168.5.10 Starting Nmap 5.51 ( http://nmap.org ) at 2011-04-14 16:26 CEST Nmap scan report for 192.168.5.10 Host is up (0.00052s latency). Not shown: 93 filtered ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 53/tcp open domain 80/tcp open http 143/tcp open imap 443/tcp open https 993/tcp open imaps Nmap done: 1 IP address (1 host up) scanned in 2.70 seconds Résultats ● Rapidement on obtient, et de façon tout à fait légitime des informations sur un système d'information ● Adressage ● Filtrage (déductions) ● Localisation des équipements de sécurité ● Services accessibles ● Versions et donc potentielles vulnérabilités Autres fonctionnalités de nmap ● Modules « NSE » (nmap scripting engine) ● Développés en LUA ● Charges applicatives afin de réaliser : – – – De la découverte de version Des tentatives d'authentification Exemple : authentification VMware, découverte des systèmes Windows, « bannières » des serveurs Web, etc. hping ● Quelques options intéressantes : ● -a : usurpation d'adresse IP ● -s : port source ● -p : port destination ● -k : pas d'incrément du port source ● --icmp, --udp ● Envoi de segments particuliers : -S, -A ● Traceroute -T... Quelques faiblesses... État des lieux ● ● ● Réseaux de mieux en mieux protégés ● Beaucoup d'attaques depuis la création d'Internet ● Et donc beaucoup d'enseignements tirés Création des équipements de sécurité ● Filtrage réseau, applicatif ● Bonnes pratiques d'architecture Apparition de protocoles sécurisés pour répondre à certains besoins ● Notamment la confidentialité Failles dans les équipements ● Pas mal de dénis de services ou de vulnérabilités dans les équipements eux-même... ● Les équipements actifs sont de vrais ordinateurs ● Par exemple, système d'exploitation IOS chez Cisco – – ● IPv6 a été un grand vecteur de failles dans les implémentations il y a quelques années ! – Nombreuses failles de déni de service Heureusement souvent dans des modules auxiliaires Et personne ne s'en sert... Interception ● Attaque « Man-in-the-Middle » (homme du milieu) – – Le client croit communiquer avec le serveur L'attaquant observe et détourne le trafic Man-in-the-Middle ● Comment c'est possible ? ● Réseaux non-segmentés : tout est sur le même brin, juste séparé par des switches ● Équipements anciens de type hub ● Protocoles n'assurant pas de sécurité – – – ➔ Intégrité Authentification de bout-en-bout Confidentialité Faciles à modifier/détourner/intercepter, etc. Attaques sur le matériel ● Peut on transformer un switch en hub ? ● Inondation d'adresses MAC (MAC flooding) – – ● Équipements « professionnels » sont protégés contre ce genre de manipulations ● A pour effet de surcharger les tables de correspondance de l'équipement Transformation en hub... Trafic trop important vers un port avec de multiples adresses MAC sera ignoré ARP spoofing ● Détournement du trafic réseau sur un switch ● Principe : ● ● ● Chaque machine garde un cache des correspondances MAC ⇔ IP On va corrompre ce cache – Sur la victime : IP destination ⇔ IP attaquant – Sur la destination : IP victime ⇔ IP attaquant Et on se place en routeur au milieu ARP spoofing S'en prémunir ? ● Segmentation des réseaux ● Routage avec contrôle d'accès ● Utilisation de VLAN ● Table ARP statique sur les équipements ● Cache qui expire rapidement... Et aux couches supérieures ? ● ● Principe de l'authentification mutuelle ● Appliqué dans IPsec, mais aussi dans SSL/TLS ● Basé sur un secret partagé ou des certificats Attention à l'interception ● ● Dans le cadre d'HTTPS, les navigateurs affichent maintenant des messages d'avertissement difficiles à contourner Mais les utilisateurs cliquent souvent aveuglément... Attaques DNS ● Principe similaire à celui de l'ARP spoofing ● ● Contrôler DNS c'est contrôler la destination du trafic ● ● ● Modifications se font au niveau applicatif, plus au niveau 2 ou 3 Attaques apparaissent de temps à autre ● ● On remplace une entrée DNS dans le cache d'un résolveur Notamment celle de Dan Kaminsky en 2008 Pas d'authentification dans les paquets DNS, faible entropie des identifiants, données prédictibles... DNS reste sensible, et les solutions proposées sont très dures à mettre en place (DNSSEC...) TCP session hijacking ● ● « Kevin Mitnick Attack » Consiste à injecter des segments TCP falsifiés dans une session TCP déjà existante ● ● ● ● Nécessite de connaître ou de prédire les numéros de séquence et d'ACK Besoin de réaliser un déni de service sur le client légitime pour qu'il ne réponde plus aux sollicitations du serveur Ne fonctionne plus aujourd'hui, les ISN étant pseudoaléatoires... Utilisation de protocoles sécurisés pour éviter ceci aux couches supérieures (SSH, TLS) Contournement de filtrage ● Principe du filtrage : ● ● ● ● Niveau 3 : ACL sur les IP Niveau 4 : ACL IP/ports + établissement de sessions TCP Niveau 7 : contenu du protocole applicatif, voire authentification Contournement ? ● Comment accéder aux ports filtrés ? ● Contourner depuis l'intérieur pour sortir ? Fuite d'informations ● ● Gros enjeu, éviter les fuites à tout prix ! Encapsulation dans de nombreux protocoles, notamment des champs qui sont rarement vérifiés ● ● ICMP : champs de données dans un Echo Request ou Reply TCP (RST, ACK, nombreux champs pas vérifiés par la pile IP) ● HTTP ● DNS... Déni de service ● Objectif : stopper un service ou saturer un réseau ● Moyens : ● ● Souvent l'épuisement de ressources ● Parfois le plantage direct Aujourd'hui, grande peur des dénis de service ● ● Intérêts économiques, financiers, etc. Vers blaster en 2003, DDoS sur l'Estonie, attaques sur les serveurs racine DNS en 2007 Déni de service ● ● ● ● ● Niveau 2 ou 3 : injection de routes inexistantes, attaques par mac flooding ICMP : ICMP flood TCP : SYN flood ou ouverture de sessions complètes pour saturer les piles LAND attaque (adresse source et destination identiques) Attaques par amplification, déni de service distribué, etc. Exemple : SYN flood ● Envoi de segments TCP SYN à destination d'un port ouvert (80/tcp ici), avec adresse IP source falsifiée et de préférence inaccessible (pour éviter de récupérer un RST) 2 1 SYN/ACK SYN www ● ● Va épuiser les tampons réseau du côté de la cible, conduisant à un déni de service Pour sécuriser, les connexions semi-ouvertes sont détruites sous BSD et apparition des « syncookies » sous Linux Un exemple d'attaque multi-couches ● ● Déni de service distribué s'appuyant sur des serveurs DNS récursifs ET des adresses IP source falsifiées DNS est un protocole asymétrique ● Taille moyenne d'une requête DNS : 60 octets ● Taille maximale d'une réponse (E)DNS : environ 4000 octets ➔ ● Principe : ● Facteur d'amplification de 66 environ Requête DNS (sur UDP) vers un enregistrement « lourd » (4000 octets) forgé pour l'occasion ● Adresse IP source forgée comme étant celle de la cible ● Utilisation de plusieurs centaines de machines pour les requêtes ● La machine cible va crouler sous les réponses DNS Résultat d'un DDoS sur les DNS root G et L Conclusion Sécurité ? ● Les réseaux sont au centre d'Internet ● ● ● ● Ils véhiculent de nombreuses informations Interconnectent des noeuds partout dans le monde, et non contrôlés La sécurité est certes de plus en plus présente... … mais les protocoles sécurisés doivent être adoptés par tous pour que ça marche ! Se prémunir des attaques en amont ? ● A défaut d'avoir des protocoles sécurisés partout... ● ● ● Du filtrage IP, TCP, UDP, voire applicatif Détection d'intrusion ● HIDS/HIPS ● NIDS/NIPS ● Problématique de la journalisation Segmentation des réseaux (VLAN et routeurs)