Vorratsspeicherung

Als IT-Consultant weiß ich um die Macht der Daten. Dabei macht es kaum einen Unterschied ob es nun um die Analyse von Webseiten-Nutzern geht, die Auswertung der internen Mailvolumens, die Auslastung von Dateiservern, SharePoint Sites oder die Verwendung von Teams und Meeting. Jedes System protokolliert Zugriffe zur Fehlersuche, Abrechnung, Auswertung, Planung u.a. und natürlich auch für strafrechtlich relevante Ermittlungen. Protokolle brauchen aber Platz und auch die Auswertung ist mit Kosten verbunden, so dass Daten irgendwann zuerst zusammengefasst und dann gelöscht werden. Einzelverbindungsnachweise in der Regel nach Begleichung der Rechnung.

"Terror", "Kinder" u.a.

"Terror" war lange das Zauberwort, um neue Überwachungsgesetze zu fordern und umzusetzen und wer sich dagegen ausgesprochen hat, wird übel diffamiert. In 2019/2020 wurde dann "Kindermissbrauch" das nächste Totschlagargument, um weitere Datenerfassungen zu fordern. Ich gehe davon aus, dass keiner meiner Leser den Missbrauch oder Misshandlung von Menschen gut heißt. Weder Kinder noch "fremd wirkende" Menschen. Aber darf man deswegen nicht kritisch die Datensammlung hinterfragen? Natürlich sind erhobene Daten wichtig und helfen bei der Ermittlungsarbeit und Strafverfolgung. Aber auf der anderen Seite sieht man an den illegalen Abfragen im Umfeld von "NSU 2.0" auch die Herausforderungen. Viel kritischer sehe ich aber das Risiko, dass heutige Regierungen, die noch demokratisch legitimiert sind die Gesetze bereitstellen, die zukünftige weniger demokratische Führer gegen ihre Bevölkerung einsetzen können. Sie müssen dazu nicht mal "Unrecht" begehen, sondern können sich einfach auf die Vorgänger berufen.

Ich bin nicht sicher, ob die meist älteren Justiz- und Innenminister solche Risiken ausreichend würdigen. Denn ich bin sehr skeptisch, ob längere Speicherfristen wirklich Täte ermittelbar macht. Bandbreite und Tor-Netzwerke, VPNs über andere Länder etc. sind nicht nur für Computer-Experten. Wer etwas verbergen will, macht sich sicherlich schlau oder lässt sich helfen.

Wer kontrolliert die Kontrolleure?

Dass Daten erfasst und gespeichert und letztlich aus ausgewertet werden, ist aber nicht zu verhindern. Es wird immer eine schlüssige Argumentation für eine gewisse Protokollierung geben. Wie lange ein Anbieter seine Daten protokolliert, können Sie weder zuverlässig ermitteln noch beschränken. Durch die Nutzung von Diensten vertrauen Sie auch dem Anbieter. Wenn ich z.B. mein Google Analytics-Konto anschaue, dann kann ich bis 2007 zurück gehen:

Über die Interpretation der Zahlen kann man natürlich streiten, was ein "Nutzer" ist und der Einbruch in 2020 war nicht nur dem Providerwechsel (Umzug IONOS -> HostEurope) geschuldet sondern auch erweiterter Sicherheitsfunktionen (Content-Security-Policy). Das steht hier aber gar nicht zur Diskussion.

Viel wichtiger ist die transparente Kontrollmöglichkeit. Wenn sie außerhalb der digitalen Welt in einem Ermittlungsverfahren als Beschuldigter beteiligt sind, dann kann auch heute schon die Polizei, Verfassungsschutz u.a. Sie abhören oder direkt ihre Wohnung durchsuchen. Allerdings sind die Hürden dazu zurecht entsprechend hoch, da ein Richter dies anordnen muss. Es hat zumindest den Anschein, dass eine andere Rechtspersönlichkeit moderierend eingreifen kann. Aber speziell bei einer Hausdurchsuchung passiert das nie "unbemerkt". Sie bekommen davon etwas mit, weil Sie den Beschluss erhalten. Sie können zwar die Maßnahme selbst vermutlich nicht unterbinden aber nachträglich zumindest deren Rechtmäßigkeit beurteilen lassen.

Bei einer digitalen Durchsuchung, sei es in ihrem Haus per Bundestrojaner oder beim Provider über Metadaten, als Abfrage in einer Polizeidatenbank o.ä. gibt es meines Wissens keine Pflicht dies dem Beschuldigten nachträglich anzuzeigen. Das ist aus meiner Sicht ein Schwachpunkt

Wir leben heute in einer digitalen Welt und die Durchdringung wird sicher noch zunehmen. Aus meiner Sicht müsste jede Instanz, die heute Daten von einer Person erhebt, von sich aus dieser Person Rechenschaft über die erfassten Daten leisten. Wenn also mein PC oder Netzwerk irgendwann einmal in den Fokus einer Ermittlung kommt, dann sollte es eine Pflicht geben, diesen Sachverhalt mir nach Abschluss der Ermittlungen oder einer maximalen Verzögerung mitzuteilen. Wenn die Untersuchung rechtmäßig war, dann hat die entsprechende Institution ja nichts zu befürchten.

Vielleicht sind wir ja mal irgendwann soweit, dass ich mit meinem neuen ePerso einfach Einblick in über mich gesammelte Informationen erhalte. Am besten liefern dann Facebook, Google und Co auch noch alles, was sie mit mir verknüpfen an diese staatlich "Clearing-Stelle". Das "Polizeiliche Führungszeugnis" könnte all das zusammenbringen und einmal im Jahr gibt es ein Updates per Mail, per Brief oder wie auch immer, wen es interessiert. Zur Sicherheit: Dieser Abschnitt ist nicht ernst gemeint.

Die "richtige" Strategie

Der Daten sammeln, muss sich also überlegen, welche Daten er wie lange und wie detailliert aufbewahrt, um die gewünschten Ergebnisse zu erhalten aber dennoch im Kostenrahmen zu bleiben und insbesondere den Datenschutz zu beachten. Denn solche Protokolle enthalten Informationen zu Personen und können unterschiedlich genutzt werden.

Im Bereich "Monitoring" kennen wir eine abgestufte Erfassung von numerischen Werten, z.B. die CPU-Last, Speicherauslastung, Netzwerklast etc. Tobi Oetiker hat mit MRTG vor vielen Jahrzehnten eine "RoudRobinDatabase" genutzt. Paessler PRTG nutzt eine ähnliche Anzeige und weitere Programme verfahren ebenso bei der Speicherung und Anzeige der gemessenen Werte. Hier ein Beispiel meiner Bandbreitenmessung des heimischen DSL-Anschlusses.

Intervall Beispiel Beschreibung

Live/Realtime 2h

Wenn ein Check alle Minute einen Wert erhebt, dann kommen so ca. 120 Messwerte zusammen, die in einer Grafik gut angezeigt werden können.

Die Messung läuft alle 5 Minuten und sie können jede einzelne Messung sehen.

Täglich 24h

Eine Tagesübersicht über 24h muss die 1440 Messwerte schon irgendwie zusammenfassen, damit sie in eine Grafik passen. In solchen Bildern sehen Sie meist die aktiven Arbeitszeiten.

In meinem Beispiele sehe ich aber die Einbrüche in der Performance zur Abendzeit. Anscheinend belasten Netflix und Co die Peerings, so dass auch meine Bandbreite reduziert ist.

Monatlich (30 Tage)

Die nächte Stufe ist eine Anzeige in 4 Wochen oder 30 Tagen, so dass Sie Wochentage und Wochenenden unterscheiden können.

Hier sehen Sie aber sogar besser den Sprung von DSL100 auf FTTH mit 400 Megabit durch den Wechsel der Technik.

Jährlich oder noch länger

365 Tage oder mehr sind Werte, die Sie für eine Wachstumsanalyse und Prognose heranziehen können.

Hinsichtlich der "Vorratsspeicherung" sollten Sie spätestens ab hier aber keine personenbezogenen Daten mehr verwenden. Wer die Daten also nicht pauschal sondern z.B. nach IP-Adresse oder Benutzername erfasst, sollte eine wasserdichte Argumentationskette haben.

Wenn Sie nur diese vier Ansichten benötigen, dann können Sie die Daten immer weiter zusammenfassen und die erforderliche Datenbank wächst nicht. Ein anderes Beispiel ist z.B.: die Erfassung des Wasserspiegels an einem Pier. Die 2h Ansicht zeigt noch keinen genauen Trend während die 24h schon die Sinuskurve der beiden Ebbe/Flut-Pegel zeigt. Die monatliche Ansicht zeigt ca. 60 Ebbe/Flut-Spitzen, die aber auch die Mondphase (Spring/Nipp-Flut) zeigen während die 365-Tage Messung fast eine waagrechte Linie zeigt. Erst eine Messung über viele Jahre würde dann einen Anstieg des Meeresspiegel belegen.

Aber diese Art der Datensammlung betrachte ich eher als ein Abfallprodukt eines klassischen Monitoring, welche die Erreichbarkeit und Verfügbarkeit von Diensten misst und die dabei ermittelten Zahlen eben auch mit abspeichert. Es werden aber nur die Werte gespeichert, die auch zur Prüfung und Anzeige ermittelt wurde. Die ist aber meist nur eine Teilmenge der möglichen Datenquellen, denn ein Monitoring-System ist ja nicht primär eine Datenbank.

Daten zuerst, Auswertung danach

Kennen Sie die Situation, dass z.B. ihr Exchange Server mal wieder langsam war aber das aktuelle Monitoring keinen Alarm geschlagen hat und selbst die Werte zu CPU, Disk, LAN und RAM nicht wirklich weiter helfen? Dann wäre es schon einmal hilfreich, zusätzliche Werte analysieren zu können, wenn die denn einfach zugreifbar wären. Da haben wir nun die Herausforderung, dass Werte erfasst werden müssten, die aber nicht primär beim Monitoring interessant sind. Allerdings ist es für viele Administratoren auch nicht einfach, mit Logparser oder anderen Tools die verschiedenen Protokolldateien pro Server auszuwerten. Daher kann es schon interessant sein, bestimmte vom Server erfasste Daten direkt in eine zentrale Time Series Database zu übertragen, in der einfach kontinuierlich neue Dateien eingespeichert werden, die auf dem lokalen Server auf Grund von Speicherplatz oder auch Schutzbedarf nicht lange vorgehalten werden sollen. Ich denke da z.B.: an.

  • Wer hat wann eine Datei oder Information zuletzt gelesen, geschrieben, verändert
    Das hilft bei Missbrauch aber kann auch eine Quelle zum Abbau von alten Datentöpfen sein.
  • DHCP: Welche Client haben wann welche IP-Adresse zugewiesen bekommen
  • Router/Switch: Auf welchem Port war welches Endgerät aktiv
  • Exchange: Anzahl der Mails pro Minute In/Out, Bytes In/Out
  • Exchange: Zugriffe auf die HTTP-Dienste nach URL, Menge, Größe und Client pro Zeit
  • SBC Gateways: Start und Ende von VoIP-Verbindungen
  • ...

Das ist sicher nur der Anfang einer Liste, denn es gibt viele Quelle, die für eine nachträgliche Auswertung interessant sind aber es nie in eine Monitoring-Software schaffen. Das kann daran liege, dass es keine numerischen Werte sind oder für sich alleine keine Information liefern. Dennoch kann es auch sinnvoll sein, Meldungen (Syslog, Eventlog, Radius, Apache/IIS-Logs, SNMP etc.) zu erfassen, zu parsen und mit Tags zu speichern. So können sie sowohl interaktiv einen "Drilldown" durch die Daten machen oder automatisiert Zusammenhänge überprüfen lassen. Und dann sind wir auch ganz schnell wieder bei einem SIEM.

So können Sie bei einem Einbruch über die Daten von Router, DHCP-Server, Anmeldedienste etc. den Weg und die Bereiche identifizieren, die ein Angreifer durchlaufen hat. Sie können aber auch Performance-Probleme einfacher durch den Vergleich mehrerer Server und unterschiedliche Zusammenhänge analysieren.

Diese Informationen lassen sich nur schwer in vorgefertigte Grafiken bringen. Die meisten Systeme funktionieren daher nach folgendem Schema.

Diesen Ansatz verfolgen gleich mehrere "Stacks", die starke funktionale Überlappungen aufweisen.

Neben diesen Hauptlinien gibt es davon abgeleitet Produkte, die nur einen Teil als Unterbau nutzen.

  • Agenten
    Die entsprechenden Agenten mit AddOns zapfen die Datenquellen an oder nehmen die gemeldeten Daten (Syslog, SNMP, Radius) entgegen und senden sie an eine "Time Series Database". Sicher haben Sie schon mal von Logtash, Paketbeat, WinLogbeat, SyslogD, SFlowD u.a. gehört. Auf dem Weg finden oft Transformationen statt. Dies gilt insbesondere, wenn Werte als Strings in einer Meldung eingebettet sind oder Zeitangaben auf UTC normiert werden müssen.
  • Datenbank
    Die kontinuierlich ankommenden und mit klaren Anfragen ausgewerteten Daten landen in "Time Series Datenbanken" wie Influx, Elastic, Promethus, MongoDB (https://en.wikipedia.org/wiki/Time_series_database) da die Flexibilität (und Kosten) einer SQL-Datenbank hier nicht sinnvoll genutzt werden können
  • Visualisierung
    Um aus den Daten nette Bilder oder Dashboards zu machen, kommen Programme wie Grafana, Kibana u.a. zum Einsatz
  • Bot/Intelligenz
    Nicht immer muss aber ein Mensch die Dashboards anschauen. Mit Chronograph und diversen kommerziellen Tools können Daten automatisch auf "Auffälligkeiten" untersucht werden. Hier schließt sich dann wieder der Kreis, dass natürlich eine Monitoring-Lösung einfach diese Daten konsumieren und darauf basierend alarmieren kann.

Es gibt natürlich immer noch Spezialisten z.B. für Logverarbeitung wie Azure Sentinel, Graylog oder andere Tools wie Splunk. Auch Promethus als Management vieler Microservices ist noch einmal eine eigene Lösung. Aber sie können ermessen, dass die Auswahl groß und die richtige Entscheidung nicht immer einfach ist.

Alles nicht so schlimm?

Aber spätestens jetzt sehen Sie auch, dass so ein System eine Datenkrake sein kann. Sie sollten davon ausgehen, dass das Sammeln und Speichern der Daten immer schneller und günstiger wird, so dass diese Systeme immer leistungsfähiger werden und Daten eigentlich nur gelöscht werden, wenn sie mehr Kosten als Nutzen. Allein aus Platzbedarf wird kein Betreiber die Daten von sich aus reduzieren. Da in Logs natürlich auch numerische Werte stehen können, können diese ebenfalls extrahiert und letztlich als Grafik dargestellt werden. Damit verschmelzen dann die Anforderungen des Monitoring mit Auditing.

Ich könnte ihnen mehrere Beispiele aufzeigen, wie Sie anhand von Daten auch aussagekräftige Rückschlüsse auf Personen und Verhalten tätigen können. Aber das kann David Kriesel viel besser:

Video und Folien meines 33C3-Vortrags "SpiegelMining"
http://www.dkriesel.com/blog/2016/1229_video_und_folien_meines_33c3-vortrags_spiegelmining

Video und Folien meines 36C3-Vortrags "BahnMining"
http://www.dkriesel.com/blog/2019/1229_video_und_folien_meines_36c3-vortrags_bahnmining

Und nun überlegen Sie mal, was jemand mit ihren Daten anfangen könnte?

Einschätzung

Ich bin vermutlich nicht der Experte für TICK, TIG, ELK und andere Stacks aber ich sehe schon eine Ausweitung des klassischen Monitoring in eine "große Datenerfassung". Sicher wird es auch wieder die kleineren Firmen geben, die mit PRTG, WhatsUp etc. ihre Server und Services zyklisch abfragen um die Erreichbarkeit, Funktion und ausgewählte Performancewerte einsammeln. Ich bin aber sicher, dass immer mehr Firmen damit auf Dauer nicht mehr auskommen und zuerst ein "IT-Warehouse" parallel aufbauen und mehr und mehr Auswertungen über die neue Plattform bereitgestellt wird. Natürlich sind der Aufwand und damit verbundenen Kosten höher und müssen mit den Vorteilen argumentiert werden.

Aber allzu oft habe ich speziell bei Exchange bei Kunden per PowerShell erst Kennzahlen über IISLogs und Messagtracking in eine CSV-Datei überführen müssen, ehe entsprechende grafische Auswertungen mit Ecel, PowerBI o.ä. möglich waren. Dieser Zeitverlust und Zusatzaufwand kostet auch Geld.

Weitere Links