25
F. OLLIVE Version 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

Embed Size (px)

Citation preview

Page 1: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

Présentation : Franck OLLIVE

Page 2: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Système de détection d'intrusion réseau (NIDS)

Introduction

• Auteur : Martin Roesh (21.12.1998)

• Version actuelle 1.5.2

• Logiciel libre de droit

• Taille des sources faibles

• Portable sur plusieurs types de plateformes

• Installation et configuration simples

• Détection en temps réel et puissante

Page 3: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Détection au niveau des protocoles :

Fonctionnalités

– IP _ TCP _ UDP _ ICMP

• Détection d'activités anormales – Stealth scan _ Découverte d'empreinte d'OS – Code ICMP "invalide" _ . . .

• Détection des petits fragments

• Détection de dénis de service

• Détection de débordement de buffer

• . . .

• Pré-processeur HTTP (attaque CGI)

Page 4: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

X86 SPARC M68K/PPC ALPHA AUTRES

Linux

OpenBSD

FreeBSD

NetBSD

Solaris

SunOS 4.1.x

HP-UX

AIX

Irix

Tru64 MacOS Xserver

Processeur

O.S.

Source : www.clark.net

Portabilité

Page 5: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Obtention du logiciel

Procédure d'installation (1)

– http://www.clark.net/~roesch/security.html

Page 6: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• CompilationProcédure d'installation (2)

– tar xzvf snort-1.5.2.tar.gz

– cd snort-1.5.2

– ./configure

– Vérifier que la librairie libpcap est présente

• Installation– mkdir /tmp/monrep

– cp snort /tmp/monrep

– strip /tmp/monrep/snort

– cp *.lib /tmp/monrep/

• ftp:/ftp.ee.lbl.gov/libpcap.tar.Z– make

Page 7: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Configuration

Procédure d'installation (3)– Visualisation du répertoire

• "preprocessor http_decode: 80 443 8080"

• "var MY_NET 193.51.138.0/24"

• Lancement avec la base standard– ./snort <-option>

– Modification du fichier de configuration

Page 8: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

Écriture de règles (1)• Langage de description simple et facile à utiliser

• Une règle doit être impérativement écrite sur une seule ligne

• La combinaison de règles est autorisée

• Possibilité de faire référence à des fichiers de règles séparés

• Variables de substitutions acceptées

Page 9: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Exemple de règle

Écriture de règles (2)

– Action de la règle

Alert tcp any any -> 192.16.1.0/24 any (flags:SF; msg:"Possi. SYN FIN scan";)

• En-tête de règle

– Le protocole• tcp• udp

Alert tcp any any -> 192.168.1.0/24 any

• alert

• log• pass

• icmp

Page 10: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

Écriture de règles (3)• En-tête de règle (suite)

– L'adresse source et destination

– Le port source et destination

• any• Adresse IP suivi de l'espace d'adressage

• Opérateur de négation "!"

– 193.51.138.0/24

– !193.51.138.0/24

• Pas de mécanisme par nom de domaine

• any• Port spécifique • Gamme de port avec ":"

– 1:1024• Opérateur de négation "!"

– !6000:6010

alert tcp any any -> 192.168.1.0/24 any

alert tcp any any -> 192.168.1.0/24 any

Page 11: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

Écriture de règles (4)

– Indique l'orientation du trafic auquel la règle s'applique

• Opérateur de direction

• Unidirectionnel "->" – log udp any any -> 194.78.45.0/24 any

– Cœur du moteur de détection d'intrusion

• Options de règles

• Bidirectionnel "<>" – log 193.51.138.0/24 any <> 194.78.45.0/24 any

(flags:SF; msg:"Possible SYN FIN scan";)

– Combinaison de règles séparées par ";"– Séparation du mot clé et de l'argument par ":"

Page 12: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

Écriture de règles (5)

– msg, logto, minfrag, ttl, id, dsize, content, offset, depth, flags, seq, ack, itype, idecode, nocase, session

• Options de règles (suite)

• "minfrag" fixe un seuil de taille minimum pour un paquet fragmenté.

• "content" permet de rechercher un contenu spécifique dans le payload.

– (content:"|0909090909090909|"; msg: SMTP exploit.";)

• Règles avancées– Variables de substitutions

• "var MY_NET 192.168.1.0/24"

Page 13: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

– http://www.whitehats.com– http://www.snort.rapidnet.com– http://www.xanadu.rem.cmu.edu– http://www.incident.org/snortdb– http://www.spyjurenet.com/linuxrc.org/projects/snort

Écriture de règles (6)

– Inclusion de fichiers de règles externes.• "include:<chemin et nom de fichier>"

• Règles avancées (suite)

• Ou trouver des règles

Page 14: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Implantation– Réalisation des tests sous redhat 6.2 et slackware 7

Test (1)

– Méthode d'analyse : • Je prends le maximum de règles, je regarde ce qui remonte

dans les logs et j'affine

– Machines utilisées :

• Pentium III - 500 MHz - DD 8 Go - 128 Mo RAM

– Débit théorique des lignes de test : • 10 Mb/s et 100 Mb/s (34 Mb/s)

• Pentium II - 120 MHz - DD 6 Go - 64 Mo RAM

• 486 DX2 66 - DD 820 Mo - 40 Mo RAM

– 860 règles

Page 15: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

– Schéma d'implantation

Test (2)

Snort

Net Ranger

Real Secure

Snort

Snort

Internet

PRESIDENCECAMPUS

DMZ

F.H. 34 Mb/s

100 Mb/s34 Mb/s

Real Secure

CISCO

Routeur ARPC

Page 16: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Enregitrement des logs

– L'enregistrement dans un répertoire s'effectue par adresse IP de machines sources et/ou destinations

Résultat (1)

– Le fichier alert (-d)

– Un fichier spécifique par attaque (logto)

– Un répertoire spécifique (-l)

– Le répertoire /var/log/snort (-s)

Page 17: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Les logs (suite)– Un fichier par type d'"attaque"

Résultat (2)

Page 18: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Les logs (suite)– Visualisation des fichiers de log

Résultat (3)

alert TCP any any -> $MY_NET any (msg:"NMAP TCP ping !"; flags: A; ack: 0;)

Règle :

date heure@IP source

port source@IP dest

port dest

protocole

drapeaux n°d'ordre d’acquittementen hexadécimal

n°d'ordre d'identificationdu paquet

temps de vie restant

n°séquenceen hexadécimal

type de service

Page 19: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Simplicité d'écriture des règles

Avantages

– Peu onéreux

– ...

• Logiciel libre

– Source et signatures accessibles

• Adaptation à un contexte spécifique• Installation simple et rapide• Taille de l'exécutable faible (420 Ko)• Portable, ...

• Ne fait pas tout, mais le fait correctement• N'engendre pas de ralentissement du trafic

• Nombre de règles conséquent

Page 20: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Pas d'interface graphique

Inconvénients

• Nécessite une veille technologique pour la mise à jour des règles

• Lecture des logs (snortlog, snortstat, logsurfer ...)

• Écriture des règles gourmandes en temps• Vérification de la véracité des règles• Pas de possibilité de mettre plusieurs adresses

IP dans la variable globale "MY_NET".

• Ne détecte pas tout

• Pas de description des vulnérabilités

• Pas d’édition de rapport

• Majuscule et minuscule

Page 21: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Mailing list

Références

[email protected]

• Sites miroirs– ftp://the.wiretapped.net/pub/security/network-

intrusion-detection/snort – http://gd.tuwien.ac.at/infosys/security/snort

– ftp://gd.tuwien.ac.at/infosys/security/snort

– http://snort.safenetworks.com

– http://snort.whitehats.com

– http://www.centus.com/snort/security.html

Page 22: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• La version 1.6 vient de sortir et la version 2 est en prévision

Le futur de Snort

• Prise en compte de nouveaux protocoles

• Gestion de la fragmentation

• . . .

– ARP – IGRP – OSPF – . . .

– Ré-assemblage

– Recouvrement

Page 23: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Snort est bien adapté pour un petit réseau ou pour des actions ciblées.

Conclusion (1)

• La version 2 devrait permettre à Snort d'entrer dans la cour des grands IDS.

• Pas de pression marketing => Ce que fait Snort est bien fait. (pré-processeur).

• Pour les réseaux plus important, la version testée (1.5.2) peut être utilisée comme appoint d’une version commerciale.

Page 24: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

Conclusion (2)

Snort en détection ponctuelle Snort sur un serveur

de production

Internet

Réseau sécurisé

DMZReal

Secure

– Real secure : un en entrée de réseau et un en interne

– Snort : sur certains serveurs de production et en utilisation ponctuelle sur des problèmes spécifiques

Real Secure

CISCO

Routeur ARPC

Page 25: F. OLLIVEVersion 1 - 27-03-2000 Présentation : Franck OLLIVE

F. OLLIVEVersion 1 - 27-03-2000

• Http://www.hsc.fr/ressources/présentations/ids-free par Stéphane Aubert

Bibliographie

• Http://www.clarl.net/~roesch/security.html

Contacts• [email protected]

[email protected]