Anomalieerkennung in Dateispeicher-Protokollen: Isolation Forest, CatBoost und Autoencoder
Maschinelles Lernen identifiziert effektiv Bedrohungen in Dateispeicher-Protokollen, in denen täglich Millionen von Lese-, Schreib- und Löschvorgängen aufgezeichnet werden. Drei Algorithmen – Isolation Forest, CatBoost und Autoencoder – analysieren mehrdimensionale Zeitreihen der Nutzeraktivität und unterscheiden normales Verhalten von verdächtigen Mustern ohne gelabelte Daten.
Daten werden in Zeitintervallen aggregiert: Für jedes Intervall wird die Intensität der Vorgänge nach Typ gezählt. Dies ergibt einen Merkmalsvektor, bei dem Abweichungen auf Insider-Kopien oder Massenverschlüsselung hindeuten.
Isolation Forest: Anomalien mit Zufälligkeit isolieren
Isolation Forest baut ein Ensemble von Bäumen mit zufälligen Aufteilungen von Merkmalen. Anomalien werden schneller isoliert, da ihre Merkmale sich deutlich von der Mehrheit unterscheiden. Der Algorithmus ist unüberwacht: Er benötigt keine Labelierung und konzentriert sich auf den Pfad von der Wurzel zum Blatt.
from sklearn.ensemble import IsolationForest
if_model = IsolationForest(n_estimators=100, contamination=0.05, bootstrap=False, random_state=42)
Für Zeitreihen werden Lag-Merkmale hinzugefügt:
data['prev_10min'] = (data.rolling(window='10min', min_periods=1)['events'].sum()).astype(int)
data['prev_5min'] = (data.rolling(window='5min', min_periods=1)['events'].sum()).astype(int)
data['prev_3min'] = (data.rolling(window='3min', min_periods=1)['events'].sum()).astype(int)
Wichtige Hyperparameter:
- n_estimators: Balance zwischen Genauigkeit und Geschwindigkeit
- contamination: Erwarteter Anteil von Anomalien (0.05)
- max_samples: Größe der Teilstichprobe (standardmäßig 256)
- bootstrap: False für Vielfalt
Der anomaly_score über decision_function ist normalisiert [-0.5, 0.5]. Werte < -0.25 sind sichere Anomalien:
data['anomaly'] = np.where(if_model.decision_function(data[['events', 'prev_3min', 'prev_5min', 'prev_10min']]) > -0.25, 0, 1)
SHAP-Analyse zeigt Dominanz von 10-Minuten-Lags. Vorteile:
- O(n log n) Komplexität für Echtzeitverarbeitung
- Läuft auf CPU ohne Datenspeicherung
- Einfache Bereitstellung
CatBoost zur Vorhersage normaler Aktivität
CatBoostRegressor wird auf historischen Daten trainiert, um die erwartete Intensität vorherzusagen. Anomalien treten auf, wo |tatsächlich - vorhergesagt| einen Schwellenwert überschreitet.
from catboost import CatBoostRegressor
model = CatBoostRegressor()
erwarteter_wert = model.predict()
anomalie_score = abs(aktueller_wert - erwarteter_wert)
Datenaufteilungsschema:
- Training (3 Wochen): normale Aktivität
- Validierung (1 Woche): Feinabstimmung
- Test (2 Tage): Anomalien
Merkmale erweitern den Kontext:
- Zeitlich: Wochentag, Stunde
- Lag: Ereignisse über 1h, 30m, 10m, 5m, 3m
- Gleitend: Mittelwert/Standardabweichung/Quantil(0.8) über 3/7 Tage
Gleitende Statistiken werden ohne Leckage berechnet:
# Gleitende Statistiken
data['wochen_mittelwert'] = round(data.rolling(window=7, min_periods=1)['events'].mean(), 2)
Rolling Learning aktualisiert das Modell täglich auf dem gesamten historischen Pool.
Autoencoder: Komprimierung und Rekonstruktion
Ein neuronaler Autoencoder komprimiert normale Sequenzen in einen latenten Raum, während Anomalien schlecht rekonstruiert werden (hoher Rekonstruktionsfehler).
Architektur: LSTM/GRU Encoder + Decoder. Training auf normalen Daten minimiert MSE. Ein Fehlerschwellenwert bestimmt Anomalien.
Vorteile für Reihen: Erfasst langfristige Abhängigkeiten. Nachteile: Benötigt GPU, empfindlich gegenüber Hyperparametern.
Vergleich der Ansätze:
| Modell | Geschwindigkeit | Interpretierbarkeit | Ressourcen | Anpassung an Trends |
|--------|----------|--------------------|---------|---------------------|
| Isolation Forest | Hoch | SHAP | CPU | Lags |
| CatBoost | Mittel | Merkmalswichtigkeit | CPU/GPU | Rolling Learning |
| Autoencoder | Niedrig | Aufmerksamkeit | GPU | Sequenzen |
Wichtige Erkenntnisse
- Isolation Forest führt in Geschwindigkeit und Kosteneffizienz für Echtzeitanwendungen
- CatBoost ist genau in der Trendvorhersage mit erweiterten Merkmalen
- Autoencoder überzeugt bei komplexen Sequenzen, ist aber ressourcenintensiv
- Alle Modelle sind unüberwacht: Sie arbeiten ohne Labelierung
- Kombination von Lags und gleitenden Statistiken verbessert die Genauigkeit um 15-20%
SIEM-Integration: Modelle aktualisieren online, Alarme lösen bei anomaly_score > Schwellenwert aus. Tests mit synthetischen Anomalien bestätigen F1-Score > 0,85 für alle.
— Editorial Team
Noch keine Kommentare.