Introduction au SOC

Présentation 

Steven DIAS 

 

  • Analyste SOC N2 - AIRBUS Protect
  • RNCP 7 Bordeaux YNOV Campus
  • Réserviste opérationnel cyberdéfense 

 

 

Déroulé du cours 

3 Séances prévus :

  • Fondamentaux et concepts 
  • Méthodologie de détection et triage 
  • Analyse et réponse au incidents

 

Plusieurs TP : 

  • Découverte des logs 
  • Analyse de logs et détection + Utilisation d'un SIEM 
  • Investigation d'un incident complet

 

Evaluation

QCM à chaque séance (sauf la première) 

Format -> 20 questions 1 point par question et pas de point négatif

 

Restitution écrite ou orale des TP : 

Exemple -> Réalisation d'un compte rendu d'investigation d'une alerte SOC 

 

 

Des questions ?/Des attentes ? 

Introduction au SOC

  • Comprendre ce qu'est un SOC et pourquoi il existe
  • Identifier les rôles L1/L2/L3 et leurs responsabilités
  • Distinguer les modèles d'organisation d'un SOC
  • Appréhender les métriques clés de performance (MTTD, MTTR)
  • Visualiser le flux de travail d'un analyste au quotidien

Objectifs de cette séance 

Le monde sous menace cyber

  • En 2024 il y a eu une progression de 14% des cyberattaques 
  • L'ANSSI a traité 4386 évènements de sécurité +15% par rapport à 2023 (ANSSI)
  • Le coût moyen mondial d'une violation de données atteint 4,44 M $ en 2025 (IBM Cost of a Data Breach)

T-pot Honeypot map 

Définition du SOC

Un Security Operations Center (SOC) est une unité centralisée, composée de personnes, de processus et de technologies, dont la mission est de surveiller en continu (24h/24, 7j/7) l'environnement informatique d'une organisation afin de détecter, analyser, répondre et prévenir les incidents de sécurité.

Rôle du SOC dans une organisation

Le SOC travaille dans un écosystème de sécurité 

Architecture d'un SOC : N1/N2/N3

Structure en différent niveaux, comme dans une équipe médicale 

Détails des différents niveaux SOC

Niveau Rôle principal Activités clés
N1 Triage & Monitoring Surveillance SIEM 24/7, triage des alertes, classification vrai/faux positif, escalade vers L2, documentation tickets
N2 Investigation Analyse approfondie incidents, corrélation multi-sources, réponse aux incidents, création de règles SIEM, intégration Threat Intel, mentoring L1
N3 Threat Hunting & Expertise Chasse aux menaces proactives, forensic avancé, reverse engineering malware, architecture de détection, gestion des incidents majeurs, R&D

Modèle d'organisation d'un SOC

Modèle Description Avantages Inconvénients
SOC Interne Équipe dédiée en interne 24/7 Contrôle total, connaissance du contexte métier Coût élevé, difficulté de recrutement
SOC Externalisé (MSSP) Délégation à un prestataire Expertise immédiate, coût maîtrisé Moins de contexte métier, dépendance
​SOC Hybride Mix interne + MSSP ​Flexibilité, escalade possible Coordination complexe
SOC-as-a-service Consommation à la demande (cloud) Agilité, scalabilité Customisation limitée, données cloud
Virtual SOC ​Équipe distribuée, pas de salle dédiée Coût réduit, talents géographiques Cohésion d'équipe plus difficile

Il existe différents modèles selon les besoins et ressources 

Journée d'un analyste SOC N1

Prise de poste : Briefing par l'analyste sortant 

  • Statut du dernier shift ?
  • Incidents en cours 
  • Point d'attention particuliers ? 

 

Monitoring en continue du Dasbhoard SOC 

  • Surveillance des alertes en temps réel 
  • Vérification des dashboards réseau

 

🚨Réception d'une alerte 

  1. Lire l'alerte (quoi, où, quand)
  2. Enrichir (contexte user, asset, IP)
  3. Classer : vrai ou faux positif ?
  4. Si vrai positif → escalader à L2 + ticket
  5. Documenter dans le SIEM/ticketing

Journée d'un analyste SOC N2 chez Airbus Protect

 

  • Traitement des alertes N2 de Nuit
  • Traitement du triage (Signaux faibles en provenance des capteurs
  • Préparation des Comités opérationnels
  • Monitoring des alertes N2 Critiques
  • Travaux de build SOC/Améliorations continue
  • Threat Hunting/Threat intelligence

 

Présentation d'un dashboard SOC

Métriques clés de performance d'un SOC

 KPI (Key Performance Indicator) : indicateur chiffré permettant de mesurer la performance d'une équipe SOC.

Métrique Signification Objectif type
MTTD (Mean Time To Detect) Temps moyen entre début de l'attaque et sa détection < 7 min (critique), < 30 min (haut) 
MTTR (Mean Time To Respond) Temps moyen entre détection et début de réponse < 1h (critique), < 2h (haut) 
MTTC (Mean Time To Contain) Temps moyen de confinement complet < 120 min (critique) 
Taux de faux positifs % alertes sans menace réelle < 20% idéalement
Volume d'alertes traités Nombre d'alertes par analyste/jour Indicateur de surcharge
Taux de détection % incidents réels détectés Le plus haut possible

Cas d'usage concrets traités par un SOC

Cas 1 - Phishing + Credential Stuffing

 

Email phishing reçu par 50 employés
    → Clic sur le lien par 3 personnes
    → Saisie identifiants sur faux portail
    → Connexion malveillante depuis IP roumaine
    → Alertes SIEM : connexion hors zone géographique

 

Quel Réaction du SOC ? 

Cas d'usage concrets traités par un SOC

Cas 2 - Ransomware

 

Macro Excel malveillante ouverte par un comptable
    → PowerShell lancé en arrière-plan
    → Tentative de connexion vers C2 externe
    → EDR détecte et bloque un comportement anormal

 

 

Quel Réaction du SOC ? 

 

Cas d'usage concrets traités par un SOC

Cas 3 - Insider Threat

 

Employé sur le départ exfiltre 2 Go de données client
    → DLP détecte upload massif vers Dropbox personnel

 

Quel Réaction du SOC ? 

 

Le cycle de vie d'un incident

Présentation de consoles EDR

Paysage des menaces et frameworks

  • Identifier les principales menaces qui arrivent dans un SOC
  • Comprendre la logique d'une attaque grâce à la Cyber Kill Chain
  • Utiliser le framework MITRE ATT&CK pour contextualiser les menaces
  • Maîtriser les types d'IOCs et leur utilité opérationnelle
  • Comprendre la Pyramid of Pain et son impact défensif
  • Avoir une vision de la réglementation applicable (NIS2, RGPD, ISO 27001)

Objectifs de cette séance 

Paysage des menaces

Menace Fréquence Impact typique Vecteur principal
Phishing ~90% des intrusions Vol identifiants, infection Email
Ransomware En hausse constante Paralysie opérationnelle Phishing, Services exposé
APT Ciblé, rare Espionnage, sabotage Spear-phishing, 0-day
Malware (Trojan, stealer)  Très fréquent Exfiltration, accès persistant Web, email, USB
DDoS Très fréquent Indisponibilité de service Botnet
Insider Threat Sous-estimé Exfiltration, sabotage Accès légitime détourné
Supply Chain Attack En forte hausse Impact massif, Déploiement en masse Dépendances logicielles

Ce que les SOC voient arriver chaque jour :

Zoom : Le Phishing 

De : support@miicrosoft.com

À  : john.doe@entreprise.fr
Sujet : ⚠️ Action requise – Votre compte va expirer

Bonjour John Doe,
Votre compte Microsoft 365 sera désactivé dans 24h.
Cliquez ici pour confirmer vos identifiants :

  [ https://login.micros0ft-secure.com/verify ]
                   

Cordialement,

L'équipe Microsoft Support

Anatomie d'un email de phishing typique :

Zoom : Le Phishing 

Ce qu'il faut voir côté SOC :

  • Domaine expéditeur suspect (miicrosoft.com)
  • URL de destination non-officielle
  • Urgence artificielle (technique de pression)
  • Demande de credentials par email 

 

Variants à connaître :

  • Spear-phishing : ciblé (nom, poste, contexte réel de la victime)
  • Whaling : phishing visant les dirigeants (PDG, CFO)
  • Vishing : phishing vocal (appel téléphonique frauduleux)
  • Smishing : phishing par SMS

Zoom : Le Ransomware

Cycle de vie d'une attaque ransomware

Pourquoi le ransomware est redouté ? :
 

Temps de détection critique : si le chiffrement démarre, il faut stopper immédiatement

Double extorsion : les données sont exfiltrées avant chiffrement → menace de publication

RaaS (Ransomware-as-a-Service) : accessible à des attaquants peu techniques

 

En 2021, l'hôpital de Dax (France) a été touché par le ransomware Ryuk. Résultat : 3 semaines de retour au papier, des opérations reportées, un coût de remédiation de 2,5M€

Zoom : APT, Malware, DOOS

APT (Advanced Persistent Threat) :

Définition : Acteur (souvent étatique) qui s'infiltre discrètement dans un réseau pour y rester longtemps, voler des données ou préparer un sabotage. Priorité à la furtivité, pas à la rapidité.

  • Caractéristiques : discret, patient, multi-vecteurs, ressources importantes
  • Exemples : APT28 (Fancy Bear / Russie), APT41 (Chine), Lazarus (Corée du Nord)
  • Ce que voit le SOC : connexions inhabituelles, mouvements latéraux lents, outils légitimes détournés (Living-off-the-Land)

Zoom : APT, Malware, DOOS

Malware - Taxonomie simplifiée :

 

Type Objectif Exemple
Trojan Accès furtif à distance Emotet, Qakbot
Stealer Voler mots de passe, cookies RedLine Stealer
RAT Contrôle complet du poste AsyncRAT, Cobalt Strike
Rootkit Se cacher dans l'OS TDL4
Worm Se propager automatiquement WannaCry

DDoS (Distributed Denial of Service) :

  • Inonde un service de trafic jusqu'à indisponibilité
  • Peut être une diversion pendant une vraie intrusion
  • Détection SOC : pics de trafic anormaux, alertes WAF/firewall

La Cyber Kill Chain (Lockheed Martin)

Modèle développé par Lockheed Martin en 2011 décrivant les 7 étapes séquentielles qu'un attaquant doit franchir pour atteindre son objectif. 

La Cyber Kill Chain (Lockheed Martin)

Vision défensive de la cyberkillchain 

Etape Défense possible
Recon Limiter l'exposition publique, OSINT défensif
Weaponization Sandboxing des fichiers entrants
Delivery Filtrage email (anti-spam, anti-phishing), proxy web
Exploitation Patch management, EDR (détection exploit)
Installation EDR, détection persistance, contrôle intégrité
C2 Blocage IP/domaine, détection beaconing réseau
Actions DLP, surveillance accès, isolation rapide

MITRE ATT&CK : Introduction

Base de connaissances mondiale, maintenue par MITRE Corporation, documentant les tactiques, techniques et procédures (TTPs) utilisées par des attaquants réels, observées sur des incidents authentiques.

Cyber Kill Chain MITTRE ATT&CK
Granularité 7 étapes macro 14 tactiques, 200+ techniques
Usage Vision stratégique d'une attaque Investigation précise, détection
Maintenance Statique (2011) Mise à jour régulière (v18 - Oct 2025) 
Orientation Processus attaquant TTPs détaillées + détection

MITRE ATT&CK : Introduction

Les 3 concepts clé : 

TACTIQUE  →  "Pourquoi ?"                        L'objectif tactique de l'attaquant
                                                                       ex: Initial Access, Persistence, Lateral Movement

 

TECHNIQUE →  "Comment ?"                   La méthode utilisée
                                                                       ex: T1078 - Valid Accounts

 

PROCÉDURE →  "Dans les détails ?"       L'implémentation spécifique d'un groupe
                                                                      ex: APT28 utilise T1078 via RDP

MITRE ATT&CK : Les 14 Tactiques Enterprise

MITRE ATT&CK Navigator : Démonstration

Indicateurs de Compromission (IOCs)

Les IOCs (Indicators of Compromise) sont des artefacts techniques observables qui indiquent qu'un système a potentiellement été compromis ou est ciblé par une menace.

Type d'IOC Exemple Ou le trouver
Hash de fichier MD5, SHA1, SHA256 du malware EDR, sandbox, AV logs
Adresse IP 185.220.101.45 (C2 connu) Firewall, proxy, NetFlow
Nom de domaine evil-c2[.]ru DNS logs, proxy
URL https://malware[.]xyz/pay Proxy, mail gateway
Email invoice@fake-supplier[.]com Mail gateway logs
Mutex / clé reg HKLM\Software\evil\persist EDR, Sysmon (Event 13)

Indicateurs de Compromission (IOCs)

Où vérifier un IOC en opérationnel :

 

  •  VirusTotal (virustotal.com) — Hash, IP, domaine, URL
  • AbuseIPDB (abuseipdb.com) — Réputation IP
  • URLhaus (urlhaus.abuse.ch) — URLs malveillantes connues
  • Shodan (shodan.io) — Contexte d'une IP/service
  • MalwareBazaar (bazaar.abuse.ch) — Hashes de malwares connus

 

Pyramid of Pain

Modèle créé par David J. Bianco (2013) qui classe les IOCs selon la difficulté que leur détection impose à l'attaquant.

Pyramid of Pain

Implication pratique pour le SOC : 

Niveau Stratégie défensive Durée de vie 
Hash Blocage IOC (signature) Quelques heures
IP Blocage firewall, enrichissement Jours
Domaine DNS sinkhole, blocage proxy Jours à semaines
Artifacts Détection comportementale Semaines
Outils Détection signatures outils Mois
TTPs Détection comportementale via MITRE ATT&CK Permanent

De l'IOC à l'alerte : Flux opérationnel

Comment un IOC devient une alerte dans le SIEM : 

De l'IOC à l'alerte : Flux opérationnel

Les 3 natures d'IOCs à retenir opérationnellement :

Introduction aux cadres réglementaires 

NIS2 (Network and Information Security Directive 2)

  • Directive européenne de cybersécurité adoptée en 2022 qui oblige un grand nombre d'organisations à atteindre un niveau minimum de sécurité informatique.
Aspect Détail
Périmètre Entités essentielles et importantes (énergie, santé, finance, transports…)
Obligation clé SOC Signalement d'incident significatif sous 24h (notification initiale) puis 72h (rapport détaillé)
Sanctions Jusqu'à 10M€ ou 2% du CA mondial
Entrée en vigueur Transposée en France par la loi en 2024

Introduction aux cadres réglementaires 

RGPD (Règlement Général sur la Protection des Données)

  • Règlement européen entré en vigueur en mai 2018 qui encadre la collecte, le traitement et le stockage des données personnelles.
Aspect Détail
Périmètre Toute organisation traitant des données personnelles de résidents UE
Obligation clé SOC Notification violation de données à la CNIL sous 72 heures
Impacts logs SOC Les logs peuvent contenir des données personnelles → rétention à justifier
Sanctions Jusqu'à 20M€ ou 4% du CA mondial

Introduction aux cadres réglementaires 

L'ISO/IEC 27001

  • Norme internationale de référence pour la gestion de la sécurité de l'information. Publiée par l'ISO (Organisation internationale de normalisation), Contrairement au RGPD ou NIS2, c'est une certification volontaire, non une obligation légale.
Aspect Détail
Nature Norme internationale (certification volontaire)
Lien SOC Annexe A contrôles de sécurité : surveillance, gestion incidents
Usage pratique Référentiel pour structurer les processus SOC
Valeur Signal de maturité pour clients, partenaires, assureurs

Synthèse : Connecter tous les frameworks

TP - Analyse de logs web 

 

Nous avons récemment découvert qu’une partie de nos données privées a été publiée sur internet. Cette fuite a eu lieu le 14 octobre 2024 à 4h30 du matin. Nous soupçonnons que les attaquants ont utilisé notre serveur web comme point d’entrée dans leur attaque. Nous avons extrait les logs de ce serveur, couvrant une période de quelques jours avant l’attaque, afin que vous puissiez les analyser et découvrir ce qui s’est passé.

 

Objectif : 

  • Trouver la chaîne de caractère utilisée pour déclencher la backdoor 
  • IP renseigné comme argument de la backdoor

 

 

 

 

Awk

 Un fichier auth.log de 500 000 lignes.
  Trouver : toutes les IPs qui ont échoué > 100 fois.
  Temps avec un éditeur texte : 45 minutes
  Temps avec awk            : 3 secondes

Problème pour un analyste

Awk

awk en une phrase : un outil de traitement de texte ligne par ligne qui découpe chaque ligne en champs ($1, $2, $3...) et permet d'y appliquer des filtres et calculs.

Les 3 outils complémentaires à connaître :

Outil Usage principal Force
grep Filtrer des lignes Rapide, simple
cut Extraire des colonnes par position Simple mais rigide
awk Filtrer + extraire + calculer + formater Puissant et flexible
sed Substitution / transformation de texte Idéal pour modifier

La syntaxe de base

awk 'condition { action }' fichier

 

$0      → la ligne entière
$1      → le 1er champ (séparateur = espace par défaut)
$2      → le 2ème champ
$NF     → le DERNIER champ (NF = Number of Fields)
$(NF-1) → l'avant-dernier champ
NR      → numéro de la ligne courante (Number of Records)
NF      → nombre de champs dans la ligne courante
FS      → séparateur d'entrée (Field Separator)
OFS     → séparateur de sortie (Output Field Separator)

 

Les variables automatiques essentielles :

 

La syntaxe de base

Exemple sur une ligne de log 

# Extraire juste l'IP source

  • awk '{print $12}' auth.log

 

# Extraire timestamp + IP

  • awk '{print $1, $2, $3, $12}' auth.log

 

# Extraire le dernier champ (protocole ssh2)

  • awk '{print $NF}' auth.log

Mar  9 03:22:10 srv-ssh-01 sshd[2200]: Failed password for invalid user root from 103.89.235.14 port 63695 ssh2
 $1   $2    $3         $4                $5                 $6         $7          $8   $9       $10  $11    $12       $13              $14   $15

 

Filtrer avec des conditions

# Syntaxe : awk '/regex/ { action }' ou awk '$champ == "valeur" { action }'

 

# Lignes contenant "Failed"
awk '/Failed/' auth.log

 

# Lignes où le champ $6 vaut "Failed"
awk '$6 == "Failed"' auth.log

 

# Lignes où l'IP ($12) est précise
awk '$12 == "103.89.235.14"' auth.log

 

# Combiner plusieurs conditions (ET logique)
awk '/Failed/ && /103.89.235.14/' auth.log

 

# Combiner plusieurs conditions (OU logique)
awk '/Failed/ || /Accepted/' auth.log

 

# Lignes où NF > 14 (lignes assez longues)
awk 'NF > 14' auth.log

 

# Première et dernière ligne
awk 'NR == 1 || NR == NF' auth.log

Compter et agréger

# Compter les lignes qui matchent un pattern
awk '/Failed password/{count++} END{print count}' auth.log

 

# Compter les occurrences par IP (compteur associatif)
awk '/Failed password/{count[$12]++}
     END{for (ip in count) print count[ip], ip}' auth.log

 

# Trier le résultat (pipe vers sort)
awk '/Failed password/{count[$12]++}
     END{for (ip in count) print count[ip], ip}' auth.log \
     | sort -rn

 

# Résultat attendu sur notre auth.log :
# 220 103.89.235.14     ← l'attaquant !
#   3 192.168.1.22
#   1 192.168.1.10

Changer le séparateur (CSV, Apache logs, proxy)

# Séparateur virgule (CSV)
awk -F',' '{print $1, $3}' proxy_logs.csv

 

# Séparateur tabulation
awk -F'\t' '{print $2}' fichier.tsv

 

# Séparateur multi-caractères (ex: " - " dans Apache logs)
awk -F'" "' '{print $1}' apache_access.log

 

# Combiner plusieurs séparateurs avec regex
awk -F'[,;:]' '{print $2}' fichier.txt

Par défaut, awk sépare sur les espaces. Pour les CSV :

 

Changer le séparateur (CSV, Apache logs, proxy)

# Lister toutes les destinations uniques
awk -F',' 'NR>1 {print $3}' proxy_logs.csv | sort -u

 

# Compter les connexions par destination
awk -F',' 'NR>1 {count[$3]++}
           END{for (d in count) print count[d], d}' proxy_logs.csv \
     | sort -rn | head 10

 

# Filtrer uniquement la machine suspecte (192.168.1.33)
awk -F',' 'NR>1 && $2=="192.168.1.33" {print $1, $3, $5, $6}' proxy_logs.csv

Par défaut, awk sépare sur les espaces. Pour les CSV :

 

Blocs BEGIN et END

# BEGIN → s'exécute UNE FOIS avant la lecture du fichier
# END   → s'exécute UNE FOIS après la lecture complète

awk '
BEGIN {
    print "=== Analyse du fichier auth.log ==="
    print "IP\t\t\tTentatives"
    print "─────────────────────────────────"
    FS = " "        # définir le séparateur dans BEGIN
}

/Failed password/ {
    count[$12]++
    total++
}

END {
    for (ip in count) {
        print ip "\t\t" count[ip]
    }
    print "─────────────────────────────────"
    print "TOTAL tentatives échouées:", total
}
' auth.log

Blocs BEGIN et END

=== Analyse du fichier auth.log ===
IP                  Tentatives
─────────────────────────────────
103.89.235.14       220
192.168.1.22        3
192.168.1.10        1
─────────────────────────────────
TOTAL tentatives échouées: 224

Cas 1 : Détecter un brute force dans auth.log

# IPs avec plus de 10 tentatives = brute force probable
awk '/Failed password/ {count[$12]++}
     END {
       for (ip in count)
         if (count[ip] > 10)
           print "⚠️  BRUTE FORCE:", ip, "→", count[ip], "tentatives"
     }' auth.log

Cas 2 : Extraire la timeline d'une IP dans auth.log

# Toutes les actions de l'IP attaquante avec horodatage
awk '$0 ~ "103.89.235.14" {print $1, $2, $3, "→", $0}' auth.log \
    | head -20

Cas 3 : Analyser les codes HTTP dans apache_access.log

# Compter les codes de retour HTTP
awk '{print $9}' apache_access.log \
    | sort | uniq -c | sort -rn

 

# Lister toutes les requêtes avec code 500 (erreurs serveur)
awk '$9 == "500" {print $1, $7, $9}' apache_access.log

 

# Détecter les scanners (beaucoup de 404 depuis même IP)
awk '$9 == "404" {count[$1]++}
     END {for (ip in count) if (count[ip] > 20)
           print "SCAN potentiel:", ip, count[ip], "erreurs 404"}' \
     apache_access.log

Cas 4 : Calculer l'intervalle de beaconing sur proxy_logs.csv

# Isoler uniquement les connexions vers le domaine C2 et afficher les timestamps pour calculer l'intervalle


awk -F',' 'NR>1 && $3=="updates-cdn-delivery.com" {print $1}' \
     proxy_logs.csv | head -10

 

# Compter le nombre total de beacons
awk -F',' 'NR>1 && $3=="updates-cdn-delivery.com" {count++}
           END {print "Total beacons C2:", count}' proxy_logs.csv

Cas 5 : Extraire tous les IOCs (IPs uniques suspectes)

# Dans auth.log : toutes les IPs sources des Failed password
awk '/Failed password/ {print $12}' auth.log | sort -u

 

# Dans apache : toutes les IPs avec des requêtes SQL injection
awk '/UNION|SELECT|DROP|INSERT/ {print $1}' apache_access.log | sort -u

 

# Dans proxy : toutes les IPs de destination uniques
awk -F',' 'NR>1 {print $4}' proxy_logs.csv | sort -u

One-liners à retenir pour l'analyse de logs

# Les 10 IPs les plus actives dans n'importe quel log
awk '{print $1}' fichier.log | sort | uniq -c | sort -rn | head 10

 

# Filtrer une plage horaire (ex: entre 02:00 et 04:00)
awk '$3 >= "02:00:00" && $3 <= "04:00:00"' auth.log

 

# Extraire les URLs d'un access.log Apache
awk '{print $7}' apache_access.log | sort -u

 

# Compter les connexions par heure
awk '{print substr($3,1,2)}' auth.log | sort | uniq -c

 

# Trouver les lignes trop longues (ex: payload SQLi)
awk 'length($0) > 500' apache_access.log

 

# Afficher la ligne N (ex: ligne 42)
awk 'NR==42' auth.log

 

# Afficher les lignes entre N et M
awk 'NR>=100 && NR<=150' auth.log

 

# Reformater une sortie (CSV → lisible)
awk -F',' '{printf "%-20s %-30s %s\n", $2, $3, $6}' proxy_logs.csv

One-liners à retenir pour l'analyse de logs

# Les 10 IPs les plus actives dans n'importe quel log
awk '{print $1}' fichier.log | sort | uniq -c | sort -rn | head 10

 

# Filtrer une plage horaire (ex: entre 02:00 et 04:00)
awk '$3 >= "02:00:00" && $3 <= "04:00:00"' auth.log

 

# Extraire les URLs d'un access.log Apache
awk '{print $7}' apache_access.log | sort -u

 

# Compter les connexions par heure
awk '{print substr($3,1,2)}' auth.log | sort | uniq -c

 

# Trouver les lignes trop longues (ex: payload SQLi)
awk 'length($0) > 500' apache_access.log

 

# Afficher la ligne N (ex: ligne 42)
awk 'NR==42' auth.log

 

# Afficher les lignes entre N et M
awk 'NR>=100 && NR<=150' auth.log

 

# Reformater une sortie (CSV → lisible)
awk -F',' '{printf "%-20s %-30s %s\n", $2, $3, $6}' proxy_logs.csv

Exercices pratiques

  • Exercice 1 : Affichez uniquement les lignes de auth.log qui contiennent "Accepted", en n'affichant que le timestamp ($1 $2 $3), le nom d'utilisateur ($9) et l'IP source ($11).

 

  • Exercice 2 : Trouvez dans auth.log toutes les IPs qui ont eu au moins 5 tentatives échouées, et affichez-les triées par nombre de tentatives décroissant.

 

  • Exercice 3 : Dans apache_access.log, comptez le nombre de requêtes par code HTTP (200, 301, 302, 403, 404, 500...) et affichez un résumé propre avec BEGIN/END.

 

  • Exercice 4  : Dans proxy_logs.csv, calculez pour chaque IP source le total de bytes envoyés ($5) et le total de bytes reçus ($6), triés par bytes envoyés décroissant.

 

  • Exercice 5 : Dans auth.log, identifiez les IPs qui ont eu des tentatives échouées puis une connexion réussie — signe d'une compromission par brute force abouti.

Outils SOC - SIEM et EDR  

  • Comprendre ce qu'est un SIEM et comment il fonctionne

  • Distinguer les principaux SIEM du marché (ELK, Splunk, Sentinel)

  • Comprendre la différence entre antivirus, EDR et XDR

  • Visualiser le pipeline complet de données d'un SOC

  • Identifier l'écosystème d'outils complémentaires (SOAR, TIP, ticketing)

Objectifs de cette séance 

Pourquoi les outils sont indispensables

La réalité du volume de données dans un SOC :

 

Le SIEM : définition et rôle

SIEM (Security Information and Event Management) : Plateforme centralisée qui collecte, normalise, corrèle et alerte sur des événements de sécurité provenant de sources hétérogènes (endpoints, réseau, applications, cloud), avec conservation des logs pour investigation et conformité.

SIM SIEM
Focus Stockage et gestion des logs à long terme Corrélation et alerting en temps réel
Usage  Forensic, conformité, audit Détection, réponse immédiate 

Le SIEM : définition et rôle

Les 4 fonctions clés d'un SIEM : 

Pipeline de données SIEM : de la source à l'alerte

Le voyage d'un log dans un SIEM :

Pipeline de données SIEM : de la source à l'alerte

Les concepts clés :

  • Agent / Forwarder : logiciel léger installé sur la source pour envoyer les logs
  • Parsing : découper un log brut en champs structurés (IP source, timestamp, action…)
  • Normalisation : mettre en format commun (ex : ECS pour ELK)
  • Corrélation : croiser plusieurs événements pour détecter un pattern d'attaque
  • Index : base de données optimisée pour la recherche dans les logs

Règle de corrélation SIEM : anatomie

Exemple concret d'une règle de détection brute-force :

 

# Règle SIEM - Détection brute-force sur Windows
Nom      : Brute Force - Multiples échecs d'authentification
Logique  :
    IF Event ID = 4625 (Failed Logon)
    AND même compte cible (TargetUserName)
    AND même IP source (IpAddress)
    AND COUNT > 10
    WITHIN 5 minutes
   
THEN :
    → Créer alerte : SEVERITY = HIGH
    → Enrichissement automatique : réputation IP (TIP)
    → Ouvrir ticket dans TheHive

Règle de corrélation SIEM : anatomie

Types de règles classiques en SOC :

  • Threshold : seuil dépassé (>10 échecs en 5 min)
  • Whitelist/Blacklist : IOC connu dans une liste
  • Sequence : événements dans un ordre précis (logon → recon → lateral move)
  • Anomalie : déviation statistique du comportement normal (UEBA)

 

Les SIEM du marché : panorama

Les 3 SIEM les plus rencontrés en SOC :

ELK Stack Splunk ES Microsoft Sentinel
Type Open-source (+ édition commerciale) Commercial Cloud-native (Azure)
Côut Gratuit (infra à gérer) Élevé (~150$/GB/jour)  ~5,22$/GB/mois 
Points forts Flexibilité, communauté, gratuit Maturité, SPL puissant, 1500+ intégrations  Intégration Microsoft 365 native
Points faibles Pas de corrélation native out-of-the-box  Coût très élevé à grande échelle Limité hors écosystème Azure 
Langage de requête KQL / Lucene SPL (Search Processing Language) KQL (Kusto)
Usage typique Lab, PME, SOC budget limité Grands comptes, SOC matures Environnements Microsoft
Certification associée Elastic Certified Analyst Splunk Core Certified SC-200 (Microsoft)

Architecture ELK Stack détaillée

Les 4 composants de l'ELK Stack :

  • Beats : agents légers qui collectent et envoient les logs depuis les sources
  • Logstash : pipeline de traitement (filtre, enrichit, route les logs)
  • Elasticsearch : moteur de stockage et de recherche distribué 
  • Kibana : interface web pour visualiser, requêter et alerter

De l'antivirus à l'EDR : évolution

L'évolution des outils de protection endpoint :

EDR vs XDR : comparaison détaillée

Ce que voit un EDR vs XDR :

Critère EDR XDR
Périmètre Endpoint uniquement (laptop, serveur) Endpoint + réseau + cloud + email + identité 
Sources de données Logs système, process, fichiers, réseau local Multi-sources corrélées 
Détection Comportementale + ML sur endpoint Analytics avancés multi-couches 
Threat Hunting Limité à l'endpoint Cross-source 
Cas d'usage idéal Détection malware endpoint, forensic Attaques distribuées, APT, mouvement latéral
Exemples outils CrowdStrike Falcon, SentinelOne, Wazuh Palo Alto Cortex XDR, Microsoft Defender XDR

EDR vs XDR : comparaison détaillée

Ce que télémètre un EDR sur un endpoint :

L'écosystème complet d'un SOC

Un SOC mature ne fonctionne pas avec un seul outil :

 

L'écosystème complet d'un SOC

Les outils complémentaires à connaître :

Outil Catégorie Rôle dans le SOC
SOAR Orchestration Automatise les réponses répétitives (bloquer une IP, envoyer un email)
TheHive Case management Gérer et documenter les incidents, assignation, timeline
MISP Threat Intel Platform Partager et consommer des IOCs entre organisations
Cortex Analyseur Enrichissement automatique des IOCs (VT, AbuseIPDB…)
Wazuh EDR/SIEM léger Open-source, idéal pour les labs
CyberChef Décodage Décoder des payloads (base64, hex, XOR…)

Interface SIEM Kibana avec alertes réelles

Focus : Sysmon, l'EDR gratuit de Microsoft

Sysmon (System Monitor) : Outil gratuit de Microsoft Sysinternals qui enrichit considérablement la télémétrie Windows en loggant des événements critiques absents des logs natifs.

Event ID Sysmon Description Utilité SOC 
1 Process Create Qui a lancé quoi, avec quels arguments
3 Network Connection Connexions réseau initiées par processus
7 Image Loaded DLL chargées (détection DLL hijacking)
8 CreateRemoteThread Injection de thread (technique APT)
10 ProcessAccess Accès mémoire inter-processus (credential dumping)
11 FileCreate Création de fichiers suspects
13 RegistryEvent Modifications registre (persistance)
22 DNSEvent Requêtes DNS (détection C2 beaconing)

Synthèse : Quelle brique pour quel besoin ?

Matrice des outils selon les cas d'usage SOC :

Ce que l'IA change dans le SIEM moderne (2025)

L'évolution majeure des SIEM en 2025 :
 

  • Réduction du bruit : Les SIEM modernes (Elastic 8.x, Sentinel) intègrent des modèles ML pour regrouper les alertes similaires et réduire la fatigue des analystes
  • UEBA (User and Entity Behavior Analytics) : Détection d'anomalies comportementales (ex : un utilisateur qui télécharge 100x plus que d'habitude)
  • AI-assisted triage : Suggestion automatique de classification (faux/vrai positif) avec score de confiance
  • Generative AI : Certains SIEM proposent des explications en langage naturel des alertes

 

Méthodologie de détection et triage

  • Maîtriser le processus de triage d'une alerte de A à Z

  • Distinguer vrai positif, faux positif, vrai négatif, faux négatif

  • Appliquer la méthode 5W1H à l'investigation SOC

  • Enrichir une alerte avec du contexte utilisateur, asset et threat intel

  • Savoir quand et comment escalader un incident

  • Comprendre la structure d'un playbook et d'un runbook

Objectifs de cette séance 

deck

By stevendias33