In diesem Tutorial werden wir ein vereinfachtes, KI-unterstütztes SIEM-Log-Analyse-System mit Python erstellen. Unser Fokus liegt auf der Log-Analyse und der Anomalieerkennung.

Wir werden durch das Einlesen von Logs, die Erkennung von Anomalien mit einem leichtgewichtigen Machine-Learning-Modell und sogar darauf eingehen, wie das System automatisch reagieren könnte.

Dieses praktische Proof-of-Concept wird veranschaulichen, wie KI die Sicherheitsüberwachung auf eine praktische und zugängliche Weise verbessern kann.

Inhaltsverzeichnis

Was sind SIEM-Systeme?

Sicherheitsinformations- und Ereignismanagement (SIEM) Systeme sind das zentrale Nervensystem moderner Sicherheitsoperationen. Ein SIEM aggregiert und korreliert Sicherheitsprotokolle und Ereignisse aus einer IT-Umgebung, um Echtzeiteinblicke in potenzielle Vorfälle zu bieten. Dies hilft Organisationen, Bedrohungen schneller zu erkennen und schneller zu reagieren.

Diese Systeme bündeln große Mengen an Protokolldaten – von Firewall-Warnungen bis hin zu Anwendungsprotokollen – und analysieren sie auf Anzeichen von Problemen. Die Anomalieerkennung ist in diesem Kontext entscheidend, und ungewöhnliche Muster in Protokollen können Vorfälle aufdecken, die an statischen Regeln vorbeigleiten könnten. Zum Beispiel könnte ein plötzlicher Anstieg der Netzwerkzugriffe auf einen DDoS-Angriff hindeuten, während mehrere fehlgeschlagene Anmeldeversuche auf unbefugte Zugriffsversuche hinweisen könnten.

KI bringt SIEM-Funktionalitäten einen Schritt weiter. Durch die Nutzung fortschrittlicher KI-Modelle (wie große Sprachmodelle) kann ein KI-gestütztes SIEM Protokolle intelligent analysieren und interpretieren, lernen, wie „normales“ Verhalten aussieht, und die „seltsamen“ Dinge kennzeichnen, die Aufmerksamkeit erfordern.

Im Wesentlichen kann KI als intelligenter Co-Pilot für Analysten fungieren, subtile Anomalien erkennen und sogar Ergebnisse in einfacher Sprache zusammenfassen. Jüngste Fortschritte bei großen Sprachmodellen ermöglichen es SIEMs, über unzählige Datenpunkte zu schlussfolgern, ähnlich wie ein menschlicher Analyst – jedoch mit viel größerer Geschwindigkeit und Skalierung. Das Ergebnis ist ein leistungsstarker digitaler Sicherheitsassistent, der hilft, den Lärm zu durchdringen und sich auf echte Bedrohungen zu konzentrieren.

Voraussetzungen

Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Python 3.x auf Ihrem System installiert. Die Codebeispiele sollten in jeder aktuellen Python-Version funktionieren.

  • Grundlegende Kenntnisse in Python-Programmierung (Schleifen, Funktionen, Verwendung von Bibliotheken) und ein Verständnis von Protokollen (zum Beispiel, wie ein Protokolleintrag aussieht) werden hilfreich sein.

  • Python-Bibliotheken: Wir werden einige gängige Bibliotheken verwenden, die leichtgewichtig sind und keine spezielle Hardware erfordern:

    • pandas für die grundlegende Datenverarbeitung (wenn Ihre Protokolle im CSV- oder ähnlichen Format vorliegen).

    • numpy für numerische Operationen.

    • scikit-learn für das Anomalieerkennungsmodell (insbesondere verwenden wir den IsolationForest-Algorithmus).

  • Eine Menge Protokolldaten zur Analyse. Sie können eine beliebige Protokolldatei (Systemprotokolle, Anwendungsprotokolle usw.) im Klartext- oder CSV-Format verwenden. Zur Demonstration werden wir einen kleinen Protokolldatensatz simulieren, damit Sie auch ohne eine fertige Protokolldatei folgen können.

Hinweis: Wenn Sie die oben genannten Bibliotheken nicht haben, installieren Sie sie über pip:

pip install pandas numpy scikit-learn

Einrichten des Projekts

Richten wir eine einfache Projektstruktur ein. Erstellen Sie ein neues Verzeichnis für dieses SIEM-Anomalieerkennungsprojekt und wechseln Sie in dieses Verzeichnis. Darin können Sie ein Python-Skript (zum Beispiel siem_anomaly_demo.py) oder ein Jupyter-Notebook haben, um den Code schrittweise auszuführen.

Stellen Sie sicher, dass Ihr Arbeitsverzeichnis Ihre Protokolldaten enthält oder darauf zugreifen kann. Wenn Sie eine Protokolldatei verwenden, ist es möglicherweise eine gute Idee, eine Kopie in diesem Projektordner zu platzieren. Für unseren Proof-of-Concept, da wir synthetische Protokolldaten generieren werden, benötigen wir keine externe Datei – aber in einem realen Szenario würden Sie das tun.

Projekteinrichtungsschritte:

  1. Initialisieren Sie die Umgebung – Erstellen Sie bei Bedarf eine virtuelle Umgebung für dieses Projekt (optional, aber eine gute Praxis):

     python -m venv venv
     source venv/bin/activate  # Unter Windows verwenden Sie "venv\Scripts\activate"
    

    Installieren Sie dann die erforderlichen Pakete in dieser virtuellen Umgebung.

  2. Bereiten Sie eine Datenquelle vor – Identifizieren Sie die Protokollquelle, die Sie analysieren möchten. Dies könnte ein Pfad zu einer Protokolldatei oder Datenbank sein. Stellen Sie sicher, dass Sie das Format der Protokolle kennen (zum Beispiel sind sie kommagetrennt, JSON-Zeilen oder einfacher Text?). Zur Veranschaulichung werden wir einige Protokolleinträge erstellen.

  3. Richten Sie Ihr Skript oder Notizbuch ein – Öffnen Sie Ihre Python-Datei oder Ihr Notizbuch. Wir beginnen mit dem Importieren der erforderlichen Bibliotheken und dem Einrichten von Konfigurationen (wie zufälligen Seeds für die Reproduzierbarkeit).

Am Ende dieses Setups sollten Sie eine Python-Umgebung bereit haben, um unseren SIEM-Protokollanalyse-Code auszuführen, und entweder einen echten Protokolldatensatz oder die Absicht, Daten zusammen mit mir zu simulieren.

Implementierung der Protokollanalyse

In einem vollständigen SIEM-System umfasst die Protokollanalyse das Sammeln von Protokollen aus verschiedenen Quellen und das Parsen in ein einheitliches Format für die weitere Verarbeitung. Protokolle enthalten oft Felder wie Zeitstempel, Schweregrad, Quelle, Ereignisnachricht, Benutzer-ID, IP-Adresse und so weiter. Die erste Aufgabe besteht darin, diese Protokolle zu erfassen und vorzubereiten.

1. Protokollaufnahme

Wenn Ihre Protokolle in einer Textdatei vorliegen, können Sie sie in Python einlesen. Zum Beispiel, wenn jeder Protokolleintrag eine Zeile in der Datei ist, könnten Sie Folgendes tun:

with open("my_logs.txt") as f:
    raw_logs = f.readlines()

Wenn die Protokolle strukturiert sind (zum Beispiel im CSV-Format mit Spalten), kann Pandas das Lesen erheblich vereinfachen:

import pandas as pd
df = pd.read_csv("my_logs.csv")
print(df.head())

Dies gibt Ihnen ein DataFrame df mit Ihren Protokolleinträgen, die in Spalten organisiert sind. Aber viele Protokolle sind halbstrukturiert (zum Beispiel Komponenten, die durch Leerzeichen oder Sonderzeichen getrennt sind). In solchen Fällen müssen Sie möglicherweise jede Zeile durch ein Trennzeichen aufteilen oder Regex verwenden, um Felder zu extrahieren. Stellen Sie sich beispielsweise eine Protokollzeile vor:

2025-03-06 08:00:00, INFO, User login success, user: admin

Diese enthält einen Zeitstempel, ein Protokolllevel, eine Nachricht und einen Benutzer. Wir können solche Zeilen mit den String-Methoden von Python parsen:

logs = [
    "2025-03-06 08:00:00, INFO, User login success, user: admin",
    "2025-03-06 08:01:23, INFO, User login success, user: alice",
    "2025-03-06 08:02:45, ERROR, Failed login attempt, user: alice",
    # ... (mehr Protokollzeilen)
]
parsed_logs = []
for line in logs:
    parts = [p.strip() for p in line.split(",")]
    timestamp = parts[0]
    level = parts[1]
    message = parts[2]
    user = parts[3].split(":")[1].strip() if "user:" in parts[3] else None
    parsed_logs.append({"timestamp": timestamp, "level": level, "message": message, "user": user})

# In DataFrame umwandeln für einfachere Analyse
df_logs = pd.DataFrame(parsed_logs)
print(df_logs.head())

Die Ausführung des Obigen auf unserer Beispielsammlung würde etwas wie folgendes ausgeben:

            timestamp  level                 message   user
0  2025-03-06 08:00:00   INFO    User login success   admin
1  2025-03-06 08:01:23   INFO    User login success   alice
2  2025-03-06 08:02:45  ERROR  Failed login attempt   alice
...

Jetzt haben wir die Protokolle in einer Tabelle strukturiert. In einem realen Szenario würden Sie alle relevanten Felder aus Ihren Protokollen weiter parsen (zum Beispiel IP-Adressen, Fehlercodes usw.), abhängig davon, was Sie analysieren möchten.

2. Vorverarbeitung und Merkmalsextraktion

Mit den Protokollen in einem strukturierten Format besteht der nächste Schritt darin, Merkmale für die Anomalieerkennung abzuleiten. Rohprotokollnachrichten (Strings) sind für einen Algorithmus selbst schwer direkt zu erlernen. Oft extrahieren wir numerische Merkmale oder Kategorien, die quantifiziert werden können. Einige Beispiele für Merkmale könnten sein:

  • Ereigniszählungen: Anzahl der Ereignisse pro Minute/Stunde, Anzahl der Anmeldefehler für jeden Benutzer usw.

  • Dauer oder Größe: Wenn Protokolle Dauern oder Datenmengen enthalten (zum Beispiel die Größe von Dateiübertragungen, die Ausführungszeit von Abfragen), können diese numerischen Werte direkt verwendet werden.

  • Kategorische Kodierung: Protokollebene (INFO, ERROR, DEBUG) könnten Zahlen zugeordnet werden, oder spezifische Ereignistypen könnten als One-Hot-Encoding kodiert werden.

Für dieses Proof-of-Concept konzentrieren wir uns auf ein einfaches numerisches Merkmal: die Anzahl der Anmeldeversuche pro Minute für einen bestimmten Benutzer. Wir werden dies als unsere Merkmalsdaten simulieren.

In einem echten System würden Sie dies berechnen, indem Sie die analysierten Protokolleinträge nach Zeitfenster und Benutzer gruppieren. Das Ziel ist es, ein Array von Zahlen zu erhalten, bei dem jede Zahl „wie viele Anmeldeversuche in einer bestimmten Minute stattgefunden haben“ repräsentiert. Meistens wird diese Zahl niedrig sein (normales Verhalten), aber wenn eine bestimmte Minute eine ungewöhnlich hohe Anzahl von Versuchen zeigt, handelt es sich um eine Anomalie (möglicherweise ein Brute-Force-Angriff).

Zur Simulation generieren wir eine Liste von 50 Werten, die normales Verhalten darstellen, und fügen dann einige Werte hinzu, die ungewöhnlich hoch sind:

import numpy as np

# Simulation von 50 Minuten normaler Anmeldeversuche (im Durchschnitt etwa 5 pro Minute)
np.random.seed(42)  # für reproduzierbares Beispiel
normal_counts = np.random.poisson(lam=5, size=50)

# Simulation von Anomalien: ein Anstieg bei den Anmeldeversuchen (z. B. ein Angreifer versucht mehr als 30 Mal pro Minute)
anomalous_counts = np.array([30, 40, 50])

# Kombinieren der Daten
login_attempts = np.concatenate([normal_counts, anomalous_counts])
print("Login attempts per minute:", login_attempts)

Wenn Sie das obige ausführen, könnte login_attempts wie folgt aussehen:

Login attempts per minute: [ 5  4  4  5  5  3  5  ...  4 30 40 50]

Die meisten Werte liegen im einstelligen Bereich, aber am Ende haben wir drei Minuten mit 30, 40 und 50 Versuchen – klare Ausreißer. Dies sind unsere vorbereiteten Daten für die Anomalieerkennung. In einer echten Protokollanalyse könnten solche Daten aus der Zählung von Ereignissen in Ihren Protokollen im Laufe der Zeit stammen oder eine Metrik aus dem Protokollinhalt extrahieren.

Jetzt, da unsere Daten bereit sind, können wir mit dem Aufbau des Anomalieerkennungsmodells fortfahren.

Wie man das Anomalieerkennungsmodell erstellt

Um Anomalien in unseren protokollbasierten Daten zu erkennen, werden wir einen maschinellen Lernansatz verwenden. Speziell werden wir einen Isolationswald verwenden – einen beliebten Algorithmus für die unüberwachte Anomalieerkennung.

Der Isolationswald funktioniert, indem er die Daten zufällig partitioniert und Punkte isoliert. Anomalien sind diejenigen Punkte, die schnell isoliert werden (von anderen getrennt), das heißt, in weniger zufälligen Aufteilungen. Das macht ihn großartig, um Ausreißer in einem Datensatz zu identifizieren, ohne dass Labels benötigt werden (wir müssen nicht im Voraus wissen, welche Protokolleinträge „schlecht“ sind).

Warum Isolationswald?

  • Es ist effizient und funktioniert auch bei einer großen Menge an Daten gut.

  • Es nimmt keine spezifische Datenverteilung an (im Gegensatz zu einigen statistischen Methoden).

  • Es gibt uns einen einfachen Weg, Anomalien zu bewerten.

Lassen Sie uns einen Isolationswald auf unseren login_attempts Daten trainieren:

from sklearn.ensemble import IsolationForest

# Bereiten Sie die Daten in der Form vor, die das Modell erwartet (Beispiele, Merkmale)
X = login_attempts.reshape(-1, 1)  # Jedes Beispiel ist ein eindimensionales [Anzahl]

# Initialisieren Sie das Isolation Forest Modell
model = IsolationForest(contamination=0.05, random_state=42)
# contamination=0.05 bedeutet, dass wir erwarten, dass etwa 5% der Daten Anomalien sind

# Trainieren Sie das Modell mit den Daten
model.fit(X)

Ein paar Anmerkungen zum Code:

  • Wir haben login_attempts zu einem 2D-Array X mit einer Merkmalspalte umgeformt, da scikit-learn ein 2D-Array für das Training (fit) benötigt.

  • Wir haben contamination=0.05 eingestellt, um dem Modell einen Hinweis zu geben, dass etwa 5% der Daten Anomalien sein könnten. In unseren synthetischen Daten haben wir 3 Anomalien von 53 Punkten hinzugefügt, was ~5,7% entspricht, daher ist 5% eine vernünftige Schätzung. (Wenn Sie die Kontamination nicht spezifizieren, wählt der Algorithmus basierend auf Annahmen automatisch einen Standardwert oder verwendet in einigen Versionen standardmäßig 0,1.)

  • random_state=42 stellt nur die Reproduzierbarkeit sicher.

An diesem Punkt wurde das Isolation-Forest-Modell auf unseren Daten trainiert. Intern hat es ein Ensemble von zufälligen Bäumen erstellt, die die Daten partitionieren. Punkte, die schwer zu isolieren sind (das heißt, in der dichten Cluster von normalen Punkten), landen tief in diesen Bäumen, während Punkte, die leicht zu isolieren sind (die Ausreißer), kürzere Pfade haben.

Als nächstes werden wir dieses Modell verwenden, um zu identifizieren, welche Datenpunkte als anomalous betrachtet werden.

Testen und Visualisieren der Ergebnisse

Jetzt kommt der aufregende Teil: Verwendung unseres trainierten Modells, um Anomalien in den Protokolldaten zu erkennen. Wir lassen das Modell Vorhersagen für jeden Datenpunkt treffen und filtern dann diejenigen aus, die als Ausreißer markiert sind.

# Verwenden des Modells, um Anomalien vorherzusagen
labels = model.predict(X)
# Das Modell gibt +1 für normale Punkte und -1 für Anomalien aus

# Extrahieren der Anomalie-Indizes und -Werte
anomaly_indices = np.where(labels == -1)[0]
anomaly_values = login_attempts[anomaly_indices]

print("Anomaly indices:", anomaly_indices)
print("Anomaly values (login attempts):", anomaly_values)

In unserem Fall erwarten wir, dass die Anomalien die großen Zahlen sind, die wir eingefügt haben (30, 40, 50). Die Ausgabe könnte so aussehen:

Anomaly indices: [50 51 52]
Anomaly values (login attempts): [30 40 50]

Selbst ohne etwas über „Anmeldeversuche“ spezifisch zu wissen, erkannte das Isolation Forest diese Werte als nicht mit dem Rest der Daten übereinstimmend.

Dies ist die Stärke der Anomalieerkennung im Sicherheitskontext: Wir wissen nicht immer, wie ein neuer Angriff aussehen wird, aber wenn er dazu führt, dass etwas weit von normalen Mustern abweicht (wie ein Benutzer, der plötzlich 10 Mal mehr Anmeldeversuche als gewöhnlich unternimmt), wirft der Anomalie-Detektor ein Licht darauf.

Visualisierung der Ergebnisse

In einer realen Analyse ist es oft hilfreich, die Daten und die Anomalien zu visualisieren. Zum Beispiel könnten wir die Werte der login_attempts über die Zeit (minütlich) darstellen und die Anomalien in einer anderen Farbe hervorheben.

In diesem einfachen Fall würde ein Liniendiagramm eine überwiegend flache Linie um 3-8 Anmeldungen/Min. mit drei riesigen Spitzen am Ende zeigen. Diese Spitzen sind unsere Anomalien. Dies könnte man mit Matplotlib erreichen, wenn man dies in einem Notebook ausführt:

import matplotlib.pyplot as plt

plt.plot(login_attempts, label="Login attempts per minute")
plt.scatter(anomaly_indices, anomaly_values, color='red', label="Anomalies")
plt.xlabel("Time (minute index)")
plt.ylabel("Login attempts")
plt.legend()
plt.show()

Für textbasierte Ausgaben, wie wir sie hier haben, bestätigen die gedruckten Ergebnisse bereits, dass die hohen Werte erfasst wurden. In komplexeren Fällen bieten Anomalieerkennungsmodelle auch einen Anomaliewert für jeden Punkt (zum Beispiel, wie weit er vom normalen Bereich entfernt ist). Scikit-learns IsolationForest hat beispielsweise eine decision_function-Methode, die einen Wert liefert (bei dem niedrigere Werte abnormalere Ergebnisse bedeuten).

Zur Vereinfachung werden wir hier nicht auf die Werte eingehen, aber es ist gut zu wissen, dass man sie abrufen kann, um Anomalien nach Schweregrad zu bewerten.

Mit der funktionierenden Anomalieerkennung, was können wir tun, wenn wir eine Anomalie finden? Das führt uns dazu, über automatisierte Reaktionen nachzudenken.

Automatisierte Reaktionsmöglichkeiten

Die Erkennung einer Anomalie ist nur die halbe Miete – der nächste Schritt besteht darin, darauf zu reagieren. In Unternehmens-SIEM-Systemen kann die automatisierte Reaktion (oft verbunden mit SOAR – Security Orchestration, Automation, and Response) die Reaktionszeit auf Vorfälle erheblich verkürzen.

Was könnte ein KI-gestütztes SIEM tun, wenn es etwas Ungewöhnliches meldet? Hier sind einige Möglichkeiten:

  • Alarmierung: Die einfachste Maßnahme besteht darin, eine Alarmmeldung an das Sicherheitspersonal zu senden. Dies könnte eine E-Mail, eine Slack-Nachricht oder die Erstellung eines Tickets in einem Vorfallmanagementsystem sein. Die Alarmmeldung würde Details zur Anomalie enthalten (zum Beispiel: „Benutzer alice hatte 50 fehlgeschlagene Anmeldeversuche in 1 Minute, was abnormal ist“). GenAI kann hier helfen, indem es eine klare Zusammenfassung des Vorfalls in natürlicher Sprache für den Analysten erstellt.

  • Automatisierte Minderung: Fortgeschrittenere Systeme könnten direkte Maßnahmen ergreifen. Zum Beispiel, wenn eine IP-Adresse im Protokoll bösartiges Verhalten zeigt, könnte das System diese IP automatisch in der Firewall blockieren. In unserem Beispiel eines Anmeldeanstiegs könnte das System das Benutzerkonto vorübergehend sperren oder um zusätzliche Authentifizierung bitten, unter der Annahme, dass es sich um einen Bot-Angriff handeln könnte. KI-basierte SIEMs können heute tatsächlich vordefinierte Reaktionsmaßnahmen auslösen oder sogar komplexe Arbeitsabläufe orchestrieren, wenn bestimmte Bedrohungen erkannt werden (siehe AI SIEM: Wie SIEM mit KI/ML das SOC revolutioniert | Exabeam für weitere Informationen).

  • Unterstützung bei der Untersuchung: Generative KI könnte auch verwendet werden, um automatisch Kontextinformationen zu sammeln. Zum Beispiel könnte das System bei der Erkennung der Anomalie relevante Protokolle abrufen (umgebende Ereignisse, andere Aktionen desselben Benutzers oder von derselben IP) und einen aggregierten Bericht bereitstellen. Dies erspart dem Analysten das manuelle Abfragen mehrerer Datenquellen.

Es ist wichtig, automatisierte Antworten sorgfältig zu implementieren – Sie möchten nicht, dass das System überreagiert, wenn es zu falschen Positiven kommt. Eine gängige Strategie ist eine gestaffelte Reaktion: Bei geringem Vertrauen können Anomalien nur eine Warnung protokollieren oder einen Benachrichtigung mit niedriger Priorität senden, während Anomalien mit hohem Vertrauen (oder Kombinationen von Anomalien) aktive Verteidigungsmaßnahmen auslösen.

In der Praxis würde ein KI-gestütztes SIEM mit Ihrer Infrastruktur (über APIs, Skripte usw.) integriert werden, um diese Aktionen auszuführen. Für unseren Python PoC könnten Sie beispielsweise eine automatisierte Antwort simulieren, indem Sie beim Erkennen einer Anomalie eine Nachricht ausgeben oder eine Dummy-Funktion aufrufen. Zum Beispiel:

if len(anomaly_indices) > 0:
    print(f"Alert! Detected {len(anomaly_indices)} anomalous events. Initiating response procedures...")
    # Hier könnten Sie Code hinzufügen, um einen Benutzer zu deaktivieren oder einen Administrator zu benachrichtigen, usw.

Obwohl unsere Demonstration einfach ist, ist es leicht vorstellbar, dies zu erweitern. Das SIEM könnte beispielsweise Anomalien in ein größeres generatives Modell einspeisen, das die Situation bewertet und über den besten Handlungsverlauf entscheidet (wie ein Chatbot-Ops-Assistent, der Ihre Runbooks kennt). Die Möglichkeiten für Automatisierung nehmen zu, da KI immer ausgefeilter wird.

Schlussfolgerung

In diesem Tutorial haben wir eine grundlegende KI-gestützte SIEM-Komponente erstellt, die Logdaten aufnimmt, diese mit Hilfe eines Machine-Learning-Modells auf Anomalien analysiert und ungewöhnliche Ereignisse identifiziert, die Sicherheitsbedrohungen darstellen könnten.

Wir begannen damit, Logdaten zu analysieren und vorzubereiten, und verwendeten dann ein Isolation-Forest-Modell, um Ausreißer in einer Sequenz von Anmeldeversuchen zu erkennen. Das Modell hat abnormales Verhalten erfolgreich erkannt, ohne zuvor zu wissen, wie ein „Angriff“ aussieht – es verließ sich rein auf Abweichungen von gelernten normalen Mustern.

Wir haben auch besprochen, wie ein solches System auf erkannte Anomalien reagieren könnte, indem es Menschen benachrichtigt oder automatisch Maßnahmen ergreift.

Moderne SIEM-Systeme, die mit KI/ML erweitert sind, bewegen sich in diese Richtung: Sie erkennen nicht nur Probleme, sondern helfen auch bei der Triage und Reaktion darauf. Generative KI verbessert dies weiter, indem sie von Analysten lernt und intelligente Zusammenfassungen und Entscheidungen liefert und so effektiv zu einem unermüdlichen Assistenten im Sicherheitsbetrieb wird.

Für die nächsten Schritte und Verbesserungen:

  • Sie können diesen Ansatz auf echten Protokolldaten ausprobieren. Nehmen Sie beispielsweise eine Systemprotokolldatei und extrahieren Sie ein Merkmal wie „Anzahl der Fehlerprotokolle pro Stunde“ oder „Bytes pro Sitzung übertragen“ und führen Sie darauf Anomalieerkennung durch.

  • Experimentieren Sie mit anderen Algorithmen wie One-Class SVM oder Local Outlier Factor für die Anomalieerkennung, um zu sehen, wie sie sich vergleichen lassen.

  • Integrieren Sie ein einfaches Sprachmodell, um Protokollzeilen zu analysieren oder Anomalien zu erklären. Zum Beispiel könnte ein LLM einen anomalen Protokolleintrag lesen und vorschlagen, was möglicherweise falsch ist („Dieser Fehler bedeutet normalerweise, dass die Datenbank nicht erreichbar ist“).

  • Erweitern Sie die Funktionen: In einem echten SIEM würden Sie viele Signale gleichzeitig verwenden (Anzahl fehlgeschlagener Anmeldeversuche, ungewöhnliche IP-Geolokalisierung, seltene Prozessnamen in Protokollen usw.). Mehr Funktionen und Daten können den Kontext für die Erkennung verbessern.