SIEM Visualisation

Visualisierungen helfen, Ungewöhnliches in Logs zu erkennen, wie verdächtige Login-Versuche oder Angriffe auf Webserver. Durch geografische und statistische Darstellungen im SIEM werden Bedrohungen schnell sichtbar und können effektiv analysiert werden.

SIEM Visualisation
Photo by mostafa meraji / Unsplash

Visualisierungen haben nicht nur den Zweck, schöne Bildchen zu malen. Auf der Suche nach möglichen Einbrüchen geht es vielmehr darum, das Ungewöhnliche zu erkennen.

Beispiele

Im Logfile fallen eine große Zahl fehlgeschlagener Logins auf. Diese sehen zunächst aufgrund der Menge bedrohlich aus. Eine Visualisierung ändert jedoch schnell den Verdacht.

Es sieht deutlich nach einem Cronjob aus. Die Rückfrage beim Betreiber der SourceIP bestätigt: Er wollte automatisiert Statistik-Daten von einem Server einholen und hatte keine SSH-Keys hinterlegt.

Ganz anders sieht es hier aus:

Hier gab es Versuche in einen Webserver einzubrechen, weil dieser im Hintergrund auf eine interessante Datenbank zugreifen muss, um Bankinformationen anzuzeigen.

Warum nimmt sich der Angreifer den 1. Mai-Feiertag, um an die Datenbank zu gelangen? Warum erzeugt er dabei keine geblockten Verbindungen? Ist er bereits gut vorbereitet in die Feiertage gegangen?

Weitere Analyse zeigte, dass eine Veröffentlichung in der letzten April-Woche im Internet Rückschlüsse darauf zuließ, dass hinter dem Webserver Kreditkarteninformationen zu holen seien.

Der Alarm, der hohes Logaufkommen angezeigt hat, kommt immer mal wieder vor, und regt den Servicelevel 1 wahrscheinlich noch nicht auf:

Doch die Visualisierung hatte deutlich gemacht: Hier ist eine Analyse angesagt!

Geolocation

Die vielen unterschiedlichen Systeme, deren Logs man erhält, nennen ihre Felder unterschiedlich.

Doch in allen Fällen wünsche ich zu wissen, woher der Angriff erfolgt. Ich extrahiere daher für alle Felder, wo es sinnvoll ist, Stadt/Land/Region/Koordinaten.

Wenn ich dann in wazuh eine Coordinate Map erstelle, kann ich das target_field GeoLocation darstellen lassen.

Schaue ich mir die SIEM-Events im Details an, kann ich mir überlegen, welche Alarme ich auf der Karte dargestellt haben möchte. Zum Beispiel IPs, die nach Lücken suchen und dabei oft von der Firewall geblockt werden:

Habe ich dies im Display-Filter eingetragen, reduziert sich die Ansicht auf die Herkunft genau dieser Angriffsversuche:

Diese lassen sich aber auch anders darstellen. Um ein Gefühl dafür zu bekommen, aus welchem Land die meisten Angriffe laufen, kann ich auch einfach auf country_name klicken und dann auf visualize. So habe ich mit zwei Klicks einen schnellen Überblick:

Brute Force

Es ist ja schon fast an der Tagesordnung, dass Angreifer versuchen, sich Zugang zu verschaffen. Daher hat man unzählige Logs über fehlgeschlagene Login-Versuche:

Es macht durchaus Sinn, sich diese grafisch darstellen zu lassen. Denn, wenn plötzlich die Anzahl der Fehlversuche realer Nutzernamen explodiert, sollte man sich die Frage stellen: Wo sind diese Informationen verloren gegangen?

Welche Logins sind normal? Welche nicht?

Natürlich logge ich mich auf meinen Servern ein, wenn Wartungsmaßnahmen anstehen oder ich einfach nur ein paar Informationen brauche:

Es wäre aber ungewöhnlich, wenn ich von einem Server zum anderen springe, um den Weg über die Firewall zu vermeiden.

So etwas wird vom meinem SIEM jedoch bemerkt, da ich direkt die Server-Logs dorthin schicke. Ich bin also nicht nur auf die Firewall-Logs angewiesen, und kann für dieses Verhalten einen Alarm generieren.

Threat-Hunting

Wenn man in seinen Server-Logs sieht, dass viele Webseiten nicht zu existieren scheinen, kann man sich visualisieren, wonach die meisten Zugriffe suchen. Viele suchen nach Lücken in Wordpress, was ich jedoch nicht nutze.

Im Detail fallen dann auch die Suchen nach Lücken in OpenWRT auf (/cgi-bin/luci ...). Wer hier genau hinschaut, sieht auch die Befehle, die versucht wurden auszuführen um ein Binary namens shk herunterzuladen und zu starten - aber nach erfolgter Attacke die Spuren wieder zu vernichten (rm -rf shk):

Am liebsten würde ich diese Zugriffe sofort blockieren. Aber das kann ich ja!

Ich füge eine aktive Antwort für die Rule hinzu, die allen Angriffen gemeinsam ist: Rule 31101.

Für diese Rule lasse ich automatisiert eine Firewallregel aktivieren, die den Angreifer aussperrt. Und schon werden die User, die ja klar demonstriert haben, dass sie schlechte Absichten verfolgen, durch das SIEM geblockt.

Fazit

Visualisierungen sind bei der Analyse von Anomalien enorm nützlich. Sie helfen den Unterschied zu erkennen, ob ein tatsächlicher Angriff vorliegt, oder lediglich ein Programmierfehler. Die Möglichkeit, sich ein eigenes Dashboard mit all den sinnvollen Grafiken zu bauen, ist daher ein absolutes Muss.