0% ont trouvé ce document utile (0 vote)
299 vues147 pages

Sécurité Réseau et Attaques Informatiques

Transféré par

Elmoctar yarguett
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
299 vues147 pages

Sécurité Réseau et Attaques Informatiques

Transféré par

Elmoctar yarguett
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

SSI

[Link]-aubry@[Link]
Legond-Aubry Fabrice

Sécurité des Systèmes Informatiques

Sécurité réseau

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 1


Plan de cours

Introduction
Attaques de niveau 1
Attaques niveau 2: ethernet
Introduction

Attaques niveau 3: IP/ICMP


IPSEC - VPN
Attaques niveau 4: TCP
SSL/TLS – Parefeu - NAT
Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 2


Vocabulaire
● Attaque par eMail
– Hoax : fausse information, rumeur destiné à saturer la messagerie
– Mail bombing : Attaque consistant à générer beaucoup de mail pour
saturer un serveur de mail
– Spamming : Envoie de courriers non sollicités à but commercial
– Phishing : Envoie de courriers permettant le détournement
d’informations
Introduction

● Attaque Réseau TCP/IP


– Spoofing : Forger un message réseau faux et/ou malformé
– Flooding : Inondation en vu de saturer une machine
– Smurfing : Equivalent du flooding mais sur tout un réseau
– Hijacking : Détournement d’un connexion
– Sniffing : Ecoute des communications en vu d’obtenir des
informations
– Replay : Le rejeu
– Denial Of Service : Déni de service
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 3
Vocabulaire
● Attaque logicielle
– Buffer Overflow : Attaque par débordement
– Service poisoning : Corruption d’un service
(détournement de son comportement)
Introduction

● Logiciel de contrôle ou de nuisance


– Backdoor : Logiciel de prise de contrôle à distance
– Keystroke Monitoring : Logiciel de surveillance de
la machine
– Trapdoor : Logiciel permettant d’obtenir des droits
privilégiés suite à une action particulière

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 4


Les problèmes de sécurité dans la pratique
● Internet n’a pas été conçu avec un objectif de sécurité
– Internet est basé sur la confiance
– Chaque niveau traversé par vos données offre des moyens
d’attaques

● Internet est né avec les unix


Introduction

– il n'y a pas un UNIX mais une multitude d'implémentations


différentes qui présentent toutes des caractéristiques
propres

● Il existe de nombreux problèmes de sécurité dans la plus


part des systèmes informatiques actuels.
● Au niveau physique et liaison (ethernet)
– Sniffers qui écoute le réseau

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 5


Les problèmes de sécurité dans la pratique
● Au niveau réseau (IP)
– IP Spoofing et Smurfing
● Au niveau transport (TCP)
– SYN Flooding
Introduction

– Au niveau applicatif (service réseau)


– Déni de services (Deny of Services)
– Buffer Overflows
● Attaque au niveau des services
● Attaque au niveau des personnes

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 6


Rappels
● Un intrusion peut durer moins de quelques seconde ou s’étendre sur plusieurs
semaines
● Elle est faciliter par l’existence d’outils pré-programmer (script-kiddies)
● Une bonne protection passe par le triumvirat : Parefeu, Antivirus, Antiespion
● Permet l’accès aux informations ou servir de base d’attaque
– Une série d’intermédiaire complexifie de façon exponentielle la localisation
de la source
Introduction

– Une attaque extérieure peut être impossible à déposer devant les tribunaux
● Un très bon site: [Link]
● On rentre dans les détails gores (« gory-details »)
– Ne faites pas ces expériences sur le réseau de votre FAC !!!
– C’est détectable, dangereux et juridiquement PUNISSABLE !!!
– Même si l’administration est gentille, plus de compte !!!
✔ c’est dure de travailler sans compte informatique

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 7


Plan de cours

Introduction
Attaques de niveau 1
Attaques de niveau 1

Attaques de niveau 2: ethernet


Attaques de niveau 3: IP/ICMP
IPSEC - VPN
Attaques de niveau 4: TCP
SSL/TLS – Parefeu - NAT
Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 8


Ecoute des supports physiques
● Ethernet physique
– Plug sur le câble
✔ Introduction de bruit
Attaques de niveau 1

✔ Ecoute du support physique


– Emissions électromagnétiques des câbles
● Moyens de lutte
– Blindage des câbles, cage de faraday
– Filtrage électrique
– Ne pas connecter les machines vers l’extérieur
– Contrôle des câbles par du matériel spécifique

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 9


Réseau sans fils 802.11
● Le 802.11 aka WiFi (Wa fa)
– C’est un standard de réseau sans fil
– Il existe une pléthore de protocoles
– On parle de l’alphabet 802.11 (802.11a, 802.11b, …)
Attaques de niveau 1

– Les seuls a retenir sont 802.11g, 802.11i, 802.11x


● Le 802.11 soulève des problèmes
– Qui existent déjà !!!! Mise en exergue des problèmes filaires !
– Périmètre de sécurité
✔ Portables d’inconnus entre dans le périmètre
✔ Equivalent à une prise de la taille d’une sphère de 80m de rayon
● Sans cryptage (confidentialité) et sans authentification
SUICIDAIRE !!!
● Ecoute et brouillage possible

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 10


802.11: Moyens de lutte
● Contrôle d’accès
– Spatial: mesures et calibrage des puissances du signal des bornes
– Par adresse: Contrôle d’accès des adresses MAC
– Pas de diffusion du SSID !

● Confiner ce réseau dans un réseau spécial externe


Attaques de niveau 1

– Eviter les accès IP sur le réseau interne

● Confidentialité: Le WEP une coquille vide A JETER


– Faiblesse du chiffrement, pas de gestion des clefs
– [Link], [Link]/code/network/aircrack

● Confidentialité et authentification la seule solution valable, ENCORE EN DEPLOIMENT !


– 802.11i WPA2 (et PAS WPA simple ou de WEP) confidentialité
– 802.11x avec un serveur radius ([Link]) et des modules EAP

● Audit
– Journalisation des adresses inconnues (MAC et IP)
– Journalisation des scan
– Détection des réseaux pirates internes et externes
– Recherche de signal en bordure ([Link] et autres) et triangularisation

● Saturation hertzienne de la zone couverte

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 11


Exemple netstumbler

NETSTUMBLER
Attaques de niveau 1

Exemple netstumbler

Permet de connaître les PA de la zone


Permet de connaître les réseaux non sécurisés

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 12


Plan de cours

Introduction
Attaques de niveau 1
Attaques niveau 2: ethernet

Attaques de niveau 2: ethernet


Attaques de niveau 3: IP/ICMP
IPSEC - VPN
Attaques de niveau 4: TCP
SSL/TLS – Parefeu - NAT
Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 13


Rappels : Ecoute réseau (sniffing)
● But:
– Collecte d’informations sur les données circulant sur le
réseau
– Analyse à posteriori des trames
Attaques de niveau 1

– Attaque de décryptage sur les données (analyse


différentielle)
– Captures des mots de passe en clair
(POP3, TELNET, IMAP, …)

● Fonctionne avec tous les protocoles de niveau supérieur


– La capture s’effectue au niveau 2 avec du matériel classique
– La capture s’effectue au niveau 1 avec du matériel spécialisé

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 14


Ecoute ethernet: fonctionnement
● Ethernet c’est 90% des réseaux locaux
– Prix ridicules, déploiement aisé, grande variété de matériel
– Ethernet est un support DIFFUSANT !!!! facilité d’écoute !!!!!
Attaques de niveau 2: ethernet

● Il faut passer la carte en mode “Promiscuous”


– Permet à la carte de capturer tout ou partie des paquets qui transitent sur
le réseau local
✔ Même si les paquets sont non destiné à l’adresse IP de la machine qui écoute
✔ Ne permet pas la capture hors du réseau local
– Peut être filtrer par les routeurs
● Accès simple
– Librairie PCAP
– Raw socket: packet_socket = socket(PF_PACKET, int socket_type, int protocol);
● Utilisation de logiciels d’écoute
– Très facile à utiliser
– TCPDUMP (Linux/Windows), ethereal/PCAP (Windows/Linux)
– Network Associates Sniffer (Windows)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 15


Détection locale des écoutes
● Détection possible des cartes en mode “promiscous”
● Vérification locale
Un rootkit peut cacher des informations
Attaques de niveau 2: ethernet

– Un rootkit peut en cacher un autre


– Ne pas utiliser les programmes de la machine !
– Télécharger ses propres programmes compilés !!!
– Ifconfig:
pollux 14:46 >ifconfig eth0
eth0 Link encap:Ethernet HWaddr [Link]
inet addr:[Link] Bcast:[Link]
Mask:[Link]
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:9566866 errors:44 dropped:0 overruns:0 frame:4
TX packets:7763589 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:14 Base address:0xcc00
– Un processus root inconnu est en cours d’exécution (ps)
– Vérifier les comportements des programmes avec lsof et strace

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 16


Détection distante des écoutes (antisniff)
● En théorie c’est impossible
– les nœuds sont passifs ils ne transmettent rien
Attaques de niveau 2: ethernet

● Dans la pratique, c’est parfois possible


– Difficile à détecter !!

● Méthode de ping 1
– Si la machine qui a pour @IP [Link] et pour @MAC
[Link] est suspectée d’écouter le réseau.
– On émet une demande ICMP “echo request” en modifiant
l’adresse MAC (ie: [Link])
– Si la machine répond, elle était en mode d’écoute
✔ Le mode « promiscuous désactive » le filtre de l’@ MAC et répondra
à l’@IP sans vérifier l’adresse MAC

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 17


Antisniff: autres méthodes
● Méthode du ping 2 : Variation sur la première méthode
– On ne génère plus un paquet ICMP encapsulé dans ethernet
Attaques de niveau 2: ethernet

– On utilise une ouverture de connexion TCP


– On utilise le service “echo” (non ICMP)
– On génère un paquet IP provoquant un message ICMP

● Méthode ARP
– On attend quelques minutes sans émettre (vider les caches)
– J’envoie une requête arp unicast (“non broadcast”) en
fournissant mon @IP et mon @MAC
– Ensuite je demande un “echo request” la machine suspectée
– Si elle répond sans émettre de requête ARP, la machine
écoutait le réseau
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 18
Antisniff: autres méthodes
● Méthode du DNS
– Les machines qui écoutent peuvent faire des requêtes DNS
Faire un ping et vérifier les demande DNS arrivant de machine non
Attaques de niveau 2: ethernet


connues (@IP mauvaise) !!
● Méthode ARP
– On attend quelques minutes sans émettre (vider les caches)
– J’envoie une requête arp unicast (“non broadcast”) en fournissant
mon @IP et mon @MAC
– Ensuite je demande un “echo request” la machine suspectée
– Si elle répond sans émettre de requête ARP, la machine écoutait le
réseau
● Méthode de routage-source
– Envoyer un paquet à une machine intermédiaire en demandant son
acheminement à la machine suspectée
– Si la machine intermédiaire ne fait pas suivre le paquet et si la
machine suspectée répond, elle écoute le réseau
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 19
Antisniff: autres méthodes
● Méthode de leurre
– On génère du traffic POP, TELNET, FTP … avec des comptes
Attaques de niveau 2: ethernet

fictifs (sans réel droits)


– On vérifie si des login sont effectués sur ces comptes

● Méthode de la latence
– On génère un traffic ethernet important
✔ Il sera filtré par les machines normales
✔ Il sera capturé par les machines en écoute
– On ping les machines et on mesure leur temps de réponse

● Outils: antisniff, CPM (check promiscusous method),


neped

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 20


Lutter contre les écoutes
● Eviter la capture de mot de passe
– Eviter l’authentification et les données en clair
Attaques de niveau 2: ethernet

✔ Utiliser le cryptage sur les couches basses (SSL,IPSEC)


✔ Utiliser l’encpasulation applicative tunneling SSH, stunnel
– Utiliser des mots de passe à utilisation unique
(OTP)
● Recherche systématique des machines inconnues
– Découverte du réseau (HP openview)
● Limiter la connectivité des machines aux machines
connues
– ACL avec adresses ethernet au niveau des switchs

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 21


Attaques ARP
● ARP-RARP lien entre @MAC et @ IP
● ARP maintient un cache des machines qui diffusent sur le réseau
● But des attaques ARP:
Attaques de niveau 2: ethernet

– Détourner le traffic réseau vers sa machine


– En particulier, remplacer le couple (@MAC/@IP) du routeur par sa propre machine
– Déni de service
● Moyen:
– Poisoning : créer de fausses entrées dans les caches ARP
– Flooding: Saturer les tables ARP
– Cloning: imiter l’adresse MAC d’une autre machine
– Spoofing: Forger de fausses réponses ARP
● Utilitaires:
– [Link]
– [Link]
(logiciel d’attaque ARP, SSH, tueur de connexion)
– [Link] (génère des fausses réponses ARP)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 22


Attaque ARP : Poisoning par diffusion

Ha Hb
Attaques de niveau 2: ethernet

Machine Ha MachineHb
IP=[Link] IP=[Link]
MAC=[Link] MAC=[Link]
[Link] 00-E0-2B-13-68-00
[Link] xx:xx:xx:xx:xx:xx [Link] xx:xx:xx:xx:xx:xx

Qui a (“Who has”) [Link]


Mon @IP est “[Link]”
Mon @MAC est “xx:xx:xx:xx:xx:xx”

Machine Hc (Hacker) Hc
IP=[Link]
MAC=[Link]

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 23


Attaque ARP : Poisoning par requête
Qui a (“Who has”) [Link]
Mon @IP est “[Link]” J’ai [Link]
Mon @MAC est “[Link]” Mon @MAC est “[Link]”
Attaques de niveau 2: ethernet

Ha Hb

Machine Ha MachineHb
IP=[Link] IP=[Link]
MAC=[Link]

?
MAC=[Link]

[Link] 00-E0-2B-13-68-00
[Link] xx:xx:xx:xx:xx:xx

J’ai [Link]
Mon @MAC est “xx:xx:xx:xx:xx:xx”

Machine Hc (Hacker) Hc
IP=[Link]
MAC=[Link]

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 24


Attaque ARP : Poisoning par diffusion de réponse

Ha Hb
Attaques de niveau 2: ethernet

Machine Ha MachineHb
IP=[Link] IP=[Link]
MAC=[Link] MAC=[Link]
[Link] 00-E0-2B-13-68-00
[Link] xx:xx:xx:xx:xx:xx
[Link] xx:xx:xx:xx:xx:xx

J’ai (“I have”) [Link]


Mon @MAC est “xx:xx:xx:xx:xx:xx”

Machine Hc (Hacker) Hc
IP=[Link]
MAC=[Link]

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 25


Plan de cours

Introduction
Attaques de niveau 3: IP/ICMP

Attaques de niveau 1
Attaques de niveau 2: ethernet
Attaques de niveau 3: IP/ICMP
IPSEC - VPN
Attaques de niveau 4: TCP
SSL/TLS – Parefeu - NAT
IDS et Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 26


Le protocole IP
● IP suppose que
– Les @ IP source et
destination sont fiables
Attaques niveau 3: IP/ICMP

– Le TTL est utilisé pour


éviter que des paquets
circulent indéfiniment dans
le réseau (ghost packet)
– Protocoles: ICMP=1,
IGMP=2, TCP=6, UDP=17,
RAW=255
– Checksum contrôle CRC
– Permet des options qui
peuvent poser problème
✔ Source Routing
✔ Bit DF/MF
– Données: taille max. 64ko
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 27
Les protocoles ICMP/IGMP
● Le protocole ICMP (Internet Control Message
Protocol)
Le protocole ICMP est utilisé par tous les routeurs
Attaques niveau 3: IP/ICMP

– Il est utilisé pour signaler une erreur sur une


machine connectée
● Message ICMP = Type (8 bits), Code (8 bits),
Checksum (16 bits), Message (taille variable)
● Couples Type / Message :
– 0: Echo reply, 8: Echo request
– 3: Destination Unreachable,
– 5: redirect, 6: alternate host address, ...
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 28
Attaque ICMP: ECHO Flooding
● But du ICMP Flooding
– Rendre un ou plusieurs services inaccessible
Attaques niveau 3: IP/ICMP

– Rendre un réseau totalement inaccessible


● Moyen
– La machine cible passe tout son temps à répondre
à des requêtes ICMP
– Ping Of Death sous windows !!
✔ « ping –f [Link] 5242880 »

● Conséquences
– Surcharge machine et du réseau
– DENI DE SERVICE (D.O.S.)
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 29
Attaque ICMP: ECHO Flooding
Attaques niveau 3: IP/ICMP

réseau réseau
A INTERNET
B

ICMP_ECHO
(@SRC=[Link],@DST=[Link])
ICMP_ECHO
(@SRC=[Link],@DST=[Link])

ICMP_ECHO_REPLY
Ha (@SRC=[Link],@DST=[Link]) Hb

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 30


Attaque ICMP: ECHO Flooding
Hc
réseau
C
ECHO_REPLY
(@SRC=[Link],@DST=[Link])
Attaques niveau 3: IP/ICMP

réseau réseau
INTERNET
A B

Spoofed ICMP_ECHO
(@SRC=[Link],@DST=[Link])

ECHO_REPLY
Ha (@SRC=[Link],@DST=[Link]) Hb

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 31


Attaque ICMP: ECHO Flooding
● Moyen de détection:
– Observer la métrique réseau. En cas de FLOOD
✔ Réseau lent sans raison interne à la machine
Attaques niveau 3: IP/ICMP

✔ Temps de réponse important voir expiration de délais


✔ Les services internes peuvent devenir inaccessibles
– Examiner les logs des firewalls
✔ Haut taux de ICMP_ECHO/REPLY
● Lutte anti FLOOD:
– Désactiver le forward ICMP_ECHO sur les routeurs
✔ Pb: plus de ping du tout.
✔ Incompatibilité avec les certains logiciels
– Utiliser des contrôles de débit
✔ Ex: 3 ICMP_ECHO / REPLY par second
✔ Liste noire dynamique (interdiction pendant “x” minutes)
– N’autoriser les ping que sur le sous-réseau
✔ Pb en cas d’attaque interne
– Couplage contrôle de débit avec contrôle ip

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 32


Attaque ICMP: ECHO Smurfing
● But:
– Déni de service sur le réseau ou la machine cible
Attaques niveau 3: IP/ICMP

● Moyen:
– Utiliser un réseau comme réflecteur
– Faire une demande de ping avec
✔ Pour adresse source l’adresse du réseau (ou de l’hôte) à
attaquer
✔ Pour adresse cible l’adresse de diffusion du réseau réflecteur
– Un seul paquet envoyé, toutes les machines du
réseau réflecteur répondent (amplification)
– Les réponses seront envoyées à la cible
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 33
Attaque ICMP: ECHO Smurfing
Hc Hb2
réseau
C
N* ECHO_REPLY ECHO_REPLY
Attaques niveau 3: IP/ICMP

(@SRC=[Link],@DST=[Link]) (@SRC=IP.Hb2,@DST=[Link])

réseau réseau
INTERNET
A B

ICMP_ECHO
Spoofed ICMP_ECHO (@SRC=[Link],@DST=diffusionRB)
(@SRC=[Link],@DST=diffusionRB)

ECHO_REPLY
Ha (@SRC=IP.Hb1,@DST=[Link]) Hb1

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 34


Attaque ICMP: ECHO Smurfing
● Conséquences
– Identiques au flooding mais amplifiées
Attaques niveau 3: IP/ICMP

– La cible subit une charge très importante


● Si votre réseau à une grosse bande passante, il
devient idéal comme réflecteur.
● Le réflecteur peut avoir un réseau lent.
● Les deux réseaux peuvent être la cible.

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 35


Attaque IP : Spoofing
● En générale, il s’agit d’une attaque aveugle !
● Rappel: Internet est basé sur la confiance.
Modification du champ de l’@IP source et de certaines
Attaques niveau 3: IP/ICMP

options
● But:
– Usurpation d’identité on se fait passer pour une autre
machine
– Passer à travers les filtres IPs de certaines machines
● La (véritable) source:
– peut recevoir les réponses si elle est local (sniffing)
– NE peut PAS recevoir de réponse si elle est distante
✔ Sauf cas exceptionnel (IP source routing)
● A Coupler avec des attaques TCP (cf. prochaine section)
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 36
Attaque IP : Spoofing
● Détection: Peu évidente
– Analyser les logs du parefeu
✔ Connexions inhabituelles, violation des ACL, paquets rejetés
Attaques niveau 3: IP/ICMP

● Lutte contre le spoofing IP:


– Ne pas se limiter à des ACL basés sur les @IP
– Implanter des règles strictes sur les routeurs
✔ Tout paquet provenant de l’extérieure ne peut avoir une @IP source interne
✔ Tout paquet provenant de l’extérieure ne peut avoir une @IP source non attribué ou non
routable
– Constitution d’une liste noire des @IP non attribuée à partir des liste de l’IANA
✔ Tout paquet allant à l’extérieur ne peut avoir @IP source n’appartenant pas à votre réseau
– Associer les @MAC avec les @IP pour les machines critiques
✔ ie: LES SERVEURS (en particulier ceux d’authentifications) !!
✔ PB: les entrées ARP statiques sont parfois mal supportées
– Sonde de monitoring des couples (@MAC,@IP)
✔ Détection des cas de divergences avec la conformité et des trames ARP anormales
✔ Alerte + Engagement des contres mesures (détection, analyse, blocage)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 37


Le protocole IP
● IP suppose que
– Les @ IP source et destination
sont fiables
Le TTL est utilisé pour éviter
Attaques niveau 3: IP/ICMP


que des paquets circulent
indéfiniment dans le réseau
(ghost packet)
– Protocoles: ICMP=1, IGMP=2,
TCP=6, UDP=17, RAW=255
– Checksum contrôle CRC
– Permet des options qui
peuvent poser problème
✔ Source Routing
✔ Bit DF/MF
– Données: taille max. 64ko
● IP: RFC 781, 791, 1349

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 38


Attaque IP : Source Routing
● But:
– Cacher une connexion TCP désynchronisé
Attaques niveau 3: IP/ICMP

– Dissimuler d’autres types d’attaques


– Obtenir une réponse dans le cas d’une attaque IP-
Spoofing
● Moyen:
– L’option “source routing” permet de spécifier un
chemin de retour imposé pour la réponse
– Surpasse (“over ride”) la configuration par défaut
des routeurs

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 39


Attaque IP : Source Routing
● Comment ?
– L’attaquant fixe l’option de “source routing” dans
Attaques niveau 3: IP/ICMP

la paquet IP
– L’attaquant impose la route de retour à la réponse
de la cible. Il s’agit donc d’une suite d’@IP par
lequel doit transiter le paquet.
– La dernière @IP de la route doit être sur le même
sous réseau que l’adresse @IP destination
– La première machine hôte de retour doit être de
confiance par rapport à la machine cible

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 40


Attaque IP : Source Routing
Serveur Hôte de confiance ● Le serveur

Ha Hb Hc – Accepte les connexions


– Accepte le source-
Attaques niveau 3: IP/ICMP

routing sur des


machines de confiance
● La machine de confiance
Paquet normal
– Fait suivre le paquet
– Doit accepter le
source-routing ou être
corrompue.
Hp ● L’attaquant
– Reçoit la réponse
malgré l’attaque IP
Hackeur spoofing
Paquet « source-routing »

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 41


Attaque IP : Source Routing
● Solution: c’est simple !!!!
– Désactiver la fonction de “source-routing” sur les
Attaques niveau 3: IP/ICMP

paquets IP
✔ Sur les toutes les machines, sur tous les routeurs
✔ Option devenue quasi-inutile, désuète et dangereuse
✔ Malheureusement, ce n’est pas toujours le réglage par défaut
– Tous les paquets vont être détruits par les
machines
– Abandonner la notion de machine de confiance
✔ Lorsqu’elle est uniquement basée sur l’@IP
✔ Abandonner les ~/.rhost, ~/.shost
✔ Il faut de l’authentification forte
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 42
Plan de cours

Introduction
Attaques de niveau 1
Attaques de niveau 2: ethernet
IPSEC - VPN

Attaques de niveau 3: IP/ICMP


IPSEC - VPN
Attaques de niveau 4: TCP
SSL/TLS – Parefeu - NAT
IDS et Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 43


IPSEC - VPN
● Permet d’éviter le spoofing @IP et le sniffing
● IP-Secure / Développé par l’IETF (RFC 2401, 2402, 2406, 2409, 2411)
– Utilisé pour implanter les VPN (Virtual Private Network)
– Solution niveau 3 (réseau) IP
– Pas une solution de niveau “applicatif” comme SSH

● IPSEC fournit :
– La communication est crypté de bout en bout
IPSEC - VPN

– L’authentification forte, confidentialité et intégrité


– Indépendant de TCP/UDP, repose sur IP

● Il est supporté :
– en natif par beaucoup de système et par la grande majorité des routeurs
– par des drivers/applications sur beaucoup d’autres systèmes

● Mode IP-Sec: 2 mode de transport


– Payload seulement les données sont cryptées ‘encapsulation des données)
– Tunnel toute la communication est encryptée (encpasulation totale)

● Mode IP-Sec: 2 protocoles


– AH qui ne permet que l’authentification forte et intégrité, pas de confidentialité
– ESP qui permet la confidentialité

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 44


IPSEC-VPN: Modes
● Le mode “Payload”/Transport
– Facile à utiliser
– Peut être utiliser sur tous les réseaux et routeurs
– Les données ne peuvent être décryptées
IPSEC - VPN

(Encryptions fortes)
● Le mode “Tunnel”
– Plus puissant que le mode “Payload”
– Requière le support de tous les routeurs sur le
chemin
✔ Nécessité des ressources CPU sur les routeurs
✔ Nécessité pour les routeurs de pouvoir décrypter les entêtes
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 45
IPSEC-VPN: Protocoles
● Le protocole AH (Authentification Header)
– Fournit l’authentification de provenance des données
– L’intégrité des données (sans mode connecté)
– Un protection (optionnelle) contre le rejeu
● Le protocole ESP (Encaspulating Security Payload)
– Fournit la confidentialité du trafic
IPSEC - VPN

● AH et ESP peuvent servir de support pour faire de l’authentification


– Mieux vaut utiliser le mode tunnel en ESP avec authentification externe
● Le protocole SA (Security Association)
– Décrit les associations de sécurités possible (entre AH et ESP)
– Le mode utilisé (tunnel ou payload)
– Les algorithmes de cryptage
– Les SA ne fonctionnent que sur un canal unidirectionnel 2 SA pour TCP, …
● Problèmes:
– Difficultés avec la fragmentation IP
– Surcoût engendré par le protocole ESP

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 46


IPSEC-VPN:
● Trame IP simple:
Orig IP header data

● AH mode transport et mode tunnel


(datagrammes authentifiés sauf champs mutables)
IPSEC - VPN

Orig IP header AH data

New IP header AH Orig IP header data

● ESP mode transport et mode tunnel


(rouge = crypté, gris = authentifié)
Orig IP header ESP header data ESP trailer ESP auth

New IP header ESP header Orig IP header data ESP trailer ESP auth

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 47


IPSEC-VPN: Performances
● L’IPSEC est très couteux mais :
– De nouvelles implantations existent
– Les coûts sont en fortes baisses

Mesures de performances IPSEC


IPSEC - VPN

Pas d’IPSEC 315 kb/s


IPSEC avec AH et ESP 47 kb/s
IPSEC avec AH 26 kb/s
IPSEC avec mode transport ESP 26 kb/s
IPSEC avec mode tunnel ESP 26 kb/s
IPSEC ESP-part AH et le mode tunnel ESP 19 kb/s
IPSEC avec le mode transport ESP et AH 20 kb/s
IPSEC avec le mode tunnel ESP et AH 18 kb/s

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 48


Plan de cours

Introduction
Attaques de niveau 1
Attaques niveau 4: TCP

Attaques niveau 2: ethernet


Attaques niveau 3: IP/ICMP
IPSEC - VPN
Attaques niveau 4: TCP
SSL/TLS – Parefeu - NAT
IDS et Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 49


Le protocole TCP
● Le protocole TCP est un mode connecté
best effort
● Un paquet TCP
– Port Source/Destination (@service)
– « Sequence number » et « Ack.
Attaques niveau 4: TCP

Number » gestion de l’ordre des


paquets
– Acknowledgment field ACK trame
d’acquittement
– Connection opening (SYN) trame
d’ouverture de connexion
(synchronisation)
– Connection end (FIN) « graceful
logoff »
– Connection Reset (RST)
– « forced/brutal logoff »
– Checksum CRC
– Options
– Puis viennent les données

● TCP: RFC 1180, 768(UDP), 793 (TCP),


3168 (TCP), 792(ICMP), 950(ICMP)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 50


Le procotole TCP – Ouverture de connexion
● Négociation en 3 phases (3 ways handshake)
● Le client envoie un premier paquet au serveur
– Ce paquet contient le drapeau SYN mis à 1
– Le client envoie un numéro de séquence de départ
Attaques niveau 4: TCP

– La taille de sa fenêtre de réception


● Le serveur répond avec une trame d’acquittement d’ouverture
– Le drapeau ACK (acquittement) est mis à 1
– Le drapeau SYN (synchronisation) est mis à 1
– Le serveur met un numéro d’acquittement égale au numéro du client +1
– Le serveur met un numéro de séquence
– La taille de sa fenêtre de réception
● Sur réception de cet acquittement, le client répond par une trame dont
– Le drapeau ACK (acquittement) est mis à 1
– Le numéro d’acquittement est égale au numéro de séquence du serveur
+1

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 51


Le protocole TCP – Fermeture de connexion
● Fermeture brutale
– Une des parties envoie une trame avec
✔ Le drapeau RST mis à 1
✔ Le numéro de séquence d’acquittement égale au dernier numéro reçut +1
(souvent ignoré)
Attaques niveau 4: TCP

● Fermeture élégante ou la déconnexion concertée (« graceful logoff »)


– La partie qui souhaite se déconnecté envoie une trame avec:
✔ Le drapeau FIN mis à 1
✔ Le numéro d’acquittement inchangé
✔ Le numéro de séquence incrémenté de 1
✔ Attente de la réponse
– La partie qui reçoit la demande de déconnexion, renvoie une trame de confirmation
✔ Le drapeau ACK et FIN sont mis à 1
✔ Le numéro d’acquittement est incrémenté de 1
✔ Attente de la confirmation ou de timeout
– La partie qui souhaite se déconnecté envoie une trame avec:
✔ Le drapeau ACK mis à 1
– Fermeture de la connexion par l’initiateur de la déconnexion
– Fermeture de la connexion par le receveur de la demande

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 52


TCP - Example
● Ouverture et Fermeture de connexion
Attaques niveau 4: TCP

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 53


TCP – Sequence Numbers
● Le numéro de séquence correspond aux nombres
d’octets envoyés depuis l’ouverture de la
connexion.
Attaques niveau 4: TCP

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 54


Attaque TCP: SYN Flooding
● But :
– Attaque de déni de service
– Empêcher la machine d’accepter de nouvelles connexions
Principe :
Attaques niveau 4: TCP

– Créer des connexions semi-ouvertes


– La machine cible doit attendre la fin du processus de connexion
– Elle maintient ses ressources à disposition (non libération)
– On sature la liste d’attente (waiting-list)
● Conséquences :
– Tous les services TCP deviennent indisponibles
● Caractéristiques :
– Les paquets TCP SYN ne sont pas forcement tracés
– Le réseau n’est pas saturé de trames ICMP facilement identifiables
comme dans les attaques ECHO flooding ou ECHO smurfing

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 55


Attaque TCP: SYN Flooding
● La machine A envoie une demande de connexion TCP à la machine B
– paquet SYN
– La trame TCP est encapsulé dans un paquet IP avec une fausse
adresse (par ex. C)
Attaques niveau 4: TCP

● La machine B répond à la demande


– Paquet SYN/ACK
– Attend une confirmation d’ouverture qui n’arrivera jamais
● La connexion reste semi-ouverte pour un temps limité
– dépendent du système
– très grand devant la capacité des réseaux
● La machine A recommence avec
– un grand nombre de demandes fabriquées
– de fausses adresses (sources variées)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 56


Attaque TCP: SYN Flooding
● Les solutions ne sont pas toujours à la portée des admins !
● Implantation d’une pile TCP/IP adaptée
– Limitation de l’impact de l’attaque
Attaques niveau 4: TCP

– Attendre le ACK final avant d’allouer toute ressource


✔ Utiliser en premier lieu dans le noyau linux 2.x.x
● Protection implantée dans les routeurs
– Le routeur ne transmet pas la trame SYN à la machine B
– Il attend lui-même la réponse (SYN/ACK) de A
– ouvre ensuite la connexion avec B et lui fait suivre le paquet
SYN/ACK
– La table d’attente des connexions est gérée par le routeur
– Il utilise un algorithme LRU (Least Recent Used) pour vider les
connexions en attente d’ouverture
– Mode dégradé

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 57


Attaque TCP: Connection Reset
● But:
– Forcer la déconnexion entre deux machines
✔ Efficace contre les protocoles à connexions de longues durées
Attaques niveau 4: TCP

✔ Sauvegarde, Transferts FTP, Border Gateway Protocol (RFC 1771)

● Supposition :
– La connexion est déjà ouverte

● Moyen:
– Utilisation du TCP spoofing et l’IP spoofing
– Forger une fausse trame TCP avec le flag RST et une bonne
valeur de numéro de séquence
✔ Le numéro de séquence de la trame RST doit être dans la fenêtre de
réception

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 58


Attaque TCP: Connection Reset
● Méthode 1
– La fenêtre de réception fait environ 16Ko
– Le nombre de numéro de séquence est sur 32 bits
– Pour trouver une valeur valide, il faut essayer
Attaques niveau 4: TCP

✔ 2^32/16384 ~ 260000 possibilités


✔ En cas de sniffing, il suffit d’anticiper la valeur !!!
✔ En aveugle sur une ligne de 100ko/s, paquets de 53 octets
~1800 essais / secondes
– Si la fenêtre est large (satellite, grande capacité)
encore moins de trames à générer
● Méthode 2 :
– Certaines piles TCP/IP interprètent l’arrivé d’une deuxième trame
SYN (ouverture de connexion TCP) comme une demande de
réouverture suite à un crash.
fermeture de la connexion
– On applique la même méthode que précédemment

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 59


Attaque TCP : low-rate
● But:
– Faire baisser la capacité de trafic sur les serveurs
Moyen:
Attaques niveau 4: TCP

– Engendrer des pertes de trames sur les routeurs


– Engendrer des pertes de trames sur les serveurs
– Faire baisser la taille des fenêtres
d’émission/réception

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 60


Attaque TCP : [remote] land-attack
● But:
– Déni de service
● Moyen:
– Envoyer une trame ICMP echo request malformée
Attaques niveau 4: TCP

– ou envoyer une trame TCP SYN malformée


– Peut être effectué en interne ou en externe
– Les adresses IP sources et destinations appartenant à la même
machine
– Les ports sources et destinations identiques
– Exemple créer avec le programme HPing2
@IP externe de la victime: [Link]
@IP interne du routeur cible: [Link]
hping2 -A -S -P -U [Link] -s 80 -p 80 -a [Link]
● Testé sur des routeurs linksys WRT54GS, Cisco catalyst, …
– Date: décembre 2005

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 61


Attaque TCP : Desynchronized Connection

● But:
– Perturber la connexion entre deux machines
– Empêcher deux machines de discuter
Attaques niveau 4: TCP

– Etre capable de s’insérer entre les deux machines


“THE MAN IN THE MIDDLE”
● Principe:
– Créer une situation où les deux machines sont incapables de communiquer
– Faire en sorte que les machines ne soient plus d’accord sur les numéros de
séquence
● Conséquence:
– Il est possible de lire/modifier les données échangées entre les deux hôtes
✔ L’attaquant (man in the middle) pourra recevoir les paquets, les modifier et les faire
suivre
✔ Très dangereux pour les applications E-Business et pour le vol de numéro de cartes
– Très utilisé pour les connexions en clair (telnet/rlogin)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 62


Attaque TCP : Desynchronized Connection
● Désynchronisation à la négociation de la connexion (early desynchronization)
● L’attaquant surveille le réseau et attend un paquet SYN/ACK de la part du
serveur durant l’ouverture de la connexion
● Le vrai client accepte le paquet ACK/SYN et passe en mode connecté
Attaques niveau 4: TCP

● Pendant ce temps, l’attaquant annule la connexion du serveur


– cf l’attaque TCP “connection reset”
– envoie un trame RST (reset)
✔ Le paquet a les même paramètres que le datagramme IP ACK/SYN
– envoie une trame SYN (ouverture de connexion)
✔ Le numéro de séquence est différent éviter le chevauchement de numéro de séq.
● Le serveur ferme la connexion et en ouvre une nouvelle
– génère un nouveau numéro de séquence
– Envoie un paquet SYN/ACK au vrai client
● L’attaquant intercepte le datagramme IP SYN/ACK et envoie une trame ACK
au serveur
● Le client et le serveur sont désynchronisé
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 63
Attaque TCP : Desynchronized Connection
Client Attaquant Serveur
Fermée Ecoute
SYN, Clt Seq=100 Lu

SYN reçu
Attaques niveau 4: TCP

SYN envoyé
Lu SYN/ACK, Clt Seq=101
Svr Seq=500
Ouverte
Clt Seq=101 RST, Clt Seq=101
Svr Seq=500 TCP/IP spoofing Fermeture
SYN, Clt Seq=800

SYN reçu
ACK, Clt Seq=101 Lu
SvrSeq=501
ACK jeté
Lu SYN/ACK, Clt Seq=801
Svr Seq=700
ACK/SYN jeté
ACK, Clt Seq=801, Svr Seq=701
TCP/IP spoofing
Ouverte
Clt Seq=801
Svr Seq=701
L’attaquant doit utiliser l’IP et le TCP spoofing

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 64


Attaque TCP : Desynchronized Connection
● Désynchronisation par envoie de messages « vides »
● Utile seulement si le protocole accepte les trames « vides »
– Trame vide = trame sans effet sur l’application
Attaques niveau 4: TCP

– Ex: trame IAC NOP sur telnet, trame NOP sur FTP
● L’attaquant surveille l’échange sans interférer
● Au moment opportun, l’attaquant envoie un grand nombre
de trame vide
– Le but est de changer le numéro de séquence du client en
injectant le coût des trames vides
✔ Si la trame vide fait T octets
✔ Le serveur aura sa valeur incrémenté : SVR_ACK CLT_SEQ + T
✔ Le client sera toujours à CLT_ACQ
● L’attaquant fait la même chose sur le client

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 65


Attaque TCP : « Man In The Middle » par désynchronisation

● But: attaque de l’homme au milieu


Attaques niveau 4: TCP

Connexion Désynchronisée

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 66


Attaque TCP : « Man In The Middle » par désynchronisation

● Nous supposons les deux machines désynchronisées


● Du côté serveur
– Le serveur n’accepte plus les données du client
Attaques niveau 4: TCP

– Les trames du client sont jetées (mauvais numéro de


séquence)
– L’attaquant garde une copie des trames du client (Sniffing)
– L’attaquant attend la demande de retransmission du paquet
envoyé par le serveur au client
– L’attaquant copie le contenu des paquets du client et les fait
suivre au serveur
✔ Utilisation de l’IP spoofing (on insère @IP du client comme IP
source)
✔ On utilise le bon numéro de séquence (celui attendu par le serveur)
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 67
Attaque TCP : « Man In The Middle » par désynchronisation
● Nous supposons les deux machines désynchronisées
● Du côté client
– Le client n’accepte plus les données du serveur
– Les trames du serveur sont jetées (mauvais numéro de séquence)
Attaques niveau 4: TCP

– Le client rejettent toutes les réponses du serveur


– L’attaquant intercepte les données envoyées par le serveur et
destinée au client
– L’attaquant copie le contenu des paquets du serveur et les fait
suivre au client
✔ Utilisation de l’IP spoofing (on insère @IP du serveur comme IP source)
✔ On utilise le bon numéro de séquence (celui attendu par le client)
● Résultat :
– L’attaquant échange des données avec le client et le serveur
– Permet éventuellement d’ajouter des données
– De filtrer les commandes et leurs résultats

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 68


Attaque TCP : « Man In The Middle » par désynchronisation

Client Attaquant Serveur


Ouverte Ouverte
Clt Seq=101 Clt Seq=801
Svr Seq=501 Svr Seq=701
Attaques niveau 4: TCP

Lu data1, Clt Seq=701


Svr Seq=701, Taille=60
trame jetée TCP/IP spoofing
data1, Clt Seq=101, Clt Seq=801
Svr Seq=501, Taille=60 Svr Seq=761
Trame OK
Clt Seq=101
Svr Seq=561
data2, Clt Seq=101 Lu
Svr Seq=561, Taille=40
trame jetée
Clt Seq=141 TCP/IP spoofing
Svr Seq=561 data2, Clt Seq=801,
Svr Seq=701, Taille=40
Trame OK
Clt Seq=841
Svr Seq=761

L’attaquant doit utiliser l’IP et le TCP spoofing

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 69


Attaque TCP : « Tempête » de désynchronisation

● Tempête d’acquittement (“The ACK Storm”)


● Si les deux clients sont désynchronisés
● Quand un client reçoit une trame TCP invalide
Attaques niveau 4: TCP

– Il envoie un ACK à son pair (le serveur)


– Le numéro d’acquittement est faux !
● Quand le serveur reçoit la trame d’acquittement invalide
- Il envoie un ACK à son pair (le client)
– Le numéro d’acquittement est lui aussi faux !
● Le ping pong c’est bien mais qui va perdre ?
– En théorie cela ne s’arrête pas
● La désynchronisation doit être de courte durée !
– Il faut couper la connexion au plus tôt

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 70


Attaque TCP : « Tempête » de désynchronisation
● Après la tempête, le beau temps ! ☺
● IP est un service non sûr
– Des ACK vont se perdre dans la tempête
– Certains paquets ne vont pas être retransmis car il ne contiennent
Attaques niveau 4: TCP

aucune données (ACK pur)


– Plus le réseau est saturé, plus il y a de pertes !
● La tempête va se calmer toute seule
– Auto-stabilisation de l’effet de tempête
● Génère du trafic non sollicité Peut rendre l’attaquant détectable !!
● Comment l’attaquant peut-il empêcher la tempête ?
– L’attaquant peut minimiser l’effet “tempête”
✔ Génération d’un ACK correct juste après le rejet d’un paquet par le pair
– Dans la pratique problème de synchronisation
– C’est compliqué. Cela demande aussi un peu de chance.

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 71


Attaque TCP : Attaques par désynchronisation

● Solutions :
– Empêcher les usagers inconnus de se connecter
au réseau local
Attaques niveau 4: TCP

✔ Elimination des portables !


– Détection des comportement suspects
✔ Taux d’erreur, de perte et de retransmission élevés
– Détection de la charge réseau
✔ Détection des tempêtes d’ACK
– Utiliser des connexions applicatives sécurisées
✔ Ex: SSH
✔ Les paquets peuvent être désynchronisés et interceptés mais
pas interprétés (confidentialité) ou modifiés (intégrité)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 72


Plan de cours

Introduction
Attaques de niveau 1
Parefeu – NAT - SSL/TLS

Attaques de niveau 2: ethernet


Attaques de niveau 3: IP/ICMP
IPSEC - VPN
Attaques de niveau 4: TCP
Parefeu – NAT - SSL/TLS
IDS et Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 73


Politiques de filtrages
● Le filtrage est un des outils de base de la sécurité. IL EST NECESSAIRE !
● Filtrage optimiste : PERMIT ALL
– Tout est permis à part quelques services (ports)
– Facile à installer et à maintenir
Parefeu – NAT - SSL/TLS

✔ Seulement quelques règles à gérer


– Sécurité faible
✔ Ne tient pas compte des nouveaux services pouvant être ouvert
✔ Ex: un utilisateur ouvre un serveur ftp personnel, …

● Filtrage pessimiste : DENY ALL


– Rejet systématique
✔ Exception : services spécifiques sur machines spécifiques
✔ Ex: Autorisations explicites pour les services HTTP, SMTP, POP3, …
– Plus difficile à installer et à maintenir
✔ En particulier pour certains services (ex: FTP)
– Sécurité forte
✔ Les nouveaux services doivent être déclarés

● Prendre en compte les connexions entrantes et les connexions sortantes

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 74


Filtrage sur les routeurs
● Installer des règles sur les routeurs pour empêcher certains
trafic de passer par les routeurs
– Utilisation des Access Lists (Cisco, ...)
Parefeu – NAT - SSL/TLS

– Le filtrage peut être fait sur les critères suivants :


✔ Par protocoles ([ethernet], IP, ICMP, TCP, UDP, ...)
✔ Par adresses (suivant le protocole)
✔ Par les numéros de port TCP/UDP ( HTTP, SMTP, POP3, ...)
✔ Par masque d’adresse
✔ Par les interfaces d’accès
✔ Structure et/ou contenu des paquets
– Attention à l’ordre des règles
✔ La première qui correspond est celle sélectionnée
(Fist Matching, First Applied!)
– Une politique doit être installée
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 75
Filtrage sur les machines clientes
● Le filtrage doit aussi être fait aux niveaux des machines
● Les même type de politiques peuvent être appliquées
Optimistes ou Pessimistes
Parefeu – NAT - SSL/TLS

– Les mêmes critères de filtrages peuvent être appliqués


– De nouveau critères peuvent être ajoutés
✔ Contrôle des utilisateurs et des applications

● Problèmes :
– Difficultés de maintenance (prévoir un déploiement
automatique)
– Une MAJ doit être déployée

● Doit être adaptables sur les portables (migration)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 76


Firewalls / Routeur
● Différence entre un routeur et un firewall
– Un firewall ne fait pas de “IP FORWARDING”
– Un firewall peut faire du routage au niveau applicatif
Parefeu – NAT - SSL/TLS

✔ Existence de mandataires HTTP, POP3, etc …

● Les mandataires peuvent être intelligent


– Filtrage par le contenu (informations)
– La forme des paquets

● Implantation
– Un matériel spécialisé (Cisco PIX, …)
– Une machine simple avec plusieurs cartes réseaux + logiciels
– Firewall 1 (Checkpoint), Raptor, Shorewall (Linux), ...

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 77


Architecture avec Firewall sans routeur
● Modèle avec double réseau
– Pas de routage IP
Parefeu – NAT - SSL/TLS

– Filtrage applicatif seulement

Firewall
Internet

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 78


Architecture avec Firewall sans routeur
● On donne des adresses IP privées aux machines du réseau
– Exemple : [Link], [Link]
● Les serveurs ont aussi une adresse IP publique
Parefeu – NAT - SSL/TLS

– Moyen: utilisation d'alias pour les cartes réseau


✔ ifconfig eth0 [Link]
✔ ifconfig eth0:0 [Link]
● Les clients ne peuvent pas dialoguer directement avec
l'extérieur
● Passage par des mandataires internes
– Ok pour certains services : smtp, nntp, web, ftp
● Plus compliqué ou impossible pour d'autres (sessions
telnet)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 79


Architecture avec Firewall et routeur
● Modèle avec Firewall et routage
● Le firewall est la seule machine visible à
Parefeu – NAT - SSL/TLS

l’extérieur
✔ Le firewall effectue le contrôle d’accès
✔ Le routeur effectue le routage (translation d’adresse) NAT

Firewall Routeur
Internet

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 80


NAT
● Idée : le client fait passer ses communications par le routeur
– Le routeur « déguise » les paquets pour faire croire qu'il en est
l'émetteur
Parefeu – NAT - SSL/TLS

✔ Le serveur distant répond au routeur


✔ Le routeur fait suivre les réponses au client
– C'est un exemple de NAT (Network Address Translation)
● Exemple :
– Le poste [Link] démarre une session telnet (TCP, port 23) en
direction de [Link]
– Le routeur remplace l'adresse d'origine ([Link]) par sa propre
adresse, et fait suivre à l'extérieur
– Le site extérieur répond au routeur
– Le routeur remplace l'adresse de destination (la sienne) par celle du
demandeur [Link]
– Le demandeur a obtenu sa réponse !
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 81
Pourquoi faire du NAT ?
● Protéger ses machines clientes
– Les connexions sortantes sont possibles
Parefeu – NAT - SSL/TLS

– Les connexions entrantes sont interdites

Firewall Routeur

? Internet

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 82


Pourquoi faire du NAT ?
● Parfois, l’entreprise n’a qu’un nombre limité d’adresses IP
– Elle veut déployer plusieurs services
– Elle vaut faire du load-balancing
Parefeu – NAT - SSL/TLS

– Le routeur oriente les paquets en fonction d’une politique


précise

[Link] - HTTP

80
80
Firewall Routeur 53
Internet
[Link]
53
[Link] - DNS
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 83
NAT n’est pas la solution ultime !
● Le NAT protège les machines clientes
– Mais ils sont contournables !
Parefeu – NAT - SSL/TLS

● Méthodes :
– Ping tunneling: Encapsulation des trames TCP dans
les paquets ICMP
– TCP traversing
– Synchronous SYN
– TCP/UDP Hole punching

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 84


Architecture avec Firewall et double routeurs
● Architecture à double routeur
– Un routeur pour les connexions entrantes
Parefeu – NAT - SSL/TLS

– Un routeur pour les connexions sortantes


– Le firewall contrôle les accès entrants et sortants

Routeur Firewall Routeur


Internet

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 85


Firewall et zone démilitarisée (DMZ)
● Architecture à « DMZ »
– Découpage du réseau interne en 2 zones isolées
Parefeu – NAT - SSL/TLS

● Serveurs accessibles de l'extérieur, situés en « zone


démilitarisée »
● Postes clients inaccessibles de l'extérieur (situé en
« zone militarisée »)
● Variantes principales
– Utilisation de deux routeurs
– Utilisation d'un routeur « à 3 pattes »

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 86


Firewall et zone démilitarisée : 2 routeurs
DeMilitarized Zone (DMZ)

Web FTP SMTP/POP3

Serveurs Publics
Parefeu – NAT - SSL/TLS

Militarized Zone

Routeur Firewall
Internet
Routeur

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 87


Firewall et zone démilitarisée : Routeur à 3 pattes
Demilitarized Zone (DMZ)

Web FTP SMTP/POP3

Serveurs Publics
Parefeu – NAT - SSL/TLS

Militarized Zone

Firewall
Internet
Routeur

Utilisation des VLANs pour isoler les réseaux


Internes.

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 88


Firewall et zone démilitarisée

● Avantages-Inconvénients
● Routeur à 3 pattes
Parefeu – NAT - SSL/TLS

– plus économique, 1 seule machine à gérer


● 2 routeurs
– Configuration plus simple
– Meilleure sécurité
– 2 étapes successives pour « braquer » le réseau
interne

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 89


Utilisation des VLANs
● Le VLAN permet un regroupement d’un ensemble
de machines
Permet l’isolement du groupe de machine
Parefeu – NAT - SSL/TLS

– Regroupement par thème (pas par unité physique)


● Niveau de VLAN
– Niveau 1 port physique sur le routeur
– Niveau 2 adresse MAC de la machine
– Niveau 3 sous-réseau IP ou port du service

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 90


Firewall, VLAN et zone démilitarisée
VLANs segmentation interne
Parefeu – NAT - SSL/TLS

Development
Firewall Access
lists
Access
lists
Router Router
Office
Relai Config
Email file
132.227
.94.200
Selling
Web/FTP
Logs Analysis

Remote Militarized Zone


access
(SSH)

Demilitarized Zone

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 91


Format général et expressions des règles
● Principe : Des règles regroupées en chaînes
● Une chaine est
– Un ensemble de règles
Parefeu – NAT - SSL/TLS

● Un règle est constituée


– D’une cible en cas de concordance à qui dois-je faire
suivre le paquet
– De filtres sur l’adresse source [IP/Port] qui envoie le
paquet
– De filtres sur l’adresse destination [IP/Port] qui envoie le
paquet
– D’options (comme l’état de la connexion, l’utilisateur)
✔ Ex: La connexion a-t-elle été établie (ESTABLISHED) auparavant ?
● Applicable la grande majorité des firewalls
– Iptables, ipfw, cisco ACL
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 92
Format général et expressions des règles
● Règles de filtrage
– SMTP-ENTRANT-1 : Autoriser tous les paquets TCP entrants, @IP destination
[Link] port 25
– SMTP-ENTRANT-2: Autoriser tous les paquets TCP provenant du port 25 de
Parefeu – NAT - SSL/TLS

[Link].
– SMTP-SORTANT-1: Autoriser les paquets émis depuis [Link] vers
port 25 autre machine
– SMTP-SORTANT-2: Autoriser les paquets émis depuis le port 25 d'une
machine vers [Link] et ayant le bit ACK à 1
● Problème sur les routeurs sans état :
– La dernière règle n'empêche pas le passage de paquets «bidouillés» en
direction du serveur de courrier
– Laisse passer les tentatives d'attaques par saturation (DOS, déni de service)
● Solution : routeurs avec état
– Le routeur mémorise les connexions TCP établies
– Refuse les paquets qui n'en font pas partie, ou ne sont pas le début d'une
nouvelle connexion autorisée

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 93


Iptables: Firewall + NAT !
PRE-ROUTING POST
PAQUET PAQUET
----------------- ROUTING FORWARD ROUTING EXT.
EXT.
Conntrack -------------- ---------
Mangle Mangle Mangle
NAT(Dst) Filter
Parefeu – NAT - SSL/TLS

NAT(src)
Qdist Conntrack

OUTPUT
INPUT
---------
---------
Conntrack
Conntrack
Mangle
Mangle
NAT(Dst)
Filter
Filter

MACHINE MACHINE
LOCALE LOCALE

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 94


Iptables: les types de table & les chaînes
● Types de table :
– Conntrack Permet de gérer les connexions (iptable est statefull)
– Mangle Permet la modification des options des paquets
– Filter Permet le contrôle des paquets (sources, destinations)
Parefeu – NAT - SSL/TLS

– Qdist pour faire de la QoS


– NAT dst Changer l’adresse [IP/Port] de destination d’un paquet
– NAT src Changer l’adresse [IP/Port] source d’un paquet
● Chaînes cibles préexistantes pour les tables :
– INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING (f° de la table)
– ACCEPT Le paquet est accepté
– DROP /dev/null
– LOG Le paquet est tracé dans syslog [fabrique kernel]. Non bloquant !
– REJECT Le paquet est rejeté et le firewall renvoie une erreur ICMP
– RETURN Renvoie le paquet dans la chaîne précédente juste après l’endroit du
branchement. Comportement par défaut à la fin d’une chaîne.
– QUEUE Place le paquet dans l’environnement utilisateur

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 95


Iptables: manipulation des chaînes
● Création de la chaîne utilisateur « blacklist »
iptables -N blacklist
● Suppression de la chaîne utilisateur « blacklist »
iptables -X blacklist
Parefeu – NAT - SSL/TLS

● Vider une chaîne « chain » ou toutes les chaînes


iptables -F [chain]
● Fixer le comportement par défaut de la chaîne « blacklist »
iptables -P blacklist DROP
● Ajouter une règle « rule » à la chaîne « chain »
iptables -A chain rule
● Insérer une règle « rule » à la chaîne « chain » après la position « num »
iptables -I chain [num] rule
● Effacer une règle « rule » de la chaîne « chain » en position « num »
iptables -D chain [num] [rule]
● Remplacer une règle « rule » en position « num » de la chaîne « chain »
iptables -R chain [num] [rule]

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 96


Iptables : Un exemple de script
● Un firewall basique pour une machine cliente simple
#Tout interdire en entrée par défaut
Iptable –t filter –P INPUT DROP
Parefeu – NAT - SSL/TLS

#Autoriser les connexions entrantes en loopback


Iptables –t filter –A INPUT –i lo –s [Link]/8 –d [Link]/8 –j
ACCEPT
#ACCEPTE LES CONNEXIONS déjà ETABLIES
Iptables –t filter –A INPUT –i lo -m state --state ESTABLISHED –j
ACCEPT
#ACCEPTE LES NOUVELLES CONNEXIONS ENTRANTES SUR LE
PORT 80
Iptables –t filter –A INPUT –i eth0 –m state --state NEW –p TCP --
dport www –m limit --limit 1/s –j ACCEPT
#ACCEPTE LE PING AVEC ANTIFLOOD
Iptables –t filter –A INPUT –p –icmp-type echo-request –m limit --limit
1/s –j ACCEPT

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 97


Iptables: Un exemple de script
● Ajout d’une black liste en entrée
# créer une nouvelle chaîne
Iptable –N blacklist
Parefeu – NAT - SSL/TLS

# fixer le comportement par défaut


Iptable –t filter –P blacklist RETURN
#On ajoute les adresses interdites
Iptables –t filter –A blacklist –i eth0 –s [Link]/8 –j DROP
Iptables –t filter –A blacklist –i eth0 –s [Link]/16 –j DROP
# On ajoute un saut vers cette règle dans la
règle INPUT du firewall
Iptables –t filter –I INPUT 3 –j blacklist

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 98


Iptables: Un exemple de script
#Ne pas faire suivre les paquets
Iptable –t filter –P FORWARD DROP
#Interdire toutes les connexions sortantes par défaut
Parefeu – NAT - SSL/TLS

Iptable –t filter –P OUTPUT DROP


#Autoriser les connexions sortantes en loopback
Iptables –t filter –A OUTPUT –o lo –s [Link]/8 –d
[Link]/8 –j accept
#ACCEPTE LES CONNEXIONS déjà ETABLIES
Iptables –t filter –A OUTPUT –i lo -m state --state
ESTABLISHED –j ACCEPT
#ACCEPTE LES NOUVELLES CONNEXIONS SORTANTES
SUR LE PORT 22
Iptables –t filter –A OUPUT –m state --state NEW –p TCP –
dport ssh -j ACCEPT

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 99


Iptables: les extensions
● Il existe de nombreux modules
– « state » pour examiner l’état de la connexion
Parefeu – NAT - SSL/TLS

– « string » pour examiner le contenu du paquet


– « recent » pour gérer les derniers paquets reçus
– « condition » pour déclencher un règle en fonction
d’une variable dans /proc/net/ipt_condition/variable
– « iplimit » pour limiter le nombre de connexions
par @IP
– « length » pour limiter le taille de certains paquets
(ex: icmp)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 100


Iptables : shorewall
● Il existe des scripts préfabriqués pour faire des firewalls « facilement »
● Beaucoup d’options prédéfinies !
● Voir les fichiers de configurations dans /etc/shorewall et leurs
Parefeu – NAT - SSL/TLS

commentaires.
● Efficace en terme de temps de déploiement et de sécurité !
● Fichier /etc/shorewall/interfaces
– Choix des interfaces et des options/zones associées
● Fichier /etc/shorewall/rules
ACCEPT net fw icmp 8 - - 3/sec:10
ACCEPT net fw tcp 22 -
● Lancement : /etc/init.d/shorewall restart
● Génération automatique des règles iptables. Pour les voir:
/etc/init.d/shorewall status

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 101


Iptables: Exemple de code Shorewall
Chain INPUT (policy DROP 0 packets, 0 bytes)
target prot opt in out source destination
ACCEPT all -- lo * [Link]/0 [Link]/0
DROP !icmp -- * * [Link]/0 [Link]/0 state INVALID
eth0_in all -- eth0 * [Link]/0 [Link]/0
Reject all -- * * [Link]/0 [Link]/0
LOG all -- * * [Link]/0 [Link]/0 ...
Parefeu – NAT - SSL/TLS

... LOG flags 0 level 6 prefix `Shorewall:INPUT:REJECT:'


reject all -- * * [Link]/0 [Link]/0

Chain eth0_in (1 references)


target prot opt in out source destination
dynamic all -- * * [Link]/0 [Link]/0 state INVALID,NEW
net2fw all -- * * [Link]/0 [Link]/0

Chain net2fw (1 references)


target prot opt in out source destination
ACCEPT all -- * * [Link]/0 [Link]/0 state RELATED,ESTABLISHED
ACCEPT udp -- * * [Link] [Link]/0
ACCEPT tcp -- * * [Link] [Link]/0
ACCEPT udp -- * * [Link] [Link]/0 udp dpt:123
ACCEPT tcp -- * * [Link]/24 [Link]/0 tcp dpt:111
ACCEPT tcp -- * * [Link]/24 [Link]/0 tcp dpts:6000:6010
ACCEPT udp -- * * [Link]/24 [Link]/0 udp dpts:6000:6010
ACCEPT tcp -- * * [Link]/0 [Link]/0 tcp dpts:63000:64000
ACCEPT tcp -- * * [Link]/0 [Link]/0 tcp dpt:22
ACCEPT icmp -- * * [Link]/0 [Link]/0 ...
... icmp type 8 limit: avg 3/sec burst 10
net2all all -- * * [Link]/0 [Link]/0

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 102


Iptables: Voyage d’un paquet
TCP SYN de [Link]
Chain INPUT (policy DROP 0 packets, 0 bytes) port 22
target prot opt in out source destination
ACCEPT all -- lo * [Link]/0 [Link]/0 Match ? Non
DROP !icmp -- * * [Link]/0 [Link]/0 state INVALID Match ? Non
eth0_in all -- eth0 * [Link]/0 [Link]/0 Match ? oui
Parefeu – NAT - SSL/TLS

Reject all -- * * [Link]/0 [Link]/0


LOG all -- * * [Link]/0 [Link]/0 ...
... LOG flags 0 level 6 prefix `Shorewall:INPUT:REJECT:'
reject all -- * * [Link]/0 [Link]/0

Chain eth0_in (1 references)


target prot opt in out source destination
dynamic all -- * * [Link]/0 [Link]/0 state INVALID,NEW Match ? oui
net2fw all -- * * [Link]/0 [Link]/0 Match ? oui

Chain net2fw (1 references)


target prot opt in out source destination Match ? Non
ACCEPT all -- * * [Link]/0 [Link]/0 state RELATED,ESTABLISHED
ACCEPT tcp -- * * [Link]/0 [Link]/0 tcp dpt:22 Match ? oui
ACCEPT tcp -- * * [Link] [Link]/0
ACCEPT tcp -- * * [Link]/24 [Link]/0 tcp dpt:111
ACCEPT tcp -- * * [Link]/24 [Link]/0 tcp dpts:6000:6010
ACCEPT udp -- * * [Link]/24 [Link]/0 udp dpts:6000:6010
ACCEPT icmp -- * * [Link]/0 [Link]/0 ...
... icmp type 8 limit: avg 3/sec burst 10

Chain dynamic (1 references)


… vide … return Paquet ACCEPTE
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 103
ipfw
● IPFW est l’ancêtre de iptables
● Il est encore très présent (FreeBSD, MacOS)
● Il a très bonne réputation.
Parefeu – NAT - SSL/TLS

● Fortement intégré au noyau:


– Le changement d’une option oblige à la recompilation du noyau
– Tout un ensemble d’option sont disponibles
✔ IPFIREWALL_VERBOSE, IPDIVERT, …
● Déploiement du firewall: fichier /etc/[Link]
firewall_enable="YES"
firewall_script="/etc/firewall/fwrules"
natd_enable="YES"
natd_interface="tun0"
natd_flags="-dynamic"

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 104


Ipfw : fichier de règles
# Define the firewall command (as in /etc/[Link]) for easy reference. fwcmd="/sbin/ipfw"
# Force a flushing of the current rules before we reload.
$fwcmd -f flush
# Allow all data from localhost.
$fwcmd add allow ip from any to any via lo0
Parefeu – NAT - SSL/TLS

# Basically give user root "GOD" privileges. $pif network card


$fwcmd add allow tcp from me to any out via $pif setup keep-state uid root
# Allow out ping
$fwcmd add allow icmp from any to any out via $pif keep-state
#Allow out Time
$fwcmd add allow tcp from any to any 37 out via $pif setup keep-state
# This rule enforces the block all by default logic.
$fwcmd add deny log all from any to any out via $pif
# Deny all inbound traffic from non-routable reserved address spaces
$fwcmd 00300 deny all from [Link]/16 to any in via $pif #RFC 1918 private IP
$fwcmd 00301 deny all from [Link]/12 to any in via $pif #RFC 1918 private IP
$fwcmd 00302 deny all from [Link]/8 to any in via $pif #RFC 1918 private IP
$fwcmd 00303 deny all from [Link]/8 to any in via $pif #loopback
$fwcmd 00304 deny all from [Link]/8 to any in via $pif #loopback
$fwcmd 00305 deny all from [Link]/16 to any in via $pif #DHCP auto-config
$fwcmd 00306 deny all from [Link]/24 to any in via $pif #reserved for docs
$fwcmd 00308 deny all from [Link]/3 to any in via $pif #Class D & E multicast
…..

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 105


SSL et TLS
● SSL = « Secure Socket Layer »
– Surcouche logicielle à TCP/IP
– Utilise un protocole particulier et doit donc être sur un port particulier
Parefeu – NAT - SSL/TLS

– S’insère entre la couche TCP et la couche applicatif


– Nécessite une adaptation de l’application
– Permet l’identification des clients (Par exemple pour un intranet)
● TLS = « Transport Secure Layer »
– Reprend tous les concepts SSL. Plus générique et plus clair que SSL.
– TLS n’impose pas de méthode de chiffrement spécifique
– Utilise les mêmes couches (une couche de négociation et une couche de
création de paquets)
– Utilise les mêmes protocoles (handshake, alert, cipher change)
– RFCisé : 2246/3546 (TLS), 2487 (SMTPs), 2595 (POPs, IMAPs), 2817/2818
(HTTPs)
● Technologie SSL plus connue et plus exploitée que TLS

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 106


Transport (/ Secure) Socket Layer

Protocole
Parefeu – NAT - SSL/TLS

applicatif

Niveau Application Protocole


“handshake”
S Handshake Layer
S Protocole
L Record Layer “Change Cipher
Spec”
Niveau Transport (TCP/IP)
Protocole d’alerte

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 107


Transport (/ Secure) Socket Layer
● Négociation SSL
Client Serveur
Parefeu – NAT - SSL/TLS

Client Hello [temps,random]

Server Hello [Version,random,


sessionID, algos cryptage, algos compression]
Phase de Hello

CERT
[certificat du serveur]
Server Key exchange
[clef de cryptage du serveur]
Optionel (en cas de Client cert request
Serveur non anonyme) [certificat du client]
Serveur done

Phase de l’identification du serveur

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 108


Transport (/ Secure) Socket Layer
Client Serveur

CERT Optionnel (en cas de


[certificat du client] Serveur non anonyme)
Parefeu – NAT - SSL/TLS

Client Key exchange [clef du client]

Certificat verify Optionnel (en cas de


[certificat du client] Serveur non anonyme) Vérification
du certificat
Phase de l’identification du client

Change cipher spec

Finished

Fin de négociation client

Change cipher spec

Finished

Fin de négociation serveur

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 109


Transport (/ Secure) Socket Layer
● DES, Triple-DES, MD5, RSA, SHA-1.
● DSA. Digital Signature Algorithm
KEA. Key Exchange Algorithm. Un algorithme utilisé
Parefeu – NAT - SSL/TLS

pour l’échange de clé par le gouvernement US.


● RC2 and RC4. Un algorithme de cryptage Rivest dévelopé
pour le “RSA Data Security”.
● RSA key exchange. Un algorithme d’échange de clefs
pour SSL basé sur l’algorithme RSA.
● SKIPJACK. Un algorithme de cryptage à clef symétrique
implanté par la société FORTEZZA et utilisé par le
gouvernement US (voir FORTEZZA Cipher Suites.)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 110


Plan de cours

Introduction
Attaques de niveau 1
Attaques de niveau 2: ethernet
IDS et Analyse

Attaques de niveau 3: IP/ICMP


IPSEC - VPN
Attaques de niveau 4: TCP
SSL/TLS – Parefeu - NAT
IDS et Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 111


« fwlogwatch » : Analyse de log firewall
● N’analyse que les paquets tracés
– Nécessiter de bien définir les paquets à tracer
– Les paquets jetés (drop/reject) sont à tracer
– Certains paquets acceptés doivent être tracés
✔ Ouverture de connexion (TCP SYN)
– Ne capte pas toute l’activer réseau de la machine !
● « fwlogwatch » :
– Il génère des rapports
– Il peut surveiller l’évolution des logs
✔ Générer des alertes via des scripts (EMAIL !)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 112


Analyse de log firewall
● Fichier de configuration « /etc/[Link] » :
verbose = yes # be verbose

resolve_hosts = yes # try to get hostname &


servicename
resolve_services = yes

parser = n # set parser to iptable

src_ip = on # show all informations


dst_ip = on
protocol = on
src_port = on
dst_port = on
tcp_opts = on
data_amount = yes
start_times = yes
end_times = yes
duration = yes

html = yes # set ouput to html


output = /var/www/fwlogwatch/[Link]
sender = root@[Link]
recipient = [email protected]

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 113


fwlogwatch : Exemple

fwlogwatch HTML

● C’est joli les premières fois


IDS et Analyse

– Mais on se lasse vite


● Une fois en place
– il faut prendre le temps chaque jour
– Il faut être persévérant
● Si on ne le regarde plus, autant arrêter la
génération des comptes rendus

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 114


Sonde IDS
● IDS = « Intrusion Detection System »
● Utilité des sondes IDS ?
– Il est impossible de se protéger contre toutes les attaques
– Détecter les attaques non bloquées
IDS et Analyse

– Empêcher l’espionnage de son réseau en le détectant


précocement
– Collecter le maximum d’information sur un attaque et sur les
attaque (« know your ennemy »)
● Pour que la sonde soit efficace
– Doit percevoir son environnement
– Doit limiter ses interactions avec son environnement
✔ Eviter les détections de la sonde

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 115


Sonde IDS
● Type de sonde IDS
– Sonde réseau analyse des trames
– Sonde de machine analyse les événements
machines
IDS et Analyse

– Sonde applicative analyse un service particulier


(peut être une combinaison de plusieurs machines)
● La détection se fait par
– Des signatures (comportementales)
– La détection d’anomalies
● Certains IDS ont des capacités préprogrammées de
réactions
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 116
Sondes IDS de type réseau
● NIDS = « Network based IDS »
● Type de sonde très employée
● Caractéristiques :
– Elle écoute sur des points stratégiques du réseau
IDS et Analyse

✔ Doit recevoir tout le trafic du réseau (dorsale)


✔ Penser à la brancher sur le routeur d’entrée et annuler l’isolation (ex:
VLAN)
– On peut segmenter les écoutes (plusieurs sondes)
– Une sonde peut et doit être fortement sécurisée
✔ Contrôle d’accès fortement limité
✔ Hardened kernels
– Une bonne configuration la rend difficilement détectable

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 117


Sondes IDS de type réseau
● Avantages
– Peu de sondes bien placées peuvent surveiller un large
réseau
– Le déploiement de sonde a peu d’impact sur le réseau
existant
✔ Peu d’effort de configuration pour déployer une sonde
IDS et Analyse

– Les sondes sont camouflables et bien protégées


● Inconvénients
– Surcharge possible de la sonde (réseau, CPU)
✔ Certaines sondes utilisent un matériel spécifique
– Certains commutateur bas de gammes n’offre pas de ports
de surveillance (pas de copie du trafic)
– Pour l’instant pas d’analyse de données cryptées
✔ Il faudrait connaître toutes les clefs et les protocoles de son réseau
– Difficulté à savoir si une attaque à réussi ou non
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 118
Sonde IDS de type Machine
● Sonde IDS de type machine HIDS (Host based IDS)
● Caractéristiques
– Analyse l’activité système de la machine sur laquelle elle est
déployée
« System Integrity Verifier » Vérification des modifications
IDS et Analyse

apportées sur les fichiers du système


✔ « Log file monitor » Vérification des traces systèmes
– Permet de déterminer les activités suspectes de certains
processus
– Certains sondes peuvent transmettre les informations à un
concentrateur
– Certains sondes peuvent générer des messages réseaux
(SNMP) ou des emails

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 119


Sonde IDS de type Machine
● Avantages
– Détecte des attaques non détectables sur le réseau
– Peut être utilisé dans des environnements « cryptés »
– Peut être utilisé sur des réseaux commutés
Inconvénients
IDS et Analyse

– Les bases doivent être mise à jour sur les machines


– Les sondes peuvent être corrompues/désactivées par
l’attaquant
– Pas de vision globale (scans réseaux) car elle est déployée
sur une machine « cliente »
– La sonde machine consomme du CPU et de la mémoire sur la
machine « cliente »
– Difficulté à détecter les dénis de services

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 120


Sondes IDS de type applicative
● Très proches des sondes machines
● Souvent confondues avec les sondes machines
● Caractéristiques
– Encapsule une application
– Surveille une application et ses évènements
IDS et Analyse

– Spécialiser pour chaque type d’application


● Avantages
– Très fine granularité pour analyser des comportements
anormaux
– Analyse les données après le décryptage
● Inconvénients
– Sensibilité extrême aux attaques
– Facilement corruptible

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 121


Sondes IDS : analyse par signatures
● Déclenchement sur la détection d’une suite
prédéfinie d’évènements
● Méthode peu coûteuse et efficace
Avantages
IDS et Analyse

– Peu de fausses alarmes


● Inconvénients
– Il faut mettre à jour la base de signature
– Ne détecte pas toujours toutes les variantes des
attaques

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 122


Sondes IDS : analyse par détection d’anomalies
● Identification de comportements anormaux
● Un bon complément à l’analyse par signature
● Nécessité de définir une (la?) normalité
● Fonction d’apprentissage des comportements normaux
IDS et Analyse

– Analyse statistique des comportements


● Détection de déviance vis-à-vis de la normalité
● Avantages
– Détection d’attaques non encore identifiées
● Inconvénients
– Produits de nombreuses fausses alarmes
– Nécessite un apprentissage couteux et long

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 123


Sondes IDS : réponses automatiques
● L’administrateur n’est pas toujours présent
● Les réponses passives automatiques peuvent être :
– Envoie de notifications et déclenchement d’alarmes NECESSAIRE !
✔ Email, sms, ... aux responsables
– Envoie de trames SNMP
– Utilisation de plug-in
IDS et Analyse

– Archivage automatique sur un support sûr


● Les réponses actives peuvent être
– Changer l’environnement interne PEUT ETRE DANGEREUX ET ETRE EXPLOITE !
✔ Injection de trames RST pour couper l’attaque
✔ Reconfiguration des routeurs et firewall pour bloquer @IP
✔ Reconfiguration des routeurs et firewall pour bloquer les protocoles
✔ Bloquer totalement le réseau dans les cas extrêmes
– Collecte automatique d’informations sur la source réponse la plus efficace
✔ Whois, nmap, traceroute
✔ Changer le niveau de logging de l’IDS, activer d’autres type de sonde
– Attaquer l’attaquant ! réponse la plus dangereuse (légalement et techniquement)
✔ Interdit par la loi et peut attaquer quelqu’un d’innocent

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 124


Sondes IDS : limitations ?
● Etre conscient des limitations des IDS
● Difficultés d’estimer les ressources nécessaires
– Ressources CPU/Réseau
– Ressources humaines pour traiter les alarmes et les MAJ des IDS
● Génération de faux positifs coûteux pour les administrateurs systèmes
Les IDS mêmes considérés comme temps-réels mettent parfois plusieurs
IDS et Analyse

minutes à réagir dû à la charge de la machine


– Temps extrêmement long en informatique
● Latence entre la mise à jour des bases et le déploiement
– Attaque non détectée possible entre la publication et la MAJ de l’IDS
● Les réponses automatiques
– Sont souvent ineffectives contre les hackers expérimentées
– Peuvent gêner le trafic légal
● Les IDS ne sont pas forcement protégés contre les attaques
● Les IDS n’ont pas toujours de GUI et d’outils d’analyse efficaces

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 125


Sondes IDS : Localisation
● Localisations de déploiement
– Derrière chaque firewall externe
– Dans le réseau DMZ
– Devant le firewall frontale (point d’entrée)
IDS et Analyse

– Sur les dorsales internes des sous-réseaux


● Ce sont des conseils !
– Vous devez adapter votre stratégie IDS à
✔ Votre réseau
✔ Aux ressources financières
– C’est un domaine encore en phase de R&D

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 126


Sondes IDS : Localisation
IDS et Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 127


NIDS payants
● Network ICE, BlackICE, Win
– Auto-update, TCPIP/ARP, SMNP
● Network Associate, Cybercop Monitor, Win
– Product update, TCPIP, pas SNMP
IDS et Analyse

● Cisco, Netranger, Solaris


– MAJ par CD, TCPIP, SNMP
● ISS, RealSecure, Win/Unix/Linux
– MAJ par HTTPs, TCPIP, SNMP
● AXENT, Omniguard, Win/AIX/Unix/HP/Solaris
– MAJ par HTTPs, pas SNMP
● ...

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 128


NIDS gratuits
● Les applications libres
– Snort, Prelude, BroIDS, hogwash Sondes de type réseau
– Nessus, ettercapNG dans le domaine de l’audit de vulnérabilités
– IDSwakup permet de générer du trafic réseau anormal
– Nmap, dsniff, kismet scan réseau
– Argus Nework logger
IDS et Analyse

● Elles font partie des références incontestables dans leur domaine.


– performances parfois supérieures à celle d’applications commerciales
souvent vendues très cher.
● Problème :
– La société éditrice de Snort vient d’être rachetée
– L’auteur de nessus ne veut plus publier ses sources
● Ils sont quand même à déployer car incontournables !
– En attendant mieux ou leurs récupérations open source
● Il faut déployer PLUSIEURS IDS SIMULTANEEMENT !!!!!

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 129


IDS snort : configuration
● Installation
– Edition du fichier /etc/snort/[Link]
– Modifier la variable HOME_NET pour définir le périmètre de
confiance (ex: votre réseau)
– L’extérieur est définit comme ! HOME_NET
– Activation possible du log dans une DB ou un fichier binaire
IDS et Analyse

(bainard)
✔ Variable « output »
✔ Permet des débits plus importants que le texte pur
– Activer tous les plugins (preprocessors) et les règles (include) qui
vous intéressent
✔ Préprocesseurs: sfPortscan, stream4, httpinspect, rpcdecode
✔ En cas de réseau exposé, activer les règles BleedindEdge
✔ Les règles de bases sont à MAJ sur Arachnids
✔ Fixer les options
● /etc/init.d/snort start

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 130


IDS snort : outils
● Snort ne fait que tracer les attaques
– Pas d’email
– Pas de modification des règles de firewall
✔ Pour iptables module snortsam ou snort-inline
Pour emailer les alertes snorts
IDS et Analyse

– Swatch, IDSCenter, logsurfer


● Analyse et gestion des logs pour snort
– Snortsnarf produit un rapport HTML à partir des logs snort
– ACID produit un rapport HTML à partir d’une BD snort
– Cerebus pour analyser les logs
– Autres: 5n0r7, SnortReport, SnortBot, SnortPHP, snort_stat.pl
(livré avec snort)

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 131


IDS snort : outils
● GUI pour snort
– HenWen (MacOSX), IDSCenter (Win), SnortCenter
(Linux/Win)
● Maintenance des logs snort:
– Guardian, logsnorter, snortlog
IDS et Analyse

● Outils
– Getcontact, Hogwas Signature
● Configuration snort
– IDS Policy Manager, Snort Webmin Module
● Mise à jour des règles snort
– oinkmaster
● Pour obtenir les modules Snort :
[Link]
SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 132
IDS snort : Exemple snortsnarf
IDS et Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 133


IDS snort : Exemple snortsnarf
Snortsnarf HTML

● Comme fwlogwatch
– c’est joli les premières fois Mais on se lasse vite
– Une fois en place il faut prendre le temps chaque jour
IDS et Analyse

● Si on ne le regarde plus, autant arrêter la machine


● Exemples :
– Summary : connexion BO
– Summary : trafic hors norme (UDP 53 vers 139 !!)
– Top 20 source IP ([Link]) : Host zombie typique
✔ 1 type d’attaque, répéter régulièrement
– Top 20 source IP ([Link]) : Scan de proxy web/socks
– Top 20 destination IP machines les plus ciblées

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 134


IDS snort : Exemple ACID
IDS et Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 135


IDS snort : Exemple ACID
IDS et Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 136


IDS: Prelude
● « Prelude » est similaire à snort
● Il est composé de 3 type de serveurs
– Un serveur manager centralise les informations collectées par les
sondes
✔ « prelude-manager », fichiers « /etc/prelude-manager/* »
IDS et Analyse

– Un serveur sonde NIDS collecte des informations réseaux en un


point du réseau
✔ « prelude-nids », fichiers « /etc/prelude-nids/* »
– Un serveur sonde LML collecte des informations sur des
machines (les logs)
✔ « prelude-lml », fichiers « /etc/prelude-lml/* »
– Un serveur de contre-mesure gére les actions de contre-mesures
en fonction de données collectés par les managers
✔ « prelude-cm-agent »
● Les communications entre les sondes et le manager est sécurisé

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 137


IDS: serveur « prelude-lml »
network log
analyse

Envoie au
Manager
+alertes
IDS et Analyse

local monitoring

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 138


IDS: serveur « prelude-nids »
Capture par analyse
libpcap
Envoie au
Manager
+alertes
IDS et Analyse

Network

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 139


IDS: serveur « prelude-manager »
Envoie au
Manager
+alertes
IDS et Analyse

Centralisation
+décision

Tracabilité
+contre-mesures

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 140


IDS Prelude : ajout d’une sonde
● Pour l’installation, les paquetages nécessaires sont
– « prelude-manager », « prelude-tools »
– « prelude-nids », « prelude-lml »
– Eventuellement une BD (mysql) et « prelude-cm-agent »
● Prelude n’accepte pas les données de sources inconnues
IDS et Analyse

il faut gérer un échange de clefs


● Pour chaque serveur, pensez au fichier
/etc/prelude-xxx/[Link]
● Pour ajouter une sonde, il faut du côté « manager »
# manager-adduser
Generated one-shot password is "sa17bh20".
This password will be requested by "sensor-adduser" in order to connect.
Please remove the first and last quote from this password before using it.
- Waiting for install request from Prelude sensors...

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 141


IDS Prelude : ajout d’une sonde
● Du coté sonde : « -u » uid, « -s » nom sonde, « -m » ip manager
# sensor-adduser -s sensor-lml -m [Link] -u 0

Now please start "manager-adduser" on the Manager host


where you wish to add the new user.
Please remember that you should call "sensor-adduser"
for each configured Manager entry.
Press enter when done.
IDS et Analyse

Please use the one-shot password provided by the


"manager-adduser" program.

Enter registration one shot password : sa17bh20


Please confirm one shot password : sa17bh20

connecting to Manager host ([Link]:5553)...


Succeeded.

Username to use to authenticate : sensor-lml


Please enter a password for this user : password
Please re-enter the password (comfirm) : password
Register user “sensor-lml" ? [y/n] : y
Plaintext account creation succeed with Prelude Manager.

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 142


IDS Prelude : résultats collectés
● Lancer le manager (« prelude-manager ») et les sondes (NIDS et LML)
● Le fichier de log est « /var/log/prelude-manager/[Link] »
● Il existe, comme pour snort, des générateurs de rapport
● Au démarrage de prelude-nids
**************************************************************
* Heartbeat: ident=1
IDS et Analyse

* Analyzer ID: 1041315032505060971


* Analyzer model: Prelude NIDS
* Analyzer version: 0.8.6
* Analyzer class: NIDS
* Analyzer manufacturer: The Prelude Team [Link]
* Analyzer OS type: Linux
* Analyzer OS version: 2.6.12-12mdk-i686-up-4GB
* Node[unknown]:
* Process: pid=26218 name=prelude-nids
* Creation time: 0xc76582cb.0x94c4300 (2006-01-04 [Link].581+0100)
*
**************************************************************

• Même type de message au démarrage de prelude-lml

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 143


IDS Prelude : résultats collectés (NIDS)
********************************************************************************
* Alert: ident=3923
* Classification type: bugtraqid
* Classification: BAD-TRAFFIC IP Proto 103 (PIM) Protocole de routage
* Classification URL: [Link]
* Creation time: 0xc7658fe6.0xc659400 (2006-01-04 [Link].774+0100)
multicast CISCO
* Detection time: 0xc7658fe6.0xc656a00 (2006-01-04 [Link].774+0100)
* Process: pid=26372 name=prelude-nids path=/usr/bin
* Impact severity: medium
* Impact completion: NULL
* Impact type: other
* Impact description: Detection of a non-standard protocol or event
IDS et Analyse

*** Source information ********************************************************


* Source spoofed: unknown
* Node[unknown]:
* Addr[ipv4-addr]: [Link]
*** Target information ********************************************************
* Target decoy: unknown
* Node[unknown]:
* Addr[ipv4-addr]: [Link]
*** Additional data within the alert ******************************************
* Ethernet header: [Link] -> [Link] [ether_type=ip (2048)]
* Ip header: [Link] -> [Link] [hl=20,version=4,tos=192,len=38,id=26960,ttl=1,prot=103]
* Payload header: size=18 bytes
* Payload Hexadecimal Dump: 20 00 c9 b0 00 01 00 02 00 69 00 14 00 04 00 00 15 cb
* Detection Plugin Name: SnortRules
* Detection Plugin Author: The Prelude Team
* Detection Plugin Contact: prelude-devel@[Link]
* Detection Plugin Description: Snort signature parser.
* Snort rule ID: 2189
* Snort rule revision: 1
********************************************************************************

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 144


IDS Prelude : résultats collectés (LML)
********************************************************************************
* Alert: ident=4042
* Classification type: unknown
* Classification: SSH Remote root logging failed Tentative de login
* Classification URL: unknown
* Creation time: 0xc7659e1c.0x8b7a000 (2006-01-04 [Link].544+0100)
Ssh en « root »
* Detection time: 0xc7659e1c.0x0000000 (2006-01-04 [Link].000+0100)
* Analyzer ID: 630008679108729663
* Analyzer model: Prelude LML
* Analyzer version: 0.8.6
* Analyzer class: HIDS
IDS et Analyse

* Impact severity: medium


* Impact completion: failed
* Impact type: admin
* Impact description: Someone tried to login as root from [Link]:34689 using the password method
*** Source information ********************************************************
* Source spoofed: unknown
* Node[unknown]:
* Addr[ipv4-addr]: [Link]
* Service: port=34689 protocol=tcp
*** Target information ********************************************************
* Target decoy: unknown
* Service: port=22 protocol=tcp
* Target decoy: unknown
* Node[unknown]: name:[Link]
* Addr[ipv4-addr]: [Link]
* Process: pid=0 name=sshd
*** Additional data within the alert ******************************************
* Log received from: /var/log/messages
* Original Log: Jan 4 [Link] eos sshd[27082]: Failed password for root from [Link] port 34689 ssh2
********************************************************************************

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 145


IDS Prelude : rapport HTML (piwi)
IDS et Analyse

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 146


Détection de vulnérabilité
● « nessus », « ettercap » permettent de faire de la
détection de vulnérabilité (des attaques)
● « nmap » est un bon complément
« IDSwakeup » génère du trafic anormal pour
IDS et Analyse

déclencher une réaction des IDS


● A faire régulièrement Au moins une fois par
mois

SSI Legond-Aubry Fabrice Module SSI - 20/11/2005 147

Vous aimerez peut-être aussi