2. Donner un aperçu sur les attaques et les risques
qui menacent les réseaux informatiques.
Donner une idée sur quelques technologies,
algorithmes, et mécanismes qui permettent de
Objectifs
Cours Sécurité des réseaux
algorithmes, et mécanismes qui permettent de
sécuriser les réseaux informatiques.
2
3. Chapitre 1 : Généralités
•Besoin de sécurité pour les réseaux
Informatiques
Cours Sécurité des réseaux
•Objectifs de la sécurité informatique
•Définitions: Menaces, Attaques, Risque..
•Exemples d’attaques de sécurité
•Mécanismes cryptographiques de sécurité
3
4. Une intrusion est un ensemble d’actions entraînant la
compromission de la sécurité de l’information possédée
par une organisation.
Une intrusion à un réseau Informatique (RI) peut causer
des dégâts divers:
Besoin de sécurité pour les RI
Cours Sécurité des réseaux
des dégâts divers:
• perte de confiance des clients,
• vol des données confidentielles,
• pertes financières suite à des transactions erronées
Assurer la sécurité de l’information implique d’assurer la
sécurité des réseaux informatiques.
4
5. Services de la sécurité informatique
• Authentification
• Confidentialité
• Intégrité
Objectifs de la sécurité informatique
Cours Sécurité des réseaux
• Non-répudiation
• Disponibilité
• Contrôle d’accès
• Autorisation
5
6. Confidentialité: Protection des données transmises
contre les attaques, et protection des flux de données
contre l’analyse.
• Préservation du secret des données transmises. Seulement les
entités communicantes sont autorisées à lire les données.
•
Objectifs de la sécurité informatique
Cours Sécurité des réseaux
• Protection des adresses source et destination, longueur des
messages, etc.
Mécanismes utilisés: Cryptage, contrôle d’accès.
6
7. Authentification: S’assurer que l’utilisateur du réseau
soit correctement identifié ainsi que la source du
message :
• Assurer le receveur que le message provient de la source réelle du
message.
• Assurer l’authenticité des entités communicantes
•
Objectifs de la sécurité informatique
Cours Sécurité des réseaux
• Empêcher la perturbation de la connexion par une tierce partie qui se
fait passer pour une entité légitime (émission ou réception non
autorisée).
Techniques utilisées:
• Some Thing you Know : mot de passe
• Some Thing you Have : carte à puce
• Some Thing you Are : empreinte digitale
• Signature numérique
7
8. Intégrité:
• Vérifier si les données ont été altérées depuis la source
vers la destination
• Techniques utilisées: cryptage, signature numérique,
contrôle d’accès, contrôle d’intégrité
Objectifs de la sécurité informatique
Cours Sécurité des réseaux
contrôle d’accès, contrôle d’intégrité
Non répudiation:
• Empêche l’émetteur ou le receveur de nier avoir
transmis ou reçu un message.
• Techniques utilisées: signature électronique
8
9. Contrôle d’accès: Empêcher l’utilisation non autorisée des ressources
réseau
• Définir les personnes autorisées d’accéder aux ressources réseau
ainsi que leurs privilèges.
Disponibilité : Concept permettant de s’assurer que l’information et les
services sont accessibles lorsqu’ils sont demandés.
Objectifs de la sécurité informatique
Cours Sécurité des réseaux
services sont accessibles lorsqu’ils sont demandés.
• Mécanismes utilisés :
• Sauvegardes
• Partage de charge
Autorisation
• La permission de faire ou d'accéder à quelque chose
9
10. Définitions
Menace : Une personne, un objet, ou un évènement pouvant
provoquer des dommages sur un système et ayant un impact sur
ses fonctionnalités, son intégrité ou sa disponibilité.
Vulnérabilité : Faiblesse pouvant être exploitée par une ou
plusieurs menaces
Cours Sécurité des réseaux
Attaque : Action compromettant la sécurité de l’information
d’une organisation.
Risque : quantité ou qualificatif exprimant la possibilité qu’une
attaque soit réalisée sur une ressource en exploitant les
vulnérabilités qu’elle présente.
10
11. Les attaques sont des actions qui entraînent la compromission
de la sécurité de l’information possédée par une organisation.
Deux types d’attaques
• Attaques passives
• Pas de modification de l’information
Attaques de sécurité
Cours Sécurité des réseaux
•
• Difficile à détecter
• Attaques actives
• Entraînent généralement la modification de l’information, la non-
disponibilité des services, etc.
Les attaques peuvent être aussi bien internes qu’externes (la majorité des
attaques viennent de l’intérieur et elles sont plus difficiles à détecter)
11
12. Exemples d’attaques de sécurité
• Falsification (Tampering)
• Spoofing
• Ecoute (Eavesdropping and Packet Sniffing)
• Password Guessing
• Déni de service (DoS/DDoS)
• Ping flooding, Smurf
• TCP SYN Flooding
Cours Sécurité des réseaux
• TCP SYN Flooding
• UDP Flooding
• Web spoofing
• Cheval de Troie
• Ver
12
13. Falsification (Tampering)
Description : Modification ou la destruction des données.
Moyens : mauvaise utilisation des privilèges par les utilisateurs
internes, ou accès non autorisé par des agents externes.
Menaces :
• Introduction des modifications sur des enregistrements (statut,
Cours Sécurité des réseaux
• Introduction des modifications sur des enregistrements (statut,
salaire, inscription, etc.)
• Effacement des logs par un intrus pour empêcher la réparation
des pannes et la résolution des conflits.
• Installer des chevaux de Troie pour la collecte des mots de passe,
ou pour d’autres intrusions.
13
14. usurpation d'identité (Spoofing)
Description : technique consistant à prendre l'identité d'une autre
personne ou d'une autre machine. Elle est généralement utilisée pour
récupérer des informations sensibles.
Moyens :
• Vol de comptes, deviner des mots de passe (password guessing),
social engeneering.
Cours Sécurité des réseaux
social engeneering.
Menaces :
• Des messages erronés.
• Déni de service (IP attacks, SYN attacks, Ping-of-Death)
14
15. Technique utilisée en informatique pour attaquer tout réseau local utilisant le
protocole de résolution d'adresse ARP, les cas les plus répandus étant les
réseaux Ethernet et Wifi.
Pollution des caches arp avec de fausses associations adresse mac/adresse IP.
Permet à l'attaquant de détourner des flux de communications transitant entre
une machine cible et une passerelle : routeur, serveur, etc.
arp spoofing ou arp poisoning
Cours Sécurité des réseaux
L'attaquant peut ensuite écouter, modifier ou encore bloquer les paquets
réseaux.
Permet des attaques de type "man in the middle", Déni de service.
15
16. Réseau local :
192.168.1.1 : passerelle.
192.168.1.10 : machine cible.
192.168.1.17 : attaquant.
arp spoofing ou arp poisoning
L'attaquant va envoyer un paquet ARP qu'il aura lui-même forgé à l'aide
d'outils comme Scapy.
Cours Sécurité des réseaux
16
d'outils comme Scapy.
Paquet ARP :
ip_source= 192.168.1.1
mac_source= <adresse_mac attaquant>
ip_destination= 192.168.1.10
type= is-at
l'adresse ip 192.168.1.1 correspond à l'adresse MAC <adresse_mac attaquant>
17. arp spoofing
Gratuitous ARP
Cours Sécurité des réseaux
Surveiller les changements d'association:
• arpwatch (unix)
• WinARP Watch (Windows)
17
21. Ecoute (Eavesdropping and Packet Sniffing)
Description : analyser le trafic réseau pour collecter des
informations sans introduire des modifications.
Moyens : Sniffers, analyseur de trafic, les routeurs, les
passerelles, capture et filtrage des paquets.
Menaces : L’écoute peut être utilisé pour collecter un ensemble
Cours Sécurité des réseaux
Menaces : L’écoute peut être utilisé pour collecter un ensemble
d’informations envoyés à travers le réseau.
• Login + mot de passe.
• Numéros des cartes de crédit.
• E-mails et d’autres messages
• Analyse du trafic du réseau (estimation de la bande passante,
divulgation des adresses IP utilisées…).
21
22. Password Guessing
Une recherche exhaustive (Brute force)
• Essai de toutes les combinaisons possibles.
• Peut aboutir à un résultat rapidement si la longueur du mot de
passe est faible.
Une recherche intelligente
Cours Sécurité des réseaux
• Recherche des mots de passe possibles dans un espace restreint.
• A partir d’informations relatives à l’utilisateur : son nom, son
numéro de téléphone, sa date de naissance, etc.
• Générique : des mots ou des phrases significatives, attaque selon un
dictionnaire.
22
23. Déni de service (DoS/DDoS)
Attaques les plus populaires.
L’objectif de ces attaques est de créer une situation où la
victime est incapable de fournir un service à ses clients.
Réalisé généralement suite à l’épuisement physique ou logique
des ressources au niveau des serveurs ou des réseaux de la
victime ou à travers le lien de communication liant la victime
Cours Sécurité des réseaux
victime ou à travers le lien de communication liant la victime
au FSI.
Attaques de Déni de Service Distribué
• Utilisation des esclaves: machines disposant des vulnérabilités qui
seront exploitées par un intrus.
• Utilisation des réflecteurs: envoient des réponses à des paquets
spoofés (destination : victime)
23
24. DDOS
• Plusieurs machines sont impliquées dans ce type d’attaque
• L’attaquant prend le contrôle d’un certain nombre de machines
afin qu’elles attaquent toutes la même cible
DOS local (épuisement des ressources)
• Saturation de l'espace disque
Déni de service (DoS/DDoS)
Cours Sécurité des réseaux
• Saturation de l'espace disque
• répertoires récursifs
DOS par le réseau (consommation de la bande passante)
• ping of the death; SYN flood
24
26. Ping flooding, Smurf
Principe : Inonder la cible avec un flux maximal de ping
Ping (echo request, echo reply)
Le smurf est une variante du ping flooding
Tous les hôtes
du réseau répondent
à l’adresse réelle
Principe du Smurf:
Cours Sécurité des réseaux
L’attaquant envoie une requête ICMP echo:
adresse source : celle de l’hôte victime
adresse destination : broadcast
à l’adresse réelle
Victime
26
27. Empêche l’établissement de connexions TCP
L’attaquant envoie un grand nombre de paquets TCP-SYN
mais ne termine pas l’établissement de la connexion
Attaque par inondation de SYN avec une adresse source
usurpée (spoofée) et inaccessible.
TCP SYN Flooding
Cours Sécurité des réseaux
Fonctionnement normal
27
28. Les programmes malveillants
Un logiciel malveillant (malware en anglais) est un logiciel développé
dans le but de nuire à un système informatique. La propagation de ces
programmes peut causer des dégâts pour le réseau informatique.
Exemples:
• virus
• ver (worm)
• cheval de Troie (trojan)
Cours Sécurité des réseaux
• cheval de Troie (trojan)
• porte dérobée (backdoor)
• logiciel espion (spyware)
• enregistreur de frappe (keylogger)
• exploit
• hameçonnage (phishing)
28
29. Les virus
C’est un programme qui s’installe dans un autre programme et qui se
duplique grâce à celui-ci
La propagation se fait en trois phases :
• Infection
• Activation
• Duplication
Cours Sécurité des réseaux
• Duplication
Lorsque le programme infecté est exécuté, le virus se reproduit et
infecte, à nouveau, un ou plusieurs autres programmes.
La particularité des virus informatiques est qu'ils ne peuvent se
reproduire sans l'aide d'un programme cible existant.
29
30. Les virus
Quelques types de virus:
• Virus parasite : Le virus s’attaque aux fichiers exécutables comme
partie de leurs code. Il se réplique lorsque le fichier infecté est
exécuté, et cherche s’il y a d’autres fichiers à infecter.
• Virus résident en mémoire : hébergé en mémoire comme partie
des programmes principaux du système. Il infecte tout programme
Cours Sécurité des réseaux
qui s’exécute.
• Virus sur secteur de Boot (Boot Sector Virus): Infecte le secteur
de boot du disque, et se propage lorsque le système d’exploitation
démarre (premiers virus sur DOS).
30
31. C’est un programme qui, contrairement à un virus, est doté de
l’autonomie et se duplique à travers un réseau
La propagation se fait en trois phases :
• Recherche d’un système réceptif
• Établissement d’une connexion avec ce système
• Transport du programme
Les Vers
Cours Sécurité des réseaux
•
Un moyen courant de propagation: le carnet d'adresses d'outlook
Quelques exemples:
• Code Red
• Blaster
31
32. Cheval de Troie (Trojan Horse)
Un "Cheval de Troie est un logiciel malveillant qui se présente comme
un programme utile ou une application intéressante.
Un programme apparemment « innocent » qui contient des instructions
cachées.
• Fonctionnement normal/attendu
• Les actions cachées violent la politique de sécurité.
•
Cours Sécurité des réseaux
• Les actions sont exécutées avec le privilège de l’utilisateur.
Exemple : login modifié
• Le programme login d’ouverture de session est modifié afin qu’il
ouvre une session mais il enregistre au niveau d’un fichier le nom
utilisateur et le mot de passe entré.
• Possibilité d’envoi par email des informations collectées à un
intrus.
32
33. Les spywares (ou espiogiciels)
• Comme leur nom l'indique, les spywares sont des logiciels
d'espionnage.
• Le spyware est un logiciel ou un composant d'un logiciel qui
collecte des informations sur l'utilisateur d'un ordinateur et les
envoie vers son concepteur .
• Un spyware n'est en principe pas destiné à endommager une
Les spywares
Cours Sécurité des réseaux
• Un spyware n'est en principe pas destiné à endommager une
machine mais plutôt la récupération de certaines informations.
• Détection de spyware: Comportement anormal de la
machine:
• Page d'accueil du navigateur modifiée.
• Apparitions d'icônes sur le bureau.
• Trafic réseau anormal.
• Désactivation des outils de sécurité locaux
33
34. Les adwares (ou pubgiciel)
• Les " adwares " sont des logiciels du même type que les spywares. Ils
s'installent généralement sans que l'utilisateur connaît qu'il installe un
tel logiciel.
Les Keyloggers (ou enregistreurs de frappes)
• Programme généralement invisible installé sur le poste d'un utilisateur
Autres types de logiciels
Cours Sécurité des réseaux
• Programme généralement invisible installé sur le poste d'un utilisateur
et chargé d'enregistrer à son insu ses frappes clavier pour intercepter
des mots de passe par exemple.
exploit :
• Programme permettant d'exploiter une faille de sécurité d'un logiciel ;
34
36. Mécanismes de sécurité
Cryptage
• Repose sur des algorithmes mathématiques pour
transformer les messages en une forme intelligible.
• La transformation dépend d’un algorithme et de zéro à
plusieurs clés.
Signature numérique
Cours Sécurité des réseaux
Signature numérique
• Modification de données, ou transformation
cryptographique irréversible à un message d’origine afin
de prouver la source et l’intégrité de ce message.
Échange d’authentification
• Mécanisme assurant l’identité d’une entité à travers un
échange d’informations.
36
37. Notarization:
• Utilisation d’une tierce partie afin d’assurer
certaines propriétés liées à un échange de
données.
Horodatage (Timestamping)
• Inclusion d’une date et d’un temps correct dans
Mécanismes de sécurité
Cours Sécurité des réseaux
• Inclusion d’une date et d’un temps correct dans
un message pour empêcher l’attaque de rejeu
(replay attack).
Mécanismes non cryptographiques:
• Implémentation de Firewalls
• Détection d’intrusions
• Traçabilité (garder un historique des
événements)
37
39. Exigences:
• Un algorithme de cryptage solide.
• Une clé secrète partagée k est connue entre l’émetteur et le receveur.
C = EK(M)
M = DK(C)
Suppose que l’algorithme de cryptage est connu à l’avance.
Nécessité de canaux sécurisés pour la distribution des clés.
Cryptage symétrique
Cours Sécurité des réseaux
Nécessité de canaux sécurisés pour la distribution des clés.
Exemples: Algorithmes: DES, IDEA, AES
• Taille des clés: 56-128-192-256-… bits
39
40. Limitation: Pas d'intégrité et d'identification de l'auteur
Si Alice, Bob et Cédric partage le même lien de communication alors ils
partagent la même clé de chiffrement symétrique.
Cédric peut intercepter le message envoyé par BOB à Alice, le modifier
et le recrypter par la clé partagée avant de l’envoyer à Alice. (Attaque du
l’homme du milieu).
Cryptage symétrique
Cours Sécurité des réseaux
40
41. Utilisation d’une paire de clés:
• Publique: Connue par tout le monde, utilisée généralement pour
crypter ou vérifier la signature des messages.
• Privée: Connue uniquement par le détenteur, utilisée pour décrypter
et signer des messages.
Impossible de trouver la clé privée à partir de la clé publique.
Exemples: RAS, Diffie-Hellman, El Gamal.
Généralement dix fois plus lent que le cryptage symétrique.
Utilisé généralement pour
•
Cryptage asymétrique
Cours Sécurité des réseaux
Utilisé généralement pour
• Cryptage / décryptage: assurer la confidentialité.
• Signature numérique: assurer l’authentification et la non
répudiation.
• Distribution de clés: se mettre d’accord sur une clé de session.
Clés à grande taille (ex: RSA: 1024-2048-…).
• Kpr: clé privée, Kpu: clé publique
• Y=fKpr(X) facile à calculer si Kpr et X sont connus.
• X=fKpu
-1(Y) facile si Kpu et Y sont connus.
41
43. Entrée: message M avec contenu et taille arbitraire.
Sortie: message de taille fixe y=H(M).
Irréversible:
• Étant donnée y, il est difficile de trouver x tel que: y = H(x)
Résistance forte à la collision:
• Étant donné x, il est impossible de trouver z avec H(x) = H(z)
Fonction de hachage
Cours Sécurité des réseaux
• Étant donné x, il est impossible de trouver z avec H(x) = H(z)
• Il est impossible de trouver une paire x, z tel que H(x) = H(z)
Calcul facile et rapide (plus rapide que le cryptage symétrique).
Exemples:
• MD5, SHA, …
• Taille du digest: 128-160-… bits
43
44. Idée clé:
• Le Hash appelé aussi Digest (résultat de la fonction
de hachage) d’un message est crypté avec la clé
privée de l’émetteur.
• La clé publique est utilisée pour la vérification de la
signature
Soit:
Signature numérique
Cours Sécurité des réseaux
Soit:
• M: message à signer, H: fonction de hachage
• Kpr, Kpu: paire de clés privée / publique de l’émetteur.
• E / D: fonction de cryptage / Décryptage en utilisant
Kpu / Kpr.
En recevant (M, EKpr(H(M))), le récepteur
vérifie si: H(M)=DKpu(EKpr(H(M)))
44
46. Signature numérique
Vérification
Données Digest
Hash
Cours Sécurité des réseaux
• La signature numérique permet d’assurer l’intégrité, l’authentification
et la non-répudiation.
Signature
numérique Digest
Décrypter
En utilisant
Clé
publique
Égalité?
46
47. Chapitre 2 : Firewall
Cours Sécurité des réseaux
Chapitre 2 : Firewall
47
48. Motivations
Évolution des systèmes d’information
• Des réseaux d’entreprise assez larges
• Nécessité de connecter certains de ces réseaux à Internet.
La connectivité d’un réseau local à Internet, permet au
monde externe d’atteindre et d’interagir avec les ressources
de ce réseau.
Difficulté de sécuriser chaque ressource à part:
Cours Sécurité des réseaux
Difficulté de sécuriser chaque ressource à part:
• Nombre important de machines.
• Différents types d’applications, services, systèmes
d’exploitation, et protocoles utilisés, tous contenant des bugs.
Besoin de minimiser les risques.
Utilisation des Firewalls
48
49. • Dénommé garde barrière, coupe-feu, pare-feu
• Représente une barrière entre un réseau privé et un
réseau publique.
• Fait passer uniquement le trafic permis par la politique de
sécurité.
• Hypothèse: Le Firewall est exempt de vulnérabilité. Lui et
Firewall
Cours Sécurité des réseaux
• Hypothèse: Le Firewall est exempt de vulnérabilité. Lui et
le système sur lequel il est installé sont de confiance.
49
50. Firewall
Interconnecte des réseaux de différent niveaux de confiance.
Définit un point de passage obligé pour le contrôle et le suivi
de trafic.
Implémente des mécanismes d’application de la politique de
sécurité
• Impose des restrictions sur le trafic entrant et sortant (ex: seul le
trafic http est autorisé, seule l’adresse IP 1.2.3.4 est autorisée).
Cours Sécurité des réseaux
trafic http est autorisé, seule l’adresse IP 1.2.3.4 est autorisée).
• Fournit une protection contre les attaques (ex: IP spoofing).
Permet d’auditer et de contrôler l’accès.
• Génération d’alertes pour les utilisations malveillantes.
Fournit un périmètre de sécurité.
Représente un endroit commode pour l’implémentation des
fonctionnalités réseau (ex: translation d’adresses)
50
51. Réseau avec niveau
de confiance X
Réseau de
non-confiance
Firewall
InternetRéseau local
ALERT!!
Firewall
Cours Sécurité des réseaux
Routeur
DMZ
Serveurs accessibles
depuis le réseau Internet
Réseau avec Niveau de confiance Y
51
53. Limitation d’un Firewall
Ne protège pas contre les attaques qui ne le traversent pas:
• Ex: un utilisateur interne utilise un modem pour se connecter à
Internet.
Ne protège pas contre les menaces internes.
• Ex: un employé malhonnête attaque une machine interne.
Ne protège pas contre le transfert de programmes et de fichiers
Cours Sécurité des réseaux
Ne protège pas contre le transfert de programmes et de fichiers
malveillants (virus, backdoor, etc.).
• Les systèmes et les applications supportés dans un périmètre de
sécurité, sont nombreux et différents.
• Difficulté de scanner tous les messages en direction de ces
systèmes et applications.
53
54. Type de Firewalls
Il existe 3 Types de Firewall :
• Packet-Filtering router (stateless, stateful)
• Application-Level Gateway.
• Circuit-Level Gateway.
Cours Sécurité des réseaux
•
54
55. Packet-Filtering router
Le plus simple des Firewalls.
Pour chaque paquet IP rencontré, il décide de le faire passer (forward) ou de
l’éliminer (deny), selon des règles de filtrages.
Le filtrage se fait depuis et vers toutes les directions (ex: depuis et vers
Internet).
Règles de filtrage, basées sur l’analyse des champs dans l’entête IP et TCP:
•
Cours Sécurité des réseaux
• Adresse IP source et destination.
• Protocole (TCP, UDP, ICMP, etc).
• Port (TCP ou UDP) source et destination.
• TCP Flags (SYN, ACK, FIN, RST, PSH, etc)
• Type de Message ICMP
• Taille du paquet
55
56. Politique de sécurité par défaut
Ce qui n’est pas explicitement permis est interdit. (default = Drop)
• La plus prudente.
• Initialement tous les services sont bloqués, puis ils sont ajoutés un par
un selon les besoins.
Ce qui n’est pas explicitement interdit est permis. (default = Accept)
•
Cours Sécurité des réseaux
• Introduit une commodité dans l’utilisation des services réseau par les
utilisateurs.
• Fournit un niveau de sécurité réduit.
• Un administrateur doit réagir pour chaque nouvelle menace de sécurité
identifiée (un nouveau service devient vulnérable).
56
57. Exemple de règles (Packet-Filtering router)
Action Protocole source port destination Port flag
Deny IP 193.1.1.0 * 10.1.1.1 *
Allow TCP 193.1.1.0 * * 80
Internet
Packet-filtering router
193.1.1.0
Cours Sécurité des réseaux
Règle1: Toute connexion depuis le réseau interne (193.1.1.0) vers la machine
suspecte 10.1.1.1 est bloquée.
Règle2: Seulement les connexions HTTP (TCP, port 80) depuis le réseaux interne
(193.1.1.0), sont permises.
Règle3: Seulement le trafic web en réponse à une connexion déjà initiée du réseau
interne sera accepté de l’extérieur.
Règle4: La politique de sécurité par défaut.
Allow TCP 193.1.1.0 * * 80
Allow TCP * 80 193.1.1.0 * ACK
Drop IP * * * *
57
58. Packet filtering
Avantages
• Simplicité du fonctionnement (filtrage statique).
• Rapidité dans le traitement.
• Transparence aux utilisateurs.
Inconvénient
• Ne protège pas contre les attaques qui exploitent des vulnérabilités sur les
applications (ne bloque pas certaines commandes).
•
Cours Sécurité des réseaux
applications (ne bloque pas certaines commandes).
• Les fichiers logs générés ne contiennent pas d’informations assez
pertinentes (seulement: @IP, ports).
• Ne supporte pas des mécanismes avancés d’authentification des
utilisateurs.
• Une simple erreur dans la configuration des règles peut casser toute la
sécurité.
• Vulnérabilités aux attaques qui exploitent les insuffisances du protocole
TCP/IP (ex: IP spoofing attacks)
58
59. Attaques sur Packet-filtering Firewalls
IP address spoofing (Usurpation d’adresse IP)
• L’intrus envoie un paquet de l’externe avec une fausse @IP
(généralement égale à une @IP d’une machine interne), et ceci afin
de réussir à passer le mécanisme de filtrage.
• Solution: bloquer tout paquet venant de l’interface externe ayant
une @IP source interne.
Source routing attacks (routage à la source)
• L’intrus spécifie une route qui va être empruntée par le paquet autre
Cours Sécurité des réseaux
• L’intrus spécifie une route qui va être empruntée par le paquet autre
que celle appliquée par défaut.
• Solution: bloquer les paquets source routed
Tiny fragment attacks (fragmentation de paquets)
• Un paquet IP est divisé en plusieurs fragments, où seul le premier
fragment contient le numéro de port.
Insuffisance d’informations pour filtrer ces paquets.
• Solution: rejeter les paquets fragmentés ou les rassembler avant
vérification.
59
60. Stateful Inspection Packet Filtering Firewalls
Connexion TCP
• Port serveur inférieur à 1024.
• Port client compris entre 1024 et 16383.
Les Ports <1024 sont affectés de façons permanente.
• FTP: 20,21 – Telnet: 23 – SMTP: 25 – HTTP: 80
Tous les Ports >1023 doivent être disponibles aux clients pour
faire leurs connexions.
Cours Sécurité des réseaux
faire leurs connexions.
• Ceci créé une vulnérabilité qui peut être exploitée par les intrus.
• Ceci présente une limitation pour les Firewalls de type stateless
packet filtering.
Solution: Utilisation de Firewalls de type Stateful Inspection packet
filtering (filtrage dynamique).
60
61. Stateful Inspection Packet filetring Firewalls
Il permet de filtrer les paquets en se basant sur la couche transport du
modèle OSI (filtrage au niveau des ports de communication TCP-UDP).
Il maintient une table d’état des connexions correspondantes aux ports
logiques du niveau 4 du modèle OSI et surtout les ports dont le numéro
est supérieur à1024 (les ports utilisés par les applications de
l’utilisateur).
Cours Sécurité des réseaux
@IP Src
Port
Src
@IP Dst Port dst
État de la
connexion
223.43.21.231 1990 193.2.1.3 80 Établie
223.42.21.230 1234 193.5.6.1 23 Établie
223.42.21.222 2562 193.4.2.1 80 Établie
… … … … …
61
62. Stateful Inspection Packet filetring Firewalls
Renforce les règles de filtrage en suivant l’état des connexions:
• Si un paquet représente une nouvelle connexion, alors vérification
des règles de configuration
• Si un paquet fait partie d’une connexion existante (ex: TCP
flag=ACK), alors vérification dans la table d’état des connexions,
puis mise à jour de la table.
Cours Sécurité des réseaux
puis mise à jour de la table.
• Le trafic entrant vers un port « x » supérieur à 1024, est autorisé
seulement s’il est en direction d’une machine qui a déjà établie
une connexion avec un port source inférieur à 1024 et un port
destination égal à « x ».
62
63. 193.95.1.1 10.1.2.3
Client Telnet
Serveur Telnet
Le Firewall se souviendra
De cette information
Stateful Packet-Filtering Firewall
Cours Sécurité des réseaux
Cohérent avec le
paquet précédent
Pas de cohérence
avec la connexion
en cours
63
64. Règles par port/par adresses
Règles manuelles complexes à gérer
• Historique des règles (tel service n’a plus besoin de telle
règle)
• Redondance/conflit de certaines règles?
Packet filetring Firewalls
Cours Sécurité des réseaux
•
• Audit périodique nécessaire
S’arrête au niveau 4 Encapsulation possible
64
65. Les Firewalls Proxy
Filtres applicatifs
Proxy : introduit un élément intermédiaire obligatoire entre le client et le
serveur
Chaque application passe alors par le firewall proxy et envoie sa requête
non pas au serveur qu’elle désire atteindre mais au firewall qui la
retransmettra.
Inversement, les communications émises depuis Internet à destination des
Cours Sécurité des réseaux
Inversement, les communications émises depuis Internet à destination des
systèmes internes ne les atteignent pas directement mais sont
préalablement traitées par le firewall.
Deux types:
• Proxy applicatifs
• Niveau 7 du modèle OSI
• Proxy de type circuit
• Niveau 5 du modèle OSI
65
67. Application-Level Gateway
Agit comme un relais applicatif.
Besoin de proxy séparé pour chaque service (ex: SMTP, DNS).
Deux modes de fonctionnement:
• Le client doit être configuré pour une communication avec Proxy.
• Mode Proxy transparent.
Cours Sécurité des réseaux
•
A un accès complet au protocole
• Un utilisateur demande un service (ex: Telnet, ftp) au Proxy.
• Le Proxy valide la demande.
• Le Proxy contacte l’application distante et transmet les segments TCP
contenant les données applicatives entre les deux entités.
67
68. Application-Level Gateway
La passerelle peut être configurée pour ne pas autoriser toutes les
fonctionnalités d’une application.
• FTP en download seulement
• Suppression de javascripts
• Suppression de certains mots sur des pages webs
Cours Sécurité des réseaux
• Suppression de certains mots sur des pages webs
• …
Possibilité d’auditer et de journaliser tout le trafic passant.
68
69. Application Level Gateway
Inconvénients
• Un processus par connexion.
• Gestion des connexions dans les deux bouts.
• Peux de Proxies sont disponibles
• les services propres ne sont pas généralement supportés.
Cours Sécurité des réseaux
69
70. Circuit Level Gateway
Crée deux connexions: une entre lui et l’utilisateur interne, une
autre entre lui et l’utilisateur externe.
Impose une sécurité en déterminant quel type de connexion est
permis.
Une fois les deux connexions établi, il transmet les segments d’une
connexion à une autre sans examiner leurs contenu.
Cours Sécurité des réseaux
Supporte plus de services que l’Application-Level Gateway
• Moins de contrôle sur les données.
Les clients doivent être au courant de l’utilisation d’un circuit-level
proxy.
Le protocole SOCKS est généralement utilisé pour ça.
• La version 5 supporte TCP et UDP.
70
71. Les Firewalls Proxy
Avantages:
• Inspection plus fine des paquets
• Cache possible
• Attaques sur des comportements anormaux éliminées
Inconvénients
•
Cours Sécurité des réseaux
• Plus la granularité augmente, plus l’inspection est lente
71
72. Résumé
Un firewall est un logiciel ou matériel qui
• Analyse les trames qu’il reçoit et prend une décision
en fonction des adresses de couche 2, 3 et 4 =>
filtrage sans état (Stateless Packet-Filtering router)
• La décision peut être prise en fonction de l’état d’une
Cours Sécurité des réseaux
• La décision peut être prise en fonction de l’état d’une
connexion et/ou des drapeaux TCP => filtrage
dynamique (Stateful Packet-Filtering router)
• La décision peut être prise en fonction du contenu de
couche 7 => filtrage applicatif
72
74. Architecture 1: Routeur Filtrant
Routages habituels d'un routeur + opérations de filtrage au niveau des
paquets IP
Des ACL donnent les règles de filtrage
+ Simple
+ Peu coûteux
+ Performant
-
Cours Sécurité des réseaux
- Fonctionnalités limitées
- Traces peu exploitables
74
75. Les informations à enregistrer :
Architecture 2: Routeur Filtrant+Log
Cours Sécurité des réseaux
démarrage de session TCP(ou toute tentative) avec :
• adresse (source, destination)
• port (source, destination),
75
76. Architecture 3: Screened Host Firewall
System (Single-homed bastion host)
Cours Sécurité des réseaux
76
77. Bastion Host
Une machine en interne joue le pare feu
Un routeur filtrant n’autorise que le trafic de et vers ce bastion
Sert comme plateforme pour Application-LevelGateway et
Circuit-LevelGateway.
• Peut être utilisée pour fournir des services accessibles de
l’externe.
Potentiellement exposée à des intrusions (vulnérabilités du
Cours Sécurité des réseaux
Potentiellement exposée à des intrusions (vulnérabilités du
bastion + vulnérabilités du routeur filtrant).
Doit être hautement sécurisée.
• Seulement les services nécessaires sont installés (typiquement
des Proxies).
Supporte deux ou plusieurs connexions réseau
• Réalise une séparation sécurisée entre les connexions réseaux.
77
78. Architecture 3: Screened Host Firewall
System (Single-homed bastion host)
Cours Sécurité des réseaux
78
79. Deux types de Firewalls sont utilisés
• Packet-Filtering Router.
• Bastion Host: Authentification et fonction Proxy.
Trafic émanant de l’Internet: seulement celui en direction du
Bastion Host est autorisé à passer le Packet-Filtering Router.
Trafic sortant du réseau interne: seulement les paquets IP
Architecture 3: Screened Host Firewall
System (Single-homed bastion host)
Cours Sécurité des réseaux
Trafic sortant du réseau interne: seulement les paquets IP
émanant du bastion Host sont autorisés à quitter le Packet-
Filtering Router.
Inconvénient: En cas où le Packet-Filtering router est
totalement compromis, le trafic malveillant peut directement
atteindre les machines du réseau interne.
Solution: « Screened Host Firewall system (Dual-homes
bastion host) »
79
80. Architecture 4: Screened Host Firewall
system: Dual-homes bastion host)
Double interface: Possède une adresse IP par interface
• Tout est filtré: Cette architecture impose aussi aux utilisateurs
internes de passer obligatoirement par la machine bastion
• En coupure totale le pare feu est arrêté rien ne passe
• Possibilité de cloisonner x réseaux internes si x+1 interfaces
Cours Sécurité des réseaux
80
82. Plus sécurisée que les deux autres configurations
Deux Packets-Filtering Routers sont utilisés:
• Entre le Bastion Host et l’Internet.
• Entre le Bastion Host et le réseau local.
Crée un sous réseau protégé contenant le Bastion Host et les serveurs
(offrant des services publiques).
Architecture 5: Screened subnet
Firewall system
Cours Sécurité des réseaux
(offrant des services publiques).
L’Internet et le réseau interne ont les deux accès aux machines du
sous-réseau crée, mais le trafic d’un coté à l’autre de ce sous-réseau
est bloqué:
• Création de trois niveaux de sécurité.
• Le réseau interne est invisible de l’Internet.
• Les machines du réseau interne ne peuvent communiquer qu’avec le
Bastion Host.
82
83. Screened subnet Firewall System
Actuellement, la majorité des Firewalls intègrent
cette séparation (sous réseau protégé).
• Interface DMZ (Demilitarized Zone) pour le sous
réseau protégé
• La possibilité d’offrir des services sans les placer de
l’intérieur et de l’extérieur
Cours Sécurité des réseaux
l’intérieur et de l’extérieur
• Possibilité de définir de multiples DMZ
• Cloisonnement des zones
• Cloisonnement de flux
• Si une tombe, les autres fonctionnent
83
88. Il n’existe pas d’architecture idéale
Il faut l’adapter en fonction
• De la structure organisationnelle
• De la structure géographique
• Des partenariats
• De la criticité des applications
Architecture
Cours Sécurité des réseaux
• De la criticité des applications
• Du budget / du personnel associé à la sécurité
88
89. Pare-feux libres
Linux Netfilter/Iptables, pare-feu libre des noyaux Linux
2.4 et 2.6
Linux Ipchains, pare-feu libre du noyau Linux 2.2
Packet Filter ou PF, pare-feu libre de OpenBSD
IPFilter ou IPF, pare-feu libre de BSD et Solaris 10
Cours Sécurité des réseaux
IPFilter ou IPF, pare-feu libre de BSD et Solaris 10
Ipfirewall ou IPFW, pare-feu libre de FreeBSD
89
90. L'architecture du noyau pour le système de firewall s'appelle 'netfilter'
Netfilter se base sur 3 listes de règles pour définir son comportement
vis-à-vis d'un paquet
• Si le paquet entrant est destiné à
cette machine, le paquet passe
dans la chaîne INPUT.
iptables
Cours Sécurité des réseaux
• Si le forwarding est autorisé et que
le paquet est destiné à un autre
réseau, le paquet va directement à la
chaîne FORWARD.
• La chaîne OUTPUT concerne les
paquets qui ont été créé par la
machine locale.
90
91. Les règles de filtrage déterminent le devenir des paquets grâce à une
police qui peut être : ACCEPT, REJECT, DENY, MASQ ou encore
une redirection vers une chaîne.
Les règles sont groupées en chaînes qui peuvent être celles de base :
input, forward, output ou d’autres définies par l’utilisateur.
Les paquets entrants dans le pare-feu arrivent automatiquement dans
la chaîne input. Ceux qui sont émis par le pare-feu, passent dans la
chaîne output. Et ceux qui sont retransmis passent par la chaîne
iptables
Cours Sécurité des réseaux
chaîne output. Et ceux qui sont retransmis passent par la chaîne
forward.
Un paquet qui entre dans une chaîne teste toutes les règles de la
chaîne jusqu’à en trouver une qui lui corresponde. Et il obéit à la
police spécifiée par la règle trouvée.
Si aucune règle s’appliquant au paquet n’a été trouvée, alors c’est la
police par défaut de la chaîne qui est utilisée pour savoir que faire de
ce paquet.
Il est donc important, avant de créer les règles, de définir la police par
défaut d’une chaîne.
91
92. Exemple:
• Vu du Pare-feu, Le trafic
• Internet => local est FORWARD
• local => Internet est FORWARD
• Une requête
• "ping request" local => pare-feu est INPUT
iptables
Cours Sécurité des réseaux
• "ping request" local => pare-feu est INPUT
• "ping request" Internet => pare-feu est INPUT
• "ping reply" pare-feu => Internet est OUTPUT
• "ping reply" pare-feu => local est OUTPUT
92
93. Chacune de ces chaînes peut donner plusieurs réponses possibles pour
chaque paquet:
• Accepter ACCEPT
• Rejeter REJECT (on signale le rejet à l'expéditeur)
• Supprimer DROP (on l'efface et on ne répond rien)
L'administrateur peut créer des chaînes personnalisées en plus des 3
iptables
Cours Sécurité des réseaux
chaînes par défaut qui lui permettent d'organiser ses règles de filtrage
de manière plus propre et optimisée.
Les règles reposent sur des critères de sélection très variés :
• Machine source; Port source
• Machine destination; Port destination
• Interface; Protocole; Drapeaux spéciaux du paquet TCP
• Types et codes spéciaux du paquet ICMP
93
94. Chaînes
• Création (N)
• vidage (F)
• suppression (X)
• affectation d’une police (P)
• affichage (L)
Règles
iptables
Cours Sécurité des réseaux
Règles
• ajout en fin de liste (A), insertion ordonnée (I)
• suppression (D)
• remplacement (R)
• test (C)
94
95. # iptables -L -v
• -L : liste les règles
• -v demande le mode 'verbeux‘
iptables: Protection de la machine locale
Cours Sécurité des réseaux
policy : comportement par défaut
Dans cet exemple netfilter accepte donc tous les paquets, le firewall est en
mode passif.
95
96. Par défaut iptables utilise la table ‘filter' si on ne lui spécifie par une
autre table via l'option '-t nom_de_table').
Exemple1: Interdire les connexions sur le port 22 (ssh),
# iptables -A INPUT -p tcp --dport 22 -j DROP
• -A INPUT => ajoute en bas de la liste des règles de la chaîne INPUT
• -p tcp => pour les paquets qui utilisent les protocole TCP
• --dport => pour les paquets qui sont à destination du port 22
iptables
Cours Sécurité des réseaux
• --dport => pour les paquets qui sont à destination du port 22
• -j DROP => l'action : DROP les paquets (on efface les paquets),
# iptables -L -v
96
97. Exemple1: autoriser uniquement votre voisin à se connecter sur votre
machine en ssh
insérer une règle pour votre voisin avant la règle qui DROP les
paquets
# iptables -I INPUT 1 -p tcp --dport 22 -s
adresse_ip_du_voisin -j ACCEPT
iptables
Cours Sécurité des réseaux
adresse_ip_du_voisin -j ACCEPT
• le '-I INPUT 1' signifie insère en première position dans la liste
• -s permet de choisir la source des paquets,
97
98. Il existe de très nombreuses options pour construire les règles de
filtrage, parmi les plus utilisés on trouve :
-s : sélection de l'adresse IP source (ou réseau source) d'où vient le paquet
-d : sélection de l'adresse IP de destination (ou réseau de destination) où va
le paquet
--dport : port destination (le port sur lequel le client essaye de se connecter)
vers quel port a été émis le paquet
iptables
Cours Sécurité des réseaux
vers quel port a été émis le paquet
--sport : port source (le port utilisé par le client pour créer la connexion)
depuis quel port a été émis le paquet
-p suivi d'un nom de protocole
-i : spécifie le nom de l'interface physique à travers laquelle les paquets
entrent
-o : spécifie le nom de l'interface physique à travers laquelle les paquets
sortent
98
99. # iptables -D INPUT 1
• efface la première règle de la chaîne INPUT.
# iptables -L -v --line-numbers
• voir les numéros de chaque règle lorsqu'on liste les règles
# iptables -A chaine -m multiport -p tcp --dports
port1,port2,port3 -j
iptables
Cours Sécurité des réseaux
port1,port2,port3 -j
A ajout, D supprime, I insère, F efface toutes les
règles mais pas la stratégie par défaut, L liste
99
100. Les commandes de iptables associées à la gestion des chaînes sont
les suivantes :
-N : création d'une nouvelle chaîne (iptables -N INTERNET)
-X : suppression d'une chaîne vide (iptables -X INTERNET)
-P : Mise en place de la règle par défaut pour une chaîne existante
(iptables -P INPUT DROP). Seules les chaînes INPUT,
iptables
Cours Sécurité des réseaux
(iptables -P INPUT DROP). Seules les chaînes INPUT,
FORWARD et OUTPUT peuvent avoir une règle par défaut et
les seules cibles disponibles sont ACCEPT et DROP.
-L : lister les règles d'une chaîne (iptables -L INTERNET)
-F : effacer les règles d'une chaîne (iptables -F INTERNET)
100
101. Exemple
Création d'une chaîne spécifique
# iptables -N ssh
On indique à la chaîne INPUT que tout ce qui concerne ssh
doit être transmis à cette nouvelle chaîne
# iptables -A INPUT -p tcp --dport 22 -j ssh
Cours Sécurité des réseaux
On rajoute nos règles de filtrages dans la chaîne ssh
• on accepte que le voisin se connecte
# iptables -A ssh -s ip_machine_du_voisin -j ACCEPT
• on interdit au reste du monde de se connecter
# iptables -A ssh -j DROP
101
104. Interdire accès depuis l’extérieur (eth1)
Autoriser accès ssh (administratif)
Autoriser voie de retour
Règles
• iptables -A INPUT -i eth1 -j DROP
Exemple
Cours Sécurité des réseaux
• iptables -A INPUT -i eth1 -j DROP
• iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT
• iptables -I INPUT 2 -m state --state ESTABLISHED -j ACCEPT
104
105. Suivi de connexion
Le module 'state' définit plusieurs états possibles pour les
flux réseaux :
- NEW : c'est une nouvelle connexion
- ESTABLISHED : on connaît déjà cette connexion (elle est passée par
l'état NEW il y a peu de temps)
- RELATED : cela permet d'identifier une connexion qui serait liée ou
Cours Sécurité des réseaux
- RELATED : cela permet d'identifier une connexion qui serait liée ou
dépendant d'une connexion déjà ESTABLISHED.
- INVALID : tout ce qui n'est pas correctement identifiable
105
106. Exemple: FTP
le protocole FTP utilise 2 connexions TCP pour communiquer.
• Une sert à envoyer les commandes du client vers le serveur et
• Une sert à envoyer les données du serveur vers le client.
Dans son fonctionnement standard, un client FTP se connecte sur le port
21 du serveur FTP. Le client indique ensuite au serveur sur quel port il (le
client) recevra les données. Le serveur FTP va alors établir une connexion
Cours Sécurité des réseaux
client) recevra les données. Le serveur FTP va alors établir une connexion
depuis son port 20 vers le port (>1023) indiqué par le client :
Client FTP (port source aléatoire 'a') -----> Serveur FTP (port 21)
Client FTP (port 'a') ----> Serveur FTP (port 21)
(le client indique au serveur FTP sur quel port il devra envoyer les données, par
ex 3084)
Serveur FTP (port 20) -----> Client FTP (port 3084) (le serveur transfert des
données vers le client)
106
107. Si le client est protégé par un firewall netfilter, l'administrateur
devrait donc autoriser toutes les connexions venant de l'extérieur
vers tous les ports supérieurs à 1023 du client.
• Pas d’intérêt pour le firewall
conntrack va permettre de détecter qu'une connexion FTP est
établie (au moment où le client se connecte sur le port 21 du
serveur) et ouvrir de manière dynamique le filtrage pour cette
Exemple: FTP
Cours Sécurité des réseaux
serveur) et ouvrir de manière dynamique le filtrage pour cette
connexion spécifique vers le port que le client aura choisi.
On commence par tout interdire :
# iptables -A INPUT -j DROP
# iptables -I INPUT 1 -p tcp --sport 20 -m state --state
ESTABLISHED -j ACCEPT
107
108. Exemples: Opérations la table filter
Créer les règles suivantes :
• interdire tout paquet entrant
• effacer la règle
iptables -A INPUT -j DROP
iptables -D INPUT 1
• Paramètre protocole: interdire le protocole icmp
iptables -A INPUT -p icmp -j DROP
Cours Sécurité des réseaux
iptables -A INPUT -p icmp -j DROP
• paramètre source: interdire le protocole icmp provenant de
localhost
iptables -A INPUT -p icmp -s localhost -j DROP
• chaîne OUTPUT paramètre destination: interdire tout paquet
à destination de localhost
iptables -A OUTPUT -d localhost -j DROP
108
109. • paramètre inversion: interdire un paquet s'il ne
provient pas de localhost
iptables -A INPUT -s ! localhost -j DROP
• paramètre interface d'entrée: interdire tout paquet
entrant par eth0
iptables -A INPUT -i eth0 -j DROP
Exemples: Opérations la table filter
Cours Sécurité des réseaux
iptables -A INPUT -i eth0 -j DROP
• interdire un paquet s'il provient de lo
iptables -A INPUT -i lo -j DROP
• paramètre interface de sortie: interdire tout paquet
sortant par eth0
iptables -A OUTPUT -o eth0 -j DROP
109
110. • paramètre destination port: interdire tout paquet à
destination du port ftp
iptables -A INPUT -p tcp --dport 21 -j DROP
• paramètre source port: interdire tout paquet sortant par
eth0 dont le numéro de port source est inférieur à 1024
iptables -A OUTPUT -o eth0 -p tcp --sport :1023 -j DROP
iptables -A OUTPUT -o eth0 -p udp --sport :1023 -j DROP
Exemples: Opérations la table filter
Cours Sécurité des réseaux
iptables -A OUTPUT -o eth0 -p udp --sport :1023 -j DROP
• paramètre flag TCP: interdire toute tentative
d'initialisation de connexion TCP provenant de eth0
iptables -A INPUT -i eth0 -p tcp --syn --dport :1023 -j DROP
110
111. • paramètre flag icmp: interdire tout paquet entrant
correspondant à un ping
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
• interdire toute réponse à un ping
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
• extension mac: interdire tout paquet entrant par
Exemples: Opérations la table filter
Cours Sécurité des réseaux
• extension mac: interdire tout paquet entrant par
eth0 dont l'adresse mac n'est pas celle du voisin
iptables -A INPUT -i eth0 -m mac --mac-source ! 00:50:FC:23:2D:D7 -j
DROP
111
112. Exercice
Cours Sécurité des réseaux
Créer les règles suivantes :
1. Forwarder tout paquet venant de vmnet1 vers vmnet2
2. Forwarder tout paquet relatif à une connexion déjà établi ou en
rapport avec une connexion déjà établi de vmnet2 vers vmnet1
3. Autoriser tout paquet input (vmnet2) relative à une connexion déjà
établi ou en rapport avec une connexion déjà établi
4. Autoriser tout input au Firewall du réseau interne
112
113. Solution
1. iptables -A FORWARD -i vmnet1 -o vmnet2 -j ACCEPT
2. iptables -A FORWARD -i vmnet2 -o vmnet1 -m state --
state ESTABLISHED,RELATED -j ACCEPT
3. iptables -A INPUT -i vmnet2 -m state --state
ESTABLISHED,RELATED -j ACCEPT
Cours Sécurité des réseaux
ESTABLISHED,RELATED -j ACCEPT
4. iptables -A INPUT -i vmnet1 -s 0/0 -d 0/0 -j ACCEPT
113
114. Chapitre 3: Système de détection
d’intrusion
Cours Sécurité des réseaux
d’intrusion
114
115. Motivations
• Limites du firewall :
• Protection limitée
• Ne protège pas contre les attaques internes
• Les techniques et les outils d’intrusions ne cessent de se
sophistiquer.
• Nécessité d’automatiser le processus de détection
Cours Sécurité des réseaux
• Nécessité d’automatiser le processus de détection
d’intrusions.
• Nécessité de collecter les traces d’intrusions pour servir
comme preuve.
• Nécessité de détecter les attaques ayant réussi à
surpasser les mécanismes de sécurité déployés.
115
116. Motivations
Cours Sécurité des réseaux
Prévention Détection
Réaction
Hypothèse sur la détection
l’activité des utilisateurs malveillants est observable.
Les activités légitimes et malveillantes possèdent des signes
différents
116
117. Définitions
Détection d’Intrusions: L’identification de
• Ceux qui utilisant le système sans autorisation
(ex: intrus).
• Ceux qui ont un accès légitime au système
mais sont en train d’abuser de leurs privilèges.
Cours Sécurité des réseaux
mais sont en train d’abuser de leurs privilèges.
• Les tentatives d’utilisation aux systèmes sans
autorisation et les tentatives d’abus de
privilèges.
117
118. Définitions
Système de Détection d’Intrusions: un
système informatique permettant de
• Analyse en temps réel ou différé des
évènements en provenance des différents
systèmes.
• Détection des signes de violation de la politique
Cours Sécurité des réseaux
• Détection des signes de violation de la politique
de sécurité.
• Alerte en cas d’occurrence d’une attaque
• Collecte des traces d’intrusions pour servir
comme preuve.
• Réaction aux attaques.
118
119. Caractéristiques d’un IDS
Architecture
• Centralisée
• Distribuée
Source de données
• Réseau
• Système
Méthode de détection
Comportement après détection
d’intrusions
• Passif
• actif
Mécanisme de collection
• Surveillance directe
• Surveillance indirecte
Cours Sécurité des réseaux
Méthode de détection
d’intrusions
• Approche par scénario
• Approche comportementale
Senseurs
• Internes
• Externes
• Surveillance indirecte
119
120. Composantes d’un IDS
Prétraitement
(Preprocessing)
Données capturées /évènements
Activité
L’activité système estL’activité système est
observableobservable
Cours Sécurité des réseaux
Activité
Modèle
de
détection
Composante de
détection
Alarmes
Modèle
de
décision
Composante de
Décision
Action
120
121. Erreurs commises par un IDS
False Positives
• L’IDS considère une activité légitime comme
malveillante (erreur d’interprétation)
False Negatives
Cours Sécurité des réseaux
False Negatives
• L’IDS considère une activité malveillante
comme légitime
Les erreurs False Negatives sont plus
graves que les erreurs False Positives
121
122. surveillance directe/indirecte
Fiabilité: Les données surveillées indirectement
peuvent être attaquées avant leurs utilisation
Complétude: Une source indirecte (ex: log) peut ne pas
contenir toutes les données nécessaires
Volume: Dans une surveillance indirecte, les données
sont extraites sans connaissance du besoin de l’IDS
Cours Sécurité des réseaux
sont extraites sans connaissance du besoin de l’IDS
grand volume de données inutiles.
Performance: L’analyse des sources indirectes
engendre des traitements lourds (filtrage,
transformation,...) dégradation de performances.
Temps: La surveillance directe permet une détection
plus rapide et donc une réaction à temps.
122
124. Network-based IDS
Utilise le trafic réseau comme source de données en configurant
la carte réseau en mode promiscious.
Détecte les attaques véhiculées à travers le réseau, en
analysant le contenu des paquets.
La majorité de ces IDS utilisent l’approche par scénario.
Vérifie l’existence d’une signature d’attaques dans le contenu
des paquets:
Cours Sécurité des réseaux
des paquets:
• Une chaîne de caractère (ex: "cat"++">/.rhosts" ou “cgi-
bin/phf?”)
• Une tentative de connexions sur des ports utilisés pour
véhiculer les attaques (ex: TCP 1234).
• Un contenu malveillant de l’entête TCP (ex: scan de ports par
envoi de paquets avec des flags SYS et FIN).
Exemples: Snort, Bro, Cisco IDS
124
125. Avantages
• Surveille toutes les machines d’un seul réseau
• Ne dépend pas du contenu des machines (versions OS,
applications, etc).
• Insensible aux attaques sur des machines du réseau.
• Peut détecter des attaques réseau: scan, dénis de service,
etc.
Inconvénient
Network-based IDS
Cours Sécurité des réseaux
Inconvénient
• L’utilisation des switch pose des problèmes.
• Surveiller un trafic > 100 MB/S est actuellement un défi.
• Ne permet pas de savoir si l’attaque a réussi ou non.
• Ne réagit pas efficacement pour stopper les attaques.
• Ne peut pas surveiller un trafic crypté.
125
126. Host-based IDS(H-IDS)
Une intrusion au niveau machine peut être définie comme
suit:
• Modification, effacement, accès illicite aux données.
• Modification système.
• Exécution de programmes.
• Remonté de privilège (devenir root).
• Installation de programmes (i.e. Trojan).
H-IDS: Application installée sur le système surveillé.
Cours Sécurité des réseaux
H-IDS: Application installée sur le système surveillé.
Surveille les attaques au niveau des OSs et des applications.
• Analyse les fichiers logs, les fichiers d’audit système, les
messages d’erreurs, la base de registres, etc.
• Vérifie la séquence d’actions utilisateur, la séquence d’appels
système réalisée par les applications, etc.
• Calcule l’intégrité des fichiers sensibles (ex: /etc/passwd)
Ex: RealSecure, Tripwire, BlackICE, Swatch
126
127. Avantages
• Indépendance à la bande passante et au cryptage.
• Justesse de détection: détecte si l’attaque a réussi ou
non
• Adapté aux applications.
• Comprend le contexte et peut être capable de stopper
l’attaque.
Inconvénients
Host-based IDS(H-IDS)
Cours Sécurité des réseaux
Inconvénients
• Ne garantie pas l’intégrité des alertes générées si elles
résident sur un système compromis
• Peut causer la dégradation des performances des
systèmes surveillés.
• Forte dépendance aux OSs et aux applications.
• Nécessite un agent par machine.
127
128. Analyse
Approche par scénario: Misuse
Detection, signature-based detection
Cours Sécurité des réseaux
Approche comportementale: Anomaly
Detection
128
129. Approche par Scénario
Utilise des signatures d’attaques
• Connaissance à l’avance de ce que l’intrus peut faire et
comment.
• nécessité d’un modèle de l’attaque: Séquences d’appels
système, motif (pattern) de trafic réseau, etc.
• Signature: représente un comportement ou un scénario d’un
abus.
Compare ce qui est capté à ces signatures d’intrusions
moyennant des règles:
•
Cours Sécurité des réseaux
moyennant des règles:
• Tout comportement qui vérifie la signature est classé abusif
(misuse)
• Example: buffer overflow
• Une chaîne trop longue est passée en argument à une fonction
• Example: SYN flooding (deni de service)
• Emission d’un grand nombre de paquets SYN sans envoyer par la
suite les paquets ACKs correspondants.
• Exemple phf attack
• Existence de la chaîne de caractère «get /cgi-bin/phf?» dans un
paquet
129
130. Approche par Scénario
Fonctionnement semblable aux
systèmes antivirus.
Taux réduit de false positives puisque la
vérification se fait contre des attaques
connus à l’avance.
Cours Sécurité des réseaux
connus à l’avance.
Taux élevé de false negatives
• Ne détecte par les attaques inconnues.
• Beaucoup d’attaques permettent d’échapper
à ce type d’IDS.
130
131. Approche comportementale
Idée de base: “anormal” = “soupçonneux”
Modélisation des comportements des
utilisateurs/Applications afin de déterminer des profils
types
• Un profil est un ensemble de métriques sous forme de
valeurs seuil, et d’intervalles de valeurs.
Toute déviation par rapport au profil type est considérée
comme intrusive.
Cours Sécurité des réseaux
comme intrusive.
• Ex: Un employé d’une banque effectue régulièrement
des requêtes au serveur pour effectuer des opérations
de débit/crédit (il s’agit donc d’un échange
transactionnel avec des trames courtes).
Si la nature des flux détectés concerne des trames
de longueur proche de MTU alors génération d’une
alerte.
131
132. Approche comportementale
Nécessite une définition du comportement
normal.
Détection des nouvelles attaques et leurs
variations.
Apprentissage automatique.
Taux élevé de false positives
Cours Sécurité des réseaux
Taux élevé de false positives
• Un comportement non habituel n’est pas
nécessairement malveillant
Ne détecte pas les attaques qui se manifestent
lentement.
Calcul intensif pour la modélisation des
comportements.
132
133. Misuse vs. Anomaly
Modification d’un fichier mots de passes Misuse
Quatre échecs dans l’ouverture de session Anomaly
Échec de connexion à 50 ports séquentiels Anomaly
Un paquet UDP en direction du port 1434 Misuse
Un url contenant la chaîne de caractères Misuse
Cours Sécurité des réseaux
Un url contenant la chaîne de caractères
/cmd.exe?
Misuse
Le fichier log contient un enregistrement
indiquant une tentative de log en tant que
root
Misuse
Un utilisateur qui d’habitude ouvre une
session à 8h00 AM, se connecte à 4h30
Anomaly
133
134. Exemple de règle SNORT
Snort: IDS réseau utilisant l’approche par scénario
Génération d’une alerte si un paquet émanant du
Alert tcp $EXTERNAL_NET any -> 192.168.1.0/24
143 (content: “|90CB C0FF FFFF|/bin/sh”; msg:
“IMAP buffer overflow!”)
Cours Sécurité des réseaux
réseau externe vers une machine du réseau interne
192.168.1.0/24 en destination du port 143, contient la
chaine “|90CB C0FF FFFF|/bin/sh” (signature d’un buffer
overflow sur un serveur IMAP).
Résultat de détection (alerte générée)
#0-(3-1) [snort] IMAP buffer overflow ! 2005-10-10
21:14:00 65.106.21.153:1541 192.168.1.10:143 TC
P
134
135. Réponse IDS
Passive: simplement signaler/enregistrer
l’attaque.
Cours Sécurité des réseaux
Active: effet sur l’attaque en progression
135
136. Réponse active
Actions contre l’intrus: assistés par l’administrateur ou
automatiques
• Filtrage au niveau Firewall de l’adresse source de
l’intrus.
• Fin de la session
Changement de l’état interne de l’IDS.
•
Cours Sécurité des réseaux
• Changement des règles de détection (basculement
vers une politique de sécurité plus restrictive).
Collecte d’informations additionnelle
• Redirection de l’intrus vers des Honeypots (pots de
miels permettant de leurrer les intrus).
• Sauvegarde des keystrokes (touches clavier tapées)
136
137. Réponse active
Quelque exemples empiriques (Cisco IDS)
Kill the
sessionTCP Reset
Tuer la session
Cours Sécurité des réseaux
Tuer la session
Deny
Block
attacker
Deny
Blocking
Bloquer l’@ IP
de l’intrus
137
138. Réponse active
Quelque exemples empiriques (Cisco IDS)
Session Log Session Log
Cours Sécurité des réseaux
Capture automatique du trafic de l’intrus
138
139. Réponse passive
Affichage d’une alerte
Alerte sonore
Envoi d’un message d’alerte par pager.
Cours Sécurité des réseaux
Envoi d’un message d’alerte par pager.
Envoi d’un message d’alerte par SMS.
Envoi d’un message d’alerte par email.
139
140. Où placer l’IDS Sonde
SondeSonde
Cours Sécurité des réseaux
Sonde sur le réseau externe:
• Visualise tout le trafic (y compris celui bloqué par le Firewall).
• Permet de donner une idée sur la nature des attaques et des intrus.
• Beaucoup de faux signaux (bruit).
Sonde sur le réseau interne:
• Analyse le trafic ayant réussi à surpasser le Firewall.
• Analyse les attaques internes.
Sonde sur la DMZ:
• Analyse les attaques ayant réussi à atteindre les serveurs publiques..
140
142. Introduction
Cryptographie symétrique
Pas d'intégrité
Pas d'identification de l’émetteur
Cryptographie asymétrique et gestion des clés
Problèmes
Distribution des clés
Cours Sécurité des réseaux
Distribution des clés
• Obtenir la clé publique d’une autre entité
• Distribuer sa propre clé publique
Révocation
Révoquer une clé publiée
Déterminer si une clé publiée est valide ou non
142
144. Introduction
Une autorité de certification (CA) résout ce
problème:
• Alice envoie sa clé publique au CA
• Alice prouve qu’elle détient la clé privée
correspondant à la clé publique envoyée
• Le CA vérifie l’identité d’Alice
Cours Sécurité des réseaux
• Le CA vérifie l’identité d’Alice
• Le CA signe l’ensemble: clé publique et identité
d’Alice avec sa clé privée, le document signé est
appelé certificat
Quand Bob reçoit le certificat d’Alice, il est
sûr que la clé qui y est certifiée est celle
d’Alice
144
145. Certificat X.509
Un certificat électronique (aussi appelé certificat
numérique ou certificat de clé publique) peut être
vu comme une carte d'identité numérique.
Il est utilisé principalement pour identifier et
authentifier une personne physique ou morale, mais
aussi pour chiffrer des échanges.
Cours Sécurité des réseaux
Il est signé par un tiers de confiance (Autorité de
certification) qui atteste du lien entre l'identité
physique et l'entité numérique.
Le standard le plus utilisé pour la création des
certificats numériques est le X.509.
145
146. Certificat X.509
Un certificat est le lien entre :
- Une identité
- Une clé publique
- Une période de validité
- Un usage (certificat de signature ou certificat de
chiffrement)
Cours Sécurité des réseaux
chiffrement)
146
149. Modes de création
Il existe deux façons distinctes de créer des certificats
électroniques : le mode centralisé et le mode
décentralisé.
le mode décentralisé est le mode le plus courant : il
consiste à faire créer, par l'utilisateur (ou, plus
exactement par son logiciel ou carte à puce) le biclé
cryptographique et de joindre la partie publique de la
Cours Sécurité des réseaux
cryptographique et de joindre la partie publique de la
clef dans la CSR.
L'Infrastructure n'a donc jamais connaissance de la
clé privée de l'utilisateur, qui reste confinée sur son
poste de travail ou dans sa carte à puce.
149
150. Modes de création
le mode centralisé consiste en la création du biclé
par l'AC : Elle peut ainsi avoir de bonnes garanties
sur la qualité de la clé et peut en détenir une copie
protégée.
En revanche, il faut transmettre à l'utilisateur certes
son certificat (qui ne contient que des données
publiques) mais aussi sa clé privée ! L'ensemble de
Cours Sécurité des réseaux
publiques) mais aussi sa clé privée ! L'ensemble de
ces deux données est un fichier créé sous le
format PKCS#12. Son acheminement vers
l'utilisateur doit être entrepris avec beaucoup de
précaution et de sécurité, car toute personne mettant
la main sur un fichier PKCS#12 peut détenir la clé de
l'utilisateur.
150
151. Modes de création
Le mode décentralisé est préconisé pour les
certificats d'authentification et de signature (parce
que les conditions d'exercice d'une signature
juridiquement valide prévoit que le signataire doit
être le seul possesseur de la clé : en mode
décentralisé, l'ICP n'a jamais accès à la clé privée).
Cours Sécurité des réseaux
Le mode centralisé est préconisé pour les certificats
de chiffrement, car, lorsqu'un utilisateur a perdu sa
clé (par exemple, sa carte est perdue ou
dysfonctionne), un opérateur peut, au terme d'une
procédure de recouvrement, récupérer la clé de
chiffrement et la lui remettre.
151
152. PKI
Une infrastructure à clés publiques (ICP) ou infrastructure
de gestion de clés (IGC) ou encore Public Key
Infrastructure (PKI), est un ensemble de composants
physiques (des ordinateurs, des équipements cryptographiques
ou encore des cartes à puces), de procédures humaines
(vérifications, validation) et de logiciels (système et application)
en vue de gérer le cycle de vie des certificats numériques.
Une infrastructure à clés publiques délivre un ensemble de
Cours Sécurité des réseaux
Une infrastructure à clés publiques délivre un ensemble de
services pour le compte de ses utilisateurs:
enregistrement des utilisateurs (ou équipement informatique) ;
génération de certificats ; renouvellement de certificats ;
révocation de certificats ; publication de certificats ; publication
des listes de révocation (comprenant la liste des certificats
révoqués) ; identification et authentification des utilisateurs
(administrateurs ou utilisateurs qui accèdent à l'ICP) ;
archivage et recouvrement des certificats
152
154. Composants de PKI
L'IETF distingue 4 catégories d'ICP :
l'autorité de certification (AC ou CA) qui signe les demandes de
certificat (CSR : Certificate Signing Request) et les listes de
révocation (CRL : Certificate Revocation List). Cette autorité est
la plus critique ;
l'autorité d'enregistrement (AE ou RA) qui crée les certificats, et
effectue les vérifications d'usage sur l'identité de l'utilisateur
final (les certificats numériques sont nominatifs et uniques pour
Cours Sécurité des réseaux
final (les certificats numériques sont nominatifs et uniques pour
l'ensemble de l'ICP) ;
l'autorité de dépôt (Repository) qui stocke les certificats
numériques ainsi que les listes de révocation (CRL) ;
l'entité finale (EE : End Entity) qui utilise le certificat
154