Open Source im professionellen Einsatz
Linux-Magazin 08/2004

Hybrid-IDS überwacht sowohl Rechner als auch Netzwerk

Großer Auftakt

Gängige Intrusion-Detection-Systeme beobachten nur den einzelnen Rechner (Host-IDS) oder nur das Netzwerk (NIDS). Zusammengenommen versprechen die Sensordaten aber bessere Informationen über Eindringlinge. Das Open-Source-IDS Prelude ist HIDS und NIDS zugleich.

668

Das Intrusion-Detection-System Prelude[1] wurde 1998 von Yoann Vandoorselaere als GPL-Projekt gestartet. Ursprünglich wollte Yoann ein modulares NIDS entwickeln (Netzwerk-Intrusion- Detection-System). Während gleichzeitig Martin Roesch die Arbeit an Snort[2] begann, entwickelte sich Prelude von einem NIDS zu einem hybriden IDS. Yoann integrierte sowohl NIDS als auch Host-IDS-Funktionen in Prelude.

Schlägt Snort und Tripwire

Prelude ist damit ein wesentlich mächtigeres und umfassenderes Intrusion-Detection-System als zum Beispiel Snort oder Tripwire alleine: Während Snort zwar den Netzwerkverkehr untersucht, aber lokale Einbrüche nicht erkennt, analysiert Tripwire[3] nur das Dateisystem eines Rechners. Beide Systeme sind alleine nicht dazu in der Lage, verschiedene Ereignisse zu sammeln und zu korrelieren.

Für diese Aufgabe gibt es zwar im Fall von Snort einige zusätzliche Werkzeuge wie ACID[4] oder SGUIL[5], die die Daten mehrerer Sensoren zusammenfassen, doch muss der IDS-Betreiber diese Tools zusätzlich installieren sowie einzeln warten. Bei Prelude erhält er alle Werkzeuge, Komponenten und Funktionen aus einer Hand.

Komponenten

Das Prelude-System besteht aus vier Komponenten: Libprelude, Sensoren, Manager und Frontend. Die wichtigste Komponente ist die Libprelude-Bibliothek. Sie stellt die zentralen Kommunikationsdienste zwischen den Komponenten zur Verfügung. Hierfür setzt Libprelude das Intrusion Detection Message Exchange Format IDMEF[5] ein. Mit diesem standardisierten XML-Format können IDS-Anwendungen herstellerunabhängig Nachrichten austauschen. Um die Performance zu verbessern, nutzt Prelude eine eigene binäre Variante des IDMEF-Protokolls.

Die Prelude-Sensoren zeichnen Ereignisse auf und melden sie an die Manager. Libprelude ist verantwortlich für hochverfügbare Verbindungen der Sensoren zu den Managern. Erreicht ein Sensor seinen Manager nicht, wählt die Bibliothek selbstständig einen anderen Manager. Steht kein weiterer zur Verfügung, speichert sie die Informationen lokal in einer Datei (Caching), um sie später an einen Manager zu übertragen. So stellt Libprelude sicher, dass keine Daten verloren gehen.

Für die Übertragung wählt die Bibliothek automatisch das am besten geeignete Protokoll: Bei Verbindungen lokal auf einem Rechner überträgt Libprelude die Informationen als Klartext über Unix-Domain-Sockets. Muss sie die Daten übers Netzwerk übertragen, baut die Library eine SSL-Verbindung auf.

Prelude liefert zwei Sensoren mit: Prelude-NIDS (Netzwerk-Überwachung mit modifizierter Libpcap) und Prelude-LML (Log Monitoring Lackey, überwacht Hosts). Auch fremde Anwendungen können als Prelude-fähige Sensoren dienen, wenn sie die Libprelude-Bibliothek einbinden. Die Programme müssen dazu nur minimal angepasst werden. Zum Beispiel enthält Libsafe seit der Version 2.0-11 bereits die entsprechenden Änderungen, auch für Honeyd, Nessus, Samhain, Snort und Systrace gibt es passende Patches (siehe Kasten "Fremde Sensoren").

Fremde Sensoren

Prelude arbeitet auf Wunsch mit fremder Software zusammen und nutzt diese als zusätzliche Sensoren.

Libsafe: Diese Bibliothek vereitelt viele Buffer-Overflow-Angriffe. Der Admin kann jedem Programm die Libsafe unterschieben, wenn er die Library in »/etc/ld.so.preload« einträgt oder die »LD_PRELOAD«-Umgebungsvariable setzt. Der dynamische Linker lädt dann als Erstes Libsafe. Sie tauscht gefährliche und unsichere C-Funktionen durch sichere Varianten aus. Die neuen Funktionen erkennen den Buffer-Overflow und beenden das Programm, bevor Schaden entsteht. Ist Libsafe auf einem Prelude-System installiert, meldet es ab Version 2.11 automatisch Buffer-Overflows an den Prelude Manager.

Honeyd: Ist dieses virtuelle Honeynet mit einem Patch versehen, meldet es jede neue Verbindung an Prelude. So lassen sich auch diese Ereignisse über das Prelude-Frontend mit anderen Events korrelieren. [http://www.citi.umich.edu/u/provos/honeyd/]

Nessus: Der Vulnerability-Scanner sucht übers Netzwerk nach verwundbaren Diensten auf den erreichbaren Rechnern. Mit einem Patch versehen protokolliert Nessus seine Ergebnisse zu Prelude. [http://www.nessus.org]

Samhain: Der File-Integrity-Checker (ähnlich Tripwire) kann seit Version 1.8.2 auch Prelude als Logging-Zielsystem verwenden. Ein Patch ist nicht mehr nötig. [http://la-samhna.de/samhain/]

Snort: Prelude arbeitet von sich aus bereits mit Snort-Regelsätze. Wer lieber das Snort-Original statt des Prelude-NIDS einsetzt, muss nur ein Patch einspielen, dann funktioniert Snort auch als Prelude-Sensor. [http://www.snort.org]

Systrace: Dieses Sicherheitssystem beschränkt und überwacht die Privilegien eines Prozesses und kann ihn beim Überschreiten bestimmter Grenzen beenden [8]. Spielt der Administrator ein Patch ein, meldet Systrace diese Ereignisse an Prelude. [http://www.citi.umich.edu/u/provos/systrace/]

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • SIM-IDS mit Prelude

    Das hybride Security-Information-Management-System (SIM) Prelude empfängt sowohl Host- als auch Netzwerk-basierte IDS-Meldungen und zeigt diese in einem übersichtlichen Webinterface an. Selbst komplexe, korrelierte Alarme von unterschiedlichen Endgeräten mit eigenen Plugins sind da kein Problem.

comments powered by Disqus

Ausgabe 01/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.