Bild-Schulung-NiFi

Effektive Security Analytics mit dem Elastic Stack

Eduardo Torres Schumann

Dr. Eduardo Torres Schumann

Cybersecurity – was können Sie gegen Datenklau tun

Cybersecurity ist in aller Munde: Datenklau in Form von Firmen-Know-How und personenbezogenen Daten, Erpressungstrojaner und sonstige Spionier-Malware, Phishing und Angriffe auf öffentliche Server – kein Tag vergeht ohne entsprechende Meldungen in den Nachrichten.

Doch während in vielen Unternehmen lange über mögliche Schutzmaßnahmen diskutiert oder das Problem verharmlost wird, muss man eigentlich davon ausgehen, dass man bereits „gehackt“ wurde oder zumindest ein Sicherheitsproblem hat. Sonst wird man es immer zu spät merken, wenn das Problem tatsächlich eintritt.

Dem kann man aber durch die Analyse der Daten, die sowieso tagtäglich im Unternehmen entstehen, vorbeugen. Sowohl für einen schnellen Einstieg in das Thema Security-Analytics als auch für den weiteren Ausbau eignet sich der Technologie-Stack von Elastic hervorragend.

Stadien einer Security-Analytics Infrastruktur

Auf dem Weg, mit Hilfe von Analytics für Sicherheit zu sorgen, durchschreitet man verschiedene Phasen:

  • Management sicherheitsrelevanter Ereignisse: Hierbei geht es darum, alle relevanten Daten, an denen sich potenziell Hinweise auf kritische Ereignisse ablesen lassen, zu erfassen, anzureichern und zentralisiert bereitzustellen. Das schafft erst die Grundlage dafür, dass kritische Ereignisse überhaupt untersucht werden können. Relevant sind bspw. Daten aus dem Netzwerkverkehr oder Log-Dateien der einzelnen Rechner.
  • Automatisierung: Ist man bereits in der Lage, all die relevanten Daten zu explorieren und zu visualisieren, um einzelne Vorfälle, wie z.B. die Einschleusung eines Trojaners über Mail-Phishing, genauer zu untersuchen, möchte man in der Regel bestimmte Ereignisse und auffallende Muster automatisch erkennen und gleich gewarnt werden. soll ein Alert darüber informieren, wenn der Zugriff auf eine sensible Datenbank das normale Maß übersteigt. Hierbei helfen Methoden des Maschinellen Lernens, um in der Menge der Daten normales von nicht normalem Verhalten unterschieden zu können.
  • Proaktive Analyse: Um auf Dauer mit Hilfe von Daten all die potenziellen Gefahren zu bannen reichen Alertings nicht: Man muss immer wieder überprüfen, ob man die richtigen Fragen an die Daten stellt. In dem Fall bedeutet das, sich zu überlegen, welche internen oder externen Feinde man haben könnte, was deren Motivation sein und worauf sie zielen könnte, und was die Folgen von einem Erfolg wären. Mit solchen Überlegungen geht man wieder in die Analyse, um die möglichen Gefahren zu bewerten und die Automatisierung der Erkennung aus der vorherigen Analyse zu aktualisieren und zu erweitern.

Blinde Flecken vermeiden

Da unklar ist, woher Angriffe kommen können und die Gefahren sich ständig ändern, muss man beim Schaffen der Datengrundlage einen holistischen Ansatz fahren und möglichst alle relevanten Daten vorsorglich erfassen und zusammenführen. Die Tabelle gibt einen Überblick darüber, welche Daten in Frage kommen.

BereichQuellenDatennaturErfassung (Elastic Stack Komponenten)
NetzwerkPCAPReal-time, Paket-basiertPacketbeats, Logstash (netflow Modul)
AnwendungenLog-DateienReal-time, Ereignis-basiertFilebeats, Logstash, Sysmon
CloudLog-Dateien, APIsReal-time, Ereignis-basiertBeats, Logstash
Einzelne SystemeSystem StateReal-time, asynchronAuditbeats, Filebeats (Osquery Modul), Winlogbeats
Aktive MaßnahmenScanning ErgebnisseBenutzer gesteuert, asynchronVulnerability Scanner

Tabelle 1: Relevante Datenquellen für Security-Analytics. Quelle: Elastic

Die Datenmenge explodiert schnell, weswegen ein zentraler Speicher zur Ablage benötigt wird, der auf Dauer mithalten kann und idealerweise Analyse-Fähigkeiten mitbringt. Elasticsearch ist hierfür besonders geeignet, da es von vornherein als verteilte, horizontal leicht skalierbare Suchmaschine mit einer mächtigen Abfragesprache konzipiert wurde, die auch bei sehr großen Datenmengen Real-Time Analysen ermöglicht.

Bevor die Daten in Elasticsearch zusammengeführt werden, müssen sie erstmal an der Quelle erfasst werden. Das erfolgt im Elastic Stack mit Hilfe einer Reihe spezialisierter Komponenten aus der Beats-Familie (s. letzte Spalte der Tabelle).  Um die gemeinsame Betrachtung zu ermöglichen, werden im nächsten Schritt die verschiedenen Daten normalisiert (Bsp.: Zeitangaben) und angereichert, bspw. um geographische Angaben bei IP Adressen oder um Signaturen bekannter Malware. Hier ist die Komponente der Wahl Logstash, womit beliebige Transformationen und komplexe Verarbeitungspipelines möglich sind. Dass ein generisches Schema, das Elastic Common Schema (ECS) bereits zu Verfügung steht, macht die Integration der unterschiedlichen Datenarten besonders leicht.

Sind die Daten in Elasticsearch, steht der Analyse nichts im Wege.

Effizienz durch Maschinelles Lernen

Eine erste Exploration der Daten lässt sich unmittelbar in Kibana durchführen, die auf Elasticsearch aufgesetzte graphische Oberfläche. Damit können u.a. interaktive Graphiken zur Visualisierung der Daten erstellt, aber auch gezielt Suchanfragen durchgeführt und detaillierte Statistiken erhoben werden, die bei der Aufklärung eines konkreten Vorfalls helfen.


Abbildung 1: Ein Kibana-Dashboard zur Visualisierung von sicherheitsrelevanten Daten

Die Menge der Daten manuell zu durchstöbern reicht jedoch nicht aus, um schnell reagieren zu können und auf Dauer die Firmenwerte effektiv zu schützen. Der effizientere Ansatz geht über die automatisierte Suche nach ungewöhnlichen Mustern in den Daten mit Hilfe von Maschinellem Lernen.

Hierfür bietet Elastic mit dem X-Pack ein voll integriertes Modul mit einer Reihe von entsprechenden Algorithmen an. Anhand der Datenhistorie ist es damit bspw. möglich, Anomalien zu erkennen: Der eingebaute Algorithmus lernt was normale Muster sind, z.B. zeitlich wiederkehrende Muster im Webtraffic, sodass Abweichungen sich von normalem Verhalten unterscheiden lassen. Dadurch werden gezielt Datenbereiche identifiziert, die manuell näher untersucht werden sollten, um möglichst schnell Auffälligkeiten aufzuklären. Auf der Grundlage dieser automatischen Erkennung lassen sich in Kibana ebenfalls Regeln aufstellen, die einen Alarm auslösen und das Monitoren von möglichen Angriffen vereinfachen.

Abbildung 2: Anomalien in Zeitreihen: Punkte außerhalb des automatisch gelernten blauen Bereichs stellen Abweichungen von normalem Verhalten dar. Quelle: Elastic

Da die Verhältnisse sich immer wieder ändern, und damit was „normal“ ist, sollte das Training für das Maschinelle Lernen regelmäßig durchgeführt werden. Sonst schlägt es unnötig oft Alarm, der mit der Zeit zu einer gewissen Abhärtung führt und das ganze System wieder ineffizient macht.

Ist man zu dem Punkt gekommen, dass alle relevanten Daten erfasst werden, man die wesentlichen Verhältnisse mit Hilfe vom Maschinellen Lernen versteht, und ein Alarmsystem an den richtigen Stellen eingerichtet hat, kann man den Angreifern einen Schritt voraus sein, wenn man sich zusätzlich selber fragt, woher die Bedrohungen kommen könnten – und ob man sie mit der bisher aufgebauten Security Analytics Infrastruktur erkennen würde.

Fazit

Eine Security Analytics Infrastruktur aufzubauen ist ein wesentlicher Schritt, um die eigenen Daten und Systeme effektiv zu schützen. Mit dem Elastic Stack steht eine Familie von aufeinander abgestimmtem Komponenten zur Verfügung, die von der Real-Time Datenerfassung über einen skalierbaren Datenspeicher bis hin zu automatisierten, intelligenten Analysen alle Schichten einer entsprechenden Architektur realisiert. Damit lassen sich auf Dauer blinde Flecken eliminieren, effizient Auffälligkeiten untersuchen und so die Reaktionszeit auf tatsächliche Angriffe minimieren.

Elasticsearch, Kibana and Packetbeat are trademarks of Elasticsearch BV, registered in the U.S. and in other countries.
Logstash is a registered trademark of Elasticsearch BV.
Elastic, Beats, Metricbeat, Filebeat, Winlogbeats, X-Pack are trademarks of Elasticsearch BV

Posted in ,