POC : KI-gestützte MITRE-Angriffserkennung und Alarm-Anreicherung
Dieses Repository demonstriert eine Machine-Learning-Pipeline zur Erkennung von MITRE ATT&CK-Techniken aus Logs und zur Anreicherung der Ausgabe mittels eines lokalen LLM.
Übersicht
Das Projekt ist in zwei Hauptkomponenten unterteilt:
- Machine-Learning-Modell (ML) – klassifiziert Logs in MITRE ATT&CK-Techniken
- LLM-Anreicherung – reichert die ML-Vorhersage mit analystenfreundlichen Erklärungen und umsetzbaren Erkenntnissen an
Machine-Learning-Modell
Zweck
Das ML-Modell wird trainiert, um eine MITRE-Technik (oder BENIGN) aus Log-Ereignissen vorherzusagen.
Dies ermöglicht die Automatisierung der Erkennung und Kategorisierung potenziell bösartigen Verhaltens.
Ansatz
- Feature:
commandline-Feld aus Logs
- Vektorisierung: TF-IDF (Term Frequency – Inverse Document Frequency)
- Modell: RandomForestClassifier (robust, interpretierbar, CPU-schonend)
- Ziel:
mitre_label (z.B. T1059.001, T1105, BENIGN)
Training
python scripts/train_mitre_model.py
Dieses Skript:
- Lädt den Datensatz dataset_full_160k.csv
- Teilt die Daten in Trainings-/Testsets auf
- Wandelt Kommandozeilen in TF-IDF-Vektoren um
- Trainiert das Random-Forest-Modell
- Bewertet die Leistung (Präzision, Recall, F1-Score, Konfusionsmatrix)
- Speichert das trainierte Modell und den Vektorisierer:
- models/mitre_ml_model.pkl
- models/tfidf_vectorizer.pkl

LLM-Anreicherung
Zweck
Sobald das ML-Modell eine MITRE-Technik vorhersagt, reichert das LLM das Ergebnis an, indem es Folgendes bereitstellt:
- Erklärung der Technik
- Warum der Befehl zur Technik passt
- Angreiferabsicht
- Empfohlene Untersuchungsschritte
- Vorgeschlagene Erkennungsregeln
Dieser Schritt verbindet die rohe ML-Vorhersage mit umsetzbaren Erkenntnissen für SOC-Analysten.
Verwendung
Lokales LLM (z.B. Phi-3 über Ollama) wird mit einem Prompt aufgerufen, der Folgendes enthält:
- ML-Vorhersage
- Rohe Kommandozeile
python scripts/enrich_with_llm.py

Python-Abhängigkeiten
pip3 install -r requirements.txt
Bibliotheken
- pandas
- scikit-learn
- requests
Hinweise
- test_model.py wird zum Testen Ihres Modells verwendet, es ist optional.
- Die Skripte sind für die lokale Ausführung in einer Python 3.13+-Umgebung mit den aufgeführten Abhängigkeiten ausgelegt.
- Installieren Sie Ollama auf Ihrem Rechner und fügen Sie das Phi-3-Mini-Modell hinzu.