Vous êtes sur la page 1sur 39

Chapitre VI

Les Systèmes de Détection d’Intrusions


(IDS)
Dr. Ing. Bayrem TRIKI

1
Motivations
■ Les Firewalls ne protègent pas contre les abus et les accès
non autorisés à l’intérieur d’un périmètre de sécurité.
■ Nécessité de contrôler les abus à l’intérieur des règles d’accès
■ Un trafic TCP 80 autorisé à passer peut véhiculer des attaques non
détectables par les Firewalls.
■ Un utilisateur autorisé à se connecter à distance, est capable de
d’augmenter son privilège en exploitant une vulnérabilité.
■ Les techniques et les outils d’intrusions ne cessent de se
sophistiquer.
■ 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.
Motivations

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


Définitions (1)

■ Intrusion: Ensemble d’actions nuisibles à la sécurité


(intégrité, confidentialité, disponibilité, etc.) de
l’information possédée par une organisation.
■ 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.
■ Les tentatives d’utilisation aux systèmes sans autorisation
et les tentatives d’abus de privilèges.
Définitions (2)

■ Système de Détection d’Intrusions (IDS): un


système informatique permettant:
■ L’analyse en temps réel ou différé des évènements en
provenance des différents systèmes.
■ La détection des signes de violation de la politique de
sécurité.
■ La génération d’alertes en cas d’occurrence d’une attaque.
■ La collecte des traces d’intrusions pour servir comme
preuve.
■ La réaction aux attaques.
Caractéristiques d’un IDS
■ Architecture ■ Comportement après détection
■ Centralisée d’intrusions
■ Distribuée ■ Passif
■ Source de données ■ actif
■ Réseau ■ Mécanisme de collection
■ Système ■ Surveillance directe
■ Surveillance indirecte
■ Méthode de détection
d’intrusions
■ Approche par scénario
■ Approche comportementale
■ Senseurs
■ Internes
■ Externes
Composantes d’un IDS

Données capturées /évènements


L’activité système est
observable
Prétraitement
(Preprocessing)

Activité
Modèle
de Composante de
détection détection

Alarmes

Modèle Composante de Action


de Décision
décision
Modèle de détection d’intrusions

Source de Activité Opérateur


Capteur
données
évènement

Notification
évènement
Capteur Analyseur Réponse
(sensor)
Alerte

Politique de
sécurité Manager
Administrateur

IETF: Intrusion Detection Message Exchange Requirements (Internet


Draft)
Erreurs commises par un IDS (1)

■ False Positives
■ L’IDS considère une activité légitime comme
malveillante (erreur d’interprétation)

■ False Negatives
■ L’IDS considère une activité malveillante comme
légitime

Les erreurs False Negatives sont plus graves


que les erreurs False Positives
Erreurs commises par un IDS (2)

Utilisation legitime Utilisation malveillante

Activitée considérée False negative


par l’IDS comme
étant normale

False positive Activitée considérée


par l’IDS comme
étant malveillante
Source de données

■ Réseau: Network-based IDS

■ Système: Host-based IDS


Network-based IDS

■ Détecte les attaques véhiculées à travers le


réseau, en analysant le contenu des paquets.
■ Nécessite la configuration des cartes réseau en
mode promiscuous.
■ Exemples: Snort, Bro, Cisco IDS
Internet
IDS réseau
Network-based IDS (N-IDS)
■ 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éni de service,
etc.
■ 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é.
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.
■ Augmentation de privilège (devenir root).
■ Installation de programmes (i.e. Trojan).
■ H-IDS: IDS installé 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
Host-based IDS
■ 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
■ Ne garantie pas l’intégrité des alertes générées si elles
résident sur un système attaqué.
■ 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.
Analyse

■ Approche par scénario: Misuse Detection,


signature-based detection.

■ Approche comportementale: Anomaly


Detection.
Approche par Scénario (1)
■ 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
(violation de la politique de sécurité)
■ Compare ce qui est capté à ces signatures d’intrusions
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
Approche par Scénario (2)

■ Fonctionnement semblable aux systèmes


antivirus.
■ Taux réduit de false positives puisque la
vérification se fait contre des attaques 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.
Approche par Scénario (3)

pattern
matching
Motifs
intrusion
(Patterns)
d’intrusions

activités

Exemple: Si (src_ip == dst_ip) Alors “land attack”


Approche comportementale (1)
■ 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.
■ Considère toute déviation par rapport au profil type 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.
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.
■ 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.
Approche comportementale

Intrusion
probable

Ensemble de
mesures sur les
activités

Un taux élevé de false positive – Une anomalie peut


être simplement une nouvelle activité normale.
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
/cmd.exe?
■Le fichier log contient un enregistrement Misuse
indiquant une tentative de log en tant que root
■Un utilisateur qui d’habitude ouvre une session à Anomaly
8h00 AM, se connecte à 4h30
Exemple de règle SNORT
Snort: IDS réseau utilisant l’approche par scénario

Alert tcp $EXTERNAL_NET any -> 192.168.1.0/24


143 (content: “|90CB C0FF FFFF|/bin/sh”; msg:
“IMAP buffer overflow!”)
Génération d’une alerte si un paquet émanant du 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’une attaque buffer overflow sur
un serveur IMAP).
Résultat de détection (alerte générée)
#0-(3-1) #0-(3-1) [snort] IMAP buffer overflow !
2005-10-10 21:14:00 65.106.21.153 ! 2005-10-10
21:14:00 65.106.21.153:1541 192.168.1.10:143 TCP
Console d’analyse ACID pour Snort
Console d’analyse ACID pour Snort
Architecture des IDS
■ Centralisée: Les données utilisées pour la
détection sont collectées dans des endroits dont les
nombre est indépendant du nombre de
composantes surveillées (réseaux, systèmes).
■ Ex: IDES, NSM, NADIR, …
■ Distribuée (DIDS)
■ Les données utilisées pour la détection d’intrusions sont
collectées dans des endroits dont les nombre est
proportionnel aux nombre de composantes surveillés.
■ Corrélation des alertes provoquées sur différent niveaux
(réseau, système).
■ Comprendre comment une attaque affecte le réseau
entier, et non pas des systèmes individuels.
■ Ex: DIDS, GrIDS, EMERALD, AAFID
Mécanisme de collection
■ Direct Monitoring (surveillance directe)
■ Prise de mesures ou d’observations d’un comportement
dans la composante surveillée en obtenant des données
directement de cette composante.
■ Ex: les processus actifs sont lu directement avec la
commande « ps ».
■ Ex: Un paquet est lu dans la machine avant d’être envoyé
■ Indirect monitoring (surveillance indirecte)
■ Prise de mesures ou d’observations d’un comportement
dans la composante surveillée en utilisant un mécanisme
ou un outil séparé
■ Ex: la liste des processus actifs est enregistrée dans un
fichier log, puis extraite à partir de ce fichier.
■ Ex: Un paquet est capturé sur le réseau après son envoi.
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 as contenir toutes les données nécessaires
■ Volume: Dans une surveillance indirecte, les
données 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.
Réponse IDS

■ Passive: simplement signaler/enregistrer l’attaque.

■ Active: effet sur l’attaque en progression


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.


■ 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)
Réponse active

Quelque exemples empiriques (Cisco IDS)

Kill the
TCP Reset session

Tuer la session

Block
Blocking attacker
De
Bloquer l’@ IP Deny
ny

de l’intrus
Réponse active

Quelque exemples empiriques (Cisco IDS)

Session Log Session Log

Capture automatique du trafic de l’intrus


Réponse passive

■ Affichage d’une alerte


■ Alerte sonore
■ Envoi d’un message d’alerte par pager.
■ Envoi d’un message d’alerte par SMS.
■ Envoi d’un message d’alerte par email.
Où placer l’IDS

Sonde Sonde
Sonde

■ 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..
Attaques sur les N-IDS

■ Insertion et Evasion
■ Ambiguïté dans l’interprétation des champs des
entêtes.
■ Ambiguïté dans la gestion des options dans les
entêtes.
■ Ambiguïté dans le rassemblement des fragments
et des segments.
🡺 L’IDS accepte ou rejette les paquets et les
segments, d’une façon différente aux machines.
🡺 L’IDS et la machine cible obtiennent des vus
différentes des données reçues
Attaque d’insertion
■ Le NIDS accepte des paquets que la machine
destinataire rejette ou ne reçoit pas
Exemple: Attaque par TTL
U S E R r X o o t
U S E R r o o t

Paquet inséré avec un


checksum erroné NIDS rejeté

5 hops 10 hops

U S E R r TTL=15 U S E R r

X TTL=8
X

o t o o t
Un TTL petit pour o TTL=15
rejeté (TTL
s’assurer que le paquet NIDS expiré)
ne parviendra pas à
destination
Attaque d’évasion

■ La machine destinataire accepte des paquets que


l’IDS rejette
Exemple: Attaque par chevauchement de fragments
(fragments overlapping)
Données envoyés par l’intrus
# séquence 1 2 3 3 4 5 6
Donnée A T X T A C K

L’IDS rejette le 3ème paquet La machine destinataire écrase


(overwrite) le premier paquet reçu
1 2 3 3 4 5 6 1 2 3 3 4 5 6
A T X T A C K A T X T A C K
Attaques sur les N-IDS
■ Déni de Servie (DoS)
■ Problème:
■ L’IDS doit simuler toute les opérations réalisées par les systèmes surveillés.
■ Epuisement des ressources CPU: émission d’un trafic qui engendre des
traitements lourds
■ Rassemblement de fragments
■ Cryptage/décryptage
■ Epuisement des ressources mémoire: émission d’un trafic qui nécessite un
grand espace mémoire pour le traitement
■ TCP Handshake
■ Stockage temporaire des Fragments/Segments
■ Épuisement de la bande passante disponible
■ Emission d’un trafic inutile avec un débit élevé, empêchant l’IDS de capturer tout
le trafic
■ Induire les IDS réactifs en erreur en prenant des fausses décisions
■ Génération d’alarmes false positives
■ Générer des attaques avec des adresses IP spoofées.

Vous aimerez peut-être aussi