Aller au contenu
TAAF-OPS --:-- UTC

TP 4 - Rapport d'Audit & Analyse IA

2h30 Avancé IA + Audit

Auteur : Thibaut Fontaine — Kodetis Institution : Université de La Réunion Durée estimée : 2h30


  1. Objectifs et Contexte
  2. Collecte et export des données
  3. Analyse assistée par IA avec Ollama
  4. Rédaction du rapport d’audit
  5. Questions de validation

📡 Poste SOC · La Réunion — Acte 3, Prouver : dernière étape, rendre l’enquête lisible. Poste avancé : Dumont d’Urville (Terre Adélie).

🎯 Objectif métier — produire un rapport d’audit exploitable par un RSSI, en accélérant l’analyse des alertes avec un LLM local.

Un audit qui ne se lit pas ne change rien. Vous transformez les preuves éparses de l’incident — alertes Wazuh, scores PingCastle, timeline LotL — en un rapport qu’un RSSI peut décider. Le LLM local accélère la synthèse ; la responsabilité des conclusions reste la vôtre. C’est ainsi que se referme le fil rouge : Voir → Détecter → Prouver.

Vous avez mené l’audit de conformité (TP1), scanné les vulnérabilités (TP2) et testé les défenses en Purple Team (TP3). Il est temps de consolider l’ensemble dans un rapport d’audit professionnel. Vous utiliserez un LLM local (Ollama) pour vous assister dans l’analyse des alertes.

  • Exporter les données d’audit depuis Wazuh, Falco et Grafana
  • Analyser les alertes de sécurité avec un LLM local (Ollama)
  • Comparer l’analyse IA avec votre analyse manuelle
  • Rédiger un rapport d’audit structuré et professionnel
  • Formuler des recommandations de remédiation argumentées

2.1 Export des détections du SOC (Sigma → LogQL via Loki)

Section intitulée « 2.1 Export des détections du SOC (Sigma → LogQL via Loki) »

Les détections du SOC Grafana-natif (règles Sigma compilées en LogQL) sont interrogeables dans Loki. Depuis TAAF-AUDIT-001 :

Fenêtre de terminal
# Détections de l'Acte 2 (ajustez le label selon vos règles)
curl -G "http://IP_VM2:3100/loki/api/v1/query_range" \
--data-urlencode 'query={job=~"falco|suricata|zeek"} |= "alert"' \
--data-urlencode "start=$(date -d '24 hours ago' +%s)000000000" \
--data-urlencode "end=$(date +%s)000000000" \
--data-urlencode "limit=500" \
-o ~/soc-detections.json
Fenêtre de terminal
# Via Loki (depuis TAAF-AUDIT-001)
curl -G "http://IP_VM2:3100/loki/api/v1/query_range" \
--data-urlencode 'query={job="falco"}' \
--data-urlencode "start=$(date -d '24 hours ago' +%s)000000000" \
--data-urlencode "end=$(date +%s)000000000" \
--data-urlencode "limit=500" \
-o ~/falco-alerts.json
Fenêtre de terminal
# Rassembler les rapports Lynis du TP1
ls ~/lynis-*.txt
Fenêtre de terminal
# Rassembler les SBOM (Syft) et les scans CVE (Grype) du TP1
ls ~/sbom-*.json ~/grype-*.json

Ollama est pré-installé sur TAAF-AUDIT-001. Si ce n’est pas le cas :

Fenêtre de terminal
# Installation
curl -fsSL https://ollama.com/install.sh | sh
# Télécharger un modèle léger
ollama pull llama3.2:3b
# Vérifier
ollama list

Créez un script pour soumettre les alertes au LLM :

cat > ~/analyze-alerts.sh << 'SCRIPT'
#!/bin/bash
# Script d'analyse d'alertes avec Ollama
ALERTS_FILE="$1"
MODEL="llama3.2:3b"
if [ -z "$ALERTS_FILE" ]; then
echo "Usage: $0 <alerts-file.json>"
exit 1
fi
# Extraire un résumé des alertes (les 50 premières)
ALERTS_SUMMARY=$(cat "$ALERTS_FILE" | python3 -c "
import json, sys
data = json.load(sys.stdin)
alerts = data.get('hits', {}).get('hits', data) if isinstance(data, dict) else data
for a in alerts[:50]:
src = a.get('_source', a)
print(f\"- Rule: {src.get('rule', {}).get('description', 'N/A')} | Level: {src.get('rule', {}).get('level', 'N/A')} | Agent: {src.get('agent', {}).get('name', 'N/A')}\")")
# Soumettre au LLM
ollama run "$MODEL" << EOF
Tu es un analyste en cybersécurité expérimenté. Analyse les alertes de sécurité suivantes provenant d'un SIEM Wazuh déployé sur l'infrastructure des Terres Australes et Antarctiques Françaises (TAAF).
Pour chaque catégorie d'alerte, fournis :
1. Classification par criticité (Critique, Haute, Moyenne, Basse)
2. Identification des faux positifs probables
3. Recommandations de remédiation
4. Priorisation des actions
Alertes :
$ALERTS_SUMMARY
Fournis ton analyse en français, de manière structurée.
EOF
SCRIPT
chmod +x ~/analyze-alerts.sh

Exécutez l’analyse :

Fenêtre de terminal
./analyze-alerts.sh ~/wazuh-alerts-raw.json | tee ~/ia-analysis-wazuh.txt
Fenêtre de terminal
ollama run llama3.2:3b << EOF
Tu es un expert en sécurité des conteneurs. Analyse les vulnérabilités suivantes trouvées par Grype dans les images Docker d'une infrastructure polaire (TAAF).
$(cat ~/grype-nextcloud.json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for m in data.get('matches', [])[:20]:
v = m.get('vulnerability', {})
a = m.get('artifact', {})
print(f\"- {v.get('id','N/A')} ({v.get('severity','N/A')}): {a.get('name','N/A')} {a.get('version','')}\")")
Pour chaque CVE critique :
1. Explique le risque dans le contexte TAAF
2. Propose une remédiation adaptée aux contraintes (connectivité limitée)
3. Évalue si c'est un faux positif dans notre contexte
Réponds en français.
EOF

Remplissez le tableau comparatif :

Alerte / CVEVotre analyseAnalyse IAAccord ?Commentaire
?

Livrable : Tableau comparatif + paragraphe d’analyse critique sur les forces et limites de l’IA pour l’audit de sécurité.


Le rapport d’audit vise à communiquer les résultats de l’évaluation de sécurité réalisée sur l’infrastructure TAAF. Il doit permettre aux parties prenantes (RSSI, DSI, direction des TAAF) de comprendre la situation actuelle et les recommandations pour améliorer la posture de sécurité.

Votre rapport d’audit doit impérativement suivre cette structure :

Présentez l’origine de l’audit et les objectifs fixés :

  • Alerte ANSSI concernant les infrastructures de recherche polaire
  • Lettre de mission du RSSI des TAAF
  • Cadre temporel et équipe d’audit

Décrivez ce que l’audit vise à accomplir :

  • Évaluer la conformité de l’infrastructure aux référentiels de sécurité (CIS, ANSSI)
  • Identifier les vulnérabilités exploitables
  • Tester l’efficacité des systèmes de détection (monitoring + SIEM)
  • Produire des recommandations de remédiation adaptées aux contraintes TAAF

Définissez précisément le périmètre :

  • Fonctions auditées : supervision, détection, authentification, stockage de données
  • Systèmes concernés : 3 VMs (TAAF-MONITORING-001, TAAF-SOC-01, TAAF-AUDIT-001) + AD Windows en bonus
  • Réseau : réseau privé commun
  • Applications : NextCloud, PostgreSQL, Grafana, Prometheus, SOC Grafana-natif (Sigma/LogQL), Wazuh (bonus)
  • Cadre réglementaire : CIS Benchmarks Level 1, Guide d’hygiène ANSSI

Expliquez les méthodes utilisées :

  • Audit de conformité : Lynis, OpenSCAP (TP1)
  • Scan de vulnérabilités : Nmap, Nikto, Grype (TP1-TP2)
  • Tests d’intrusion : Hydra, curl, simulation Purple Team (TP3)
  • Analyse assistée : Ollama LLM local (TP4)
  • Documents examinés : configurations système, règles de détection, logs

Présentez les constatations principales, organisées par TP :

SectionContenu attendu
5.1 Conformité (TP1)Scores Lynis par VM, résultats CIS benchmarks, SBOM Syft + CVE Grype, posture avant/après, résultats du pipeline CI/CD
5.2 Surface d’attaque (TP2)Ports et services exposés, findings Nikto, cartographie réseau Mermaid
5.3 Purple Team (TP3)Scénarios exécutés, matrice de détection, taux de détection, résultats Red vs Blue
5.4 Analyse IA (TP4)Méthodologie IA, résultats de l’analyse LLM, comparaison avec analyse manuelle

Pour chaque constatation, mettez en évidence :

  • Les conformités et non-conformités identifiées
  • Les forces et faiblesses de l’infrastructure

Offrez une interprétation des résultats :

  • Causes racines des problèmes identifiés
  • Corrélation entre les findings des différents TPs
  • Impact des contraintes TAAF (connectivité satellite, isolation, équipes réduites) sur la posture de sécurité
  • Évaluation du taux de détection : est-il acceptable pour une infrastructure critique ?

Proposez des actions concrètes, classées par priorité et horizon temporel :

PrioritéHorizonExemples
CritiqueImmédiat (< 1 semaine)Corriger les CVE CRITICAL, durcir SSH
HauteCourt terme (< 1 mois)Améliorer les règles de détection SIEM
MoyenneMoyen terme (1-3 mois)Automatiser les scans CI/CD, former les équipes
BasseLong terme (> 3 mois)Déployer un SOC minimal, segmentation réseau

Chaque recommandation doit inclure : description, justification, effort estimé, responsable suggéré.

Résumez l’évaluation globale :

  • Opinion sur la conformité de l’infrastructure
  • Appréciation de l’efficacité des systèmes de détection
  • Niveau de maturité sécurité estimé
  • Prochaines étapes recommandées
Fenêtre de terminal
# Cloner le template
git clone https://github.com/thibautfontaine-univ/typst-template-univ-reunion.git
cd typst-template-univ-reunion
# Compiler le rapport
typst compile rapport-audit.typ rapport-audit.pdf
CritèrePoidsDescription
Complétude technique30%Tous les résultats des TP 1-4 sont présents et documentés
Qualité de l’analyse25%Analyse pertinente, contextualisée TAAF, esprit critique
Recommandations20%Réalistes, priorisées, adaptées aux contraintes TAAF
Analyse IA15%Utilisation pertinente du LLM, comparaison critique
Présentation10%Structure, lisibilité, captures d’écran

  1. [Facile] Quel modèle Ollama avez-vous utilisé et pourquoi ?
  2. [Facile] Combien d’alertes Wazuh avez-vous exportées au total ?
  3. [Moyen] L’IA a-t-elle identifié des faux positifs dans les alertes Wazuh ? Étaient-ce de vrais faux positifs ?
  4. [Moyen] Quel est le finding le plus critique de votre audit ? Justifiez.
  5. [Moyen] Pourquoi est-il important de comparer l’analyse IA avec l’analyse manuelle ?
  6. [Avancé] Comment adapteriez-vous votre rapport pour un public non technique (direction des TAAF) ?
  7. [Avancé] Si vous deviez refaire cet audit dans 6 mois, quels éléments automatiseriez-vous ?
  8. [Expert] Proposez une architecture de “Security Operations Center (SOC) minimal” adaptée aux contraintes des bases polaires TAAF.
  9. [Expert] Comment fine-tuneriez-vous un modèle LLM sur les alertes spécifiques de l’infrastructure TAAF pour améliorer la détection ?
  10. [Expert] Évaluez la maturité sécurité de l’infrastructure TAAF selon le modèle CMMI (niveaux 1-5). Justifiez votre évaluation.