Evaluating Alerts
Maitriser l'evaluation des alertes de securite, les regles Snort, les outils Security Onion et la classification des evenements.
- Comprendre les regles Snort (SID, sources, options)
- Maitriser les outils Security Onion (Sguil, Squert, OSSEC, Kibana)
- Classifier les alertes (True/False Positive/Negative)
- Comprendre la normalisation et la reduction des donnees NSM
- Connaitre les responsabilites SOC par niveau
📜 26.1 — Regles Snort et sources
Snort est le moteur IDS/IPS open source le plus deploye. Ses regles de detection ont un format specifique et proviennent de differentes sources.
Structure d'une regle Snort
Une regle Snort comprend deux parties principales :
| Partie | Contenu | Exemple |
|---|---|---|
| Rule Header | Action, protocole, IPs source/dest, ports, direction du flux | alert tcp $EXTERNAL_NET any -> $HOME_NET 80 |
| Rule Options | Texte decrivant l'evenement (message, contenu, metadonnees, SID) | (msg:"SQL Injection"; content:"UNION SELECT"; sid:1000001;) |
SID (Signature ID) et sources de regles
Le SID identifie de maniere unique chaque regle Snort. Les plages de SID indiquent la source :
| Plage SID | Source | Licence |
|---|---|---|
| < 3464 | Sourcefire (regles historiques) | GPL (GNU General Public License) |
| 3464 - 1 000 000 | VRT (Cisco Talos / Vulnerability Research Team) | Licence proprietaire Cisco (abonnement) |
| > 1 000 000 | ET (Emerging Threats, communaute) | BSD open source |
| Defini par l'utilisateur | Regles personnalisees locales | Interne a l'organisation |
Champ de message d'alerte
Dans une alerte Snort, un nombre comme 2100498 dans le champ de message represente le SID de la regle Snort declenchee. C'est l'identifiant qui permet de retrouver la regle exacte qui a genere l'alerte.
🎯 26.2 — Classification des alertes
Chaque alerte de securite doit etre classee selon qu'elle represente un vrai incident ou non :
| Classification | Alerte ? | Incident reel ? | Description |
|---|---|---|---|
| Vrai Positif (TP) | OUI | OUI | L'alerte correspond a un incident reel confirme |
| Faux Positif (FP) | OUI | NON | Fausse alerte — activite benigne declenchant l'alerte (ex: telechargement valide) |
| Vrai Negatif (TN) | NON | NON | Pas d'alerte, pas d'incident — fonctionnement normal |
| Faux Negatif (FN) | NON | OUI | Le plus dangereux — intrusion non detectee par l'IDS |
Categories d'evenements dans Sguil
Dans Sguil, lorsqu'un analyste assigne une categorie a un evenement, il choisit parmi sept categories predefinies de vrais positifs. L'objectif est de classifier la nature de l'incident confirme (malware, reconnaissance, exploitation, policy violation, etc.).
Responsabilites SOC par niveau
| Niveau | Role | Responsabilite principale |
|---|---|---|
| Niveau 1 | Operateurs / Analystes Triage | Verifier si les alertes correspondent a de vrais incidents |
| Niveau 2 | Analystes Incident | Investigation approfondie, correlation, remediation |
| Niveau 3 | Experts / Threat Hunters | Analyse avancee, reverse engineering, threat hunting proactif |
| SOC Manager | Responsable SOC | Coordination, metriques, amelioration continue |
🧅 26.3 — Outils Security Onion
Security Onion est une distribution Linux dediee au NSM (Network Security Monitoring). Elle integre plusieurs outils specialises :
| Outil | Type | Fonction |
|---|---|---|
| Sguil | Console d'alertes | Premier outil pour examiner et verifier les alertes. Interface de triage et investigation |
| Squert | Interface visuelle NSM | Fournit une interface visuelle aux donnees NSM (vue web des alertes) |
| OSSEC | HIDS | Detection d'intrusion host-based utilisant des regles syscall pour detecter les changements systeme |
| Kibana | Visualisation / Dashboards | Permet de concevoir des dashboards personnalises pour l'analyse des donnees |
| Snort / Suricata | NIDS/NIPS | Detection d'intrusion reseau basee sur les signatures |
| Bro / Zeek | Analyseur de trafic | Analyse comportementale du trafic reseau |
| ELK Stack | Log management | Elasticsearch + Logstash + Kibana pour l'indexation et la recherche de logs |
| CapME | Capture viewer | Interface web pour visualiser les captures de paquets (PCAP) |
2. Squert : vue d'ensemble visuelle des tendances
3. Kibana : dashboards personnalises pour l'analyse approfondie
4. CapME : examiner les paquets captures si necessaire
🔄 26.4 — Normalisation, reduction et analyse des donnees
Normalisation des donnees
La normalisation est le processus de conversion des entrees de log dans un format commun. Son objectif principal est de simplifier la recherche d'evenements correles. Sans normalisation, il serait impossible de croiser des logs provenant de systemes differents.
Reduction des donnees NSM
La reduction des donnees NSM a pour but de diminuer la quantite de donnees NSM a traiter. Les techniques incluent :
- Filtrage : supprimer les evenements non pertinents
- Aggregation : regrouper les evenements similaires
- Echantillonnage : ne conserver qu'un echantillon representatif
- Deduplication : eliminer les doublons
Logs de firewall traditionnels
Les logs de securite des firewalls traditionnels sont bases sur les quintuplets (5-tuple) :
| # | Element | Description |
|---|---|---|
| 1 | IP source | Adresse IP de l'emetteur |
| 2 | IP destination | Adresse IP du destinataire |
| 3 | Port source | Port de l'emetteur |
| 4 | Port destination | Port du destinataire |
| 5 | Protocole | TCP, UDP, ICMP, etc. |
Hash de fichiers dans les investigations
La valeur de hash d'un fichier est utile dans les investigations de securite car elle permet d'identifier les signatures de programmes malveillants. En comparant le hash d'un fichier suspect avec une base de hashes malveillants connus (VirusTotal, MISP), on peut determiner instantanement si le fichier est malveillant.
Expressions regulieres (Regex)
Les expressions regulieres (regex) sont la technologie standard pour la correspondance de motifs par symboles. Elles suivent les standards POSIX et Perl (PCRE) et sont utilisees dans les regles Snort, les requetes SIEM et les scripts d'analyse.
⚙️ 26.5 — Options avancées Snort
Au-delà de la syntaxe de base, Snort offre des options avancées pour contrôler quand et comment les alertes sont générées, réduisant les faux positifs.
| Option | Description | Exemple |
|---|---|---|
| threshold | Limite le nombre d'alertes générées pour une même règle | threshold: type limit, track by_src, count 1, seconds 60; → 1 alerte max par IP source par minute |
| detection_filter | Ne génère une alerte qu'après un certain nombre d'occurrences | detection_filter: track by_src, count 30, seconds 60; → alerte seulement après 30 occurrences en 60s |
| suppress | Supprime complètement les alertes pour certaines IP ou plages | suppress gen_id 1, sig_id 2100498, track by_dst, ip 10.1.1.0/24 |
| flowbits | Permet de suivre l'état d'une session et corréler plusieurs paquets | Détecter une séquence : login → commande suspecte |
| pcre | Expressions régulières Perl pour le pattern matching avancé | pcre:"/\/etc\/passwd/i"; |
Types de threshold
| Type | Comportement |
|---|---|
| limit | Alerte uniquement les N premières fois, puis silence |
| threshold | Alerte à chaque Nème occurrence (toutes les N fois) |
| both | Alerte une fois après N occurrences dans la fenêtre de temps, puis silence |
threshold: type limit, count 1, seconds 60, une seule alerte est générée par minute — réduisant drastiquement le bruit tout en conservant la visibilité.
📝 26.6 — Quiz de revision
Points cles du Module 26
- Un SID Snort < 3464 = cree par Sourcefire sous licence GPL
- La section Rule Options de Snort contient le texte decrivant l'evenement
- Sguil est le premier outil pour examiner les alertes dans Security Onion
- Squert fournit l'interface visuelle NSM ; Kibana pour les dashboards personnalises
- OSSEC est le HIDS de Security Onion (regles syscall)
- Vrai Positif = alerte + incident reel ; Faux Negatif = pas d'alerte + intrusion reelle (le plus dangereux)
- La normalisation simplifie la recherche d'evenements correles
- Les firewalls traditionnels loguent sur base de quintuplets (5-tuple)
- Les operateurs SOC Niveau 1 verifient si les alertes sont de vrais incidents
- Les options threshold, detection_filter et suppress de Snort réduisent les faux positifs
- flowbits permet de corréler plusieurs paquets dans une même session