Kryptografie (23) : host-based IDS

in #de-stem5 years ago

Zu den bekanntesten Host-based Intrusion Detection Systemen gehört Tripwire. Tripwire prüft die Integrität von Dateien oder Verzeichnissen in einem UNIX-Dateisystem. Es kann hinzugefügte, veränderte oder gelöschte Dateien oder Verzeichnisse erkennen. Letztlich wird also nicht der Angriff selbst erkannt, sondern seine Auswirkungen. Das ist der große Unterschied zwischen host-based und networl-based IDS.

Normalerweise manipulieren Angreifer ein erfolgreich angegriffenes System, um sich einen einfachen späteren Zugang zum System zu schaffen. Die Idee von Tripwire ist, dass der Administrator zuerst einen Schnappschuss des aktuellen Systemzustands erstellt. Dieser ist dann die Basis für zukünftige Vergleiche. Änderungen am Dateisystem seit Erstellung des Schnappschusses werden erkannt und gemeldet. Normalerweise sind nicht alle Veränderungen ein Zeichen für einen erfolgreichen Angriff. Normale Benutzer ändern ständig ihre Dateien. In der Konfiguration von Tripwire kann man deshalb steuern, welche Dateien und Verzeichnisse überwacht werden sollen.

Im folgenden soll dargestellt werden, wie die Konfiguration im Prinzip durchgeführt wird. Die Konfigurationsdatei von Tripwire enthält Informationen darüber, welche Dateien und Verzeichnisse von Tripwire überwacht werden sollen. Außerdem kann man steuern, welche Veränderungen genau angezeigt werden sollen. Das können Änderungen an einem oder mehreren der folgenden Attribute sein:

  • Zugriffsrechte auf Dateien oder Verzeichnisse
  • die Nummer des inode der Datei, bzw. des Verzeichnisses
  • die Anzahl der hard links auf diese Datei, bzw. dieses Verzeichnis
  • Benutzer und Gruppe, zu der die Datei bzw. das Verzeichnis gehören.
  • die Größe der Datei
  • das Datum der letzten Änderung
  • verschiedene Hashwerte der Datei, d. h. einer oder mehrere Hash-Algorithmen werden zur Berechnung von Hashwerten benutzt.

Die folgende Abbildung gibt einen Überblick über die Funktionsweise von Tripwire.

tripwire.png

Als erstes erstellt der Benutzer die Konfigurationsdatei. Danach erfolgt ein initialer Lauf von Tripwire. Anhand des Inhalts der Konfigurationsdatei wird das Dateisystem durchlaufen und die Attribute der Dateien werden in der Tripwire-Datenbank gespeichert. Diese Datenbank ist später die Vergleichsdatenbank. Nun kann Tripwire in regelmäßigen Abständen gestartet werden. Wieder wird anhand der Konfigurationsdatei das Dateisystem durchlaufen. Bei diesem Durchlauf werden nun die aktuellen Zustände mit den Daten in der Datenbank verglichen. Abweichungen werden ausgegeben.

Anhand der Ausgaben kann man erkennen, welche Dateien verändert wurden. Da nicht jede Änderung einer Datei auf einen erfolgreichen Angriff deutet, möchte man diese Änderungen nicht jedesmal erneut angezeigt bekommen. Hat der Administrator beispielsweise einen regulären neuen Benutzer angelegt, so sind einige Systemdateien zwangsläufig verändert. Damit diese Änderungen nicht bei jedem der folgenden Durchläufe von Tripwire angezeigt werden, kann
man auch die Vergleichsdatenbank aktualisieren.

Bei der Erstellung der Vergleichsdatenbank wird in der Regel das komplette lokale Dateisystem durchlaufen. Man muss also schon recht lange auf die Ergebnisse warten. Außerdem ist das System während dieser Zeit auch ganz gut ausgelastet.

  • Quelle
    Gene H. Kim und Eugene H. Spafford. Experiences with Tripwire:
    Using Integrity Checkers for Intrusion Detection. Techn. Ber. CSD-
    TR-94-012. West Lafayette, IN: Department of Computer Sciences,
    Purdue University, Feb. 1994.
Sort:  


This post has been voted on by the SteemSTEM curation team and voting trail. It is elligible for support from @curie and @minnowbooster.

If you appreciate the work we are doing, then consider supporting our witness @stem.witness. Additional witness support to the curie witness would be appreciated as well.

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Please consider using the steemstem.io app and/or including @steemstem in the list of beneficiaries of this post. This could yield a stronger support from SteemSTEM.

Du hast einen Vote von @portalvotes bekommen.