présentation de l'idps suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... ·...

66
Présentation de l’I D P S Suricata Éric Leblond OISF 11 mai 2011 Éric Leblond (OISF) Présentation de l’I D P S Suricata 11 mai 2011 1 / 35

Upload: others

Post on 31-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Présentation de l’IDP S Suricata

Éric Leblond

OISF

11 mai 2011

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 1 / 35

Page 2: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

1 IntroductionIntroductionObjectifs du projetEcosystème

2 FonctionnalitésListe des fonctionnalitésSignaturesStream inlineCUDA

3 Fonctions avancées de suricatalibHTPVariables de fluxFonctions avancées du mode IPS

4 Le futurFonctionnalités planifiéesPlus d’informations

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 2 / 35

Page 3: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Suricata ?

(C) Jean-Marie Hullot, CC BY 3.0

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 3 / 35

Page 4: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Suricata ?

(C) Jean-Marie Hullot, CC BY 3.0

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 3 / 35

Page 5: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Introduction

Éric LeblondInitiateur du projet NuFWContributeur Netfilter notamment sur ulogd2Core développeur Suricata (IPS, optimisation multicore, . . . )Consultant indépendant Open Source et Sécurité. . .

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 4 / 35

Page 6: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

À propos de l’OISF

Open Information Security Foundationhttp://www.openinfosecfoundation.org

Fondation à but non lucratif dont le but est de construire unmoteur IDS/IPS de nouvelle générationSoutenue financièrement par le gouvernement américain (DHS,Navy)Développement d’un IDS/IPS Open Source :

Financement des développeursBoard chargé de définir les orientations

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 5 / 35

Page 7: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

À propos de l’OISF

Open Information Security Foundationhttp://www.openinfosecfoundation.org

Fondation à but non lucratif dont le but est de construire unmoteur IDS/IPS de nouvelle générationSoutenue financièrement par le gouvernement américain (DHS,Navy)Développement d’un IDS/IPS Open Source :

Financement des développeurs

Board chargé de définir les orientations

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 5 / 35

Page 8: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

À propos de l’OISF

Open Information Security Foundationhttp://www.openinfosecfoundation.org

Fondation à but non lucratif dont le but est de construire unmoteur IDS/IPS de nouvelle générationSoutenue financièrement par le gouvernement américain (DHS,Navy)Développement d’un IDS/IPS Open Source :

Financement des développeursBoard chargé de définir les orientations

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 5 / 35

Page 9: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

À propos de l’OISF

Membres du consortiumProgramme HOST : Homeland Open Security TechnologyNiveau or : Npulse, EndaceNiveau bronze : EdenWall, Nitro Security, Mara systems, . . .

Partenaire technologique : Napatech, NvidiaDéveloppeurs

Leader : Victor Julien

Développeurs : Anoop Saldanha, Gurvinder Singh, Pablo Rincon,William Metcalf, Eric Leblond, . . .

BoardMatt JonkmannRichard Bejtlich, Dr. Jose Nazario, Joel Ebrahimi, Marc Norton,Stuart Wilson. . .

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 6 / 35

Page 10: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

À propos de l’OISF

Membres du consortiumProgramme HOST : Homeland Open Security TechnologyNiveau or : Npulse, EndaceNiveau bronze : EdenWall, Nitro Security, Mara systems, . . .Partenaire technologique : Napatech, Nvidia

DéveloppeursLeader : Victor Julien

Développeurs : Anoop Saldanha, Gurvinder Singh, Pablo Rincon,William Metcalf, Eric Leblond, . . .

BoardMatt JonkmannRichard Bejtlich, Dr. Jose Nazario, Joel Ebrahimi, Marc Norton,Stuart Wilson. . .

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 6 / 35

Page 11: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

À propos de l’OISF

Membres du consortiumProgramme HOST : Homeland Open Security TechnologyNiveau or : Npulse, EndaceNiveau bronze : EdenWall, Nitro Security, Mara systems, . . .Partenaire technologique : Napatech, Nvidia

DéveloppeursLeader : Victor Julien

Développeurs : Anoop Saldanha, Gurvinder Singh, Pablo Rincon,William Metcalf, Eric Leblond, . . .

BoardMatt JonkmannRichard Bejtlich, Dr. Jose Nazario, Joel Ebrahimi, Marc Norton,Stuart Wilson. . .

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 6 / 35

Page 12: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

À propos de l’OISF

Membres du consortiumProgramme HOST : Homeland Open Security TechnologyNiveau or : Npulse, EndaceNiveau bronze : EdenWall, Nitro Security, Mara systems, . . .Partenaire technologique : Napatech, Nvidia

DéveloppeursLeader : Victor JulienDéveloppeurs : Anoop Saldanha, Gurvinder Singh, Pablo Rincon,William Metcalf, Eric Leblond, . . .

BoardMatt JonkmannRichard Bejtlich, Dr. Jose Nazario, Joel Ebrahimi, Marc Norton,Stuart Wilson. . .

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 6 / 35

Page 13: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

À propos de l’OISF

Membres du consortiumProgramme HOST : Homeland Open Security TechnologyNiveau or : Npulse, EndaceNiveau bronze : EdenWall, Nitro Security, Mara systems, . . .Partenaire technologique : Napatech, Nvidia

DéveloppeursLeader : Victor JulienDéveloppeurs : Anoop Saldanha, Gurvinder Singh, Pablo Rincon,William Metcalf, Eric Leblond, . . .

BoardMatt JonkmannRichard Bejtlich, Dr. Jose Nazario, Joel Ebrahimi, Marc Norton,Stuart Wilson. . .

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 6 / 35

Page 14: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Buts

Apporter de nouvelles technologies aux IDSPerformance

Multi-threadéAccélération matériellehttp://packetchaser.org/index.php/opensource/suricata-10gbps

Open sourceSupport de Linux / *BSD / Mac OSX / Windows

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 7 / 35

Page 15: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Projets similaires

BroPositionnement différent (orientation capture)Études statistiques

SnortFonctionnellement équivalentCompatibilitéConcurrence frontaleSourcefire se sent menacé et est agressifhttp://www.informationweek.com/news/software/enterprise_apps/226400079

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 8 / 35

Page 16: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Volume de code

Suricata

Snort

Source : ohloh.net

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 9 / 35

Page 17: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Suricata vs Snort

SuricataSoutenu par une fondationMulti-threadéIPS natifFonctions avancées(flowint, libHTP)Support de PF_RINGCode moderne etmodulaireJeune mais dynamique

SnortDéveloppé par SourcefireMulti-processIPS supportéJeu de règles SO (logiqueavancée + perf mais fermé)Pas d’accélérationmatérielleCode vieillissant10 ans d’expérience

Étude intéressante :http://www.aldeid.com/index.php/Suricata-vs-snort

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 10 / 35

Page 18: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

1 IntroductionIntroductionObjectifs du projetEcosystème

2 FonctionnalitésListe des fonctionnalitésSignaturesStream inlineCUDA

3 Fonctions avancées de suricatalibHTPVariables de fluxFonctions avancées du mode IPS

4 Le futurFonctionnalités planifiéesPlus d’informations

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 11 / 35

Page 19: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Fonctionnalités

Support Ipv6 natif

Multi-threadéeAccélération matérielle native (Accélération par GPU, PF_RING)De nombreuses options pour optimiser les performancesSupport optimisé des tests sur IP seulesIPS (mode inline) natif

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 12 / 35

Page 20: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Fonctionnalités

Support Ipv6 natifMulti-threadée

Accélération matérielle native (Accélération par GPU, PF_RING)De nombreuses options pour optimiser les performancesSupport optimisé des tests sur IP seulesIPS (mode inline) natif

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 12 / 35

Page 21: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Fonctionnalités

Support Ipv6 natifMulti-threadéeAccélération matérielle native (Accélération par GPU, PF_RING)

De nombreuses options pour optimiser les performancesSupport optimisé des tests sur IP seulesIPS (mode inline) natif

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 12 / 35

Page 22: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Fonctionnalités

Support Ipv6 natifMulti-threadéeAccélération matérielle native (Accélération par GPU, PF_RING)De nombreuses options pour optimiser les performances

Support optimisé des tests sur IP seulesIPS (mode inline) natif

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 12 / 35

Page 23: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Fonctionnalités

Support Ipv6 natifMulti-threadéeAccélération matérielle native (Accélération par GPU, PF_RING)De nombreuses options pour optimiser les performancesSupport optimisé des tests sur IP seules

IPS (mode inline) natif

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 12 / 35

Page 24: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Fonctionnalités

Support Ipv6 natifMulti-threadéeAccélération matérielle native (Accélération par GPU, PF_RING)De nombreuses options pour optimiser les performancesSupport optimisé des tests sur IP seulesIPS (mode inline) natif

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 12 / 35

Page 25: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Architecture globale

Enchainement des modules de traitementsChaque running mode peut avoir sa propre architecture

Architecture du mode pcap auto v1 :

Paramétrage fin des préférences CPUAffectation d’un thread à un CPUD’une famille de threads à un ensemble de CPUPermet la prise en compte des IRQs

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 13 / 35

Page 26: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Architecture globale

Enchainement des modules de traitementsChaque running mode peut avoir sa propre architectureArchitecture du mode pcap auto v1 :

Paramétrage fin des préférences CPUAffectation d’un thread à un CPUD’une famille de threads à un ensemble de CPUPermet la prise en compte des IRQs

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 13 / 35

Page 27: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Architecture globale

Enchainement des modules de traitementsChaque running mode peut avoir sa propre architectureArchitecture du mode pcap auto v1 :

Paramétrage fin des préférences CPUAffectation d’un thread à un CPUD’une famille de threads à un ensemble de CPUPermet la prise en compte des IRQs

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 13 / 35

Page 28: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Modules d’entrées

IDSPCAP

live, multi interfacehors ligne

PF_RINGhttp://www.ntop.org/PF_RING.html

IPSNFQueue :

Linux : multi-queueWindows

ipfw :FreeBSDNetBSD

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 14 / 35

Page 29: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Modules d’entrées

IDSPCAP

live, multi interfacehors ligne

PF_RINGhttp://www.ntop.org/PF_RING.html

IPSNFQueue :

Linux : multi-queueWindows

ipfw :FreeBSDNetBSD

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 14 / 35

Page 30: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Modules de sortie

FastlogUnified log (Barnyard 1 & 2)HTTP log (log dans un format de type apache)Prelude (IDMEF)

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 15 / 35

Page 31: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Signatures

Support de presque toutes les signatures de snortSupport de fonctionnalités exclusives utilisées par les rulesetscomme VRT ou Emerging Threats

alert tcp any any -> 192.168.1.0/24 21 (content : "USER root" ; msg : "FTP root login" ;)

Action : alert / drop / pass Paramètres IP Motif Autres paramètres

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 16 / 35

Page 32: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Signatures

Support de presque toutes les signatures de snortSupport de fonctionnalités exclusives utilisées par les rulesetscomme VRT ou Emerging Threats

alert tcp any any -> 192.168.1.0/24 21 (content : "USER root" ; msg : "FTP root login" ;)

Action : alert / drop / pass

Paramètres IP Motif Autres paramètres

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 16 / 35

Page 33: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Signatures

Support de presque toutes les signatures de snortSupport de fonctionnalités exclusives utilisées par les rulesetscomme VRT ou Emerging Threats

alert tcp any any -> 192.168.1.0/24 21 (content : "USER root" ; msg : "FTP root login" ;)

Action : alert / drop / pass

Paramètres IP

Motif Autres paramètres

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 16 / 35

Page 34: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Signatures

Support de presque toutes les signatures de snortSupport de fonctionnalités exclusives utilisées par les rulesetscomme VRT ou Emerging Threats

alert tcp any any -> 192.168.1.0/24 21 (content : "USER root" ; msg : "FTP root login" ;)

Action : alert / drop / pass Paramètres IP

Motif

Autres paramètres

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 16 / 35

Page 35: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Signatures

Support de presque toutes les signatures de snortSupport de fonctionnalités exclusives utilisées par les rulesetscomme VRT ou Emerging Threats

alert tcp any any -> 192.168.1.0/24 21 (content : "USER root" ; msg : "FTP root login" ;)

Action : alert / drop / pass Paramètres IP Motif

Autres paramètres

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 16 / 35

Page 36: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Stream inline

L’analyse au niveau applicatif travaille sur un flux de donnéesLes données envoyés dans une session TCP peuvent êtredésordonnées

Perte de paquetsRéemission de paquetsPaquets arrivant dans le désordre

l’IDP S doit donc reconstruire les flux TCP avant de les livrer à

l’analyse applicative

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 17 / 35

Page 37: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Problématique

Prise en compte des différences entre IDS et IPSL’IDS doit être au plus proche de ce qui est reçu par la cible

Analyse des paquets quand leur réception est établieLa réception d’un ACK déclenche l’analyse des données

l’IPS doit bloquer les paquets avant qu’ils atteignent leur cibleLa technique de l’IDS bloquerait les paquets après passageIl faut donc envisager une autre solution

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 18 / 35

Page 38: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

IPS comme point de contrôle

l’IPS agit comme un point de bloquageIl est donc représentatif de ce qui traverseIl peut donc reconstruire les flux avant de les envoyer

Solution retenueReconstruction des segments de données à la réceptionPassage de données reconstruites à la couche applicativeDécision prise sur la donnéeRéécriture des paquets si nécessaireTransmission

Détails : http://www.inliniac.net/blog/2011/01/31/suricata-ips-improvements.html

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 19 / 35

Page 39: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

IPS comme point de contrôle

l’IPS agit comme un point de bloquageIl est donc représentatif de ce qui traverseIl peut donc reconstruire les flux avant de les envoyer

Solution retenueReconstruction des segments de données à la réceptionPassage de données reconstruites à la couche applicativeDécision prise sur la donnéeRéécriture des paquets si nécessaireTransmission

Détails : http://www.inliniac.net/blog/2011/01/31/suricata-ips-improvements.html

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 19 / 35

Page 40: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

IPS comme point de contrôle

l’IPS agit comme un point de bloquageIl est donc représentatif de ce qui traverseIl peut donc reconstruire les flux avant de les envoyer

Solution retenueReconstruction des segments de données à la réceptionPassage de données reconstruites à la couche applicativeDécision prise sur la donnéeRéécriture des paquets si nécessaireTransmission

Détails : http://www.inliniac.net/blog/2011/01/31/suricata-ips-improvements.html

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 19 / 35

Page 41: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

CUDA

Utilisation de CUDA (architecture de calcul parrallèle dévéloppéepar NVIDIA)Actuellement : implémentation d’un algorithme de matching enCUDATravail en cours, Nvidia est partenaire technologique de l’OISF

Difficulté d’utiliser le pipeline du GPU de manière efficace... Performance similaire avec ou sans (avec des CPUs décents)

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 20 / 35

Page 42: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

CUDA

Utilisation de CUDA (architecture de calcul parrallèle dévéloppéepar NVIDIA)Actuellement : implémentation d’un algorithme de matching enCUDATravail en cours, Nvidia est partenaire technologique de l’OISFDifficulté d’utiliser le pipeline du GPU de manière efficace

... Performance similaire avec ou sans (avec des CPUs décents)

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 20 / 35

Page 43: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

CUDA

Utilisation de CUDA (architecture de calcul parrallèle dévéloppéepar NVIDIA)Actuellement : implémentation d’un algorithme de matching enCUDATravail en cours, Nvidia est partenaire technologique de l’OISFDifficulté d’utiliser le pipeline du GPU de manière efficace... Performance similaire avec ou sans (avec des CPUs décents)

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 20 / 35

Page 44: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

1 IntroductionIntroductionObjectifs du projetEcosystème

2 FonctionnalitésListe des fonctionnalitésSignaturesStream inlineCUDA

3 Fonctions avancées de suricatalibHTPVariables de fluxFonctions avancées du mode IPS

4 Le futurFonctionnalités planifiéesPlus d’informations

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 21 / 35

Page 45: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

libHTP

Parseur orienté sécurité du protocole HTTPÉcrit par Ivan Ristic (ModSecurity, IronBee)Suivi des fluxSupport des mots clés

http_bodyhttp_raw_urihttp_headerhttp_cookie. . .

Capable de décoder des flux compressés par Gzip

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 22 / 35

Page 46: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Utilisation de HTTP dans les règles

Exemple de règles : Chat facebook

a l e r t h t t p $HOME_NET any −> $EXTERNAL_NET $HTTP_PORTS \(msg : "ET CHAT Facebook Chat ( send message ) " ; \flow : es tab l ished , to_server ; content : "POST" ; http_method ; \content : " / a jax / chat / send . php " ; h t t p _ u r i ; content : " facebook . com" ; ht tp_header ; \classtype : po l i cy−v i o l a t i o n ; reference : u r l , doc . emerg ingthreats . net /2010784; \reference : u r l ,www. emerg ingthreats . net / cgi−bin / cvsweb . cg i / s igs / POLICY / POLICY_Facebook_Chat ; \sid :2010784; rev : 4 ; \

)

Cette signature teste donc :La méthode HTTP : POSTLa page : /ajax/chat/send.phpLe domaine : facebook.com

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 23 / 35

Page 47: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Variables de flux

ObjectifsDétection des attaques en étapesVérification de conditions sur un fluxModification du traitement sur l’alerteMachine à état au sein du flux

FlowbitsCondition booléennePositionnement d’undrapeau

FlowintDéfinition de compteurOpération arithmétique

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 24 / 35

Page 48: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Variables de flux

ObjectifsDétection des attaques en étapesVérification de conditions sur un fluxModification du traitement sur l’alerteMachine à état au sein du flux

FlowbitsCondition booléennePositionnement d’undrapeau

FlowintDéfinition de compteurOpération arithmétique

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 24 / 35

Page 49: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Variables de flux

ObjectifsDétection des attaques en étapesVérification de conditions sur un fluxModification du traitement sur l’alerteMachine à état au sein du flux

FlowbitsCondition booléennePositionnement d’undrapeau

FlowintDéfinition de compteurOpération arithmétique

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 24 / 35

Page 50: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Variables de type Flowint

Permet la capture, le stockage et la comparaison de donnéesdans une variableStockage et opérations mathématiquesVariable lié à un flux donné

Ex : montre une alerte si et seulement si usernamecount est plusgrand que 5 :

a l e r t tcp any any −> any any (msg : " Counting Usernames " ; content : " jonkman " ; \

f lowint : usernamecount , + , 1 ; f lowint : usernamecount , > , 5 ; )

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 25 / 35

Page 51: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Variables de type FLowint (2)

Ex : Suivi des loginsMise en place d’un compteur des échecs de login :

a l e r t tcp any any −> any any (msg : " S t a r t a l o g i n count " ; content : " l o g i n f a i l e d " ; \f lowint : l o g i n f a i l , no tse t ; f lowint : l o g i n f a i l , = , 1 ; f lowint : n o a l e r t ; )a l e r t tcp any any −> any any (msg : " Counting Logins " ; content : " l o g i n f a i l e d " ; \f lowint : l o g i n f a i l , isset ; f lowint : l o g i n f a i l , + , 1 ; f lowint : n o a l e r t ; )

Alerte si il y a un login réussi après 5 échecs :

a l e r t tcp any any −> any any (msg : " Login success a f t e r f i l e f a i l u r e s " ; \content : " l o g i n success fu l " ; \

f lowint : l o g i n f a i l e d , isset ; f lowint : l o g i n f a i l e d , = , 5 ; )

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 26 / 35

Page 52: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Suricata en mode IPS

Utilisation IPS sous LinuxUtilisation de NFQUEUE pour déléguer la décision en espaceutilisateurTous les paquets d’une connexion doivent être vue par SuricataTechnique sauvage : iptables -A FORWARD -j NFQUEUE

Intéractions avec le pare-feuNFQUEUE est une règle terminale

Une décision ACCEPT courtcircuite le jeu de règleC’est la seule possible ormis DROP

La méthode décrite est donc incompatible avec l’existence d’unjeu de règles

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 27 / 35

Page 53: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Suricata en mode IPS

Utilisation IPS sous LinuxUtilisation de NFQUEUE pour déléguer la décision en espaceutilisateurTous les paquets d’une connexion doivent être vue par SuricataTechnique sauvage : iptables -A FORWARD -j NFQUEUE

Intéractions avec le pare-feuNFQUEUE est une règle terminale

Une décision ACCEPT courtcircuite le jeu de règleC’est la seule possible ormis DROP

La méthode décrite est donc incompatible avec l’existence d’unjeu de règles

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 27 / 35

Page 54: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Cohabitation de l’IPS avec le pare-feu

Solution classiqueUtilisation de PREROUTING

La règle est dans une table isoléeElle n’a donc pas d’intéraction avec le reste des règles

Solution alternativeUtilisation des fonctionnalités avancées de NFQUEUESimulation de décision non terminale ( c© Patrick Mchardy)

Détails : http://home.regit.org/2011/01/building-a-suricata-compliant-ruleset/

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 28 / 35

Page 55: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Cohabitation de l’IPS avec le pare-feu

Solution classiqueUtilisation de PREROUTING

La règle est dans une table isoléeElle n’a donc pas d’intéraction avec le reste des règles

Solution alternativeUtilisation des fonctionnalités avancées de NFQUEUESimulation de décision non terminale ( c© Patrick Mchardy)

Détails : http://home.regit.org/2011/01/building-a-suricata-compliant-ruleset/

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 28 / 35

Page 56: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Décision alternative et marquage des paquets

Décision alternativeNF_REPEAT : décision non terminaleNF_QUEUE : chainage des logiciels utilisant NFQUEUE (IPS ?)

nfq_set_markNouveau mot clé pour les signaturesDépôt d’une marque Netfilter sur le paquetUtilisation possible dans toutes les couches réseaux (QoS,routage, Netfilter)

Détails : http://home.regit.org/2011/04/some-new-features-of-ips-mode-in-suricata-1-1beta2/

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 29 / 35

Page 57: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Décision alternative et marquage des paquets

Décision alternativeNF_REPEAT : décision non terminaleNF_QUEUE : chainage des logiciels utilisant NFQUEUE (IPS ?)

nfq_set_markNouveau mot clé pour les signaturesDépôt d’une marque Netfilter sur le paquetUtilisation possible dans toutes les couches réseaux (QoS,routage, Netfilter)

Détails : http://home.regit.org/2011/04/some-new-features-of-ips-mode-in-suricata-1-1beta2/

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 29 / 35

Page 58: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Journalisation d’une connexion suspecte (1/2)

ObjectifDétection d’un comportement suspecteAugmentation de la journalisation de la connexion

MéthodeL’alerte pose une marque Netfilter sur le paquetNetfilter propage la marque sur tous les paquets de la connexionNetfilter journalise tous les paquets marqués

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 30 / 35

Page 59: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Journalisation d’une connexion suspecte (1/2)

ObjectifDétection d’un comportement suspecteAugmentation de la journalisation de la connexion

MéthodeL’alerte pose une marque Netfilter sur le paquetNetfilter propage la marque sur tous les paquets de la connexionNetfilter journalise tous les paquets marqués

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 30 / 35

Page 60: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Journalisation d’une connexion suspecte (2/2)

Alerte adaptée dans Suricata

pass tcp any any −> any any (msg : "We were expect ing you " ; content : "Mr Bond" ; \nfq_set_mark :0 x007 /0 x f f f ; )

Paramétrage de Netfilter

i p t a b l e s −I PREROUTING −t mangle − j CONNMARK −−res to re−marki p t a b l e s −A POSTROUTING −t mangle − j CONNMARK −−save−marki p t a b l e s −A POSTROUTING −t mangle −m mark −−mark 0x007 /0 x f f f − j NFLOG −−nf log−p r e f i x " Dr No log "

Ensuite ulogd2 envoie tout dans pcap ou SQL suivant le paramétrage

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 31 / 35

Page 61: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Journalisation d’une connexion suspecte (2/2)

Alerte adaptée dans Suricata

pass tcp any any −> any any (msg : "We were expect ing you " ; content : "Mr Bond" ; \nfq_set_mark :0 x007 /0 x f f f ; )

Paramétrage de Netfilter

i p t a b l e s −I PREROUTING −t mangle − j CONNMARK −−res to re−marki p t a b l e s −A POSTROUTING −t mangle − j CONNMARK −−save−marki p t a b l e s −A POSTROUTING −t mangle −m mark −−mark 0x007 /0 x f f f − j NFLOG −−nf log−p r e f i x " Dr No log "

Ensuite ulogd2 envoie tout dans pcap ou SQL suivant le paramétrage

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 31 / 35

Page 62: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Journalisation d’une connexion suspecte (2/2)

Alerte adaptée dans Suricata

pass tcp any any −> any any (msg : "We were expect ing you " ; content : "Mr Bond" ; \nfq_set_mark :0 x007 /0 x f f f ; )

Paramétrage de Netfilter

i p t a b l e s −I PREROUTING −t mangle − j CONNMARK −−res to re−marki p t a b l e s −A POSTROUTING −t mangle − j CONNMARK −−save−marki p t a b l e s −A POSTROUTING −t mangle −m mark −−mark 0x007 /0 x f f f − j NFLOG −−nf log−p r e f i x " Dr No log "

Ensuite ulogd2 envoie tout dans pcap ou SQL suivant le paramétrage

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 31 / 35

Page 63: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

1 IntroductionIntroductionObjectifs du projetEcosystème

2 FonctionnalitésListe des fonctionnalitésSignaturesStream inlineCUDA

3 Fonctions avancées de suricatalibHTPVariables de fluxFonctions avancées du mode IPS

4 Le futurFonctionnalités planifiéesPlus d’informations

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 32 / 35

Page 64: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Fonctionnalités planifiées

Finalisation de l’accélération par CUDA.Réputation IP et DNSExtraction de fichiers et leur inspectionSCADA Preprocesseur (grâce à Digital Bond)Mot clé replaceMot clé geoipRechargement du jeu de signatures sans rupture de l’analyse desfluxStateful Pattern Matching/Transaction-Aware Detections

Détails : http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/116-oisf-state-of-the-project-report-phase-two

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 33 / 35

Page 65: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Comment tester rapidement

Déjà disponible dans Debian, Ubuntu, Gentoo, FreebsdDistribution live :

SIEM live (Suricata + Prelude + Openvas) : https://www.wzdftpd.net/redmine/projects/siem-live/wiki

Smooth-Sec (Suricata + Snorby) :http://bailey.st/blog/smooth-sec/

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 34 / 35

Page 66: Présentation de l'IDPS Suricatahome.regit.org/wp-content/uploads/2011/05/2011_sollinux... · 2011. 5. 11. · 1 Introduction Introduction Objectifs du projet Ecosystème 2 Fonctionnalités

Questions

Avez-vous des questions ?

Merci à :Pierre Chifflier : http://www.wzdftpd.net/blog/Toute l’équipe de l’OISF et Victor Julien en particulier

Pour aller plus loin :Site de l’OISF : http://www.openinfosecfoundation.org/Site développeurs de Suricata :https://redmine.openinfosecfoundation.org/Blog de Victor Julien : http://www.inliniac.net/blog/Mon blog : http://home.regit.org

Me joindre :Courriel : [email protected] : Regiteric

Éric Leblond (OISF) Présentation de l’IDP S Suricata 11 mai 2011 35 / 35