Vous êtes sur la page 1sur 41

Cyber Sécurité des Systèmes d’Information

IDS - S NORT

Patrice PARRAUD1,2 & Yvann B ASSEMENT1

1
Min. Déf. - ESCC - DGER
2
CREC - Pôle STD - Unité de Recherche - M ACCLIA
(patrice.parraud,yvann.bassement)@st-cyr.terre-net.defense.gouv.fr

Novembre 2016

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 1/41


S YST ÈME DE D ÉTECTION D ’I NTRUSION

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 2/41


Intrusion Detection System

I Surveiller - Contrôler - Détecter- Réagir


I Sniffer couplé à un Moteur d’Analyse
I Règles d’analyse
I Couches opérationnelles :
I Réseau : IP, ICMP
I Transport : TCP, UDP
I Application : HTTP, mail
I Noyau : Kernel
I Après la détection : Analyser, Tracer, Archiver et Réagir

Détection Réaction Furtivité

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 3/41


IDS : Notions

I Faux-Positif : fausse alerte détectée par l’IDS


I Faux-Négatif : intrusion non détectée par l’IDS
I Fichier Log : fichier dévènements
I Evasion : technique pour dissimuler une intrusion afin de
ne pas la faire détecter par l’IDS
I Sonde : compossant de l’IDS qui collecte les informations
brutes

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 4/41


IDS : Modèle de fonctionnement

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 5/41


IDS : Architecture

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 6/41


IDS : Classification

I HIDS : Host IDS système


I NIDS : Network IDS réseau
I IDS Hybride : Host & Network IDS
I IPS : Intrusion Prevention System blocage
dévènements suspects
I KIDS - KIPS : Kernel IDS détection - prévention au
niveau noyau
I Technologies Annexes : scanners, systèmes de leure, de
corrélation/gestion, distribué à tolérance ...

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 7/41


IDS : Positionnement

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 8/41


IDS : Méthodes de détection

I Approche par Scénarios (signatures)


Modélisation Comportements - Signatures

I Approche Comportementale
Apprentissage (Profils) - Détection - Comportement

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 9/41


IDS : Approche par Scénarios (signatures) 1/3

I Approche : modélisation des comportements interdits

I Signature : spécifications propre d’une attaque

si évènement correspond à une signature alors Alerte

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 10/41


IDS : Approche par Scénarios (signatures) 2/3

Différentes Méthodes :
I Pattern Matching : recherche de motifs
I Détection d’anomalies : déviation par rapport à un
comportement normal
I Contrôle d’intégrité : somme de contrôle et comparaison
I Analyse de protocole : conformité des flus et analyse des
champs et paramêtres des paquets
I Analyse heuristique : analyse intelligente pour détecter
une activité suspecte

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 11/41


IDS : Approche par Scénarios (signatures) 3/3

Pattern Matching

I Motifs : expressions régulières


I Règles : garmmaire d’expressions régulières
I Type de recherche : simple ou multiple, statique ou
dynamique
I Base de données : bibliothèque de signatures ...

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 12/41


IDS : Approche Comportementale 1/3
I Approche : déviation par rapport à un comportement
normal
I Phase d’apprentissage : acquisition du comportement
normal du système
,→ établissement de profils
respect de la Politique de Sécurité
fonctionnement normal du système
habitudes des utilisateurs
I Phase de Détection : comparaison du comportement
”suspect” avec les profils
I Méthodes :
,→ Probabiliste
,→ Statistique
,→ Immunologie, graphes, réseaux de neurones ...

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 13/41


IDS : Approche Comportementale 2/3

Méthode Probabiliste

I Profil : règles, et apprentissage des probabilités liées à


chaque séquence dévènements
I Evènements : E1 , · · · , Ei 7−→ probabilitéEi+1

si ( Ei+1 n’est pas prévu par le profil )


ou ( Ei+1 apparait trop souvent / probabilité du profil )
ou ( Ei+1 n’est pas l’évènement attendu )
alors Alerte

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 14/41


IDS : Approche Comportementale 3/3

Méthode Statistique

I Profil : variables aléatoires échantillonnées à intervalles


réguliers
I Valeurs variables : taux d’occupation mémoire, utilisation
processeurs, charge réseau, connexions ...
I Modèle statistique : distribution de chaque variable et
mesure de taux de déviation

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 15/41


NIDS-IPS : S NORT 1/9

I http://www.snort.org/
I le plus utilisé avec une excellente réputation
I analyse du trafic réseau en temps réel
I différentes technologies de détection d’intrusions (protocolaire, pattern
matching)
I détection de nombreux types d’attaques (buffer overflows, scans de
ports, furtifs, attaques CGI, sondes SMB, tentatives de fingerprinting
d’OS, ...)
I langage de règles
I moteur de détection utilisant une architecture modulaire de plugins
I 3 modes de fonctionnement : sniffer de paquets, logger de paquets et
système de détection/prévention d’intrusions.

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 16/41


NIDS-IPS : S NORT 2/9

I Configuration : snort.conf
I Réseaux ou Interfaces surveillés : variable HOME NET
,→ serveurs DHCP, DNS, ... : IP dans variables
DHCP SERVERS, DNS SERVERS ...
I Ports de services : variables HTTP PORTS ...
I Dossier contenant les fichiers de règles : la variable
RULE PATH
I Inclusion de fichiers de règles : les directives include

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 17/41


NIDS-IPS : S NORT 3/9

I Exécution : snort ¡options¿


I -A : générer des alertes
I -c ¡emplacement de snort.conf ¿ : lancer S NORT avec
des fichiers de règles.
I -l ¡dossier de log¿ : spécifier le dossier de stockage des
logs d’alertes (défaut : /var/log/snort)
I -v : mode verbose
I -T : mode test
I -i : interface à surveiller

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 18/41


NIDS-IPS : S NORT 4/9

I Les règles
I fichiers de règles (officielles, crées)
,→ dossier rules de S NORT
I format d’une règle :
Header ¡Options¿
I format de l’entête :
action protocole adresse1 port1 direction adresse2 port2

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 19/41


NIDS-IPS : S NORT 5/9
I l’entête
I action :
I - alert : générer une alerte et logger le paquet
I - log : logger le paquet
I - pass : ignorer le paquet
I - activate : activer une règle dynamique
I - dynamic : définir une règle dynamique
I - drop : demander à iptables de bloquer le paquet puis le
logger
I - reject : demander à iptables de bloquer le paquet puis le
logger, et envoyer une commande TCP RST (reset) ou une
réponse ICMP Host unreachable
I - sdrop : demander à iptables de bloquer le paquet
I protocole : protocole concerné (tcp, udp, icmp, ip)
I adresse1, adresse2 : IP source et destination
I port1, port2 : ports source et destination
I direction : l’orientation du paquet (-¿, ¡¿)

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 20/41


NIDS-IPS : S NORT 6/9
I les options : option : valeur1[, valeur2, ...]
I msg : spécifier le message (log et alerte)
I reference : faire référence
I classtype : définir la classe de l’attaque
I priority : définir la sévérité de l’attaque
I content : spécifier une chaı̂ne (paquet action)
I rawbytes : spécifier une suite d’octets (paquet action)
I uricontent : identique à contentformat normalisé URI
I pcre : utiliser une exp. rég. (Perl) pour le paquet
I ttl : spécifier la valeur du TTL du paquet
I flags : spécifier la présence d’un flag TCP (SYN, FIN, ...)
I fragbits : vérifier la présence de certains bits IP
I session : extraire les informations de la session TCP
I resp : activer une réponse flexible (flexresp) afin de bloquer
l’attaque.
I limit : limiter le nombre d’actions pendant un intervalle de
temps pour le même événement.

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 21/41


NIDS-IPS : S NORT 7/9

I exemple de règle
alert tcp any any -> $HTTP SERVERS
$HTTP PORTS (msg:"WEBATTACKS /bin/ls
command attempt"; uricontent:"/bin/ls";
nocase; classtype:web-application-attack;)
une alerte quand un paquet provient d’un couple (adresse :port) quelconque à destination des serveurs

HTTP définis dans snort.conf, et contient la chaı̂ne ”/bin/ls” dans l’URI. Le message de l’alerte sera

”WEB-ATTACKS /bin/ls command attempt” Cette attaque sera classée dans la classe

web-application-attack

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 22/41


NIDS-IPS : S NORT 8/9

I la console Base (Basic Analysis and Security Engine)


,→ http://base.secureideas.net/
 projet ACID (Analysis Console for Intrusion Databases)
I Dépendances
I un SGBD (MySQL)
I Snort compilé avec le support du SGBD
I un serveur HTTP (Apache)
I un interpréteur PHP
I la bibliothèque ADODB
I Schémas de BDD :
dossier schemas ! code SQL pour la structure de la BDD
I S NORT et BDD
output database: log, mysql, user=snortusr password=pwd
dbname=snort host=localhost

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 23/41


NIDS-IPS : S NORT 9/9

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 24/41


NIDS : B RO 1/3

I http://www.bro-ids.org/
I Fonctionnalités
I langage de script B RO règles de détection et d’action
I utilisation d’expressions régulières motifs des signatures
I possibilité d’éxécuter des programmes tiers après détection
différents types d’actions
I compatibilité avec les règles S NORT snort2bro
I possibilité d’utiliser G NU PG (Gnu Privacy Gard) chiffrer
et signer les rapports
I envoi de rapports d’alerte par mail

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 25/41


NIDS : B RO 2/3

I Architecture : 3 couches principales


I module Packet Capture : écoute du trafic (sniffer ) et
envoie à la couche supèrieure
I module Event Engine : classe les flux par protocole, crée
une table détats pour les connexions, contrôle l’intégrité,
rassemble les fragments et analyse des flux
I module Policy Layer : utilise les scripts B RO pour traiter
les évènements et appliquer les politiques

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 26/41


NIDS : B RO 3/3
I Exécution : démon bro.rc start
,→ $BROHOME/logs/
 alarm.XXX, conn.XXX, ftp.XXX, http.XXX, info.XXX, notice.XXX
I Règles (signature) : signature id { conditions / actions }
I condition d’entête : protocole, ports, adresses
I condition de contenu : expressions régulières
I condition de dépendance : entre les signatures
I condition de contexte : rajout de fonctions
I action : event
I Exemple de signature

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 27/41


Comparatif S NORT ∼ B RO
S NORT
+ grande communauté nouvelles règles,nombreux plugins, frontends, consoles de management, ...
+ mise en oeuvre basique rapide
+ projet maintenu par une société très bonne réactivité et produit adapté
+ de nombreux livres et documentations existants
+ fichiers d’alertes facilement analysables
+ fichiers d’alertes très complets : header des paquets, lien vers description de l’attaque, ...
- fichiers d’alertes difficiles à parser de manière automatisée
- configuration essentiellement par édition de fichiers texte
- de nombreuses fonctionnalités sont payantes

B RO
+ possibilité d’utiliser des règles S NORT (convertisseur snort2bro)
+ forte customisation IDS très difficile à détecter
+ langage de script puissant et adapté à la détection d’intrusion
+ de nombreuses fonctionnalités
+ cryptage et signature électronique des rapports
+ rapport périodique résumant les alertes
+ configuration très simple (script interactif)
+ fichiers d’alertes très faciles à parser de manière automatisée
- projet maintenu par des chercheurs réactivité moyenne et produit peu adapté
- fichiers d’alertes difficilement analysables
- peu d’informations dans les rapports d’alertes
- documentation incomplète
- aucune Interface Graphique disponible
- pas de support natif pour enregistrer les alertes dans une base de donnèes

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 28/41


HIDS : O SSEC
I http://www.ossec.net/
I Analyseur de fichiers de journalisation et Analyseur
d’Intégrité système
I Système de règles (fichier XML) avec un système de
réponse active
I Configuration du fichier ossec.conf
I Global : paramêtres d’alerte
I Rules : fichiers de règles
I Syscheck : répertoires à scanner
I Rootcheck : paramêtres de détection
I Active-reponse
I Alerts : niveau d’alerte
I Localfiles : fichiers logs à vérifier
I Règles

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 29/41


HIDS : S AM H AIN

I http://www.la-samhna.de/samhain/
I Fonctions supplémentaires (/Ossec) :
I stockage des alertes dans une BDD
I chiffrement des communications client/serveur
I console de visualisation web
I Installation
I Serveur puis Client
I authentification du Client par une clef
I Configuration
I quasi opérationnel
I spécifier le niveau de détection :
variable ExportSeverity dans /etc/samhainrc

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 30/41


HIDS : R K H UNTER

I http://www.rootkit.nl/projects/rootkit hunter.html
I Détecteur de rootkits
I fichiers binaires système
I fichiers de configuration
I UID 0 : root
I ouverture de ports
I Utilisation : /usr/local/bin/rkhunter -c -sk

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 31/41


Comparatif O SSEC ∼ S AM H AIN ∼ R K H UNTER

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 32/41


IDS Hynride : P RELUDE
I www.prelude-technologies.com/fr/bienvenue/index.html

I Framework sous le standard IDMEF (Intrusion Detection


Message Exchange Format)
I Composition
I Bibliothèque de génération de messages IDMEF
(Libperlude)
I Gestionnaire dévènements (Prelude-LML : la sonde)
I Analyseur de logs
I Console de visualisation (Prelude-Manager )
I Configuration
I installation du framework
I /etc/prelude-manager/prelude-manager.conf
I /etc/prelude-lml/prelude-lml.conf
I /etc/prelude/default/(Client)
(ldmef-client) (Global).conf
I ajout de sonde

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 33/41


KIDS : L IDS

I http://www.lids.org/
I Patch à appliquer au noyau Unix
I Sécurité du noyau et Contrôle d’accès ressources
systèmes
I Activation ,→ toute opération système (administration
réseau, mémoire, lecture/écriture) est impossible
I Sécurité optimale mais complexe à configurer

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 34/41


Les H ONEYPOT

I Système volontairement vulnérable


,→ attirer et piéger l’attaquant
occuper l’attaquant
découvrir les nouvelles attaques
obtenir le maximum de traces
I 2 types
I Faible interaction : émulation de services sans réel système
I Forte interaction : OS réel ± sécurisé
I Fonctionnement
I Démon  hôtes virtuels sur le réseau
I Simule l’existence de services actifs
I Informations sur l’hôte  un fichier d’empreinte nmap
I Toutes les connexions I/O sont enregistrées

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 35/41


Algorithmes de Pattern Matching

I Algorithme naı̈f (Brute Force Algorithm)


I Algorithme de M ORRIS - P RATT
I Algorithme de K NUTH - M ORRIS - P RATT
I Algorithme de B OYER - M OORE
I Algorithme de A HO - C ORASICK

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 36/41


Attaques contre les IDS

I Détecter un IDS

I Dénis de Service contre un IDS

I Techniques d’Insertion

I Techniques d’Evasion

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 37/41


Détecter un IDS

I Usurpation d’adresse MAC :


mode promiscuité (furtif )
envoi ICMP (echo request) avec fausse adresse MAC
machine répond  présence d’un IDS
I Mesure des temps de latence :
série de ping  mesure les tmps de réponse
saturation du réseau  broadcast
série de ping  mesure les tmps de réponse
comparaison des tmps
I Exploiter les réponses actives :
réaction à certaines attaques  empreintes (header)
identifier le type d’IDS
I Observation des requêtes DNS :
alertes  requêtes DNS
fausses attaques observer le DNS primaire

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 38/41


Dénis de Service contre un IDS

Saturations des ressources de l’IDS afin de le désactiver

 DoS sur l’IDS


SYN Flood
Paquets fragmentés incomplets

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 39/41


Techniques d’Insertion

Injection de données supplémentaires afin que l’IDS les


estiment inoffensives et que la cible ne les décode pas

I Fragmentation IP
I Ecrasement de fragments
I TimeOut de fragmentation
I Découpage de sessions TCP
I Cheksum erroné

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 40/41


Techniques d’Evasion

Insérer des données qui seront ignorées par l’IDS sans gêner
l’attaque.

I Evasion HTTP
I Shell-code polymorphique

C YBER S ÉCURIT É DES S YST ÈMES D ’I NFORMATION - IDS - S NORT 41/41

Vous aimerez peut-être aussi